]> scripts.mit.edu Git - autoinstalls/wordpress.git/commitdiff
WordPress 4.3 wordpress-4.3
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Wed, 16 Sep 2015 22:49:12 +0000 (15:49 -0700)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Wed, 16 Sep 2015 22:49:12 +0000 (15:49 -0700)
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
560 files changed:
readme.html
wp-admin/about.php
wp-admin/admin-ajax.php
wp-admin/admin-footer.php
wp-admin/admin-header.php
wp-admin/admin.php
wp-admin/comment.php
wp-admin/credits.php
wp-admin/css/about-rtl.css
wp-admin/css/about.css
wp-admin/css/admin-menu-rtl.css
wp-admin/css/admin-menu.css
wp-admin/css/color-picker-rtl.min.css
wp-admin/css/color-picker.min.css
wp-admin/css/colors/_admin.scss
wp-admin/css/colors/blue/colors-rtl.css
wp-admin/css/colors/blue/colors-rtl.min.css
wp-admin/css/colors/blue/colors.css
wp-admin/css/colors/blue/colors.min.css
wp-admin/css/colors/coffee/colors-rtl.css
wp-admin/css/colors/coffee/colors-rtl.min.css
wp-admin/css/colors/coffee/colors.css
wp-admin/css/colors/coffee/colors.min.css
wp-admin/css/colors/ectoplasm/colors-rtl.css
wp-admin/css/colors/ectoplasm/colors-rtl.min.css
wp-admin/css/colors/ectoplasm/colors.css
wp-admin/css/colors/ectoplasm/colors.min.css
wp-admin/css/colors/light/colors-rtl.css
wp-admin/css/colors/light/colors-rtl.min.css
wp-admin/css/colors/light/colors.css
wp-admin/css/colors/light/colors.min.css
wp-admin/css/colors/light/colors.scss
wp-admin/css/colors/midnight/colors-rtl.css
wp-admin/css/colors/midnight/colors-rtl.min.css
wp-admin/css/colors/midnight/colors.css
wp-admin/css/colors/midnight/colors.min.css
wp-admin/css/colors/ocean/colors-rtl.css
wp-admin/css/colors/ocean/colors-rtl.min.css
wp-admin/css/colors/ocean/colors.css
wp-admin/css/colors/ocean/colors.min.css
wp-admin/css/colors/sunrise/colors-rtl.css
wp-admin/css/colors/sunrise/colors-rtl.min.css
wp-admin/css/colors/sunrise/colors.css
wp-admin/css/colors/sunrise/colors.min.css
wp-admin/css/common-rtl.css
wp-admin/css/common.css
wp-admin/css/customize-controls-rtl.css
wp-admin/css/customize-controls-rtl.min.css
wp-admin/css/customize-controls.css
wp-admin/css/customize-controls.min.css
wp-admin/css/customize-nav-menus-rtl.css [new file with mode: 0644]
wp-admin/css/customize-nav-menus-rtl.min.css [new file with mode: 0644]
wp-admin/css/customize-nav-menus.css [new file with mode: 0644]
wp-admin/css/customize-nav-menus.min.css [new file with mode: 0644]
wp-admin/css/customize-widgets-rtl.css
wp-admin/css/customize-widgets-rtl.min.css
wp-admin/css/customize-widgets.css
wp-admin/css/customize-widgets.min.css
wp-admin/css/dashboard-rtl.css
wp-admin/css/dashboard.css
wp-admin/css/deprecated-media-rtl.min.css
wp-admin/css/deprecated-media.min.css
wp-admin/css/edit-rtl.css
wp-admin/css/edit.css
wp-admin/css/forms-rtl.css
wp-admin/css/forms.css
wp-admin/css/ie-rtl.css
wp-admin/css/ie-rtl.min.css
wp-admin/css/ie.css
wp-admin/css/ie.min.css
wp-admin/css/install-rtl.css
wp-admin/css/install-rtl.min.css
wp-admin/css/install.css
wp-admin/css/install.min.css
wp-admin/css/l10n-rtl.css
wp-admin/css/l10n.css
wp-admin/css/list-tables-rtl.css
wp-admin/css/list-tables.css
wp-admin/css/login-rtl.css
wp-admin/css/login-rtl.min.css
wp-admin/css/login.css
wp-admin/css/login.min.css
wp-admin/css/media-rtl.css
wp-admin/css/media.css
wp-admin/css/nav-menus-rtl.css
wp-admin/css/nav-menus.css
wp-admin/css/press-this-editor-rtl.css
wp-admin/css/press-this-editor.css
wp-admin/css/press-this-rtl.css
wp-admin/css/press-this-rtl.min.css
wp-admin/css/press-this.css
wp-admin/css/press-this.min.css
wp-admin/css/site-icon-rtl.css [new file with mode: 0644]
wp-admin/css/site-icon.css [new file with mode: 0644]
wp-admin/css/themes-rtl.css
wp-admin/css/themes.css
wp-admin/css/wp-admin-rtl.css
wp-admin/css/wp-admin-rtl.min.css
wp-admin/css/wp-admin.css
wp-admin/css/wp-admin.min.css
wp-admin/custom-background.php
wp-admin/custom-header.php
wp-admin/customize.php
wp-admin/edit-comments.php
wp-admin/edit-form-advanced.php
wp-admin/edit-form-comment.php
wp-admin/edit-link-form.php
wp-admin/edit-tag-form.php
wp-admin/edit-tags.php
wp-admin/edit.php
wp-admin/export.php
wp-admin/freedoms.php
wp-admin/images/browser.png [new file with mode: 0644]
wp-admin/import.php
wp-admin/includes/admin-filters.php [new file with mode: 0644]
wp-admin/includes/admin.php
wp-admin/includes/ajax-actions.php
wp-admin/includes/bookmark.php
wp-admin/includes/class-ftp-pure.php
wp-admin/includes/class-ftp-sockets.php
wp-admin/includes/class-ftp.php
wp-admin/includes/class-pclzip.php
wp-admin/includes/class-wp-comments-list-table.php
wp-admin/includes/class-wp-filesystem-base.php
wp-admin/includes/class-wp-filesystem-ftpext.php
wp-admin/includes/class-wp-filesystem-ftpsockets.php
wp-admin/includes/class-wp-filesystem-ssh2.php
wp-admin/includes/class-wp-importer.php
wp-admin/includes/class-wp-links-list-table.php
wp-admin/includes/class-wp-list-table.php
wp-admin/includes/class-wp-media-list-table.php
wp-admin/includes/class-wp-ms-sites-list-table.php
wp-admin/includes/class-wp-ms-themes-list-table.php
wp-admin/includes/class-wp-ms-users-list-table.php
wp-admin/includes/class-wp-plugin-install-list-table.php
wp-admin/includes/class-wp-plugins-list-table.php
wp-admin/includes/class-wp-posts-list-table.php
wp-admin/includes/class-wp-press-this.php
wp-admin/includes/class-wp-site-icon.php [new file with mode: 0644]
wp-admin/includes/class-wp-terms-list-table.php
wp-admin/includes/class-wp-theme-install-list-table.php
wp-admin/includes/class-wp-themes-list-table.php
wp-admin/includes/class-wp-upgrader-skins.php
wp-admin/includes/class-wp-upgrader.php
wp-admin/includes/class-wp-users-list-table.php
wp-admin/includes/comment.php
wp-admin/includes/dashboard.php
wp-admin/includes/deprecated.php
wp-admin/includes/export.php
wp-admin/includes/file.php
wp-admin/includes/image-edit.php
wp-admin/includes/image.php
wp-admin/includes/import.php
wp-admin/includes/list-table.php
wp-admin/includes/media.php
wp-admin/includes/menu.php
wp-admin/includes/meta-boxes.php
wp-admin/includes/misc.php
wp-admin/includes/ms-admin-filters.php [new file with mode: 0644]
wp-admin/includes/ms-deprecated.php
wp-admin/includes/ms.php
wp-admin/includes/nav-menu.php
wp-admin/includes/plugin-install.php
wp-admin/includes/plugin.php
wp-admin/includes/post.php
wp-admin/includes/schema.php
wp-admin/includes/screen.php
wp-admin/includes/taxonomy.php
wp-admin/includes/template.php
wp-admin/includes/theme-install.php
wp-admin/includes/theme.php
wp-admin/includes/translation-install.php
wp-admin/includes/update-core.php
wp-admin/includes/update.php
wp-admin/includes/upgrade.php
wp-admin/includes/user.php
wp-admin/includes/widgets.php
wp-admin/index.php
wp-admin/install-helper.php
wp-admin/install.php
wp-admin/js/accordion.js
wp-admin/js/accordion.min.js
wp-admin/js/bookmarklet.js
wp-admin/js/bookmarklet.min.js
wp-admin/js/comment.js
wp-admin/js/comment.min.js
wp-admin/js/common.js
wp-admin/js/common.min.js
wp-admin/js/customize-controls.js
wp-admin/js/customize-controls.min.js
wp-admin/js/customize-nav-menus.js [new file with mode: 0644]
wp-admin/js/customize-nav-menus.min.js [new file with mode: 0644]
wp-admin/js/customize-widgets.js
wp-admin/js/customize-widgets.min.js
wp-admin/js/edit-comments.js
wp-admin/js/edit-comments.min.js
wp-admin/js/editor-expand.min.js
wp-admin/js/editor.js
wp-admin/js/editor.min.js
wp-admin/js/inline-edit-post.js
wp-admin/js/inline-edit-post.min.js
wp-admin/js/inline-edit-tax.js
wp-admin/js/inline-edit-tax.min.js
wp-admin/js/nav-menu.js
wp-admin/js/nav-menu.min.js
wp-admin/js/plugin-install.js
wp-admin/js/plugin-install.min.js
wp-admin/js/post.js
wp-admin/js/post.min.js
wp-admin/js/press-this.js
wp-admin/js/press-this.min.js
wp-admin/js/revisions.min.js
wp-admin/js/svg-painter.min.js
wp-admin/js/theme.js
wp-admin/js/theme.min.js
wp-admin/js/updates.js
wp-admin/js/updates.min.js
wp-admin/js/user-profile.js
wp-admin/js/user-profile.min.js
wp-admin/js/widgets.js
wp-admin/js/widgets.min.js
wp-admin/js/word-count.js
wp-admin/js/word-count.min.js
wp-admin/js/wp-fullscreen-stub.js [new file with mode: 0644]
wp-admin/js/wp-fullscreen-stub.min.js [new file with mode: 0644]
wp-admin/js/wp-fullscreen.js [deleted file]
wp-admin/js/wp-fullscreen.min.js [deleted file]
wp-admin/link-manager.php
wp-admin/link-parse-opml.php
wp-admin/load-styles.php
wp-admin/maint/repair.php
wp-admin/media-new.php
wp-admin/media.php
wp-admin/menu-header.php
wp-admin/menu.php
wp-admin/ms-delete-site.php
wp-admin/my-sites.php
wp-admin/nav-menus.php
wp-admin/network.php
wp-admin/network/index.php
wp-admin/network/menu.php
wp-admin/network/settings.php
wp-admin/network/site-info.php
wp-admin/network/site-new.php
wp-admin/network/site-settings.php
wp-admin/network/site-themes.php
wp-admin/network/site-users.php
wp-admin/network/sites.php
wp-admin/network/themes.php
wp-admin/network/upgrade.php
wp-admin/network/user-new.php
wp-admin/network/users.php
wp-admin/options-discussion.php
wp-admin/options-general.php
wp-admin/options-media.php
wp-admin/options-permalink.php
wp-admin/options-reading.php
wp-admin/options-writing.php
wp-admin/options.php
wp-admin/plugin-editor.php
wp-admin/plugin-install.php
wp-admin/plugins.php
wp-admin/post-new.php
wp-admin/post.php
wp-admin/press-this.php
wp-admin/revision.php
wp-admin/setup-config.php
wp-admin/theme-editor.php
wp-admin/theme-install.php
wp-admin/themes.php
wp-admin/tools.php
wp-admin/update-core.php
wp-admin/upgrade.php
wp-admin/upload.php
wp-admin/user-edit.php
wp-admin/user-new.php
wp-admin/users.php
wp-admin/widgets.php
wp-config-sample.php
wp-content/plugins/akismet/akismet.php
wp-content/plugins/akismet/class.akismet-admin.php
wp-content/plugins/akismet/class.akismet.php
wp-content/plugins/akismet/readme.txt
wp-content/plugins/akismet/views/config.php
wp-content/plugins/akismet/views/notice.php
wp-content/plugins/akismet/views/start.php
wp-content/themes/twentyfifteen/css/editor-style.css
wp-content/themes/twentyfifteen/functions.php
wp-content/themes/twentyfifteen/inc/custom-header.php
wp-content/themes/twentyfifteen/inc/template-tags.php
wp-content/themes/twentyfifteen/js/functions.js
wp-content/themes/twentyfifteen/languages/twentyfifteen.pot
wp-content/themes/twentyfifteen/readme.txt
wp-content/themes/twentyfifteen/style.css
wp-content/themes/twentyfourteen/css/editor-style.css
wp-content/themes/twentyfourteen/footer.php
wp-content/themes/twentyfourteen/functions.php
wp-content/themes/twentyfourteen/languages/twentyfourteen.pot
wp-content/themes/twentyfourteen/readme.txt [new file with mode: 0644]
wp-content/themes/twentyfourteen/rtl.css
wp-content/themes/twentyfourteen/style.css
wp-content/themes/twentythirteen/css/editor-style.css
wp-content/themes/twentythirteen/footer.php
wp-content/themes/twentythirteen/functions.php
wp-content/themes/twentythirteen/languages/twentythirteen.pot
wp-content/themes/twentythirteen/readme.txt [new file with mode: 0644]
wp-content/themes/twentythirteen/rtl.css
wp-content/themes/twentythirteen/style.css
wp-cron.php
wp-includes/ID3/getid3.lib.php
wp-includes/ID3/getid3.php
wp-includes/ID3/license.commercial.txt
wp-includes/ID3/license.txt
wp-includes/ID3/module.audio-video.asf.php
wp-includes/ID3/module.audio-video.flv.php
wp-includes/ID3/module.audio-video.matroska.php
wp-includes/ID3/module.audio-video.quicktime.php
wp-includes/ID3/module.audio.ac3.php
wp-includes/ID3/module.audio.dts.php
wp-includes/ID3/module.audio.flac.php
wp-includes/ID3/module.audio.mp3.php
wp-includes/ID3/module.audio.ogg.php
wp-includes/ID3/module.tag.apetag.php
wp-includes/ID3/module.tag.id3v1.php
wp-includes/ID3/module.tag.id3v2.php
wp-includes/ID3/module.tag.lyrics3.php
wp-includes/Text/Diff.php
wp-includes/Text/Diff/Renderer.php
wp-includes/admin-bar.php
wp-includes/atomlib.php
wp-includes/author-template.php
wp-includes/bookmark-template.php
wp-includes/bookmark.php
wp-includes/cache.php
wp-includes/canonical.php
wp-includes/capabilities.php
wp-includes/category-template.php
wp-includes/category.php
wp-includes/class-IXR.php
wp-includes/class-feed.php
wp-includes/class-http.php
wp-includes/class-json.php
wp-includes/class-oembed.php
wp-includes/class-phpass.php
wp-includes/class-phpmailer.php
wp-includes/class-pop3.php
wp-includes/class-smtp.php
wp-includes/class-wp-admin-bar.php
wp-includes/class-wp-customize-control.php
wp-includes/class-wp-customize-manager.php
wp-includes/class-wp-customize-nav-menus.php [new file with mode: 0644]
wp-includes/class-wp-customize-panel.php
wp-includes/class-wp-customize-section.php
wp-includes/class-wp-customize-setting.php
wp-includes/class-wp-customize-widgets.php
wp-includes/class-wp-editor.php
wp-includes/class-wp-embed.php
wp-includes/class-wp-error.php
wp-includes/class-wp-http-ixr-client.php
wp-includes/class-wp-image-editor-gd.php
wp-includes/class-wp-image-editor-imagick.php
wp-includes/class-wp-image-editor.php
wp-includes/class-wp-theme.php
wp-includes/class-wp-walker.php
wp-includes/class-wp-xmlrpc-server.php
wp-includes/class-wp.php
wp-includes/class.wp-dependencies.php
wp-includes/class.wp-scripts.php
wp-includes/class.wp-styles.php
wp-includes/comment-template.php
wp-includes/comment.php
wp-includes/compat.php
wp-includes/cron.php
wp-includes/css/admin-bar-rtl.css
wp-includes/css/admin-bar-rtl.min.css
wp-includes/css/admin-bar.css
wp-includes/css/admin-bar.min.css
wp-includes/css/buttons-rtl.css
wp-includes/css/buttons-rtl.min.css
wp-includes/css/buttons.css
wp-includes/css/buttons.min.css
wp-includes/css/customize-preview.css [new file with mode: 0644]
wp-includes/css/customize-preview.min.css [new file with mode: 0644]
wp-includes/css/dashicons.css
wp-includes/css/dashicons.min.css
wp-includes/css/editor-rtl.css
wp-includes/css/editor-rtl.min.css
wp-includes/css/editor.css
wp-includes/css/editor.min.css
wp-includes/css/jquery-ui-dialog-rtl.min.css
wp-includes/css/jquery-ui-dialog.min.css
wp-includes/css/media-views-rtl.css
wp-includes/css/media-views-rtl.min.css
wp-includes/css/media-views.css
wp-includes/css/media-views.min.css
wp-includes/css/wp-auth-check-rtl.min.css
wp-includes/css/wp-auth-check.min.css
wp-includes/default-constants.php
wp-includes/default-filters.php
wp-includes/default-widgets.php
wp-includes/deprecated.php
wp-includes/feed-atom-comments.php
wp-includes/feed-rss.php
wp-includes/feed-rss2-comments.php
wp-includes/feed-rss2.php
wp-includes/feed.php
wp-includes/fonts/dashicons.eot
wp-includes/fonts/dashicons.svg
wp-includes/fonts/dashicons.ttf
wp-includes/fonts/dashicons.woff
wp-includes/formatting.php
wp-includes/functions.php
wp-includes/functions.wp-scripts.php
wp-includes/functions.wp-styles.php
wp-includes/general-template.php
wp-includes/http.php
wp-includes/js/admin-bar.js
wp-includes/js/admin-bar.min.js
wp-includes/js/colorpicker.min.js
wp-includes/js/customize-models.js
wp-includes/js/customize-preview-nav-menus.js [new file with mode: 0644]
wp-includes/js/customize-preview-nav-menus.min.js [new file with mode: 0644]
wp-includes/js/customize-views.js
wp-includes/js/heartbeat.js
wp-includes/js/heartbeat.min.js
wp-includes/js/imgareaselect/jquery.imgareaselect.js
wp-includes/js/imgareaselect/jquery.imgareaselect.min.js
wp-includes/js/jquery/jquery.js
wp-includes/js/jquery/ui/button.min.js
wp-includes/js/jquery/ui/datepicker.min.js
wp-includes/js/jquery/ui/position.min.js
wp-includes/js/jquery/ui/tabs.min.js
wp-includes/js/jquery/ui/widget.min.js
wp-includes/js/json2.min.js
wp-includes/js/mce-view.js
wp-includes/js/mce-view.min.js
wp-includes/js/media-audiovideo.js
wp-includes/js/media-audiovideo.min.js
wp-includes/js/media-editor.min.js
wp-includes/js/media-grid.js
wp-includes/js/media-grid.min.js
wp-includes/js/media-models.js
wp-includes/js/media-models.min.js
wp-includes/js/media-views.js
wp-includes/js/media-views.min.js
wp-includes/js/mediaelement/flashmediaelement.swf
wp-includes/js/mediaelement/mediaelement-and-player.min.js
wp-includes/js/mediaelement/wp-mediaelement.css
wp-includes/js/quicktags.js
wp-includes/js/quicktags.min.js
wp-includes/js/thickbox/thickbox.js
wp-includes/js/tinymce/plugins/charmap/plugin.js
wp-includes/js/tinymce/plugins/colorpicker/plugin.js
wp-includes/js/tinymce/plugins/compat3x/css/dialog.css
wp-includes/js/tinymce/plugins/compat3x/plugin.js
wp-includes/js/tinymce/plugins/directionality/plugin.js
wp-includes/js/tinymce/plugins/fullscreen/plugin.js
wp-includes/js/tinymce/plugins/hr/plugin.js
wp-includes/js/tinymce/plugins/image/plugin.js
wp-includes/js/tinymce/plugins/image/plugin.min.js
wp-includes/js/tinymce/plugins/lists/plugin.js
wp-includes/js/tinymce/plugins/media/plugin.js
wp-includes/js/tinymce/plugins/media/plugin.min.js
wp-includes/js/tinymce/plugins/paste/plugin.js
wp-includes/js/tinymce/plugins/paste/plugin.min.js
wp-includes/js/tinymce/plugins/tabfocus/plugin.js
wp-includes/js/tinymce/plugins/textcolor/plugin.js
wp-includes/js/tinymce/plugins/wordpress/plugin.js
wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js [deleted file]
wp-includes/js/tinymce/plugins/wplink/plugin.js
wp-includes/js/tinymce/plugins/wplink/plugin.min.js
wp-includes/js/tinymce/plugins/wptextpattern/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpview/plugin.js
wp-includes/js/tinymce/plugins/wpview/plugin.min.js
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff
wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css
wp-includes/js/tinymce/skins/lightgray/skin.min.css
wp-includes/js/tinymce/skins/wordpress/wp-content.css
wp-includes/js/tinymce/themes/modern/theme.js
wp-includes/js/tinymce/themes/modern/theme.min.js
wp-includes/js/tinymce/tiny_mce_popup.js
wp-includes/js/tinymce/tinymce.min.js
wp-includes/js/tinymce/utils/editable_selects.js
wp-includes/js/tinymce/utils/form_utils.js
wp-includes/js/tinymce/utils/mctabs.js
wp-includes/js/tinymce/utils/validate.js
wp-includes/js/tinymce/wp-mce-help.php [deleted file]
wp-includes/js/tinymce/wp-tinymce.js.gz
wp-includes/js/tw-sack.min.js
wp-includes/js/twemoji.js
wp-includes/js/twemoji.min.js
wp-includes/js/wp-a11y.js
wp-includes/js/wp-a11y.min.js
wp-includes/js/wp-emoji-release.min.js
wp-includes/js/wp-emoji.js
wp-includes/js/wp-emoji.min.js
wp-includes/js/wp-lists.min.js
wp-includes/js/wp-util.js
wp-includes/js/wp-util.min.js
wp-includes/js/wplink.js
wp-includes/js/wplink.min.js
wp-includes/kses.php
wp-includes/l10n.php
wp-includes/link-template.php
wp-includes/load.php
wp-includes/locale.php
wp-includes/media-template.php
wp-includes/media.php
wp-includes/meta.php
wp-includes/ms-blogs.php
wp-includes/ms-default-constants.php
wp-includes/ms-default-filters.php
wp-includes/ms-deprecated.php
wp-includes/ms-files.php
wp-includes/ms-functions.php
wp-includes/ms-load.php
wp-includes/nav-menu-template.php
wp-includes/nav-menu.php
wp-includes/option.php
wp-includes/pluggable.php
wp-includes/plugin.php
wp-includes/pomo/entry.php
wp-includes/pomo/mo.php
wp-includes/pomo/po.php
wp-includes/pomo/streams.php
wp-includes/pomo/translations.php
wp-includes/post-formats.php
wp-includes/post-template.php
wp-includes/post-thumbnail-template.php
wp-includes/post.php
wp-includes/query.php
wp-includes/revision.php
wp-includes/rewrite.php
wp-includes/rss.php
wp-includes/script-loader.php
wp-includes/shortcodes.php
wp-includes/taxonomy.php
wp-includes/template-loader.php
wp-includes/template.php
wp-includes/theme-compat/comments.php
wp-includes/theme-compat/header.php
wp-includes/theme.php
wp-includes/update.php
wp-includes/user.php
wp-includes/vars.php
wp-includes/version.php
wp-includes/widgets.php
wp-includes/wp-db.php
wp-login.php
wp-settings.php
wp-signup.php
xmlrpc.php

index cdf3e4e4f5ed5fc1a417e8d7748743b1b70cd9d9..e29c0929cb112b3163383da6860ce1f057af3cd6 100644 (file)
@@ -9,7 +9,7 @@
 <body>
 <h1 id="logo">
        <a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
-       <br /> Version 4.2.5
+       <br /> Version 4.3
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
index 6e85b919a6b818f90e57a0f149d11e18b7470372..8118b5a3dc71cffd570dc27272072c5e8fea20ba 100644 (file)
@@ -21,145 +21,163 @@ $title = __( 'About' );
 list( $display_version ) = explode( '-', $wp_version );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
-?>
-<div class="wrap about-wrap">
-
-<h1><?php printf( __( 'Welcome to WordPress&nbsp;%s' ), $display_version ); ?></h1>
-
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you communicate and share, globally.' ), $display_version ); ?></div>
-
-<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
-
-<h2 class="nav-tab-wrapper">
-       <a href="about.php" class="nav-tab nav-tab-active">
-               <?php _e( 'What&#8217;s New' ); ?>
-       </a><a href="credits.php" class="nav-tab">
-               <?php _e( 'Credits' ); ?>
-       </a><a href="freedoms.php" class="nav-tab">
-               <?php _e( 'Freedoms' ); ?>
-       </a>
-</h2>
-
-<div class="changelog point-releases">
-       <h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 5 ); ?></h3>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 2 ), '4.2.5', number_format_i18n( 2 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.2.5' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 4 ), '4.2.4', number_format_i18n( 4 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.2.4' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 20 ), '4.2.3', number_format_i18n( 20 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.2.3' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 13 ), '4.2.2', number_format_i18n( 13 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.2.2' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
-         '<strong>Version %1$s</strong> addressed some security issues.', 1 ), '4.2.1' ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.2.1' ); ?>
-       </p>
-</div>
-
-<div class="headline-feature feature-video">
-       <embed type="application/x-shockwave-flash" src="https://v0.wordpress.com/player.swf?v=1.04" width="1000" height="560" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=e9kH4FzP&amp;isDynamicSeeking=true"></embed>
-</div>
-
-<hr />
-
-<div class="feature-section two-col">
-       <div class="col">
-               <h3><?php _e( 'An easier way to share content' ); ?></h3>
-               <p><?php printf( __( 'Clip it, edit it, publish it. Get familiar with the new and improved Press This. From the <a href="%s">Tools</a> menu, add Press This to your browser bookmark bar or your mobile device home screen. Once installed you can share your content with lightning speed. Sharing your favorite videos, images, and content has never been this fast or this easy.' ), admin_url( 'tools.php' ) ); ?></p>
-               <p><?php _e( 'Drag the bookmarklet below to your bookmarks bar. Then, when you&#8217;re on a page you want to share, simply &#8220;press&#8221; it.' ); ?></p>
-
-               <p class="pressthis-bookmarklet-demo">
-                       <a class="pressthis-bookmarklet" onclick="return false;" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e( 'Press This' ); ?></span></a>
-               </p>
-       </div>
 
-       <div class="col">
-               <img src="//s.w.org/images/core/4.2/press-this.jpg" />
-       </div>
-</div>
+$video_url = 'https://videopress.com/embed/T54Iy7Tw';
+$locale    = str_replace( '_', '-', get_locale() );
+if ( 'en-AU' !== $locale ) {
+       list( $locale ) = explode( '-', $locale );
+}
+if ( 'en' !== $locale ) {
+       $video_url = add_query_arg( 'defaultLangCode', $locale, $video_url );
+}
+
+$major_features = array(
+       array(
+               'src'         => array(
+                       'mp4'  => '//s.w.org/images/core/4.3/formatting.mp4',
+                       'ogv'  => '//s.w.org/images/core/4.3/formatting.ogv',
+                       'webm' => '//s.w.org/images/core/4.3/formatting.webm',
+               ),
+               'heading'     => __( 'Formatting Shortcuts' ),
+               /* Translators: 1: asterisks; 2: number sign; */
+               'description' => sprintf( __( 'Your writing flow just got faster with new formatting shortcuts in WordPress 4.3. Use asterisks to create lists and number signs to make a heading. No more breaking your flow; your text looks great with a %1$s and a %2$s.' ), '<code>*</code>', '<code>#</code>' ),
+       ),
+       array(
+               'src'         => '//s.w.org/images/core/4.3/menu-customizer.png',
+               'heading'     => __( 'Menus in the Customizer' ),
+               'description' => __( 'Create your menu, update it, and assign it, all while live-previewing in the customizer. The streamlined customizer design provides a mobile-friendly and accessible interface. With every release, it becomes easier and faster to make your site just the way you want it.' ),
+       ),
+       array(
+               'src'         => '//s.w.org/images/core/4.3/better-passwords.png',
+               'heading'     => __( 'Better Passwords' ),
+               'description' => __( 'Keep your site more secure with WordPress&#8217; improved approach to passwords. Instead of receiving passwords via email, you&#8217;ll get a password reset link. When you add new users to your site or edit a user profile, WordPress will automatically generate a secure password.' ),
+       ),
+       array(
+               'src'         => '//s.w.org/images/core/4.3/site-icon-customizer.png',
+               'heading'     => __( 'Site Icons' ),
+               'description' => __( 'Site icons represent your site in browser tabs, bookmark menus, and on the home screen of mobile devices. Add your unique site icon in the customizer; it will even stay in place when you switch themes. Make your whole site reflect your brand.' ),
+       ),
+);
+shuffle( $major_features );
+
+$minor_features = array(
+       array(
+               'src'         => 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBmaWxsPSIjMDBhMGQyIiBkPSJNNTAgMjE1aDI0MHYzMEg1MHpNNTAgMjc1aDI0MHYzMEg1MHpNNTAgMTU1aDI0MHYzMEg1MHpNNTAgOTVoMjQwdjMwSDUwek0zMTAuMSA5NWwxOS45IDMwIDIwLjEtMzAiLz48L3N2Zz4=',
+               'heading'     => __( 'A smoother admin experience' ),
+               'description' => __( 'Refinements to the list view across the admin make your WordPress more accessible and easier to work with on any device.' ),
+       ),
+       array(
+               'src'         => 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZmlsbD0iIzAwYTBkMiIgZD0iTTUgMmgxMHEuODIgMCAxLjQxLjU5VDE3IDR2OHEwIC44Mi0uNTkgMS40MVQxNSAxNGgtMmwtNSA1di01SDVxLS44MiAwLTEuNDEtLjU5VDMgMTJWNHEwLS44Mi41OS0xLjQxVDUgMnptOC41IDguNUwxMSA4bDIuNS0yLjUtMS0xTDEwIDcgNy41IDQuNWwtMSAxTDkgOGwtMi41IDIuNSAxIDFMMTAgOWwyLjUgMi41eiIvPjwvc3ZnPg==',
+               'heading'     => __( 'Comments turned off on pages' ),
+               'description' => __( 'All new pages that you create will have comments turned off. Keep discussions to your blog, right where they&#8217;re supposed to happen.' ),
+       ),
+       array(
+               'src'         => 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzAwYTBkMiIgZD0iTTI5LjMyOCA1LjcxMnEuMDQ4LS4xNDQuMDk2LS4zODR0LS4wNjQtLjgxNi0uNTI4LS45NzZxLS4zODQtLjM2OC0uODcyLS40NjR0LS43OTIgMGwtLjI4OC4wOHEtMS40NTYuNzItNS44OCAzLjczNnQtNi4zOTIgNS4xNzZxLS43MzYuODMyLTEuNDA4IDIuMzJ0LS44OCAzIC41NDQgMi4zOTJxLjgzMi43MzYgMi4zNDQuNTc2dDMuMDcyLS44MjQgMi4yNDgtMS4zNTJxMi4xNDQtMi4xNDQgNS4xNjgtNi42NTZ0My42MzItNS44MDh6TTIuMjQgMjguMjRxMS4wNTYtLjY4OCAxLjcxMi0xLjUyOHQuOTUyLTEuNjE2LjU0NC0xLjUyLjcyLTEuNDggMS4yNC0xLjI4cTEuMDg4LS44IDIuNTA0LS43MDR0Mi40MjQgMS4xNjhxLjgxNi44OC44MjQgMi42NHQtMS4wOCAyLjg5NnEtMS4yMTYgMS4xMi0yLjkwNCAxLjYyNHQtMy40MjQuNDI0LTMuNTEyLS42MjR6Ii8+PC9zdmc+',
+               'heading'     => __( 'Customize your site quickly' ),
+               'description' => __( 'Wherever you are on the front-end, you can click the customize link in the toolbar to swiftly make changes to your site.' ),
+       ),
+);
+
+$tech_features = array(
+       array(
+               'heading'     => __( 'Taxonomy Roadmap' ),
+               'description' => __( 'Terms shared across multiple taxonomies are now split into separate terms.' ),
+       ),
+       array(
+               'heading'     => __( 'Template Hierarchy' ),
+               /* Translators: 1: singular.php; 2: single.php; 3:page.php */
+               'description' => sprintf( __( 'Added %1$s as a fallback for %2$s and %3$s' ), '<code>singular.php</code>', '<code>single.php</code>', '<code>page.php</code>.' ),
+       ),
+       array(
+               'heading'     => '<code>WP_List_Table</code>',
+               'description' => __( 'List tables can and should designate a primary column.' ),
+       ),
+);
 
-<div class="feature-section two-col">
-       <div class="col">
-               <img src="//s.w.org/images/core/4.2/unicode.png" />
-       </div>
-       <div class="col">
-               <h3><?php _e( 'Extended character support' ); ?></h3>
-               <p><?php _e( 'Writing in WordPress, whatever your language, just got better. WordPress 4.2 supports a host of new characters out-of-the-box, including native Chinese, Japanese, and Korean characters, musical and mathematical symbols, and hieroglyphs.' ); ?></p>
-               <p><?php
-                       /* translators: 1: heart emoji, 2: frog face emoji, 3, monkey emoji, 4: pizza emoji, 5: Emoji Codex link */
-                       printf( __( 'Don&#8217;t use any of those characters? You can still have fun &mdash; emoji are now available in WordPress! Get creative and decorate your content with %1$s, %2$s, %3$s, %4$s, and all the many other <a href="%5$s">emoji</a>.' ), '&#x1F499', '&#x1F438', '&#x1F412', '&#x1F355', __( 'https://codex.wordpress.org/Emoji' ) );
-               ?></p>
-       </div>
-</div>
+?>
+       <div class="wrap about-wrap">
+               <h1><?php printf( __( 'Welcome to WordPress&nbsp;%s' ), $display_version ); ?></h1>
 
-<div class="changelog feature-section three-col">
-       <div>
-               <img src="//s.w.org/images/core/4.2/theme-switcher.png" />
-               <h3><?php _e( 'Switch themes in the Customizer' ); ?></h3>
-               <p><?php _e( 'Browse and preview your installed themes from the Customizer. Make sure the theme looks great with <em>your</em> content, before it debuts on your site. ' ); ?></p>
-       </div>
-       <div>
-               <img src="//s.w.org/images/core/4.2/embeds.png" />
-               <h3><?php _e( 'Even more embeds' ); ?></h3>
-               <p><?php _e( 'Paste links from Tumblr.com and Kickstarter and watch them magically appear right in the editor. With every release, your publishing and editing experience get closer together.' ); ?></p>
-       </div>
-       <div class="last-feature">
-               <img src="//s.w.org/images/core/4.2/plugins.png" />
-               <h3><?php _e( 'Streamlined plugin updates' ); ?></h3>
-               <p><?php _e( 'Goodbye boring loading screen, hello smooth and simple plugin updates. Click <em>Update&nbsp;Now</em> and watch the magic happen.' ); ?></p>
-       </div>
-</div>
+               <div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s makes it even easier to format your content and customize your site.' ), $display_version ); ?></div>
+               <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
-<div class="changelog under-the-hood feature-list">
-       <h3><?php _e( 'Under the Hood' ); ?></h3>
+               <h2 class="nav-tab-wrapper">
+                       <a href="about.php" class="nav-tab nav-tab-active"><?php _e( 'What&#8217;s New' ); ?></a>
+                       <a href="credits.php" class="nav-tab"><?php _e( 'Credits' ); ?></a>
+                       <a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a>
+               </h2>
 
-       <div class="feature-section col two-col">
-               <div>
-                       <h4><?php _e( 'utf8mb4 support' ); ?></h4>
-                       <p><?php _e( 'Database character encoding has changed from utf8 to utf8mb4, which adds support for a whole range of new 4-byte characters.' ); ?></p>
+               <div class="headline-feature feature-video">
+                       <iframe width="1050" height="591" src="<?php echo esc_url( $video_url ); ?>" frameborder="0" allowfullscreen></iframe>
+                       <script src="https://videopress.com/videopress-iframe.js"></script>
+               </div>
 
-                       <h4><?php _e( 'JavaScript accessibility' ); ?></h4>
-                       <p><?php
-                               /* translators: %s wp.a11y.speak() */
-                               printf( __( 'You can now send audible notifications to screen readers in JavaScript with %s. Pass it a string, and an update will be sent to a dedicated ARIA live notifications area.' ), '<code>wp.a11y.speak()</code>' );
-                       ?></p>
+               <hr/>
+
+               <div class="feature-section two-col">
+                       <?php foreach ( $major_features as $feature ) : ?>
+                       <div class="col">
+                               <div class="media-container">
+                                       <?php
+                                       // Video.
+                                       if ( is_array( $feature['src'] ) ) :
+                                               echo wp_video_shortcode( array(
+                                                       'mp4'      => $feature['src']['mp4'],
+                                                       'ogv'      => $feature['src']['ogv'],
+                                                       'webm'     => $feature['src']['webm'],
+                                                       'loop'     => true,
+                                                       'autoplay' => true,
+                                                       'width'    => 500,
+                                                       'height'   => 284
+                                               ) );
+
+                                       // Image.
+                                       else:
+                                       ?>
+                                       <img src="<?php echo esc_url( $feature['src'] ); ?>" />
+                                       <?php endif; ?>
+                               </div>
+                               <h3><?php echo $feature['heading']; ?></h3>
+                               <p><?php echo $feature['description']; ?></p>
+                       </div>
+                       <?php endforeach; ?>
                </div>
-               <div class="last-feature">
-                       <h4><?php _e( 'Shared term splitting' ); ?></h4>
-                       <p><?php
-                               /* translators: 1: Term splitting guide link */
-                               printf( __( 'Terms shared across multiple taxonomies will be split when one of them is updated. Find out more in the <a href="%1$s">Plugin Developer Handbook</a>.' ), 'https://developer.wordpress.org/plugins/taxonomy/working-with-split-terms-in-wp-4-2/' );
-                       ?></p>
-
-                       <h4><?php _e( 'Complex query ordering' ); ?></h4>
-                       <p><?php
-                               /* translators: 1: WP_Query, 2: WP_Comment_Query, 3: WP_User_Query */
-                               printf( __( '%1$s, %2$s, and %3$s now support complex ordering with named meta query clauses.' ), '<code>WP_Query</code>', '<code>WP_Comment_Query</code>', '<code>WP_User_Query</code>' );
-                       ?></p>
+
+               <div class="feature-section three-col">
+                       <?php foreach ( $minor_features as $feature ) : ?>
+                       <div class="col">
+                               <div class="svg-container">
+                                       <img src="<?php echo esc_attr( $feature['src'] ); ?>" />
+                               </div>
+                               <h3><?php echo $feature['heading']; ?></h3>
+                               <p><?php echo $feature['description']; ?></p>
+                       </div>
+                       <?php endforeach; ?>
                </div>
 
-       <hr />
+               <div class="changelog">
+                       <h3><?php _e( 'Under the Hood' ); ?></h3>
+
+                       <div class="feature-section under-the-hood three-col">
+                               <?php foreach ( $tech_features as $feature ) : ?>
+                               <div class="col">
+                                       <h4><?php echo $feature['heading']; ?></h4>
+                                       <p><?php echo $feature['description']; ?></p>
+                               </div>
+                               <?php endforeach; ?>
+                       </div>
+
+                       <div class="return-to-dashboard">
+                               <?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?>
+                                       <a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>">
+                                               <?php is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard &rarr; Updates' ); ?>
+                                       </a> |
+                               <?php endif; ?>
+                               <a href="<?php echo esc_url( self_admin_url() ); ?>"><?php is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>
+                       </div>
 
-       <div class="return-to-dashboard">
-               <?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?>
-               <a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>"><?php
-                       is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard &rarr; Updates' );
-               ?></a> |
-               <?php endif; ?>
-               <a href="<?php echo esc_url( self_admin_url() ); ?>"><?php
-                       is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>
+               </div>
        </div>
-</div>
-
-</div>
 <?php
 
 include( ABSPATH . 'wp-admin/admin-footer.php' );
index 752da778f040315bb7f99d4ee0114062005c713e..225272acbe04fc7acf5fa463160639b63b063dfc 100644 (file)
@@ -56,15 +56,18 @@ $core_actions_post = array(
        'hidden-columns', 'update-welcome-panel', 'menu-get-metabox', 'wp-link-ajax',
        'menu-locations-save', 'menu-quick-search', 'meta-box-order', 'get-permalink',
        'sample-permalink', 'inline-save', 'inline-save-tax', 'find_posts', 'widgets-order',
-       'save-widget', 'set-post-thumbnail', 'date_format', 'time_format', 'wp-fullscreen-save-post',
+       'save-widget', 'set-post-thumbnail', 'date_format', 'time_format',
        'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment',
        'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor',
        'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs',
        'save-user-color-scheme', 'update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail',
        'parse-media-shortcode', 'destroy-sessions', 'install-plugin', 'update-plugin', 'press-this-save-post',
-       'press-this-add-category',
+       'press-this-add-category', 'crop-image',
 );
 
+// Deprecated
+$core_actions_post[] = 'wp-fullscreen-save-post';
+
 // Register core Ajax calls.
 if ( ! empty( $_GET['action'] ) && in_array( $_GET['action'], $core_actions_get ) )
        add_action( 'wp_ajax_' . $_GET['action'], 'wp_ajax_' . str_replace( '-', '_', $_GET['action'] ), 1 );
index ce8b415392a6917d8741a30d840dc3a3e7d0f083..a99eabac13310feff57ec5b064e4da0bcd578461 100644 (file)
@@ -81,6 +81,7 @@ do_action( 'admin_print_footer_scripts' );
  *
  * @since 2.8.0
  *
+ * @global string $hook_suffix
  * @param string $hook_suffix The current admin page.
  */
 do_action( "admin_footer-" . $GLOBALS['hook_suffix'] );
index 8b6b6a021f8911b5836af1e3f780dd6db3eb829e..e471ff931d93a36931a4e752258dfa3a7dfa10f4 100644 (file)
 if ( ! defined( 'WP_ADMIN' ) )
        require_once( dirname( __FILE__ ) . '/admin.php' );
 
-// In case admin-header.php is included in a function.
+/**
+ * In case admin-header.php is included in a function.
+ *
+ * @global string    $title
+ * @global string    $hook_suffix
+ * @global WP_Screen $current_screen
+ * @global WP_Locale $wp_locale
+ * @global string    $pagenow
+ * @global string    $wp_version
+ * @global string    $update_title
+ * @global int       $total_update_count
+ * @global string    $parent_file
+ */
 global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version,
        $update_title, $total_update_count, $parent_file;
 
@@ -24,7 +36,7 @@ $title = esc_html( strip_tags( $title ) );
 if ( is_network_admin() )
        $admin_title = sprintf( __( 'Network Admin: %s' ), esc_html( get_current_site()->site_name ) );
 elseif ( is_user_admin() )
-       $admin_title = sprintf( __( 'Global Dashboard: %s' ), esc_html( get_current_site()->site_name ) );
+       $admin_title = sprintf( __( 'User Dashboard: %s' ), esc_html( get_current_site()->site_name ) );
 else
        $admin_title = get_bloginfo( 'name' );
 
index 22813cc74fc04b7e43fc47e13acfbe796b9d93e1..d3e58d254997f592038b57f53e7f9633a9000872 100644 (file)
@@ -94,11 +94,21 @@ $time_format = get_option('time_format');
 
 wp_enqueue_script( 'common' );
 
-// $pagenow is set in vars.php
-// $wp_importers is sometimes set in wp-admin/includes/import.php
-//
-// The remaining variables are imported as globals elsewhere,
-//     declared as globals here
+
+
+
+/**
+ * $pagenow is set in vars.php
+ * $wp_importers is sometimes set in wp-admin/includes/import.php
+ * The remaining variables are imported as globals elsewhere, declared as globals here
+ *
+ * @global string $pagenow
+ * @global array  $wp_importers
+ * @global string $hook_suffix
+ * @global string $plugin_page
+ * @global string $typenow
+ * @global string $taxnow
+ */
 global $pagenow, $wp_importers, $hook_suffix, $plugin_page, $typenow, $taxnow;
 
 $page_hook = null;
index c2487335b892c40058019a8e71bfb56cbae152c3..7131a0c7f309edb47451b051781d004bc1559a3d 100644 (file)
@@ -12,6 +12,9 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 $parent_file = 'edit-comments.php';
 $submenu_file = 'edit-comments.php';
 
+/**
+ * @global string $action
+ */
 global $action;
 wp_reset_vars( array('action') );
 
@@ -66,7 +69,7 @@ case 'editcomment' :
        $comment_id = absint( $_GET['c'] );
 
        if ( !$comment = get_comment( $comment_id ) )
-               comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">' . __('Go back') . '</a>.', 'javascript:history.go(-1)') );
+               comment_footer_die( __( 'Invalid comment ID.' ) . sprintf(' <a href="%s">' . __('Go back') . '</a>.', 'javascript:history.go(-1)') );
 
        if ( !current_user_can( 'edit_comment', $comment_id ) )
                comment_footer_die( __('You are not allowed to edit this comment.') );
@@ -114,13 +117,13 @@ case 'spam'    :
 ?>
 <div class="wrap">
 
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <?php
 switch ( $action ) {
        case 'spam' :
                $caution_msg = __('You are about to mark the following comment as spam:');
-               $button      = __('Mark as Spam');
+               $button      = _x( 'Mark as Spam', 'comment' );
                break;
        case 'trash' :
                $caution_msg = __('You are about to move the following comment to the Trash:');
@@ -174,7 +177,7 @@ if ( $comment->comment_approved != '0' ) { // if not unapproved
 </tr>
 <?php } ?>
 <tr>
-       <th scope="row"><?php _e( 'In Response To' ); ?></th>
+       <th scope="row"><?php /* translators: column name or table row header */ _e( 'In Response To' ); ?></th>
        <td>
        <?php
                $post_id = $comment->comment_post_ID;
@@ -249,7 +252,7 @@ case 'unapprovecomment' :
        $noredir = isset($_REQUEST['noredir']);
 
        if ( !$comment = get_comment($comment_id) )
-               comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">' . __('Go back') . '</a>.', 'edit-comments.php') );
+               comment_footer_die( __( 'Invalid comment ID.' ) . sprintf(' <a href="%s">' . __('Go back') . '</a>.', 'edit-comments.php') );
        if ( !current_user_can( 'edit_comment', $comment->comment_ID ) )
                comment_footer_die( __('You are not allowed to edit comments on this post.') );
 
index 4e160f4eb2f952190fb86ff2e7c045f37e0c4825..33ae70813f1d65ac437055487bacba68e4dff6aa 100644 (file)
@@ -18,7 +18,7 @@ $title = __( 'Credits' );
  *
  * @since 3.2.0
  *
- * @return array|bool A list of all of the contributors, or false on error.
+ * @return array|false A list of all of the contributors, or false on error.
 */
 function wp_credits() {
        global $wp_version;
@@ -55,7 +55,6 @@ function wp_credits() {
  * @param string &$display_name The contributor's display name, passed by reference.
  * @param string $username      The contributor's username.
  * @param string $profiles      URL to the contributor's WordPress.org profile page.
- * @return string A contributor's display name, hyperlinked to a WordPress.org profile page.
  */
 function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) {
        $display_name = '<a href="' . esc_url( sprintf( $profiles, $username ) ) . '">' . esc_html( $display_name ) . '</a>';
@@ -68,10 +67,9 @@ function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) {
  * @since 3.2.0
  *
  * @param string &$data External library data, passed by reference.
- * @return string Link to the external library.
  */
 function _wp_credits_build_object_link( &$data ) {
-       $data = '<a href="' . esc_url( $data[1] ) . '">' . $data[0] . '</a>';
+       $data = '<a href="' . esc_url( $data[1] ) . '">' . esc_html( $data[0] ) . '</a>';
 }
 
 list( $display_version ) = explode( '-', $wp_version );
@@ -82,7 +80,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you communicate and share, globally.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s makes it even easier to format your content and customize your site.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
@@ -111,8 +109,6 @@ if ( ! $credits ) {
 
 echo '<p class="about-description">' . __( 'WordPress is created by a worldwide team of passionate individuals.' ) . "</p>\n";
 
-$gravatar = is_ssl() ? 'https://secure.gravatar.com/avatar/' : 'http://0.gravatar.com/avatar/';
-
 foreach ( $credits['groups'] as $group_slug => $group_data ) {
        if ( $group_data['name'] ) {
                if ( 'Translators' == $group_data['name'] ) {
@@ -124,7 +120,7 @@ foreach ( $credits['groups'] as $group_slug => $group_data ) {
                        $title = translate( $group_data['name'] );
                }
 
-               echo '<h4 class="wp-people-group">' . $title . "</h4>\n";
+               echo '<h4 class="wp-people-group">' . esc_html( $title ) . "</h4>\n";
        }
 
        if ( ! empty( $group_data['shuffle'] ) )
@@ -144,11 +140,14 @@ foreach ( $credits['groups'] as $group_slug => $group_data ) {
                        $classes = 'wp-people-group ' . ( $compact ? 'compact' : '' );
                        echo '<ul class="' . $classes . '" id="wp-people-group-' . $group_slug . '">' . "\n";
                        foreach ( $group_data['data'] as $person_data ) {
-                               echo '<li class="wp-person" id="wp-person-' . $person_data[2] . '">' . "\n\t";
-                               echo '<a href="' . sprintf( $credits['data']['profiles'], $person_data[2] ) . '">';
-                               $size = 'compact' == $group_data['type'] ? '30' : '60';
-                               echo '<img src="' . $gravatar . $person_data[1] . '?s=' . $size . '" srcset="' . $gravatar . $person_data[1] . '?s=' . $size * 2 . ' 2x" class="gravatar" alt="' . esc_attr( $person_data[0] ) . '" /></a>' . "\n\t";
-                               echo '<a class="web" href="' . sprintf( $credits['data']['profiles'], $person_data[2] ) . '">' . $person_data[0] . "</a>\n\t";
+                               echo '<li class="wp-person" id="wp-person-' . esc_attr( $person_data[2] ) . '">' . "\n\t";
+                               echo '<a href="' . esc_url( sprintf( $credits['data']['profiles'], $person_data[2] ) ) . '">';
+                               $size = 'compact' == $group_data['type'] ? 30 : 60;
+                               $data = get_avatar_data( $person_data[1] . '@md5.gravatar.com', array( 'size' => $size ) );
+                               $size *= 2;
+                               $data2x = get_avatar_data( $person_data[1] . '@md5.gravatar.com', array( 'size' => $size ) );
+                               echo '<img src="' . esc_url( $data['url'] ) . '" srcset="' . esc_url( $data2x['url'] ) . ' 2x" class="gravatar" alt="' . esc_attr( $person_data[0] ) . '" /></a>' . "\n\t";
+                               echo '<a class="web" href="' . esc_url( sprintf( $credits['data']['profiles'], $person_data[2] ) ) . '">' . esc_html( $person_data[0] ) . "</a>\n\t";
                                if ( ! $compact )
                                        echo '<span class="title">' . translate( $person_data[3] ) . "</span>\n";
                                echo "</li>\n";
index a05517688a04a2f148c8aa92ec27fb31c19b3043..d7ae1bcc463203a83904c300e9c5bb2dfb219069 100644 (file)
@@ -23,7 +23,8 @@
 }
 
 .about-wrap div.updated,
-.about-wrap div.error {
+.about-wrap div.error,
+.about-wrap .notice {
        display: none !important;
 }
 
        vertical-align: middle;
 }
 
+.about-wrap .jetpack-video-wrapper {
+       margin-bottom: 0;
+}
+
 /* WordPress Version Badge */
 
 .wp-badge {
 
 .about-wrap h1 {
        margin: 0.2em 0 0 200px;
+       padding: 0;
        color: #32373c;
        line-height: 1.2em;
        font-size: 2.8em;
 .about-wrap code,
 .about-wrap ol li p {
        font-size: 14px;
+       font-weight: normal;
 }
 
 .about-wrap .about-description,
 
 /* 1.2 - Structure */
 
-.about-wrap .two-col > div {
+.about-wrap [class$=col] .col {
+       float: right;
        position: relative;
-       width: 47.6%;
+}
+.about-wrap .two-col .col {
        margin-left: 4.799999999%;
-       float: right;
+       width: 47.6%;
 }
 
-.about-wrap .three-col > div {
-       position: relative;
-       width: 29.95%;
+.about-wrap .three-col .col {
        margin-left: 4.999999999%;
-       float: right;
+       width: 29.95%;
 }
 
-.about-wrap [class$=col] .last-feature {
+.about-wrap .two-col .col:nth-of-type(2n),
+.about-wrap .three-col .col:nth-of-type(3n) {
        margin-left: 0;
 }
 
        max-width: 95%;
 }
 
-.about-wrap .feature-section .col:nth-of-type(odd) {
-       float: right;
-       margin: 40px 0 0 5%;
-       width: 48%;
+.about-wrap .feature-section .media-container {
+       border: 1px solid #ddd;
+       overflow: hidden;
+}
+
+.about-wrap .feature-section .svg-container {
+       padding: 50px 0;
+       text-align: center;
+       background-color: #e1e1e3;
 }
 
-.about-wrap .feature-section .col:nth-of-type(even) {
-       float: left;
-       margin: 40px 0 0;
-       width: 46%;
+.about-wrap .feature-section .svg-container img {
+       max-width: 150px;
+}
+
+.about-wrap .feature-section:not(.under-the-hood) .col {
+       margin-top: 40px;
 }
 
 .about-wrap .changelog {
        margin-bottom: 40px;
 }
 
-.about-wrap .changelog.feature-section > div {
+.about-wrap .changelog.feature-section .col {
        margin-top: 40px;
 }
 
                border-bottom: none;
        }
 
-       .about-wrap .one-col > div,
-       .about-wrap .two-col > div,
-       .about-wrap .three-col > div,
-       .about-wrap .two-col .col:nth-of-type(n) {
+       .about-wrap [class$=col] .col {
+               float: none;
                width: 100%;
                margin: 40px 0 0;
                padding: 0 0 40px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }
 
-       .about-wrap .two-col .col h3 {
-               margin-top: 0;
-       }
-
        .about-wrap .three-col img {
                display: block;
                margin: 0 auto;
        }
 
-       .about-wrap .feature-list div {
+       .about-wrap .feature-list .col {
                margin: 0;
                padding: 0;
                border-bottom: none;
                border-bottom: 1px solid #ccc;
        }
 
-       .about-wrap .three-col div,
-       .about-wrap .headline-feature .feature-section div {
-               width: 100% !important;
-               float: none !important;
+       .about-wrap .feature-section .svg-container {
+               padding-top: 20px;
+               padding-bottom: 20px;
        }
 
-       .about-wrap .dfw p {
-               max-width: 90%;
+       .about-wrap .three-col .col,
+       .about-wrap .headline-feature .feature-section .col {
+               width: 100% !important;
+               float: none !important;
        }
 }
 
index 58e7890d94c0cbc4329c9fbfe5edd4f9b0308116..b13442d09e03a7619164bc74c08cef853063333a 100644 (file)
@@ -23,7 +23,8 @@
 }
 
 .about-wrap div.updated,
-.about-wrap div.error {
+.about-wrap div.error,
+.about-wrap .notice {
        display: none !important;
 }
 
        vertical-align: middle;
 }
 
+.about-wrap .jetpack-video-wrapper {
+       margin-bottom: 0;
+}
+
 /* WordPress Version Badge */
 
 .wp-badge {
 
 .about-wrap h1 {
        margin: 0.2em 200px 0 0;
+       padding: 0;
        color: #32373c;
        line-height: 1.2em;
        font-size: 2.8em;
 .about-wrap code,
 .about-wrap ol li p {
        font-size: 14px;
+       font-weight: normal;
 }
 
 .about-wrap .about-description,
 
 /* 1.2 - Structure */
 
-.about-wrap .two-col > div {
+.about-wrap [class$=col] .col {
+       float: left;
        position: relative;
-       width: 47.6%;
+}
+.about-wrap .two-col .col {
        margin-right: 4.799999999%;
-       float: left;
+       width: 47.6%;
 }
 
-.about-wrap .three-col > div {
-       position: relative;
-       width: 29.95%;
+.about-wrap .three-col .col {
        margin-right: 4.999999999%;
-       float: left;
+       width: 29.95%;
 }
 
-.about-wrap [class$=col] .last-feature {
+.about-wrap .two-col .col:nth-of-type(2n),
+.about-wrap .three-col .col:nth-of-type(3n) {
        margin-right: 0;
 }
 
        max-width: 95%;
 }
 
-.about-wrap .feature-section .col:nth-of-type(odd) {
-       float: left;
-       margin: 40px 5% 0 0;
-       width: 48%;
+.about-wrap .feature-section .media-container {
+       border: 1px solid #ddd;
+       overflow: hidden;
+}
+
+.about-wrap .feature-section .svg-container {
+       padding: 50px 0;
+       text-align: center;
+       background-color: #e1e1e3;
 }
 
-.about-wrap .feature-section .col:nth-of-type(even) {
-       float: right;
-       margin: 40px 0 0;
-       width: 46%;
+.about-wrap .feature-section .svg-container img {
+       max-width: 150px;
+}
+
+.about-wrap .feature-section:not(.under-the-hood) .col {
+       margin-top: 40px;
 }
 
 .about-wrap .changelog {
        margin-bottom: 40px;
 }
 
-.about-wrap .changelog.feature-section > div {
+.about-wrap .changelog.feature-section .col {
        margin-top: 40px;
 }
 
                border-bottom: none;
        }
 
-       .about-wrap .one-col > div,
-       .about-wrap .two-col > div,
-       .about-wrap .three-col > div,
-       .about-wrap .two-col .col:nth-of-type(n) {
+       .about-wrap [class$=col] .col {
+               float: none;
                width: 100%;
                margin: 40px 0 0;
                padding: 0 0 40px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }
 
-       .about-wrap .two-col .col h3 {
-               margin-top: 0;
-       }
-
        .about-wrap .three-col img {
                display: block;
                margin: 0 auto;
        }
 
-       .about-wrap .feature-list div {
+       .about-wrap .feature-list .col {
                margin: 0;
                padding: 0;
                border-bottom: none;
                border-bottom: 1px solid #ccc;
        }
 
-       .about-wrap .three-col div,
-       .about-wrap .headline-feature .feature-section div {
-               width: 100% !important;
-               float: none !important;
+       .about-wrap .feature-section .svg-container {
+               padding-top: 20px;
+               padding-bottom: 20px;
        }
 
-       .about-wrap .dfw p {
-               max-width: 90%;
+       .about-wrap .three-col .col,
+       .about-wrap .headline-feature .feature-section .col {
+               width: 100% !important;
+               float: none !important;
        }
 }
 
index 65e535356350df3ba48e40ec6b11f437fccef1e2..ea3d49f0a05c16d38a3895239ec8ef86e379cf46 100644 (file)
        padding: 0;
 }
 
-#adminmenu .wp-submenu-head,
-.folded #adminmenu .wp-menu-name {
+#adminmenu .wp-submenu-head {
        display: none;
 }
 
+.folded #adminmenu .wp-menu-name {
+       position: absolute;
+       right: -999px;
+}
+
 .folded #adminmenu .wp-submenu-head {
        display: block;
 }
@@ -678,7 +682,8 @@ li#wp-admin-bar-menu-toggle {
        }
 
        .auto-fold #adminmenu .wp-menu-name {
-               display: none;
+               position: absolute;
+               right: -999px;
        }
 
        .auto-fold #adminmenu .wp-submenu-head {
@@ -797,7 +802,7 @@ li#wp-admin-bar-menu-toggle {
 
        /* Restore the menu names */
        .auto-fold #adminmenu .wp-menu-name {
-               display: block;
+               position: static;
                margin-right: 35px;
        }
 
@@ -915,6 +920,10 @@ li#wp-admin-bar-menu-toggle {
                -moz-box-sizing: border-box;
                box-sizing: border-box;
        }
+
+       .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+               color: #00b9eb;
+       }
 }
 
 /* Smartphone */
index 77f0034d017e82bddf201fb48990b35fba7c171d..27ffc0996dc457e26a165b4dd8db162a6b915a0b 100644 (file)
        padding: 0;
 }
 
-#adminmenu .wp-submenu-head,
-.folded #adminmenu .wp-menu-name {
+#adminmenu .wp-submenu-head {
        display: none;
 }
 
+.folded #adminmenu .wp-menu-name {
+       position: absolute;
+       left: -999px;
+}
+
 .folded #adminmenu .wp-submenu-head {
        display: block;
 }
@@ -678,7 +682,8 @@ li#wp-admin-bar-menu-toggle {
        }
 
        .auto-fold #adminmenu .wp-menu-name {
-               display: none;
+               position: absolute;
+               left: -999px;
        }
 
        .auto-fold #adminmenu .wp-submenu-head {
@@ -797,7 +802,7 @@ li#wp-admin-bar-menu-toggle {
 
        /* Restore the menu names */
        .auto-fold #adminmenu .wp-menu-name {
-               display: block;
+               position: static;
                margin-left: 35px;
        }
 
@@ -915,6 +920,10 @@ li#wp-admin-bar-menu-toggle {
                -moz-box-sizing: border-box;
                box-sizing: border-box;
        }
+
+       .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+               color: #00b9eb;
+       }
 }
 
 /* Smartphone */
index e20f08dd12c2840635efc56c3853b19ea17d7121..a08ffc945f2e6c17ccec977dd8aef6714b26f3e5 100644 (file)
@@ -1 +1 @@
-.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 0 6px 6px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-right:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;left:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#23282d;border-color:#a0a5aa;border-right:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result: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)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-right:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
+.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 0 6px 6px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-right:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08);top:0}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;left:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#23282d;border-color:#a0a5aa;border-right:1px solid #999}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result: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)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-right:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
index d73af0d3324d7a724fe1958b3a2d66159814df84..f3c178d38f0185b20395b598732d986ce739c460 100644 (file)
@@ -1 +1 @@
-.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 6px 6px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#23282d;border-color:#a0a5aa;border-left:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result: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)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-left:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
+.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 6px 6px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08);top:0}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#23282d;border-color:#a0a5aa;border-left:1px solid #999}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result: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)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-left:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
index 20ac8f09c93dba42cb819e8857cdcceca78b9c9d..6e396428f6c8e65c0341533be98111bb0e5de301 100644 (file)
@@ -83,8 +83,8 @@ input[type=radio]:checked:before {
 
 /* List tables */
 
-.wrap .add-new-h2:hover,
-#add-new-comment a:hover,
+.wrap .add-new-h2:hover, /* deprecated */
+.wrap .page-title-action:hover,
 .tablenav .tablenav-pages a:hover,
 .tablenav .tablenav-pages a:focus {
        color: $menu-text;
@@ -99,21 +99,6 @@ input[type=radio]:checked:before {
        color: $menu-bubble-background;
 }
 
-.post-com-count:hover:after {
-       border-top-color: $menu-background;
-}
-.post-com-count:hover span {
-       color: $menu-text;
-       background-color: $menu-background;
-}
-
-strong .post-com-count:after {
-       border-top-color: $menu-bubble-background;
-}
-strong .post-com-count span {
-       background-color: $menu-bubble-background;
-}
-
 
 /* Admin Menu */
 
@@ -280,26 +265,25 @@ ul#adminmenu > li.current > a.current:after {
        color: $menu-icon;
 }
 
-#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:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
 #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
-#wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
 #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
        color: $menu-submenu-focus-text;
        background: $menu-submenu-background;
 }
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label,
-#wpadminbar > #wp-toolbar li.hover span.ab-label,
-#wpadminbar > #wp-toolbar a:focus span.ab-label {
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
        color: $menu-submenu-focus-text;
 }
 
-#wpadminbar li:hover .ab-icon:before,
-#wpadminbar li:hover .ab-item:before,
-#wpadminbar li:hover .ab-item:after,
-#wpadminbar li:hover #adminbarsearch:before {
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
        color: $menu-highlight-icon;
 }
 
@@ -318,7 +302,7 @@ ul#adminmenu > li.current > a.current:after {
 #wpadminbar .ab-submenu .ab-item,
 #wpadminbar .quicklinks .menupop ul li a,
 #wpadminbar .quicklinks .menupop.hover ul li a,
-#wpadminbar-nojs .quicklinks .menupop:hover ul li a {
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
        color: $menu-submenu-text;
 }
 
@@ -341,17 +325,23 @@ ul#adminmenu > li.current > a.current:after {
 #wpadminbar li .ab-item:focus:before,
 #wpadminbar li.hover .ab-icon:before,
 #wpadminbar li.hover .ab-item:before,
-#wpadminbar li:hover .ab-item:after,
-#wpadminbar li.hover .ab-item:after,
-#wpadminbar li:hover #adminbarsearch:before {
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
        color: $menu-submenu-focus-text;
 }
 
 #wpadminbar .quicklinks li a:hover .blavatar,
-#wpadminbar .menupop .menupop > .ab-item:hover:before {
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
        color: $menu-submenu-focus-text;
 }
 
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+       color: $menu-icon;
+}
+
 
 /* Admin Bar: search */
 
@@ -519,3 +509,17 @@ div#wp-responsive-toggle a:before {
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
        background: $menu-submenu-background;
 }
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+       color: $menu-icon;
+}
+
+/* TinyMCE */
+
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+       background: $highlight-color;
+}
index 4556a47de0d315e48f3065096ebff6b0bb93e89f..97a77a0ba40e8654116e3a19982b1ac6aca87d1b 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #096484; }
+  color: #096484;
+}
 
 input[type=radio]:checked:before {
-  background: #096484; }
+  background: #096484;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #d39323;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #dd9f32;
-    border-color: #bd831f;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8be74;
-    box-shadow: inset 0 1px 0 #e8be74; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #d39323;
-    border-color: #bd831f;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1cdc7 !important;
-    background: #db9925 !important;
-    border-color: #bd831f !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #dd9f32;
+  border-color: #bd831f;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #e8be74;
+  box-shadow: inset 0 1px 0 #e8be74;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #d39323;
+  border-color: #bd831f;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1cdc7 !important;
+  background: #db9925 !important;
+  border-color: #bd831f !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #52accc; }
+  background-color: #52accc;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #52accc; }
+  color: #52accc;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #096484; }
+  background-color: #096484;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #096484; }
+  color: #096484;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #e1a948; }
+  background-color: #e1a948;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #e1a948; }
+  color: #e1a948;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #52accc; }
+  background-color: #52accc;
+}
 
 .view-switch a.current:before {
-  color: #52accc; }
+  color: #52accc;
+}
 
 .view-switch a:hover:before {
-  color: #e1a948; }
-
-.post-com-count:hover:after {
-  border-top-color: #52accc; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #52accc; }
-
-strong .post-com-count:after {
-  border-top-color: #e1a948; }
-
-strong .post-com-count span {
-  background-color: #e1a948; }
+  color: #e1a948;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #52accc; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #52accc;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #096484; }
+  background-color: #096484;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #4796b3; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #4796b3;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: #4796b3; }
+  border-left-color: #4796b3;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #e2ecf1; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #e2ecf1; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #fff; }
+  color: #e2ecf1;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #e2ecf1;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #fff;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #fff; }
-
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
   color: #fff;
-  background: #096484; }
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-left-color: #f1f1f1;
+}
+
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #096484;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #e1a948; }
+  background: #e1a948;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #4796b3; }
+  background: #4796b3;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #52accc; }
+  background: #52accc;
+}
 
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #e5f8ff; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #e5f8ff;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #fff;
-  background: #4796b3; }
+  background: #4796b3;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #fff; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #fff;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #4796b3; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #74b6ce; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #e2ecf1; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #e5f8ff; }
+  background: #4796b3;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #74b6ce;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #e2ecf1;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #e5f8ff;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #fff;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #fff;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #fff; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #e5f8ff;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #6eb9d4; }
+  background: #6eb9d4;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #6eb9d4;
-  background-color: #6eb9d4; }
+  background-color: #6eb9d4;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #e2ecf1; }
+  color: #e2ecf1;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #096484;
-  border-color: #07526c; }
+  border-color: #07526c;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #096484; }
+  color: #096484;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #096484; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #096484;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #096484; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #096484;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484;
+}
 
 .attachment.details .check {
   background-color: #096484;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #096484; }
-
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #096484; }
-
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #52accc; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #096484;
+}
+
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #096484;
+}
+
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #52accc;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #52accc; }
+  background-color: #52accc;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #096484;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #096484;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #096484;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #e1a948;
   border-color: #d39323;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #096484; }
+  background: #096484;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #4796b3; }
+  background: #4796b3;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #e5f8ff;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #096484;
+}
index a15a2d148ebd7007fa48a779620e1b5f02510a8b..56d9e32040db24bd1799a9f92c4631a586839da3 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#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:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#096484}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-button div:after,#collapse-menu{color:#e5f8ff}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before,#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#096484}
\ No newline at end of file
index e83482c56a914ccedc335f94d5b3ff8d4dfd1796..8fb3d6104d66227ba94ac12f27f2f4fd689beb17 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #096484; }
+  color: #096484;
+}
 
 input[type=radio]:checked:before {
-  background: #096484; }
+  background: #096484;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #d39323;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #dd9f32;
-    border-color: #bd831f;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8be74;
-    box-shadow: inset 0 1px 0 #e8be74; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #d39323;
-    border-color: #bd831f;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1cdc7 !important;
-    background: #db9925 !important;
-    border-color: #bd831f !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #dd9f32;
+  border-color: #bd831f;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #e8be74;
+  box-shadow: inset 0 1px 0 #e8be74;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #d39323;
+  border-color: #bd831f;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1cdc7 !important;
+  background: #db9925 !important;
+  border-color: #bd831f !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #52accc; }
+  background-color: #52accc;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #52accc; }
+  color: #52accc;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #096484; }
+  background-color: #096484;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #096484; }
+  color: #096484;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #e1a948; }
+  background-color: #e1a948;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #e1a948; }
+  color: #e1a948;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #52accc; }
+  background-color: #52accc;
+}
 
 .view-switch a.current:before {
-  color: #52accc; }
+  color: #52accc;
+}
 
 .view-switch a:hover:before {
-  color: #e1a948; }
-
-.post-com-count:hover:after {
-  border-top-color: #52accc; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #52accc; }
-
-strong .post-com-count:after {
-  border-top-color: #e1a948; }
-
-strong .post-com-count span {
-  background-color: #e1a948; }
+  color: #e1a948;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #52accc; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #52accc;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #096484; }
+  background-color: #096484;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #4796b3; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #4796b3;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: #4796b3; }
+  border-right-color: #4796b3;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #e2ecf1; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #e2ecf1; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #fff; }
+  color: #e2ecf1;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #e2ecf1;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #fff;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #fff; }
-
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
   color: #fff;
-  background: #096484; }
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-right-color: #f1f1f1;
+}
+
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #096484;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #e1a948; }
+  background: #e1a948;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #4796b3; }
+  background: #4796b3;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #52accc; }
+  background: #52accc;
+}
 
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #e5f8ff; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #e5f8ff;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #fff;
-  background: #4796b3; }
+  background: #4796b3;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #fff; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #fff;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #4796b3; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #74b6ce; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #e2ecf1; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #e5f8ff; }
+  background: #4796b3;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #74b6ce;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #e2ecf1;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #e5f8ff;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #fff;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #fff;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #fff; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #e5f8ff;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #6eb9d4; }
+  background: #6eb9d4;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #6eb9d4;
-  background-color: #6eb9d4; }
+  background-color: #6eb9d4;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #e2ecf1; }
+  color: #e2ecf1;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #096484;
-  border-color: #07526c; }
+  border-color: #07526c;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #096484; }
+  color: #096484;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #096484; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #096484;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #096484; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #096484;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484;
+}
 
 .attachment.details .check {
   background-color: #096484;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #096484; }
-
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #096484; }
-
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #52accc; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #096484;
+}
+
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #096484;
+}
+
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #52accc;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #52accc; }
+  background-color: #52accc;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #096484;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #096484;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #096484;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #e1a948;
   border-color: #d39323;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #e5f8ff; }
+  color: #e5f8ff;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #096484; }
+  background: #096484;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #4796b3; }
+  background: #4796b3;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #e5f8ff;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #096484;
+}
index 88476a8d9ec01b8bcee61b56e63a0d610ad40bcd..c5d45e3fea81c269d5cde06cfd7acc24f4d8f10d 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#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:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#096484}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-button div:after,#collapse-menu{color:#e5f8ff}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before,#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#096484}
\ No newline at end of file
index 20353f6d7e4f194574b18a6bb2b01c91d392eb92..23866fc8cd34785eb66c2747e6986231e8a9fb91 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #59524c; }
+  color: #59524c;
+}
 
 input[type=radio]:checked:before {
-  background: #59524c; }
+  background: #59524c;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #b78b66;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #bf9878;
-    border-color: #ae7d55;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #d7bfac;
-    box-shadow: inset 0 1px 0 #d7bfac; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #b78b66;
-    border-color: #ae7d55;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1ccc7 !important;
-    background: #ba906d !important;
-    border-color: #ae7d55 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #bf9878;
+  border-color: #ae7d55;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #d7bfac;
+  box-shadow: inset 0 1px 0 #d7bfac;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #b78b66;
+  border-color: #ae7d55;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1ccc7 !important;
+  background: #ba906d !important;
+  border-color: #ae7d55 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #59524c; }
+  background-color: #59524c;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #59524c; }
+  color: #59524c;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #c7a589; }
+  background-color: #c7a589;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #c7a589; }
+  color: #c7a589;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #9ea476; }
+  background-color: #9ea476;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #9ea476; }
+  color: #9ea476;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #59524c; }
+  background-color: #59524c;
+}
 
 .view-switch a.current:before {
-  color: #59524c; }
+  color: #59524c;
+}
 
 .view-switch a:hover:before {
-  color: #9ea476; }
-
-.post-com-count:hover:after {
-  border-top-color: #59524c; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #59524c; }
-
-strong .post-com-count:after {
-  border-top-color: #9ea476; }
-
-strong .post-com-count span {
-  background-color: #9ea476; }
+  color: #9ea476;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #59524c; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #59524c;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #c7a589; }
+  background-color: #c7a589;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #46403c; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #46403c;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: #46403c; }
+  border-left-color: #46403c;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #cdcbc9; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #cdcbc9; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #c7a589; }
+  color: #cdcbc9;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #cdcbc9;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #c7a589;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #c7a589; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #c7a589;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #c7a589; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-left-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #c7a589;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #9ea476; }
+  background: #9ea476;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #46403c; }
+  background: #46403c;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #59524c; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
+  background: #59524c;
+}
 
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f3f2f1; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f3f2f1;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #c7a589;
-  background: #46403c; }
+  background: #46403c;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #c7a589; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #c7a589;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #46403c; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #656463; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #cdcbc9; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f3f2f1; }
+  background: #46403c;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #656463;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #cdcbc9;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f3f2f1;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #c7a589;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #c7a589; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #c7a589;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #c7a589; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f3f2f1;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #6c645c; }
+  background: #6c645c;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #6c645c;
-  background-color: #6c645c; }
+  background-color: #6c645c;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #c7a589; }
+  color: #c7a589;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #cdcbc9; }
+  color: #cdcbc9;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #c7a589;
-  border-color: #bf9878; }
+  border-color: #bf9878;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #c7a589; }
+  color: #c7a589;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #c7a589; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #c7a589;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #c7a589; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #c7a589;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589;
+}
 
 .attachment.details .check {
   background-color: #c7a589;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #c7a589; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #c7a589;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #c7a589; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #c7a589;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #59524c; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #59524c;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #59524c; }
+  background-color: #59524c;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #c7a589;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #c7a589;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #c7a589;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #c7a589;
   border-color: #b78b66;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #c7a589; }
+  background: #c7a589;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #46403c; }
+  background: #46403c;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f3f2f1;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #c7a589;
+}
index 943abb693a248c58d1faef549515d02e96d0f884..39921d5b3af57a36ed1b14e00bc3e717777ef76e 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#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:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-button div:after,#collapse-menu{color:#f3f2f1}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#c7a589}
\ No newline at end of file
index b17a031c05c1aceeca68cd544410d9ff9b102777..7d690f60c13dbdf376e7b8bad0716301cabf53eb 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #59524c; }
+  color: #59524c;
+}
 
 input[type=radio]:checked:before {
-  background: #59524c; }
+  background: #59524c;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #b78b66;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #bf9878;
-    border-color: #ae7d55;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #d7bfac;
-    box-shadow: inset 0 1px 0 #d7bfac; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #b78b66;
-    border-color: #ae7d55;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1ccc7 !important;
-    background: #ba906d !important;
-    border-color: #ae7d55 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #bf9878;
+  border-color: #ae7d55;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #d7bfac;
+  box-shadow: inset 0 1px 0 #d7bfac;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #b78b66;
+  border-color: #ae7d55;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1ccc7 !important;
+  background: #ba906d !important;
+  border-color: #ae7d55 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #59524c; }
+  background-color: #59524c;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #59524c; }
+  color: #59524c;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #c7a589; }
+  background-color: #c7a589;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #c7a589; }
+  color: #c7a589;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #9ea476; }
+  background-color: #9ea476;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #9ea476; }
+  color: #9ea476;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #59524c; }
+  background-color: #59524c;
+}
 
 .view-switch a.current:before {
-  color: #59524c; }
+  color: #59524c;
+}
 
 .view-switch a:hover:before {
-  color: #9ea476; }
-
-.post-com-count:hover:after {
-  border-top-color: #59524c; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #59524c; }
-
-strong .post-com-count:after {
-  border-top-color: #9ea476; }
-
-strong .post-com-count span {
-  background-color: #9ea476; }
+  color: #9ea476;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #59524c; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #59524c;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #c7a589; }
+  background-color: #c7a589;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #46403c; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #46403c;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: #46403c; }
+  border-right-color: #46403c;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #cdcbc9; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #cdcbc9; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #c7a589; }
+  color: #cdcbc9;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #cdcbc9;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #c7a589;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #c7a589; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #c7a589;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #c7a589; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-right-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #c7a589;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #9ea476; }
+  background: #9ea476;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #46403c; }
+  background: #46403c;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #59524c; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
+  background: #59524c;
+}
 
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f3f2f1; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f3f2f1;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #c7a589;
-  background: #46403c; }
+  background: #46403c;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #c7a589; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #c7a589;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #46403c; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #656463; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #cdcbc9; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f3f2f1; }
+  background: #46403c;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #656463;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #cdcbc9;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f3f2f1;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #c7a589;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #c7a589; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #c7a589;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #c7a589; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f3f2f1;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #6c645c; }
+  background: #6c645c;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #6c645c;
-  background-color: #6c645c; }
+  background-color: #6c645c;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #c7a589; }
+  color: #c7a589;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #cdcbc9; }
+  color: #cdcbc9;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #c7a589;
-  border-color: #bf9878; }
+  border-color: #bf9878;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #c7a589; }
+  color: #c7a589;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #c7a589; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #c7a589;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #c7a589; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #c7a589;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589;
+}
 
 .attachment.details .check {
   background-color: #c7a589;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #c7a589; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #c7a589;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #c7a589; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #c7a589;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #59524c; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #59524c;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #59524c; }
+  background-color: #59524c;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #c7a589;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #c7a589;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #c7a589;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #c7a589;
   border-color: #b78b66;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f3f2f1; }
+  color: #f3f2f1;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #c7a589; }
+  background: #c7a589;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #46403c; }
+  background: #46403c;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f3f2f1;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #c7a589;
+}
index f8f4c50c18110af581c7e3ad3647739c15e18f45..6b4654110b39fb943bcf68c354b644b872c5d9be 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#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:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-button div:after,#collapse-menu{color:#f3f2f1}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#c7a589}
\ No newline at end of file
index 4bd490985de1a6fbf649b77506931bd045d74d17..01f212f172fa0f2bed49c256d216b0ed89b14141 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #523f6d; }
+  color: #523f6d;
+}
 
 input[type=radio]:checked:before {
-  background: #523f6d; }
+  background: #523f6d;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #829237;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #93a43e;
-    border-color: #727f30;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #b6c669;
-    box-shadow: inset 0 1px 0 #b6c669; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #829237;
-    border-color: #727f30;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #cfd1c7 !important;
-    background: #89993a !important;
-    border-color: #727f30 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #93a43e;
+  border-color: #727f30;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #b6c669;
+  box-shadow: inset 0 1px 0 #b6c669;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #829237;
+  border-color: #727f30;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #cfd1c7 !important;
+  background: #89993a !important;
+  border-color: #727f30 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #523f6d; }
+  background-color: #523f6d;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #523f6d; }
+  color: #523f6d;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #a3b745; }
+  background-color: #a3b745;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #a3b745; }
+  color: #a3b745;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #d46f15; }
+  background-color: #d46f15;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #d46f15; }
+  color: #d46f15;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #523f6d; }
+  background-color: #523f6d;
+}
 
 .view-switch a.current:before {
-  color: #523f6d; }
+  color: #523f6d;
+}
 
 .view-switch a:hover:before {
-  color: #d46f15; }
-
-.post-com-count:hover:after {
-  border-top-color: #523f6d; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #523f6d; }
-
-strong .post-com-count:after {
-  border-top-color: #d46f15; }
-
-strong .post-com-count span {
-  background-color: #d46f15; }
+  color: #d46f15;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #523f6d; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #523f6d;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #a3b745; }
+  background-color: #a3b745;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #413256; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #413256;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: #413256; }
+  border-left-color: #413256;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #cbc5d3; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #cbc5d3; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #a3b745; }
+  color: #cbc5d3;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #cbc5d3;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #a3b745;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #a3b745; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #a3b745;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #a3b745; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-left-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #a3b745;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #d46f15; }
+  background: #d46f15;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #413256; }
+  background: #413256;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #523f6d; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
+  background: #523f6d;
+}
 
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #ece6f6; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #ece6f6;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #a3b745;
-  background: #413256; }
+  background: #413256;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #a3b745; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #a3b745;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #413256; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #64537c; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #cbc5d3; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #ece6f6; }
+  background: #413256;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #64537c;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #cbc5d3;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #ece6f6;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #a3b745;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #a3b745; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #a3b745;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #a3b745; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #ece6f6;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #634c84; }
+  background: #634c84;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #634c84;
-  background-color: #634c84; }
+  background-color: #634c84;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #a3b745; }
+  color: #a3b745;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #cbc5d3; }
+  color: #cbc5d3;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #a3b745;
-  border-color: #93a43e; }
+  border-color: #93a43e;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #a3b745; }
+  color: #a3b745;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #a3b745; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #a3b745;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #a3b745; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #a3b745;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745;
+}
 
 .attachment.details .check {
   background-color: #a3b745;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #a3b745; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #a3b745;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #a3b745; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #a3b745;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #523f6d; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #523f6d;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #523f6d; }
+  background-color: #523f6d;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #a3b745;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #a3b745;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #a3b745;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #a3b745;
   border-color: #829237;
   -webkit-box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #a3b745; }
+  background: #a3b745;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #413256; }
+  background: #413256;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #ece6f6;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #a3b745;
+}
index 32712c7282366af3238dd31f408326ccf008d89c..eaaa3cdead8ab139da6988b466cc3ad60cf5a462 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#a3b745;border-color:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#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:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#a3b745;border-color:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-button div:after,#collapse-menu{color:#ece6f6}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#ece6f6}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#a3b745}
\ No newline at end of file
index 0090e45b25f0717a57cd044d3976f8652469d67b..f98d460f91d8dfae6ae3b63e9caa075d768c027e 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #523f6d; }
+  color: #523f6d;
+}
 
 input[type=radio]:checked:before {
-  background: #523f6d; }
+  background: #523f6d;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #829237;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #93a43e;
-    border-color: #727f30;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #b6c669;
-    box-shadow: inset 0 1px 0 #b6c669; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #829237;
-    border-color: #727f30;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #cfd1c7 !important;
-    background: #89993a !important;
-    border-color: #727f30 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #93a43e;
+  border-color: #727f30;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #b6c669;
+  box-shadow: inset 0 1px 0 #b6c669;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #b6c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #829237;
+  border-color: #727f30;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #cfd1c7 !important;
+  background: #89993a !important;
+  border-color: #727f30 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #523f6d; }
+  background-color: #523f6d;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #523f6d; }
+  color: #523f6d;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #a3b745; }
+  background-color: #a3b745;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #a3b745; }
+  color: #a3b745;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #d46f15; }
+  background-color: #d46f15;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #d46f15; }
+  color: #d46f15;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #523f6d; }
+  background-color: #523f6d;
+}
 
 .view-switch a.current:before {
-  color: #523f6d; }
+  color: #523f6d;
+}
 
 .view-switch a:hover:before {
-  color: #d46f15; }
-
-.post-com-count:hover:after {
-  border-top-color: #523f6d; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #523f6d; }
-
-strong .post-com-count:after {
-  border-top-color: #d46f15; }
-
-strong .post-com-count span {
-  background-color: #d46f15; }
+  color: #d46f15;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #523f6d; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #523f6d;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #a3b745; }
+  background-color: #a3b745;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #413256; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #413256;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: #413256; }
+  border-right-color: #413256;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #cbc5d3; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #cbc5d3; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #a3b745; }
+  color: #cbc5d3;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #cbc5d3;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #a3b745;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #a3b745; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #a3b745;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #a3b745; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-right-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #a3b745;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #d46f15; }
+  background: #d46f15;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #413256; }
+  background: #413256;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #523f6d; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
+  background: #523f6d;
+}
 
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #ece6f6; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #ece6f6;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #a3b745;
-  background: #413256; }
+  background: #413256;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #a3b745; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #a3b745;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #413256; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #64537c; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #cbc5d3; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #ece6f6; }
+  background: #413256;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #64537c;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #cbc5d3;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #ece6f6;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #a3b745;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #a3b745; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #a3b745;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #a3b745; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #ece6f6;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #634c84; }
+  background: #634c84;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #634c84;
-  background-color: #634c84; }
+  background-color: #634c84;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #a3b745; }
+  color: #a3b745;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #cbc5d3; }
+  color: #cbc5d3;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #a3b745;
-  border-color: #93a43e; }
+  border-color: #93a43e;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #a3b745; }
+  color: #a3b745;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #a3b745; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #a3b745;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #a3b745; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #a3b745;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745;
+}
 
 .attachment.details .check {
   background-color: #a3b745;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #a3b745; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #a3b745;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #a3b745; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #a3b745;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #523f6d; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #523f6d;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #523f6d; }
+  background-color: #523f6d;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #a3b745;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #a3b745;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #a3b745;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #a3b745;
   border-color: #829237;
   -webkit-box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #ece6f6; }
+  color: #ece6f6;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #a3b745; }
+  background: #a3b745;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #413256; }
+  background: #413256;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #ece6f6;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #a3b745;
+}
index 2c8ca88c7f91af8af70e3e6e02cdc2560e12b3ed..e98bf7bd9985c08e0ad2ebf86007c0e7779b13db 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#a3b745;border-color:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#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:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#a3b745;border-color:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-button div:after,#collapse-menu{color:#ece6f6}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#ece6f6}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#a3b745}
\ No newline at end of file
index f5768fd25e464fb4edf2683a77a70c26d990a269..c1ab81a43650c7a0ad046eff820d65fafdd9a96e 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f5f5f5; }
+  background: #f5f5f5;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #04a4cc; }
+  color: #04a4cc;
+}
 
 input[type=radio]:checked:before {
-  background: #04a4cc; }
+  background: #04a4cc;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,309 +44,519 @@ input[type=radio]:checked:before {
   border-color: #037c9a;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #0490b3;
-    border-color: #036881;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #09cafa;
-    box-shadow: inset 0 1px 0 #09cafa; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #037c9a;
-    border-color: #036881;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #c7cfd1 !important;
-    background: #0384a4 !important;
-    border-color: #036881 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #0490b3;
+  border-color: #036881;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #09cafa;
+  box-shadow: inset 0 1px 0 #09cafa;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #037c9a;
+  border-color: #036881;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #c7cfd1 !important;
+  background: #0384a4 !important;
+  border-color: #036881 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #333;
-  background-color: #e5e5e5; }
+  background-color: #e5e5e5;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #e5e5e5; }
+  color: #e5e5e5;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #888; }
+  background-color: #888;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #888; }
+  color: #888;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #d64e07; }
+  background-color: #d64e07;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #d64e07; }
+  color: #d64e07;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #999; }
+  color: #999;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #333;
-  background-color: #e5e5e5; }
+  background-color: #e5e5e5;
+}
 
 .view-switch a.current:before {
-  color: #e5e5e5; }
+  color: #e5e5e5;
+}
 
 .view-switch a:hover:before {
-  color: #d64e07; }
-
-.post-com-count:hover:after {
-  border-top-color: #e5e5e5; }
-
-.post-com-count:hover span {
-  color: #333;
-  background-color: #e5e5e5; }
-
-strong .post-com-count:after {
-  border-top-color: #d64e07; }
-
-strong .post-com-count span {
-  background-color: #d64e07; }
+  color: #d64e07;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #e5e5e5; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #e5e5e5;
+}
 
 #adminmenu a {
-  color: #333; }
+  color: #333;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #999; }
+  color: #999;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #888; }
+  background-color: #888;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #ccc; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #ccc;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f5f5f5;
-  border-bottom-color: #f5f5f5; }
+  border-bottom-color: #f5f5f5;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #fff; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #fff;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: #fff; }
+  border-left-color: #fff;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #686868; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #686868; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #04a4cc; }
+  color: #686868;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #686868;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #04a4cc;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #333; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #04a4cc; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #333;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: #f5f5f5; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #04a4cc;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #888; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-left-color: #f5f5f5;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #ccc; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #888;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #ccc;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #d64e07; }
+  background: #d64e07;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #333;
-  background: #fff; }
+  background: #fff;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #777; }
+  color: #777;
+}
 
 #collapse-menu:hover {
-  color: #333; }
+  color: #333;
+}
 
 #collapse-button div:after {
-  color: #999; }
+  color: #999;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #555; }
+  color: #555;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #333;
-  background: #e5e5e5; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #333; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #999; }
+  background: #e5e5e5;
+}
 
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #333;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #999;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #04a4cc;
-  background: #fff; }
+  background: #fff;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #04a4cc; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #04a4cc;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #ccc; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #ccc;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #fff; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #f6f7f7; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #686868; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #999; }
+  background: #fff;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #f7f7f7;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #686868;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #999;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #04a4cc;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #04a4cc; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #04a4cc;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #04a4cc; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #999;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #999; }
+  color: #999;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #333;
-  background: #f7f7f7; }
+  background: #f7f7f7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #f7f7f7;
-  background-color: #f7f7f7; }
+  background-color: #f7f7f7;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #333; }
+  color: #333;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #04a4cc; }
+  color: #04a4cc;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #686868; }
+  color: #686868;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #04a4cc;
-  border-color: #0490b3; }
+  border-color: #0490b3;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #04a4cc; }
+  color: #04a4cc;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #04a4cc; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #04a4cc;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #04a4cc; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #04a4cc;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc;
+}
 
 .attachment.details .check {
   background-color: #04a4cc;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #04a4cc; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #04a4cc;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #04a4cc; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #04a4cc;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #e5e5e5; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #e5e5e5;
+}
 
 body.more-filters-opened .more-filters {
   color: #333;
-  background-color: #e5e5e5; }
+  background-color: #e5e5e5;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #333; }
+  color: #333;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #888;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #888;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #888;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #04a4cc;
   border-color: #037c9a;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #999; }
+  color: #999;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #888; }
+  background: #888;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #fff; }
+  background: #fff;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #999;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #04a4cc;
+}
 
 /* temporary fix for admin-bar hover color */
-#wpadminbar .ab-top-menu > li:hover > .ab-item, #wpadminbar .ab-top-menu > li.hover > .ab-item, #wpadminbar > #wp-toolbar > #wp-admin-bar-root-default li:hover span.ab-label, #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary li.hover span.ab-label, #wpadminbar .ab-top-menu > li > .ab-item:focus, #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
-  color: #333; }
+#wpadminbar .ab-top-menu > li:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.hover > .ab-item,
+#wpadminbar > #wp-toolbar > #wp-admin-bar-root-default li:hover span.ab-label,
+#wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary li.hover span.ab-label,
+#wpadminbar .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+  color: #333;
+}
 
 /* Override the theme filter highlight color for this scheme */
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #04a4cc; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #04a4cc;
+}
index 546c0a4688ca5b90d759f1f765fabbf0a27f87c6..8108994f23f60144d7457fd74ff41cea749e1430 100644 (file)
@@ -1 +1 @@
-html{background:#f5f5f5}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#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:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
+html{background:#f5f5f5}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}.theme-filter.current,.theme-section.current,.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#04a4cc;background:#fff}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#ccc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f7f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#999}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#04a4cc}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.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,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}
\ No newline at end of file
index 925d221aa669d290246f76fa4ada4c0d7bc0d499..335e3f904ba9f32226d7b7c91461e1afd16abdfe 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f5f5f5; }
+  background: #f5f5f5;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #04a4cc; }
+  color: #04a4cc;
+}
 
 input[type=radio]:checked:before {
-  background: #04a4cc; }
+  background: #04a4cc;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,309 +44,519 @@ input[type=radio]:checked:before {
   border-color: #037c9a;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #0490b3;
-    border-color: #036881;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #09cafa;
-    box-shadow: inset 0 1px 0 #09cafa; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #037c9a;
-    border-color: #036881;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #c7cfd1 !important;
-    background: #0384a4 !important;
-    border-color: #036881 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #0490b3;
+  border-color: #036881;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #09cafa;
+  box-shadow: inset 0 1px 0 #09cafa;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #037c9a;
+  border-color: #036881;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #c7cfd1 !important;
+  background: #0384a4 !important;
+  border-color: #036881 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #333;
-  background-color: #e5e5e5; }
+  background-color: #e5e5e5;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #e5e5e5; }
+  color: #e5e5e5;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #888; }
+  background-color: #888;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #888; }
+  color: #888;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #d64e07; }
+  background-color: #d64e07;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #d64e07; }
+  color: #d64e07;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #999; }
+  color: #999;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #333;
-  background-color: #e5e5e5; }
+  background-color: #e5e5e5;
+}
 
 .view-switch a.current:before {
-  color: #e5e5e5; }
+  color: #e5e5e5;
+}
 
 .view-switch a:hover:before {
-  color: #d64e07; }
-
-.post-com-count:hover:after {
-  border-top-color: #e5e5e5; }
-
-.post-com-count:hover span {
-  color: #333;
-  background-color: #e5e5e5; }
-
-strong .post-com-count:after {
-  border-top-color: #d64e07; }
-
-strong .post-com-count span {
-  background-color: #d64e07; }
+  color: #d64e07;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #e5e5e5; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #e5e5e5;
+}
 
 #adminmenu a {
-  color: #333; }
+  color: #333;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #999; }
+  color: #999;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #888; }
+  background-color: #888;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #ccc; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #ccc;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f5f5f5;
-  border-bottom-color: #f5f5f5; }
+  border-bottom-color: #f5f5f5;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #fff; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #fff;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: #fff; }
+  border-right-color: #fff;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #686868; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #686868; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #04a4cc; }
+  color: #686868;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #686868;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #04a4cc;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #333; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #04a4cc; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #333;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: #f5f5f5; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #04a4cc;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #888; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-right-color: #f5f5f5;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #ccc; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #888;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #ccc;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #d64e07; }
+  background: #d64e07;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #333;
-  background: #fff; }
+  background: #fff;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #777; }
+  color: #777;
+}
 
 #collapse-menu:hover {
-  color: #333; }
+  color: #333;
+}
 
 #collapse-button div:after {
-  color: #999; }
+  color: #999;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #555; }
+  color: #555;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #333;
-  background: #e5e5e5; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #333; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #999; }
+  background: #e5e5e5;
+}
 
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #333;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #999;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #04a4cc;
-  background: #fff; }
+  background: #fff;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #04a4cc; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #04a4cc;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #ccc; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #ccc;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #fff; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #f6f7f7; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #686868; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #999; }
+  background: #fff;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #f7f7f7;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #686868;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #999;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #04a4cc;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #04a4cc; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #04a4cc;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #04a4cc; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #999;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #999; }
+  color: #999;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #333;
-  background: #f7f7f7; }
+  background: #f7f7f7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #333;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #f7f7f7;
-  background-color: #f7f7f7; }
+  background-color: #f7f7f7;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #333; }
+  color: #333;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #04a4cc; }
+  color: #04a4cc;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #686868; }
+  color: #686868;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #04a4cc;
-  border-color: #0490b3; }
+  border-color: #0490b3;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #04a4cc; }
+  color: #04a4cc;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #04a4cc; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #04a4cc;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #04a4cc; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #04a4cc;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc;
+}
 
 .attachment.details .check {
   background-color: #04a4cc;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #04a4cc; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #04a4cc;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #04a4cc; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #04a4cc;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #e5e5e5; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #e5e5e5;
+}
 
 body.more-filters-opened .more-filters {
   color: #333;
-  background-color: #e5e5e5; }
+  background-color: #e5e5e5;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #333; }
+  color: #333;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #888;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #888;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #888;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #04a4cc;
   border-color: #037c9a;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #999; }
+  color: #999;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #888; }
+  background: #888;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #fff; }
+  background: #fff;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #999;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #04a4cc;
+}
 
 /* temporary fix for admin-bar hover color */
-#wpadminbar .ab-top-menu > li:hover > .ab-item, #wpadminbar .ab-top-menu > li.hover > .ab-item, #wpadminbar > #wp-toolbar > #wp-admin-bar-root-default li:hover span.ab-label, #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary li.hover span.ab-label, #wpadminbar .ab-top-menu > li > .ab-item:focus, #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
-  color: #333; }
+#wpadminbar .ab-top-menu > li:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.hover > .ab-item,
+#wpadminbar > #wp-toolbar > #wp-admin-bar-root-default li:hover span.ab-label,
+#wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary li.hover span.ab-label,
+#wpadminbar .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+  color: #333;
+}
 
 /* Override the theme filter highlight color for this scheme */
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #04a4cc; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #04a4cc;
+}
index 5e3414bd28691ab9abf2fa66235f68fabd7ad47b..417b5b9716ea98e5513989e87e927554a8fde67d 100644 (file)
@@ -1 +1 @@
-html{background:#f5f5f5}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#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:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
+html{background:#f5f5f5}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}.theme-filter.current,.theme-section.current,.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#04a4cc;background:#fff}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#ccc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f7f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#999}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#04a4cc}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.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,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}
\ No newline at end of file
index b12774c3a9b039d5f129aa1e412df1efdd874ecb..ab4230b9dbd78d76056a859767b5535a132b4c55 100644 (file)
@@ -26,7 +26,7 @@ $menu-collapse-focus-icon: #555;
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary li.hover span.ab-label,
 #wpadminbar .ab-top-menu > li > .ab-item:focus,
 #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
-#wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
 #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
        color: $text-color;
 }
index b7bc191e5b51ae981b0c9b3ad5b905c502b579f8..a54bf443283a74c39cb9ea7733bb6b4194412cc8 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #e14d43; }
+  color: #e14d43;
+}
 
 input[type=radio]:checked:before {
-  background: #e14d43; }
+  background: #e14d43;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #d02c21;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #dd382d;
-    border-color: #ba281e;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8776f;
-    box-shadow: inset 0 1px 0 #e8776f; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #d02c21;
-    border-color: #ba281e;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1c8c7 !important;
-    background: #d92e23 !important;
-    border-color: #ba281e !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #dd382d;
+  border-color: #ba281e;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #e8776f;
+  box-shadow: inset 0 1px 0 #e8776f;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #d02c21;
+  border-color: #ba281e;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1c8c7 !important;
+  background: #d92e23 !important;
+  border-color: #ba281e !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #363b3f; }
+  background-color: #363b3f;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #363b3f; }
+  color: #363b3f;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #e14d43; }
+  background-color: #e14d43;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #e14d43; }
+  color: #e14d43;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #69a8bb; }
+  background-color: #69a8bb;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #69a8bb; }
+  color: #69a8bb;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #363b3f; }
+  background-color: #363b3f;
+}
 
 .view-switch a.current:before {
-  color: #363b3f; }
+  color: #363b3f;
+}
 
 .view-switch a:hover:before {
-  color: #69a8bb; }
-
-.post-com-count:hover:after {
-  border-top-color: #363b3f; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #363b3f; }
-
-strong .post-com-count:after {
-  border-top-color: #69a8bb; }
-
-strong .post-com-count span {
-  background-color: #69a8bb; }
+  color: #69a8bb;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #363b3f; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #363b3f;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #e14d43; }
+  background-color: #e14d43;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #26292c; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #26292c;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: #26292c; }
+  border-left-color: #26292c;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #c2c4c5; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #c2c4c5; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #e14d43; }
+  color: #c3c4c5;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #c3c4c5;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #e14d43;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #e14d43; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #e14d43;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #e14d43; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-left-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #e14d43;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #69a8bb; }
+  background: #69a8bb;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #26292c; }
+  background: #26292c;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #363b3f; }
+  background: #363b3f;
+}
 
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f1f2f3; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f1f2f3;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #e14d43;
-  background: #26292c; }
+  background: #26292c;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #e14d43; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #e14d43;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #26292c; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #4c4c4d; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #c2c4c5; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f1f2f3; }
+  background: #26292c;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #4c4c4d;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #c3c4c5;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f1f2f3;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #e14d43;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #e14d43; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #e14d43;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #e14d43; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f1f2f3;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #464d52; }
+  background: #464d52;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #464d52;
-  background-color: #464d52; }
+  background-color: #464d52;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #e14d43; }
+  color: #e14d43;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #c2c4c5; }
+  color: #c3c4c5;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #e14d43;
-  border-color: #dd382d; }
+  border-color: #dd382d;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #e14d43; }
+  color: #e14d43;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #e14d43; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #e14d43;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #e14d43; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #e14d43;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43;
+}
 
 .attachment.details .check {
   background-color: #e14d43;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #e14d43; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #e14d43;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #e14d43; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #e14d43;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #363b3f; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #363b3f;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #363b3f; }
+  background-color: #363b3f;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #e14d43;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #e14d43;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #e14d43;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #e14d43;
   border-color: #d02c21;
   -webkit-box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #e14d43; }
+  background: #e14d43;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #26292c; }
+  background: #26292c;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f1f2f3;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #e14d43;
+}
index 8363e8a01b0d4b4712a0ace7638e8bb7ec06b94a..b5acc563a68fcf836f8e58489ec841a6979c1339 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#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:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd382d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c3c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-button div:after,#collapse-menu{color:#f1f2f3}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#c3c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c3c4c5}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd382d}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#e14d43}
\ No newline at end of file
index f62befc29434d1cb9f6558dfd46e297c01ac2789..c9a0b8e375d097212b6c2f4f39d0f6b42db857c5 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #e14d43; }
+  color: #e14d43;
+}
 
 input[type=radio]:checked:before {
-  background: #e14d43; }
+  background: #e14d43;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #d02c21;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #dd382d;
-    border-color: #ba281e;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8776f;
-    box-shadow: inset 0 1px 0 #e8776f; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #d02c21;
-    border-color: #ba281e;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1c8c7 !important;
-    background: #d92e23 !important;
-    border-color: #ba281e !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #dd382d;
+  border-color: #ba281e;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #e8776f;
+  box-shadow: inset 0 1px 0 #e8776f;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #e8776f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #d02c21;
+  border-color: #ba281e;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1c8c7 !important;
+  background: #d92e23 !important;
+  border-color: #ba281e !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #363b3f; }
+  background-color: #363b3f;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #363b3f; }
+  color: #363b3f;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #e14d43; }
+  background-color: #e14d43;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #e14d43; }
+  color: #e14d43;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #69a8bb; }
+  background-color: #69a8bb;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #69a8bb; }
+  color: #69a8bb;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #363b3f; }
+  background-color: #363b3f;
+}
 
 .view-switch a.current:before {
-  color: #363b3f; }
+  color: #363b3f;
+}
 
 .view-switch a:hover:before {
-  color: #69a8bb; }
-
-.post-com-count:hover:after {
-  border-top-color: #363b3f; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #363b3f; }
-
-strong .post-com-count:after {
-  border-top-color: #69a8bb; }
-
-strong .post-com-count span {
-  background-color: #69a8bb; }
+  color: #69a8bb;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #363b3f; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #363b3f;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #e14d43; }
+  background-color: #e14d43;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #26292c; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #26292c;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: #26292c; }
+  border-right-color: #26292c;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #c2c4c5; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #c2c4c5; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #e14d43; }
+  color: #c3c4c5;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #c3c4c5;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #e14d43;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #e14d43; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #e14d43;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #e14d43; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-right-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #e14d43;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #69a8bb; }
+  background: #69a8bb;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #26292c; }
+  background: #26292c;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #363b3f; }
+  background: #363b3f;
+}
 
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f1f2f3; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f1f2f3;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #e14d43;
-  background: #26292c; }
+  background: #26292c;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #e14d43; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #e14d43;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #26292c; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #4c4c4d; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #c2c4c5; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f1f2f3; }
+  background: #26292c;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #4c4c4d;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #c3c4c5;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f1f2f3;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #e14d43;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #e14d43; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #e14d43;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #e14d43; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f1f2f3;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #464d52; }
+  background: #464d52;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #464d52;
-  background-color: #464d52; }
+  background-color: #464d52;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #e14d43; }
+  color: #e14d43;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #c2c4c5; }
+  color: #c3c4c5;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #e14d43;
-  border-color: #dd382d; }
+  border-color: #dd382d;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #e14d43; }
+  color: #e14d43;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #e14d43; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #e14d43;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #e14d43; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #e14d43;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43;
+}
 
 .attachment.details .check {
   background-color: #e14d43;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #e14d43; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #e14d43;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #e14d43; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #e14d43;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #363b3f; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #363b3f;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #363b3f; }
+  background-color: #363b3f;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #e14d43;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #e14d43;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #e14d43;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #e14d43;
   border-color: #d02c21;
   -webkit-box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f1f2f3; }
+  color: #f1f2f3;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #e14d43; }
+  background: #e14d43;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #26292c; }
+  background: #26292c;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f1f2f3;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #e14d43;
+}
index b76537200853a5ab848a4bed62e4a5ae906663cd..23dac64c298c8c53510af26b11f7f31d93b8a28f 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#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:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd382d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c3c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-button div:after,#collapse-menu{color:#f1f2f3}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#c3c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c3c4c5}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd382d}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#e14d43}
\ No newline at end of file
index 24ad2d48af65f54a39012a08c06d31e8abe082b2..cd056da49460f9549bec7fc784f4a890679a879f 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #738e96; }
+  color: #738e96;
+}
 
 input[type=radio]:checked:before {
-  background: #738e96; }
+  background: #738e96;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #80a583;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #8faf91;
-    border-color: #719a74;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #bccfbd;
-    box-shadow: inset 0 1px 0 #bccfbd; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #80a583;
-    border-color: #719a74;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #c7d1c8 !important;
-    background: #86a989 !important;
-    border-color: #719a74 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #8faf91;
+  border-color: #719a74;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #bccfbd;
+  box-shadow: inset 0 1px 0 #bccfbd;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #80a583;
+  border-color: #719a74;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #c7d1c8 !important;
+  background: #86a989 !important;
+  border-color: #719a74 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #738e96; }
+  background-color: #738e96;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #738e96; }
+  color: #738e96;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #9ebaa0; }
+  background-color: #9ebaa0;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #9ebaa0; }
+  color: #9ebaa0;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #aa9d88; }
+  background-color: #aa9d88;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #aa9d88; }
+  color: #aa9d88;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #738e96; }
+  background-color: #738e96;
+}
 
 .view-switch a.current:before {
-  color: #738e96; }
+  color: #738e96;
+}
 
 .view-switch a:hover:before {
-  color: #aa9d88; }
-
-.post-com-count:hover:after {
-  border-top-color: #738e96; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #738e96; }
-
-strong .post-com-count:after {
-  border-top-color: #aa9d88; }
-
-strong .post-com-count span {
-  background-color: #aa9d88; }
+  color: #aa9d88;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #738e96; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #738e96;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #9ebaa0; }
+  background-color: #9ebaa0;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #627c83; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #627c83;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: #627c83; }
+  border-left-color: #627c83;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #d5dddf; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #d5dddf; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #9ebaa0; }
+  color: #d5dde0;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #d5dde0;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #9ebaa0;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #9ebaa0; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #9ebaa0;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #9ebaa0; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-left-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #9ebaa0;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #aa9d88; }
+  background: #aa9d88;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #627c83; }
+  background: #627c83;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #738e96; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
+  background: #738e96;
+}
 
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f2fcff; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f2fcff;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #9ebaa0;
-  background: #627c83; }
+  background: #627c83;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #9ebaa0; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #9ebaa0;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #627c83; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #8f9a9e; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #d5dddf; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f2fcff; }
+  background: #627c83;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #8f9a9e;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #d5dde0;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f2fcff;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #9ebaa0;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #9ebaa0; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #9ebaa0;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #9ebaa0; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f2fcff;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #879ea5; }
+  background: #879ea5;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #879ea5;
-  background-color: #879ea5; }
+  background-color: #879ea5;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #9ebaa0; }
+  color: #9ebaa0;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #d5dddf; }
+  color: #d5dde0;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #9ebaa0;
-  border-color: #8faf91; }
+  border-color: #8faf91;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #9ebaa0; }
+  color: #9ebaa0;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #9ebaa0; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #9ebaa0;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #9ebaa0; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #9ebaa0;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0;
+}
 
 .attachment.details .check {
   background-color: #9ebaa0;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #9ebaa0; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #9ebaa0;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #9ebaa0; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #9ebaa0;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #738e96; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #738e96;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #738e96; }
+  background-color: #738e96;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #9ebaa0;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #9ebaa0;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #9ebaa0;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #9ebaa0;
   border-color: #80a583;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #9ebaa0; }
+  background: #9ebaa0;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #627c83; }
+  background: #627c83;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f2fcff;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #9ebaa0;
+}
index 05ad15579f3ca0835f4d532e1491e14c2c438b21..223f6a64db53db03ace073c4b625b34f9d232ff6 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#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:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dde0}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-button div:after,#collapse-menu{color:#f2fcff}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#d5dde0}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dde0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f2fcff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#9ebaa0}
\ No newline at end of file
index 9dc692c0171a628aecfceac360d4b80ee7682e73..0ab239dfdd0d05eb121636c2b6be13514d526ecf 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #738e96; }
+  color: #738e96;
+}
 
 input[type=radio]:checked:before {
-  background: #738e96; }
+  background: #738e96;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #80a583;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #8faf91;
-    border-color: #719a74;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #bccfbd;
-    box-shadow: inset 0 1px 0 #bccfbd; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #80a583;
-    border-color: #719a74;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #c7d1c8 !important;
-    background: #86a989 !important;
-    border-color: #719a74 !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #8faf91;
+  border-color: #719a74;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #bccfbd;
+  box-shadow: inset 0 1px 0 #bccfbd;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #80a583;
+  border-color: #719a74;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #c7d1c8 !important;
+  background: #86a989 !important;
+  border-color: #719a74 !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #738e96; }
+  background-color: #738e96;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #738e96; }
+  color: #738e96;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #9ebaa0; }
+  background-color: #9ebaa0;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #9ebaa0; }
+  color: #9ebaa0;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #aa9d88; }
+  background-color: #aa9d88;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #aa9d88; }
+  color: #aa9d88;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #738e96; }
+  background-color: #738e96;
+}
 
 .view-switch a.current:before {
-  color: #738e96; }
+  color: #738e96;
+}
 
 .view-switch a:hover:before {
-  color: #aa9d88; }
-
-.post-com-count:hover:after {
-  border-top-color: #738e96; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #738e96; }
-
-strong .post-com-count:after {
-  border-top-color: #aa9d88; }
-
-strong .post-com-count span {
-  background-color: #aa9d88; }
+  color: #aa9d88;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #738e96; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #738e96;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #9ebaa0; }
+  background-color: #9ebaa0;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #627c83; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #627c83;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: #627c83; }
+  border-right-color: #627c83;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #d5dddf; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #d5dddf; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #9ebaa0; }
+  color: #d5dde0;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #d5dde0;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #9ebaa0;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #9ebaa0; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #9ebaa0;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #9ebaa0; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-right-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #9ebaa0;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #aa9d88; }
+  background: #aa9d88;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #627c83; }
+  background: #627c83;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #738e96; }
-
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
+  background: #738e96;
+}
 
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f2fcff; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f2fcff;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #9ebaa0;
-  background: #627c83; }
+  background: #627c83;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #9ebaa0; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #9ebaa0;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #627c83; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #8f9a9e; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #d5dddf; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f2fcff; }
+  background: #627c83;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #8f9a9e;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #d5dde0;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f2fcff;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #9ebaa0;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #9ebaa0; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #9ebaa0;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #9ebaa0; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f2fcff;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #879ea5; }
+  background: #879ea5;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #879ea5;
-  background-color: #879ea5; }
+  background-color: #879ea5;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #9ebaa0; }
+  color: #9ebaa0;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #d5dddf; }
+  color: #d5dde0;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #9ebaa0;
-  border-color: #8faf91; }
+  border-color: #8faf91;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #9ebaa0; }
+  color: #9ebaa0;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #9ebaa0; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #9ebaa0;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #9ebaa0; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #9ebaa0;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0;
+}
 
 .attachment.details .check {
   background-color: #9ebaa0;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #9ebaa0; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #9ebaa0;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #9ebaa0; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #9ebaa0;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #738e96; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #738e96;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #738e96; }
+  background-color: #738e96;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #9ebaa0;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #9ebaa0;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #9ebaa0;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #9ebaa0;
   border-color: #80a583;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f2fcff; }
+  color: #f2fcff;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #9ebaa0; }
+  background: #9ebaa0;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #627c83; }
+  background: #627c83;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f2fcff;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #9ebaa0;
+}
index 6bc6a3bc3cf1a2877b0c5355aa61fdcd3863cac2..c3d5eec01c951527e43ca1aab3a63db474fbe750 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#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:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dde0}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-button div:after,#collapse-menu{color:#f2fcff}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#d5dde0}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dde0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f2fcff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#9ebaa0}
\ No newline at end of file
index 9b6821c98309fe5d198485a47e8232a8fd4a7a11..cd774e3d83fcd18362b9dc845e87f568e9755eb8 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #dd823b; }
+  color: #dd823b;
+}
 
 input[type=radio]:checked:before {
-  background: #dd823b; }
+  background: #dd823b;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #c36922;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #d97426;
-    border-color: #ad5d1e;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e59e66;
-    box-shadow: inset 0 1px 0 #e59e66; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #c36922;
-    border-color: #ad5d1e;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1cbc7 !important;
-    background: #cc6d23 !important;
-    border-color: #ad5d1e !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #d97426;
+  border-color: #ad5d1e;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #e59e66;
+  box-shadow: inset 0 1px 0 #e59e66;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #c36922;
+  border-color: #ad5d1e;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1cbc7 !important;
+  background: #cc6d23 !important;
+  border-color: #ad5d1e !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #cf4944; }
+  background-color: #cf4944;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #cf4944; }
+  color: #cf4944;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #dd823b; }
+  background-color: #dd823b;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #dd823b; }
+  color: #dd823b;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #ccaf0b; }
+  background-color: #ccaf0b;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #ccaf0b; }
+  color: #ccaf0b;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #cf4944; }
+  background-color: #cf4944;
+}
 
 .view-switch a.current:before {
-  color: #cf4944; }
+  color: #cf4944;
+}
 
 .view-switch a:hover:before {
-  color: #ccaf0b; }
-
-.post-com-count:hover:after {
-  border-top-color: #cf4944; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #cf4944; }
-
-strong .post-com-count:after {
-  border-top-color: #ccaf0b; }
-
-strong .post-com-count span {
-  background-color: #ccaf0b; }
+  color: #ccaf0b;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #cf4944; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #cf4944;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #dd823b; }
+  background-color: #dd823b;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #be3631; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #be3631;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: #be3631; }
+  border-left-color: #be3631;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #f0c8c6; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #f0c8c6; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #f7e3d3; }
+  color: #f1c8c7;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #f1c8c7;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #f7e3d3;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #f7e3d3; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #f7e3d3;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #dd823b; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-left-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #dd823b;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #ccaf0b; }
+  background: #ccaf0b;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #be3631; }
+  background: #be3631;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #cf4944; }
+  background: #cf4944;
+}
 
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f3f1f1; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f3f1f1;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #f7e3d3;
-  background: #be3631; }
+  background: #be3631;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #f7e3d3; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #f7e3d3;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #be3631; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #cf6b67; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #f0c8c6; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f3f1f1; }
+  background: #be3631;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #cf6b67;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #f1c8c7;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f3f1f1;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #f7e3d3;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #f7e3d3; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #f7e3d3;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #f7e3d3; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f3f1f1;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #d66560; }
+  background: #d66560;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #d66560;
-  background-color: #d66560; }
+  background-color: #d66560;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #f7e3d3; }
+  color: #f7e3d3;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #f0c8c6; }
+  color: #f1c8c7;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #dd823b;
-  border-color: #d97426; }
+  border-color: #d97426;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #dd823b; }
+  color: #dd823b;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #dd823b; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #dd823b;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #dd823b; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #dd823b;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b;
+}
 
 .attachment.details .check {
   background-color: #dd823b;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #dd823b; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #dd823b;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #dd823b; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #dd823b;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #cf4944; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #cf4944;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #cf4944; }
+  background-color: #cf4944;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #dd823b;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #dd823b;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #dd823b;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #dd823b;
   border-color: #c36922;
   -webkit-box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #dd823b; }
+  background: #dd823b;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #be3631; }
+  background: #be3631;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f3f1f1;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #dd823b;
+}
index b0306811ea2a76348941e895bb9f523319b2c6c2..ab5d2553b0128674871926ea689b91676b9f6f73 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#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:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f1c8c7}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-button div:after,#collapse-menu{color:#f3f1f1}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#f1c8c7}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f1c8c7}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#dd823b}
\ No newline at end of file
index 1d07d3b9f2a3ba42a150a43551d9f51d513df5c3..6828a960211baa685c4a6166299421603af2283a 100644 (file)
@@ -3,26 +3,40 @@
  * highlights/shadows, based on a base color.
  */
 html {
-  background: #f1f1f1; }
+  background: #f1f1f1;
+}
 
 /* Links */
 a {
-  color: #0073aa; }
-  a:hover, a:active, a:focus {
-    color: #0095dd; }
-
-#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0095dd; }
+  color: #0073aa;
+}
+
+a:hover,
+a:active,
+a:focus {
+  color: #0096dd;
+}
+
+#media-upload a.del-link:hover,
+div.dashboard-widget-submit input:hover,
+.subsubsub a:hover,
+.subsubsub a.current:hover {
+  color: #0096dd;
+}
 
 /* Forms */
 input[type=checkbox]:checked:before {
-  color: #dd823b; }
+  color: #dd823b;
+}
 
 input[type=radio]:checked:before {
-  background: #dd823b; }
+  background: #dd823b;
+}
 
-.wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0095dd; }
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+  color: #0096dd;
+}
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -30,301 +44,501 @@ input[type=radio]:checked:before {
   border-color: #c36922;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
-  .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #d97426;
-    border-color: #ad5d1e;
-    color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e59e66;
-    box-shadow: inset 0 1px 0 #e59e66; }
-  .wp-core-ui .button-primary:focus {
-    -webkit-box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary:active {
-    background: #c36922;
-    border-color: #ad5d1e;
-    color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
-  .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
-    color: #d1cbc7 !important;
-    background: #cc6d23 !important;
-    border-color: #ad5d1e !important;
-    text-shadow: none !important; }
+  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
+
+.wp-core-ui .button-primary:hover,
+.wp-core-ui .button-primary:focus {
+  background: #d97426;
+  border-color: #ad5d1e;
+  color: white;
+  -webkit-box-shadow: inset 0 1px 0 #e59e66;
+  box-shadow: inset 0 1px 0 #e59e66;
+}
+
+.wp-core-ui .button-primary:focus {
+  -webkit-box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 1px 0 #e59e66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary:active {
+  background: #c36922;
+  border-color: #ad5d1e;
+  color: white;
+  -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+  box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+}
+
+.wp-core-ui .button-primary[disabled],
+.wp-core-ui .button-primary:disabled,
+.wp-core-ui .button-primary.button-primary-disabled,
+.wp-core-ui .button-primary.disabled {
+  color: #d1cbc7 !important;
+  background: #cc6d23 !important;
+  border-color: #ad5d1e !important;
+  text-shadow: none !important;
+}
+
 .wp-core-ui .wp-ui-primary {
   color: #fff;
-  background-color: #cf4944; }
+  background-color: #cf4944;
+}
+
 .wp-core-ui .wp-ui-text-primary {
-  color: #cf4944; }
+  color: #cf4944;
+}
+
 .wp-core-ui .wp-ui-highlight {
   color: #fff;
-  background-color: #dd823b; }
+  background-color: #dd823b;
+}
+
 .wp-core-ui .wp-ui-text-highlight {
-  color: #dd823b; }
+  color: #dd823b;
+}
+
 .wp-core-ui .wp-ui-notification {
   color: #fff;
-  background-color: #ccaf0b; }
+  background-color: #ccaf0b;
+}
+
 .wp-core-ui .wp-ui-text-notification {
-  color: #ccaf0b; }
+  color: #ccaf0b;
+}
+
 .wp-core-ui .wp-ui-text-icon {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 /* List tables */
-.wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
+.wrap .add-new-h2:hover, .wrap .page-title-action:hover,
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
   color: #fff;
-  background-color: #cf4944; }
+  background-color: #cf4944;
+}
 
 .view-switch a.current:before {
-  color: #cf4944; }
+  color: #cf4944;
+}
 
 .view-switch a:hover:before {
-  color: #ccaf0b; }
-
-.post-com-count:hover:after {
-  border-top-color: #cf4944; }
-
-.post-com-count:hover span {
-  color: #fff;
-  background-color: #cf4944; }
-
-strong .post-com-count:after {
-  border-top-color: #ccaf0b; }
-
-strong .post-com-count span {
-  background-color: #ccaf0b; }
+  color: #ccaf0b;
+}
 
 /* Admin Menu */
-#adminmenuback, #adminmenuwrap, #adminmenu {
-  background: #cf4944; }
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu {
+  background: #cf4944;
+}
 
 #adminmenu a {
-  color: #fff; }
+  color: #fff;
+}
 
 #adminmenu div.wp-menu-image:before {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
-#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
+#adminmenu a:hover,
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
   color: #fff;
-  background-color: #dd823b; }
+  background-color: #dd823b;
+}
 
-#adminmenu li.menu-top:hover div.wp-menu-image:before, #adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.menu-top:hover div.wp-menu-image:before,
+#adminmenu li.opensub > a.menu-top div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Active tabs use a bottom border color that matches the page background color. */
-.about-wrap h2 .nav-tab-active, .nav-tab-active, .nav-tab-active:hover {
+.about-wrap h2 .nav-tab-active,
+.nav-tab-active,
+.nav-tab-active:hover {
   background-color: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
+  border-bottom-color: #f1f1f1;
+}
 
 /* Admin Menu: submenu */
-#adminmenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
-  background: #be3631; }
+#adminmenu .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu {
+  background: #be3631;
+}
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: #be3631; }
+  border-right-color: #be3631;
+}
 
 #adminmenu .wp-submenu .wp-submenu-head {
-  color: #f0c8c6; }
-
-#adminmenu .wp-submenu a, #adminmenu .wp-has-current-submenu .wp-submenu a, .folded #adminmenu .wp-has-current-submenu .wp-submenu a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-  color: #f0c8c6; }
-  #adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu .wp-has-current-submenu .wp-submenu a:focus, #adminmenu .wp-has-current-submenu .wp-submenu a:hover, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus, .folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
-    color: #f7e3d3; }
+  color: #f1c8c7;
+}
+
+#adminmenu .wp-submenu a,
+#adminmenu .wp-has-current-submenu .wp-submenu a,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
+  color: #f1c8c7;
+}
+
+#adminmenu .wp-submenu a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover {
+  color: #f7e3d3;
+}
 
 /* Admin Menu: current */
-#adminmenu .wp-submenu li.current a, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
-  color: #fff; }
-  #adminmenu .wp-submenu li.current a:hover, #adminmenu .wp-submenu li.current a:focus, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover, #adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
-    color: #f7e3d3; }
+#adminmenu .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a {
+  color: #fff;
+}
 
-ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: #f1f1f1; }
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:hover,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a:focus,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus {
+  color: #f7e3d3;
+}
 
-#adminmenu li.current a.menu-top, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head, .folded #adminmenu li.current.menu-top {
-  color: #fff;
-  background: #dd823b; }
+ul#adminmenu a.wp-has-current-submenu:after,
+ul#adminmenu > li.current > a.current:after {
+  border-right-color: #f1f1f1;
+}
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
-  color: #fff; }
+#adminmenu li.current a.menu-top,
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,
+.folded #adminmenu li.current.menu-top {
+  color: #fff;
+  background: #dd823b;
+}
+
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+  color: #fff;
+}
 
 /* Admin Menu: bubble */
-#adminmenu .awaiting-mod, #adminmenu .update-plugins {
+#adminmenu .awaiting-mod,
+#adminmenu .update-plugins {
   color: #fff;
-  background: #ccaf0b; }
+  background: #ccaf0b;
+}
 
-#adminmenu li.current a .awaiting-mod, #adminmenu li a.wp-has-current-submenu .update-plugins, #adminmenu li:hover a .awaiting-mod, #adminmenu li.menu-top:hover > a .update-plugins {
+#adminmenu li.current a .awaiting-mod,
+#adminmenu li a.wp-has-current-submenu .update-plugins,
+#adminmenu li:hover a .awaiting-mod,
+#adminmenu li.menu-top:hover > a .update-plugins {
   color: #fff;
-  background: #be3631; }
+  background: #be3631;
+}
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 #collapse-menu:hover {
-  color: #fff; }
+  color: #fff;
+}
 
 #collapse-button div:after {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #fff; }
+  color: #fff;
+}
 
 /* Admin Bar */
 #wpadminbar {
   color: #fff;
-  background: #cf4944; }
+  background: #cf4944;
+}
 
-#wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #fff; }
-
-#wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #f3f1f1; }
-
-#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, #wpadminbar-nojs .ab-top-menu > li.menupop:hover > .ab-item, #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
+#wpadminbar .ab-item,
+#wpadminbar a.ab-item,
+#wpadminbar > #wp-toolbar span.ab-label,
+#wpadminbar > #wp-toolbar span.noticon {
+  color: #fff;
+}
+
+#wpadminbar .ab-icon,
+#wpadminbar .ab-icon:before,
+#wpadminbar .ab-item:before,
+#wpadminbar .ab-item:after {
+  color: #f3f1f1;
+}
+
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
+#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
+#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
   color: #f7e3d3;
-  background: #be3631; }
+  background: #be3631;
+}
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label, #wpadminbar > #wp-toolbar li.hover span.ab-label, #wpadminbar > #wp-toolbar a:focus span.ab-label {
-  color: #f7e3d3; }
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
+  color: #f7e3d3;
+}
 
-#wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #fff; }
+#wpadminbar:not(.mobile) li:hover .ab-icon:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:before,
+#wpadminbar:not(.mobile) li:hover .ab-item:after,
+#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
+  color: #fff;
+}
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: #be3631; }
-
-#wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #cf6b67; }
-
-#wpadminbar .ab-submenu .ab-item, #wpadminbar .quicklinks .menupop ul li a, #wpadminbar .quicklinks .menupop.hover ul li a, #wpadminbar-nojs .quicklinks .menupop:hover ul li a {
-  color: #f0c8c6; }
-
-#wpadminbar .quicklinks li .blavatar, #wpadminbar .menupop .menupop > .ab-item:before {
-  color: #f3f1f1; }
+  background: #be3631;
+}
+
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
+#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
+  background: #cf6b67;
+}
+
+#wpadminbar .ab-submenu .ab-item,
+#wpadminbar .quicklinks .menupop ul li a,
+#wpadminbar .quicklinks .menupop.hover ul li a,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
+  color: #f1c8c7;
+}
+
+#wpadminbar .quicklinks li .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:before {
+  color: #f3f1f1;
+}
+
+#wpadminbar .quicklinks .menupop ul li a:hover,
+#wpadminbar .quicklinks .menupop ul li a:focus,
+#wpadminbar .quicklinks .menupop ul li a:hover strong,
+#wpadminbar .quicklinks .menupop ul li a:focus strong,
+#wpadminbar .quicklinks .menupop.hover ul li a:hover,
+#wpadminbar .quicklinks .menupop.hover ul li a:focus,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
+#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
+#wpadminbar li:hover .ab-icon:before,
+#wpadminbar li:hover .ab-item:before,
+#wpadminbar li a:focus .ab-icon:before,
+#wpadminbar li .ab-item:focus:before,
+#wpadminbar li.hover .ab-icon:before,
+#wpadminbar li.hover .ab-item:before,
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+  color: #f7e3d3;
+}
 
-#wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #f7e3d3; }
+#wpadminbar .quicklinks li a:hover .blavatar,
+#wpadminbar .menupop .menupop > .ab-item:hover:before,
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+  color: #f7e3d3;
+}
 
-#wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: #f7e3d3; }
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+  color: #f3f1f1;
+}
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
   color: #fff;
-  background: #d66560; }
+  background: #d66560;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
   color: #fff;
-  opacity: 0.7; }
+  opacity: 0.7;
+}
 
 /* Admin Bar: my account */
 #wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
   border-color: #d66560;
-  background-color: #d66560; }
+  background-color: #d66560;
+}
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #fff; }
+  color: #fff;
+}
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: #f7e3d3; }
+  color: #f7e3d3;
+}
 
 #wpadminbar #wp-admin-bar-user-info .username {
-  color: #f0c8c6; }
+  color: #f1c8c7;
+}
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
   background-color: #dd823b;
-  border-color: #d97426; }
+  border-color: #d97426;
+}
 
 .wp-pointer .wp-pointer-content h3:before {
-  color: #dd823b; }
+  color: #dd823b;
+}
 
-.wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-top .wp-pointer-arrow-inner, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
-  border-bottom-color: #dd823b; }
+.wp-pointer.wp-pointer-top .wp-pointer-arrow,
+.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,
+.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner {
+  border-bottom-color: #dd823b;
+}
 
 /* Media */
-.media-item .bar, .media-progress-bar div {
-  background-color: #dd823b; }
+.media-item .bar,
+.media-progress-bar div {
+  background-color: #dd823b;
+}
 
 .details.attachment {
   -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b;
-  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b; }
+  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b;
+}
 
 .attachment.details .check {
   background-color: #dd823b;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b; }
+  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b;
+}
 
 .media-selection .attachment.selection.details .thumbnail {
   -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b;
-  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b; }
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b;
+}
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
-  background: #dd823b; }
+.theme-browser .theme.active .theme-name,
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
+  background: #dd823b;
+}
 
-.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
-  color: #dd823b; }
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
+  color: #dd823b;
+}
 
-.theme-section.current, .theme-filter.current {
-  border-bottom-color: #cf4944; }
+.theme-section.current,
+.theme-filter.current {
+  border-bottom-color: #cf4944;
+}
 
 body.more-filters-opened .more-filters {
   color: #fff;
-  background-color: #cf4944; }
+  background-color: #cf4944;
+}
 
 body.more-filters-opened .more-filters:before {
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus {
   background-color: #dd823b;
-  color: #fff; }
+  color: #fff;
+}
 
-body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
-  color: #fff; }
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+  color: #fff;
+}
 
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #dd823b;
-  color: #fff; }
+  color: #fff;
+}
 
-.widgets-chooser li.widgets-chooser-selected:before, .widgets-chooser li.widgets-chooser-selected:focus:before {
-  color: #fff; }
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+  color: #fff;
+}
 
 /* Customize */
 #customize-theme-controls .widget-area-select .selected {
   background-color: #dd823b;
-  color: #fff; }
+  color: #fff;
+}
 
 /* jQuery UI Slider */
-.wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
   background: #dd823b;
   border-color: #c36922;
   -webkit-box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
+  box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
+}
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #f3f1f1; }
+  color: #f3f1f1;
+}
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #dd823b; }
+  background: #dd823b;
+}
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: #be3631; }
+  background: #be3631;
+}
+
+.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
+  color: #f3f1f1;
+}
+
+/* TinyMCE */
+.mce-container.mce-menu .mce-menu-item:hover,
+.mce-container.mce-menu .mce-menu-item.mce-selected,
+.mce-container.mce-menu .mce-menu-item:focus,
+.mce-container.mce-menu .mce-menu-item-normal.mce-active,
+.mce-container.mce-menu .mce-menu-item-preview.mce-active {
+  background: #dd823b;
+}
index 45ef301c0ac3063726f625edfb3445d2a2f6861d..7f60455bcc947caeac71a24110527f5a9a7dc089 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#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:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#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:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0096dd}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0096dd}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover,.wrap .page-title-action:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f1c8c7}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-button div:after,#collapse-menu{color:#f3f1f1}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after,#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li.hover span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar:not(.mobile) li:hover #adminbarsearch:before,#wpadminbar:not(.mobile) li:hover .ab-icon:before,#wpadminbar:not(.mobile) li:hover .ab-item:after,#wpadminbar:not(.mobile) li:hover .ab-item:before{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#f1c8c7}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#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 .quicklinks li a:hover .blavatar,#wpadminbar li #adminbarsearch.adminbar-focused:before,#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.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before,#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f1c8c7}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after,.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}#customize-theme-controls .widget-area-select .selected,.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before,div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}.mce-container.mce-menu .mce-menu-item-normal.mce-active,.mce-container.mce-menu .mce-menu-item-preview.mce-active,.mce-container.mce-menu .mce-menu-item.mce-selected,.mce-container.mce-menu .mce-menu-item:focus,.mce-container.mce-menu .mce-menu-item:hover{background:#dd823b}
\ No newline at end of file
index 4f33eeee0c10a8f304296cb40e728e57308a8125..b0098751068e90b00dd89031675ef7ab710c5524 100644 (file)
        overflow: hidden;
        clip: rect(0 0 0 0);
        border: 0;
+       word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */
 }
 
 .screen-reader-shortcut {
@@ -263,7 +264,8 @@ a:active {
        color: #00a0d2;
 }
 
-a:focus {
+a:focus,
+a:focus .media-icon img {
        color: #124964;
     -webkit-box-shadow:
        0 0 0 1px #5b9dd9,
@@ -327,6 +329,7 @@ h1 {
        margin: .67em 0;
 }
 
+.wrap > h1,
 h2 {
        color: #23282d;
        font-size: 1.5em;
@@ -469,11 +472,13 @@ code {
        padding: 8px 10px;
 }
 
-.widefat thead th {
+.widefat thead th,
+.widefat thead td {
        border-bottom: 1px solid #e1e1e1;
 }
 
-.widefat tfoot th {
+.widefat tfoot th,
+.widefat tfoot td {
        border-top: 1px solid #e1e1e1;
        border-bottom: none;
 }
@@ -494,13 +499,17 @@ code {
        line-height: 1.5em;
 }
 
-.widefat th {
+.widefat th,
+.widefat thead td,
+.widefat tfoot td {
        text-align: right;
        line-height: 1.3em;
        font-size: 14px;
 }
 
-.widefat th input {
+.widefat th input,
+.widefat thead td input,
+.widefat tfoot td input {
        margin: 0 8px 0 0;
        padding: 0;
        vertical-align: text-top;
@@ -512,7 +521,9 @@ code {
        vertical-align: top;
 }
 
-.widefat th input[type=checkbox] {
+.widefat th input[type=checkbox],
+.widefat thead td input[type=checkbox],
+.widefat tfoot td input[type=checkbox] {
        margin-top: -1px;
 }
 
@@ -520,17 +531,14 @@ code {
        padding: 9px 0 22px;
 }
 
-.widefat.media .check-column {
-       padding-top: 8px;
-}
-
-.widefat thead th.check-column,
+.widefat thead td.check-column,
 .widefat tbody th.check-column,
-.widefat tfoot th.check-column {
+.widefat tfoot td.check-column {
        padding: 11px 3px 0 0;
 }
 
-.widefat thead th.check-column {
+.widefat thead td.check-column,
+.widefat tfoot td.check-column {
        padding-top: 10px;
 }
 
@@ -559,16 +567,14 @@ code {
        margin: 10px 2px 0 20px;
 }
 
-.attention {
-       color: #00a0d2;
-}
-
+.wrap h1,
 .wrap h2,
 .subtitle {
        font-weight: normal;
        margin: 0;
 }
 
+.wrap h1,
 .wrap h2 {
        font-size: 23px;
        font-weight: 400;
@@ -582,8 +588,10 @@ code {
        padding-right: 25px;
 }
 
-.wrap .add-new-h2,
-.wrap .add-new-h2:active {
+.wrap .add-new-h2, /* deprecated */
+.wrap .add-new-h2:active, /* deprecated */
+.wrap .page-title-action,
+.wrap .page-title-action:active {
        margin-right: 4px;
        padding: 4px 8px;
        position: relative;
@@ -598,12 +606,13 @@ code {
        font-size: 13px;
 }
 
-.wrap .add-new-h2:hover {
+.wrap .add-new-h2:hover, /* deprecated */
+.wrap .page-title-action:hover {
        background: #00a0d2;
        color: #fff;
 }
 
-.wrap h2.long-header {
+.wrap h1.long-header {
        padding-left: 0;
 }
 
@@ -631,6 +640,7 @@ div#widgets-right .widget-top:hover,
 }
 
 .striped > tbody > :nth-child(odd),
+ul.striped > :nth-child(odd),
 .alternate {
        background-color: #f9f9f9;
 }
@@ -710,7 +720,9 @@ img.emoji {
 .side-info,
 #your-profile #rich_editing,
 .widefat thead th,
-.widefat tfoot th {
+.widefat thead td,
+.widefat tfoot th,
+.widefat tfoot td {
        line-height: 1.4em;
 }
 
@@ -737,32 +749,34 @@ img.emoji {
 }
 
 /* @todo can we combine these into a class or use an existing dashicon one? */
-#welcome-panel.welcome-panel .welcome-panel-close:before,
+.welcome-panel .welcome-panel-close:before,
 .tagchecklist span a:before,
 #bulk-titles div a:before,
 .notice-dismiss:before {
        background: none;
        color: #b4b9be;
        content: '\f153';
-       display: block !important;
-       font: normal 16px/1 'dashicons';
+       display: block;
+       font: normal 16px/20px 'dashicons';
        speak: none;
        height: 20px;
        text-align: center;
        width: 20px;
-       -webkit-font-smoothing: antialiased !important;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close:before {
+.welcome-panel .welcome-panel-close:before {
        margin: 0;
 }
 
 .tagchecklist span a:before,
 #bulk-titles div a:before {
-       margin: 2px 0;
+       margin: 1px 0;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close:hover:before,
+.welcome-panel .welcome-panel-close:hover:before,
+.welcome-panel .welcome-panel-close:focus:before,
 .tagchecklist span a:hover:before,
 #bulk-titles div a:hover:before {
        color: #c00;
@@ -931,7 +945,7 @@ th.action-links {
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        margin: 12px 0 25px;
-       padding: 0 20px;
+       padding: 0 10px;
        width: 100%;
        -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
        box-shadow: 0 1px 1px rgba(0,0,0,0.04);
@@ -1307,13 +1321,6 @@ div.error p,
        cursor: pointer;
 }
 
-.notice-dismiss:before {
-       position: relative;
-       top: 0;
-       right: 0;
-       line-height: 20px;
-}
-
 .notice-dismiss:hover:before,
 .notice-dismiss:active:before,
 .notice-dismiss:focus:before {
@@ -1324,7 +1331,6 @@ div.error p,
        outline: none;
        -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);
-       color: #c00;
 }
 
 .ie8 .notice-dismiss:focus {
@@ -1440,14 +1446,6 @@ form.upgrade .hint {
        margin: 0 0 0 20px;
 }
 
-#screen-meta-links a {
-       padding: 3px 16px 3px 6px;
-}
-
-#screen-meta-links a:focus {
-       outline: none;
-}
-
 /* screen options and help tabs revert */
 #screen-meta {
        display: none;
@@ -1477,26 +1475,23 @@ form.upgrade .hint {
        top: 0;
 }
 
-#screen-meta-links a {
+#screen-meta-links .show-settings {
+       border: 0;
+       background: none;
+       -webkit-border-radius: 0;
+       border-radius: 0;
        color: #777;
+       line-height: 1.7;
+       padding: 3px 16px 3px 6px;
 }
 
-#screen-meta-links a:hover,
-#screen-meta-links a:active,
-#screen-meta-links a:focus {
+#screen-meta-links .show-settings:hover,
+#screen-meta-links .show-settings:active,
+#screen-meta-links .show-settings:focus {
        color: #32373c;
 }
 
-#screen-meta-links a.show-settings {
-       display: block;
-       font-size: 13px;
-       height: 22px;
-       line-height: 22px;
-       text-decoration: none;
-       z-index: 1;
-}
-
-#screen-meta-links a:after {
+#screen-meta-links .show-settings:after {
        left: 0;
        content: '\f140';
        font: normal 20px/1 'dashicons';
@@ -1512,13 +1507,10 @@ form.upgrade .hint {
        color: #b4b9be;
 }
 
-#screen-meta-links a.screen-meta-active:after {
+#screen-meta-links .screen-meta-active:after {
        content: '\f142';
 }
 
-#screen-meta-links a.show-settings:hover {
-       text-decoration: none;
-}
 /* end screen options and help tabs */
 
 .toggle-arrow {
@@ -1703,12 +1695,16 @@ html.wp-toolbar {
        color: #555;
 }
 
-.widefat th {
+.widefat th,
+.widefat thead td,
+.widefat tfoot td {
        font-weight: normal;
 }
 
 .widefat thead tr th,
-.widefat tfoot tr th {
+.widefat thead tr td,
+.widefat tfoot tr th,
+.widefat tfoot tr td {
        color: #32373c;
 }
 
@@ -1942,6 +1938,7 @@ html.wp-toolbar {
        color: #000;
 }
 
+h1.nav-tab-wrapper,
 h2.nav-tab-wrapper,
 h3.nav-tab-wrapper {
        border-bottom: 1px solid #ccc;
@@ -1949,6 +1946,7 @@ h3.nav-tab-wrapper {
        padding-right: 10px;
 }
 
+h1 .nav-tab,
 h2 .nav-tab {
        padding: 6px 10px;
        font-weight: bold;
@@ -2006,6 +2004,7 @@ table .column-rating {
        text-align: right;
 }
 
+.attention,
 .error-message {
        color: red;
        font-weight: 600;
@@ -2027,21 +2026,13 @@ body.iframe {
 
 /* - Only used once or twice in all of WP - deprecate for global style
 ------------------------------------------------------------------------------*/
-td.media-icon {
+.media-icon {
+       width: 62px; /* icon + border */
        text-align: center;
-       width: 80px;
-       padding-top: 8px;
-       padding-bottom: 8px;
 }
 
-td.media-icon img {
-       max-width: 80px;
-       max-height: 60px;
-       width: auto;
-       height: auto;
-}
-
-td.image-icon img {
+.media-icon img {
+       border: 1px solid #e7e7e7;
        border: 1px solid rgba(0, 0, 0, 0.07);
 }
 
@@ -2064,6 +2055,14 @@ td.image-icon img {
        margin-top: 0;
 }
 
+.edit-comment-author {
+       font-size: 14px;
+       line-height: 1.4;
+       font-weight: 600;
+       color: #222;
+       margin: 2px 9px 0 0;
+}
+
 #namediv h3 label {
        vertical-align: baseline;
 }
@@ -3025,6 +3024,154 @@ img {
        border-bottom: 1px solid #dfdfdf;
 }
 
+/* Edit Site */
+.network-admin .edit-site-actions {
+       margin-top: 0;
+}
+
+/* My Sites */
+.my-sites {
+       display: block;
+       overflow: auto;
+       zoom: 1;
+}
+
+.my-sites li {
+       display: block;
+       padding: 8px 3%;
+       min-height: 130px;
+       margin: 0;
+}
+
+@media only screen and (max-width: 599px) {
+       .my-sites li {
+               min-height: 0;
+       }
+}
+
+@media only screen and (min-width: 600px) {
+       .my-sites.striped li {
+               background-color: #fff;
+               position: relative;
+       }
+       .my-sites.striped li:after {
+               content: "";
+               width: 1px;
+               height: 100%;
+               position: absolute;
+               top: 0;
+               left: 0;
+               background: #ccc;
+       }
+
+}
+@media only screen and (min-width: 600px) and (max-width: 699px) {
+       .my-sites li{
+               float: right;
+               width: 44%;
+       }
+       .my-sites.striped li {
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(2n+1) {
+               clear: right;
+       }
+       .my-sites.striped li:nth-of-type(2n+2):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(4n+1),
+       .my-sites li:nth-of-type(4n+2) {
+               background-color: #f9f9f9;
+       }
+
+}
+
+@media only screen and (min-width: 700px) and (max-width: 1199px) {
+       .my-sites li {
+               float: right;
+               width: 27.333333%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(3n+3):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(6n+1),
+       .my-sites li:nth-of-type(6n+2),
+       .my-sites li:nth-of-type(6n+3) {
+               background-color: #f9f9f9;
+       }
+}
+
+@media only screen and (min-width: 1200px) and (max-width: 1399px) {
+       .my-sites li {
+               float: right;
+               width: 21%;
+               padding: 8px 2%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(4n+1) {
+               clear: right;
+       }
+       .my-sites.striped li:nth-of-type(4n+4):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(8n+1),
+       .my-sites li:nth-of-type(8n+2),
+       .my-sites li:nth-of-type(8n+3),
+       .my-sites li:nth-of-type(8n+4) {
+               background-color: #f9f9f9;
+       }
+}
+
+@media only screen and (min-width: 1400px) and (max-width: 1599px) {
+       .my-sites li {
+               float: right;
+               width: 16%;
+               padding: 8px 2%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(5n+1) {
+               clear: right;
+       }
+       .my-sites.striped li:nth-of-type(5n+5):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(10n+1),
+       .my-sites li:nth-of-type(10n+2),
+       .my-sites li:nth-of-type(10n+3),
+       .my-sites li:nth-of-type(10n+4),
+       .my-sites li:nth-of-type(10n+5) {
+               background-color: #f9f9f9;
+       }
+}
+
+@media only screen and (min-width: 1600px) {
+       .my-sites li {
+               float: right;
+               width: 12.666666%;
+               padding: 8px 2%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(6n+1) {
+               clear: right;
+       }
+       .my-sites.striped li:nth-of-type(6n+6):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(12n+1),
+       .my-sites li:nth-of-type(12n+2),
+       .my-sites li:nth-of-type(12n+3),
+       .my-sites li:nth-of-type(12n+4),
+       .my-sites li:nth-of-type(12n+5),
+       .my-sites li:nth-of-type(12n+6) {
+               background-color: #f9f9f9;
+       }
+}
+
+.my-sites li a {
+       text-decoration: none;
+}
+
 /* =Media Queries
 -------------------------------------------------------------- */
 
@@ -3155,9 +3302,13 @@ img {
                display: none !important;
        }
 
-       .wrap .add-new-h2, .wrap .add-new-h2:active {
+       .wrap .add-new-h2, /* deprecated */
+       .wrap .add-new-h2:active, /* deprecated */
+       .wrap .page-title-action,
+       .wrap .page-title-action:active {
                padding: 10px 15px;
                font-size: 14px;
+               white-space: nowrap;
        }
 
        .wp-color-result {
@@ -3264,6 +3415,10 @@ img {
        #comments-form .checkforspam {
                display: none;
        }
+
+       .edit-comment-author {
+               margin: 2px 0 0;
+       }
 }
 
 /* Smartphone */
@@ -3287,3 +3442,12 @@ img {
                overflow-x: hidden;
        }
 }
+
+@media screen and (max-width: 320px) {
+       /* Prevent default center alignment and larger font for the Right Now widget when
+          the network dashboard is viewed on a small mobile device. */
+       #network_dashboard_right_now .subsubsub {
+               font-size: 14px;
+               text-align: right;
+       }
+}
index 567155e3403a9537ac94a573d626035f25f4aad0..d3765d9d02f180b0cbb967f201eaee68222e7c69 100644 (file)
        overflow: hidden;
        clip: rect(0 0 0 0);
        border: 0;
+       word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */
 }
 
 .screen-reader-shortcut {
@@ -263,7 +264,8 @@ a:active {
        color: #00a0d2;
 }
 
-a:focus {
+a:focus,
+a:focus .media-icon img {
        color: #124964;
     -webkit-box-shadow:
        0 0 0 1px #5b9dd9,
@@ -327,6 +329,7 @@ h1 {
        margin: .67em 0;
 }
 
+.wrap > h1,
 h2 {
        color: #23282d;
        font-size: 1.5em;
@@ -469,11 +472,13 @@ code {
        padding: 8px 10px;
 }
 
-.widefat thead th {
+.widefat thead th,
+.widefat thead td {
        border-bottom: 1px solid #e1e1e1;
 }
 
-.widefat tfoot th {
+.widefat tfoot th,
+.widefat tfoot td {
        border-top: 1px solid #e1e1e1;
        border-bottom: none;
 }
@@ -494,13 +499,17 @@ code {
        line-height: 1.5em;
 }
 
-.widefat th {
+.widefat th,
+.widefat thead td,
+.widefat tfoot td {
        text-align: left;
        line-height: 1.3em;
        font-size: 14px;
 }
 
-.widefat th input {
+.widefat th input,
+.widefat thead td input,
+.widefat tfoot td input {
        margin: 0 0 0 8px;
        padding: 0;
        vertical-align: text-top;
@@ -512,7 +521,9 @@ code {
        vertical-align: top;
 }
 
-.widefat th input[type=checkbox] {
+.widefat th input[type=checkbox],
+.widefat thead td input[type=checkbox],
+.widefat tfoot td input[type=checkbox] {
        margin-top: -1px;
 }
 
@@ -520,17 +531,14 @@ code {
        padding: 9px 0 22px;
 }
 
-.widefat.media .check-column {
-       padding-top: 8px;
-}
-
-.widefat thead th.check-column,
+.widefat thead td.check-column,
 .widefat tbody th.check-column,
-.widefat tfoot th.check-column {
+.widefat tfoot td.check-column {
        padding: 11px 0 0 3px;
 }
 
-.widefat thead th.check-column {
+.widefat thead td.check-column,
+.widefat tfoot td.check-column {
        padding-top: 10px;
 }
 
@@ -559,16 +567,14 @@ code {
        margin: 10px 20px 0 2px;
 }
 
-.attention {
-       color: #00a0d2;
-}
-
+.wrap h1,
 .wrap h2,
 .subtitle {
        font-weight: normal;
        margin: 0;
 }
 
+.wrap h1,
 .wrap h2 {
        font-size: 23px;
        font-weight: 400;
@@ -582,8 +588,10 @@ code {
        padding-left: 25px;
 }
 
-.wrap .add-new-h2,
-.wrap .add-new-h2:active {
+.wrap .add-new-h2, /* deprecated */
+.wrap .add-new-h2:active, /* deprecated */
+.wrap .page-title-action,
+.wrap .page-title-action:active {
        margin-left: 4px;
        padding: 4px 8px;
        position: relative;
@@ -598,12 +606,13 @@ code {
        font-size: 13px;
 }
 
-.wrap .add-new-h2:hover {
+.wrap .add-new-h2:hover, /* deprecated */
+.wrap .page-title-action:hover {
        background: #00a0d2;
        color: #fff;
 }
 
-.wrap h2.long-header {
+.wrap h1.long-header {
        padding-right: 0;
 }
 
@@ -631,6 +640,7 @@ div#widgets-right .widget-top:hover,
 }
 
 .striped > tbody > :nth-child(odd),
+ul.striped > :nth-child(odd),
 .alternate {
        background-color: #f9f9f9;
 }
@@ -710,7 +720,9 @@ img.emoji {
 .side-info,
 #your-profile #rich_editing,
 .widefat thead th,
-.widefat tfoot th {
+.widefat thead td,
+.widefat tfoot th,
+.widefat tfoot td {
        line-height: 1.4em;
 }
 
@@ -737,32 +749,34 @@ img.emoji {
 }
 
 /* @todo can we combine these into a class or use an existing dashicon one? */
-#welcome-panel.welcome-panel .welcome-panel-close:before,
+.welcome-panel .welcome-panel-close:before,
 .tagchecklist span a:before,
 #bulk-titles div a:before,
 .notice-dismiss:before {
        background: none;
        color: #b4b9be;
        content: '\f153';
-       display: block !important;
-       font: normal 16px/1 'dashicons';
+       display: block;
+       font: normal 16px/20px 'dashicons';
        speak: none;
        height: 20px;
        text-align: center;
        width: 20px;
-       -webkit-font-smoothing: antialiased !important;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close:before {
+.welcome-panel .welcome-panel-close:before {
        margin: 0;
 }
 
 .tagchecklist span a:before,
 #bulk-titles div a:before {
-       margin: 2px 0;
+       margin: 1px 0;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close:hover:before,
+.welcome-panel .welcome-panel-close:hover:before,
+.welcome-panel .welcome-panel-close:focus:before,
 .tagchecklist span a:hover:before,
 #bulk-titles div a:hover:before {
        color: #c00;
@@ -931,7 +945,7 @@ th.action-links {
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        margin: 12px 0 25px;
-       padding: 0 20px;
+       padding: 0 10px;
        width: 100%;
        -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
        box-shadow: 0 1px 1px rgba(0,0,0,0.04);
@@ -1307,13 +1321,6 @@ div.error p,
        cursor: pointer;
 }
 
-.notice-dismiss:before {
-       position: relative;
-       top: 0;
-       left: 0;
-       line-height: 20px;
-}
-
 .notice-dismiss:hover:before,
 .notice-dismiss:active:before,
 .notice-dismiss:focus:before {
@@ -1324,7 +1331,6 @@ div.error p,
        outline: none;
        -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);
-       color: #c00;
 }
 
 .ie8 .notice-dismiss:focus {
@@ -1440,14 +1446,6 @@ form.upgrade .hint {
        margin: 0 20px 0 0;
 }
 
-#screen-meta-links a {
-       padding: 3px 6px 3px 16px;
-}
-
-#screen-meta-links a:focus {
-       outline: none;
-}
-
 /* screen options and help tabs revert */
 #screen-meta {
        display: none;
@@ -1477,26 +1475,23 @@ form.upgrade .hint {
        top: 0;
 }
 
-#screen-meta-links a {
+#screen-meta-links .show-settings {
+       border: 0;
+       background: none;
+       -webkit-border-radius: 0;
+       border-radius: 0;
        color: #777;
+       line-height: 1.7;
+       padding: 3px 6px 3px 16px;
 }
 
-#screen-meta-links a:hover,
-#screen-meta-links a:active,
-#screen-meta-links a:focus {
+#screen-meta-links .show-settings:hover,
+#screen-meta-links .show-settings:active,
+#screen-meta-links .show-settings:focus {
        color: #32373c;
 }
 
-#screen-meta-links a.show-settings {
-       display: block;
-       font-size: 13px;
-       height: 22px;
-       line-height: 22px;
-       text-decoration: none;
-       z-index: 1;
-}
-
-#screen-meta-links a:after {
+#screen-meta-links .show-settings:after {
        right: 0;
        content: '\f140';
        font: normal 20px/1 'dashicons';
@@ -1512,13 +1507,10 @@ form.upgrade .hint {
        color: #b4b9be;
 }
 
-#screen-meta-links a.screen-meta-active:after {
+#screen-meta-links .screen-meta-active:after {
        content: '\f142';
 }
 
-#screen-meta-links a.show-settings:hover {
-       text-decoration: none;
-}
 /* end screen options and help tabs */
 
 .toggle-arrow {
@@ -1703,12 +1695,16 @@ html.wp-toolbar {
        color: #555;
 }
 
-.widefat th {
+.widefat th,
+.widefat thead td,
+.widefat tfoot td {
        font-weight: normal;
 }
 
 .widefat thead tr th,
-.widefat tfoot tr th {
+.widefat thead tr td,
+.widefat tfoot tr th,
+.widefat tfoot tr td {
        color: #32373c;
 }
 
@@ -1942,6 +1938,7 @@ html.wp-toolbar {
        color: #000;
 }
 
+h1.nav-tab-wrapper,
 h2.nav-tab-wrapper,
 h3.nav-tab-wrapper {
        border-bottom: 1px solid #ccc;
@@ -1949,6 +1946,7 @@ h3.nav-tab-wrapper {
        padding-left: 10px;
 }
 
+h1 .nav-tab,
 h2 .nav-tab {
        padding: 6px 10px;
        font-weight: bold;
@@ -2006,6 +2004,7 @@ table .column-rating {
        text-align: left;
 }
 
+.attention,
 .error-message {
        color: red;
        font-weight: 600;
@@ -2027,21 +2026,13 @@ body.iframe {
 
 /* - Only used once or twice in all of WP - deprecate for global style
 ------------------------------------------------------------------------------*/
-td.media-icon {
+.media-icon {
+       width: 62px; /* icon + border */
        text-align: center;
-       width: 80px;
-       padding-top: 8px;
-       padding-bottom: 8px;
 }
 
-td.media-icon img {
-       max-width: 80px;
-       max-height: 60px;
-       width: auto;
-       height: auto;
-}
-
-td.image-icon img {
+.media-icon img {
+       border: 1px solid #e7e7e7;
        border: 1px solid rgba(0, 0, 0, 0.07);
 }
 
@@ -2064,6 +2055,14 @@ td.image-icon img {
        margin-top: 0;
 }
 
+.edit-comment-author {
+       font-size: 14px;
+       line-height: 1.4;
+       font-weight: 600;
+       color: #222;
+       margin: 2px 0 0 9px;
+}
+
 #namediv h3 label {
        vertical-align: baseline;
 }
@@ -3025,6 +3024,154 @@ img {
        border-bottom: 1px solid #dfdfdf;
 }
 
+/* Edit Site */
+.network-admin .edit-site-actions {
+       margin-top: 0;
+}
+
+/* My Sites */
+.my-sites {
+       display: block;
+       overflow: auto;
+       zoom: 1;
+}
+
+.my-sites li {
+       display: block;
+       padding: 8px 3%;
+       min-height: 130px;
+       margin: 0;
+}
+
+@media only screen and (max-width: 599px) {
+       .my-sites li {
+               min-height: 0;
+       }
+}
+
+@media only screen and (min-width: 600px) {
+       .my-sites.striped li {
+               background-color: #fff;
+               position: relative;
+       }
+       .my-sites.striped li:after {
+               content: "";
+               width: 1px;
+               height: 100%;
+               position: absolute;
+               top: 0;
+               right: 0;
+               background: #ccc;
+       }
+
+}
+@media only screen and (min-width: 600px) and (max-width: 699px) {
+       .my-sites li{
+               float: left;
+               width: 44%;
+       }
+       .my-sites.striped li {
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(2n+1) {
+               clear: left;
+       }
+       .my-sites.striped li:nth-of-type(2n+2):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(4n+1),
+       .my-sites li:nth-of-type(4n+2) {
+               background-color: #f9f9f9;
+       }
+
+}
+
+@media only screen and (min-width: 700px) and (max-width: 1199px) {
+       .my-sites li {
+               float: left;
+               width: 27.333333%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(3n+3):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(6n+1),
+       .my-sites li:nth-of-type(6n+2),
+       .my-sites li:nth-of-type(6n+3) {
+               background-color: #f9f9f9;
+       }
+}
+
+@media only screen and (min-width: 1200px) and (max-width: 1399px) {
+       .my-sites li {
+               float: left;
+               width: 21%;
+               padding: 8px 2%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(4n+1) {
+               clear: left;
+       }
+       .my-sites.striped li:nth-of-type(4n+4):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(8n+1),
+       .my-sites li:nth-of-type(8n+2),
+       .my-sites li:nth-of-type(8n+3),
+       .my-sites li:nth-of-type(8n+4) {
+               background-color: #f9f9f9;
+       }
+}
+
+@media only screen and (min-width: 1400px) and (max-width: 1599px) {
+       .my-sites li {
+               float: left;
+               width: 16%;
+               padding: 8px 2%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(5n+1) {
+               clear: left;
+       }
+       .my-sites.striped li:nth-of-type(5n+5):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(10n+1),
+       .my-sites li:nth-of-type(10n+2),
+       .my-sites li:nth-of-type(10n+3),
+       .my-sites li:nth-of-type(10n+4),
+       .my-sites li:nth-of-type(10n+5) {
+               background-color: #f9f9f9;
+       }
+}
+
+@media only screen and (min-width: 1600px) {
+       .my-sites li {
+               float: left;
+               width: 12.666666%;
+               padding: 8px 2%;
+               background-color: #fff;
+       }
+       .my-sites.striped li:nth-of-type(6n+1) {
+               clear: left;
+       }
+       .my-sites.striped li:nth-of-type(6n+6):after {
+               content: none;
+       }
+       .my-sites li:nth-of-type(12n+1),
+       .my-sites li:nth-of-type(12n+2),
+       .my-sites li:nth-of-type(12n+3),
+       .my-sites li:nth-of-type(12n+4),
+       .my-sites li:nth-of-type(12n+5),
+       .my-sites li:nth-of-type(12n+6) {
+               background-color: #f9f9f9;
+       }
+}
+
+.my-sites li a {
+       text-decoration: none;
+}
+
 /* =Media Queries
 -------------------------------------------------------------- */
 
@@ -3155,9 +3302,13 @@ img {
                display: none !important;
        }
 
-       .wrap .add-new-h2, .wrap .add-new-h2:active {
+       .wrap .add-new-h2, /* deprecated */
+       .wrap .add-new-h2:active, /* deprecated */
+       .wrap .page-title-action,
+       .wrap .page-title-action:active {
                padding: 10px 15px;
                font-size: 14px;
+               white-space: nowrap;
        }
 
        .wp-color-result {
@@ -3264,6 +3415,10 @@ img {
        #comments-form .checkforspam {
                display: none;
        }
+
+       .edit-comment-author {
+               margin: 2px 0 0;
+       }
 }
 
 /* Smartphone */
@@ -3287,3 +3442,12 @@ img {
                overflow-x: hidden;
        }
 }
+
+@media screen and (max-width: 320px) {
+       /* Prevent default center alignment and larger font for the Right Now widget when
+          the network dashboard is viewed on a small mobile device. */
+       #network_dashboard_right_now .subsubsub {
+               font-size: 14px;
+               text-align: left;
+       }
+}
index 06641ad6bb879adc280b7f83cfdc522b1bcabc73..4b67787045701845d82266f9d8ec3fcc87c02253 100644 (file)
@@ -20,7 +20,7 @@ body {
 }
 
 #customize-controls .description {
-       color: #666666;
+       color: #555;
 }
 
 #customize-header-actions .button-primary {
@@ -41,54 +41,106 @@ body {
        border-bottom: 1px solid #ddd;
 }
 
-#customize-header-actions .secondary-actions {
-       display: none;
-}
-
 #customize-controls .wp-full-overlay-sidebar-content {
        overflow-y: auto;
        overflow-x: hidden;
 }
 
-#customize-info {
+#customize-controls .customize-info {
        border: none;
        border-top: 1px solid #ddd;
+       border-bottom: 1px solid #ddd;
+       margin-bottom: 15px;
 }
 
-#customize-info .accordion-section-title {
-       background-color: #fff;
-       color: #666666;
+#customize-controls .customize-info .accordion-section-title {
+       background: #fff;
+       color: #555;
        border-right: none;
        border-left: none;
-       border-bottom: 1px solid #eeeeee;
+       border-bottom: none;
+       cursor: default;
+}
+
+#customize-controls .customize-info.open .accordion-section-title:after,
+#customize-controls .customize-info .accordion-section-title:hover:after,
+#customize-controls .customize-info .accordion-section-title:focus:after {
+       color: #333;
 }
 
-#customize-info.open .accordion-section-title:after,
-#customize-info .accordion-section-title:hover:after,
-#customize-info .accordion-section-title:focus:after {
-       color: #555555;
+#customize-controls .customize-info .accordion-section-title:after {
+       display: none;
 }
 
-#customize-info .preview-notice {
+#customize-controls .customize-info .preview-notice {
        font-size: 13px;
        line-height: 24px;
 }
 
-#customize-info .theme-name {
+#customize-controls .control-section .customize-section-title h3,
+#customize-controls .control-section h3.customize-section-title,
+#customize-controls .customize-info .panel-title {
        font-size: 20px;
        font-weight: 200;
        line-height: 24px;
        display: block;
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
 }
 
-#customize-info .theme-screenshot {
-       width: 258px;
+#customize-controls .customize-section-title span.customize-action {
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
 }
 
-#customize-info .theme-description {
-       margin-top: 1em;
-       color: #666666;
-       line-height: 20px;
+#customize-controls .customize-info .customize-help-toggle {
+       position: absolute;
+       top: 4px;
+       left: 1px;
+       padding: 20px 10px 10px 20px;
+       width: 20px;
+       height: 20px;
+       cursor: pointer;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       -webkit-appearance: none;
+       background: transparent;
+       color: #555;
+       border: none;
+}
+
+#customize-controls .customize-info .customize-help-toggle:before {
+       position: absolute;
+       top: 5px;
+       right: 6px;
+}
+
+#customize-controls .customize-info.open .customize-help-toggle,
+#customize-controls .customize-info .customize-help-toggle:focus,
+#customize-controls .customize-info .customize-help-toggle:hover {
+       color: #0073aa;
+}
+
+#customize-controls .customize-info .customize-panel-description {
+       color: #555;
+       display: none;
+       background: #fff;
+       padding: 12px 15px;
+       border-top: 1px solid #ddd;
+}
+
+#customize-controls .customize-info .customize-panel-description p:first-child {
+       margin-top: 0;
+}
+
+#customize-controls .customize-info .customize-panel-description p:last-child {
+       margin-bottom: 0;
+}
+
+#customize-controls .current-panel .control-section > h3.accordion-section-title {
+       padding-left: 30px;
 }
 
 #customize-theme-controls .control-section {
@@ -96,23 +148,24 @@ body {
 }
 
 #customize-theme-controls .accordion-section-title {
-       color: #555555;
+       color: #555;
        background-color: #fff;
-       border-bottom: 1px solid #eeeeee;
+       border-bottom: 1px solid #eee;
+}
+
+#customize-theme-controls .accordion-section-title:after {
+       content: "\f341";
 }
 
 #customize-theme-controls .accordion-section-content {
-       color: #555555;
-       background: #fff;
+       color: #555;
+       background: transparent;
 }
 
-#customize-info.open .accordion-section-title,
-#customize-info .accordion-section-title:hover,
-#customize-info .accordion-section-title:focus,
-#customize-theme-controls .control-section:hover > .accordion-section-title,
-#customize-theme-controls .control-section .accordion-section-title:hover,
-#customize-theme-controls .control-section.open .accordion-section-title,
-#customize-theme-controls .control-section .accordion-section-title:focus {
+#customize-controls .control-section:hover > .accordion-section-title,
+#customize-controls .control-section .accordion-section-title:hover,
+#customize-controls .control-section.open .accordion-section-title,
+#customize-controls .control-section .accordion-section-title:focus {
        color: #23282d;
        background: #f5f5f5;
 }
@@ -128,16 +181,15 @@ body {
 #customize-theme-controls .control-section .accordion-section-title:hover:after,
 #customize-theme-controls .control-section.open .accordion-section-title:after,
 #customize-theme-controls .control-section .accordion-section-title:focus:after {
-       color: #555;
+       color: #23282d;
 }
 
-#customize-info.open,
 #customize-theme-controls .control-section.open {
-       border-bottom: 1px solid #eeeeee;
+       border-bottom: 1px solid #eee;
 }
 
 #customize-theme-controls .control-section.open .accordion-section-title {
-       border-bottom-color: #eeeeee !important;
+       border-bottom-color: #eee !important;
 }
 
 #customize-theme-controls .control-section:last-of-type.open,
@@ -145,37 +197,76 @@ body {
        border-bottom-color: #ddd;
 }
 
-#customize-theme-controls > ul,
+#customize-theme-controls > ul {
+       margin: 0;
+}
+
 #customize-theme-controls .accordion-section-content {
+       position: absolute;
+       top: 0;
+       right: 100%;
+       width: 100%;
        margin: 0;
+       padding: 12px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
 }
 
-.control-section.control-panel > .accordion-section-title {
-       padding-left: 54px;
+.customize-section-description-container {
+       margin-bottom: 15px;
 }
 
-.control-section.control-panel > .accordion-section-title:after {
-       content: "\f341";
-       background: #f5f5f5;
+.customize-section-title {
+       margin: -12px -12px 0 -12px;
+       border-bottom: 1px solid #ddd;
+       background: #fff;
+}
+
+div.customize-section-description {
+       margin-top: 22px;
+}
+
+div.customize-section-description p:first-child {
+       margin-top: 0;
+}
+
+div.customize-section-description p:last-child {
+       margin-bottom: 0;
+}
+
+#customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child {
+       border-bottom: 1px solid #ddd;
+       padding: 12px 12px 12px 12px;
+}
+
+.ios #customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child {
+       padding: 12px 12px 13px 12px;
+}
+
+.customize-section-title h3,
+h3.customize-section-title {
+       padding: 10px 14px 12px 10px;
+       margin: 0;
+       line-height: 21px;
        color: #555;
-       width: 38px;
-       height: 100%;
-       margin: -11px 0 -11px -10px; /* compensate for positioning */
-       line-height: 45px;
-       padding-right: 5px;
-       border-right: 1px solid #eee;
-       z-index: 0;
 }
 
-#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:focus:after,
-#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:hover:after {
-       background: #ddd;
-       color: #000;
-       border: 1px solid #d9d9d9;
-       border-left: none;
-       margin-top: -12px;
-       line-height: 44px;
-       z-index: 1;
+#customize-theme-controls {
+       position: relative;
+       right: 0;
+       -webkit-transition: .18s right ease-in-out;
+       transition: .18s right ease-in-out;
+}
+
+.ios #customize-theme-controls {
+       -webkit-transition: right 0s;
+       transition: right 0s;
+}
+
+.section-open #customize-info,
+.section-open #customize-theme-controls {
+       right: -100%;
 }
 
 .accordion-sub-container.control-panel-content {
@@ -184,11 +275,15 @@ body {
        right: 300px;
        top: 0;
        width: 300px;
-       border-top: 1px solid #ddd;
        -webkit-transition: right ease-in-out .18s;
        transition: right ease-in-out .18s;
 }
 
+.ios .accordion-sub-container.control-panel-content {
+       -webkit-transition: right 0s;
+       transition: right 0s;
+}
+
 .accordion-sub-container.control-panel-content.animating {
        display: block;
 }
@@ -197,7 +292,6 @@ body {
        width: 100%;
 }
 
-.customize-overlay-close,
 .customize-controls-close {
        display: block;
        position: absolute;
@@ -219,44 +313,53 @@ body {
        box-sizing: content-box;
 }
 
-.customize-overlay-close {
-       right: auto;
-       left: 0;
-       border-left: 0;
-       border-right: 1px solid #ddd;
-}
-
-.control-panel-back {
+.customize-panel-back,
+.customize-section-back {
        display: block;
-       position: fixed;
-       top: 0;
-       z-index: 99;
-       right: -48px;
-       width: 45px;
-       height: 45px;
-       padding-left: 2px;
-       background: #eee;
+       float: right;
+       width: 48px;
+       height: 69px;
+       padding: 0 0 0 24px;
+       margin: 0;
+       background: #fff;
+       border: none;
        border-left: 1px solid #ddd;
+       -webkit-box-shadow: none;
+       box-shadow: none;
        cursor: pointer;
        -webkit-transition: right .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
        transition: right .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
 }
 
-.ios .control-panel-back {
+.customize-section-back {
+       height: 70px;
+}
+
+.ios .customize-panel-back,
+.ios .customize-section-back {
        -webkit-transition: right 0s;
        transition: right 0s;
 }
 
-.collapsed .control-panel-back {
+.ios .customize-panel-back {
        display: none;
 }
 
-.customize-overlay-close:focus,
-.customize-overlay-close:hover,
+.ios .expanded.in-sub-panel .customize-panel-back {
+       display: block;
+}
+
+.panel-meta.customize-info .accordion-section-title {
+       margin-right: 48px;
+}
+
+#customize-controls .panel-meta.customize-info .accordion-section-title:hover {
+       background: #fff;
+       color: #555;
+}
+
 .customize-controls-close:focus,
 .customize-controls-close:hover,
-.control-panel-back:focus,
-.control-panel-back:hover,
 .customize-controls-preview-toggle:focus,
 .customize-controls-preview-toggle:hover {
        background: #ddd;
@@ -267,7 +370,17 @@ body {
        box-shadow: none;
 }
 
-.customize-overlay-close:before,
+.customize-panel-back:hover,
+.customize-panel-back:focus,
+.customize-section-back:hover,
+.customize-section-back:focus {
+       color: #23282d;
+       background: #f5f5f5;
+       outline: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
 .customize-controls-close:before {
        font: normal 22px/45px dashicons;
        content: "\f335";
@@ -276,22 +389,14 @@ body {
        right: 13px;
 }
 
-.control-panel-back:before {
-       font: normal 20px/45px dashicons;
+.customize-panel-back:before,
+.customize-section-back:before {
+       font: normal 20px/69px dashicons;
        content: "\f345";
        position: relative;
-       top: 1px;
        right: 13px;
 }
 
-.in-sub-panel .control-panel-back {
-       right: 0;
-}
-
-.current-panel > .accordion-section-title {
-       height: 22px;
-}
-
 .wp-full-overlay-sidebar .wp-full-overlay-header {
        -webkit-transition: padding ease-in-out .18s;
        transition: padding ease-in-out .18s;
@@ -345,28 +450,30 @@ body {
        transition: right 0s;
 }
 
-.control-section.control-panel .accordion-section-title .panel-title {
-       font-size: 20px;
-       font-weight: 200;
-       line-height: 24px;
-       display: block;
-       border: none;
+.wp-full-overlay.section-open #customize-controls .wp-full-overlay-sidebar-content {
+       visibility: hidden;
+       overflow-y: hidden;
 }
 
-.control-section.control-panel .preview-notice {
-       font-size: 13px;
-       line-height: 24px;
+.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open {
+       visibility: visible;
+}
+
+.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open .accordion-section-content {
+       overflow-y: auto;
 }
 
 p.customize-section-description {
        font-style: normal;
+       margin-top: 22px;
+       margin-bottom: 0;
 }
 
 .customize-control {
        width: 100%;
        float: right;
        clear: both;
-       margin-bottom: 8px;
+       margin-bottom: 12px;
 }
 
 .customize-control select,
@@ -498,30 +605,10 @@ p.customize-section-description {
 }
 
 .wp-full-overlay-sidebar {
-       background: #eeeeee;
+       background: #eee;
        border-left: 1px solid #ddd;
 }
 
-.collapse-sidebar {
-       background-color: transparent !important;
-       border: none !important;
-       -webkit-box-shadow: none !important;
-       box-shadow: none !important;
-       -webkit-border-radius: 0 !important;
-       border-radius: 0 !important;
-}
-
-
-.collapse-sidebar:active,
-.collapse-sidebar:active .collapse-sidebar-label,
-.collapse-sidebar:active .collapse-sidebar-arrow:before {
-       text-shadow: none;
-}
-
-.collapsed .collapse-sidebar-arrow:before {
-       color: #82878c;
-}
-
 /* Style for custom settings */
 
 /*
@@ -542,7 +629,7 @@ p.customize-section-description {
        line-height: 16px;
        margin-left: 16px;
        padding: 4px 5px;
-       border: 2px solid #eeeeee;
+       border: 2px solid #eee;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
@@ -555,7 +642,7 @@ p.customize-section-description {
        bottom: 0;
        left: 0;
        width: 20px;
-       background: #eeeeee;
+       background: #eee;
 }
 
 .customize-control .dropdown-arrow:after {
@@ -575,7 +662,7 @@ p.customize-section-description {
 
 .customize-control .dropdown-status {
        color: #32373c;
-       background: #eeeeee;
+       background: #eee;
        display: none;
        max-width: 112px;
 }
@@ -595,7 +682,7 @@ p.customize-section-description {
 }
 
 .customize-control-color .dropdown .dropdown-content {
-       background-color: #555555;
+       background-color: #555;
        border: 1px solid rgba(0, 0, 0, 0.15);
 }
 
@@ -625,6 +712,8 @@ p.customize-section-description {
 .customize-control-upload .current,
 .customize-control-image .current,
 .customize-control-background .current,
+.customize-control-cropped_image .current,
+.customize-control-site_icon .current,
 .customize-control-header .current {
        margin-bottom: 8px;
 }
@@ -660,6 +749,12 @@ p.customize-section-description {
 .customize-control-background .remove-button,
 .customize-control-background .default-button,
 .customize-control-background .upload-button,
+.customize-control-cropped_image .remove-button,
+.customize-control-cropped_image .default-button,
+.customize-control-cropped_image .upload-button,
+.customize-control-site_icon .remove-button,
+.customize-control-site_icon .default-button,
+.customize-control-site_icon .upload-button,
 .customize-control-header button.new,
 .customize-control-header button.remove {
        white-space: normal;
@@ -671,6 +766,8 @@ p.customize-section-description {
 .customize-control-upload .current .container,
 .customize-control-image .current .container,
 .customize-control-background .current .container,
+.customize-control-cropped_image .current .container,
+.customize-control-site_icon .current .container,
 .customize-control-header .current .container {
        overflow: hidden;
        -webkit-border-radius: 2px;
@@ -682,6 +779,8 @@ p.customize-section-description {
 .customize-control-media .current .container,
 .customize-control-upload .current .container,
 .customize-control-background .current .container,
+.customize-control-cropped_image .current .container,
+.customize-control-site_icon .current .container,
 .customize-control-image .current .container {
        min-height: 40px;
 }
@@ -690,6 +789,8 @@ p.customize-section-description {
 .customize-control-upload .placeholder,
 .customize-control-image .placeholder,
 .customize-control-background .placeholder,
+.customize-control-cropped_image .placeholder,
+.customize-control-site_icon .placeholder,
 .customize-control-header .placeholder {
        width: 100%;
        position: relative;
@@ -701,6 +802,8 @@ p.customize-section-description {
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
+.customize-control-cropped_image .inner,
+.customize-control-site_icon .inner,
 .customize-control-header .inner {
        display: none;
        position: absolute;
@@ -714,6 +817,8 @@ p.customize-section-description {
 .customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-background .inner,
+.customize-control-cropped_image .inner,
+.customize-control-site_icon .inner,
 .customize-control-image .inner {
        display: block;
        min-height: 40px;
@@ -723,6 +828,8 @@ p.customize-section-description {
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
+.customize-control-cropped_image .inner,
+.customize-control-site_icon .inner,
 .customize-control-header .inner,
 .customize-control-header .inner .dashicons {
        line-height: 20px;
@@ -764,29 +871,22 @@ p.customize-section-description {
 /* Header control: overlay "close" button */
 
 .customize-control-header .uploaded .header-view .close {
-       font-size: 2em;
-       color: grey;
+       font-size: 20px;
+       color: #fff;
+       background: #555;
+       background: rgba(0, 0, 0, 0.5);
        position: absolute;
-       visibility: hidden;
        top: 10px;
-       left: 10px;
+       left: -999px;
        z-index: 1;
-       width: 20px;
-       height: 20px;
+       width: 26px;
+       height: 26px;
        cursor: pointer;
 }
 
-.customize-control-header .uploaded .header-view .close:hover {
- color: black;
- text-shadow:
-    1px -1px 0 #fff,
-    -1px -1px 0 #fff,
-    1px 1px 0 #fff,
-    -1px 1px 0 #fff;
-}
-
-.customize-control-header .header-view:hover .close {
-       visibility: visible;
+.customize-control-header .header-view:hover .close,
+.customize-control-header .header-view .close:focus {
+       left: 10px;
 }
 
 /* Header control: randomiz(s)er */
@@ -833,6 +933,8 @@ p.customize-section-description {
 .customize-control-upload .actions,
 .customize-control-image .actions,
 .customize-control-background .actions,
+.customize-control-cropped_image .actions,
+.customize-control-site_icon .actions,
 .customize-control-header .actions {
        margin-bottom: 32px;
 }
@@ -851,6 +953,8 @@ p.customize-section-description {
 .customize-control-upload img,
 .customize-control-image img,
 .customize-control-background img,
+.customize-control-cropped_image img,
+.customize-control-site_icon img,
 .customize-control-header img {
        width: 100%;
        -webkit-border-radius: 2px;
@@ -865,6 +969,10 @@ p.customize-section-description {
 .customize-control-image .default-button,
 .customize-control-background .remove-button,
 .customize-control-background .default-button,
+.customize-control-cropped_image .remove-button,
+.customize-control-cropped_image .default-button,
+.customize-control-site_icon .remove-button,
+.customize-control-site_icon .default-button,
 .customize-control-header .remove {
        float: right;
        margin-left: 3px;
@@ -874,6 +982,8 @@ p.customize-section-description {
 .customize-control-upload .upload-button,
 .customize-control-image .upload-button,
 .customize-control-background .upload-button,
+.customize-control-cropped_image .upload-button,
+.customize-control-site_icon .upload-button,
 .customize-control-header .new {
        float: left;
 }
@@ -904,7 +1014,7 @@ p.customize-section-description {
 
 #customize-theme-controls .control-section-themes .accordion-section-title:hover,
 #customize-theme-controls .control-section-themes .accordion-section-title:focus {
-       color: #555555;
+       color: #555;
        background-color: #fff;
 }
 
@@ -920,8 +1030,9 @@ p.customize-section-description {
        padding-left: 100px; /* Space for the button */
 }
 
-.control-section-themes .accordion-section-title span {
-       font-size: small;
+.control-section-themes .accordion-section-title span.customize-action,
+#customize-controls .customize-section-title span.customize-action {
+       font-size: 13px;
        display: block;
        font-weight: 400;
 }
@@ -935,16 +1046,27 @@ p.customize-section-description {
        font-weight: normal;
 }
 
+.control-section-themes .accordion-section-title:before {
+       display: none;
+}
+
 .customize-themes-panel {
        display: none;
        padding: 0 8px;
        background: #f1f1f1;
-       box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
 }
 
+.customize-themes-panel .accordion-section-title:first-child {
+       margin-top: 0;
+}
+
+#customize-controls .customize-themes-panel .accordion-section-title:nth-child(2) {
+       font-size: 14px;
+       font-weight: 600;
+}
 
 .customize-themes-panel > h2 {
        padding: 15px 8px 0 8px;
@@ -963,6 +1085,13 @@ p.customize-section-description {
        margin-bottom: 8px;
 }
 
+#customize-theme-controls .themes.accordion-section-content {
+       position: relative;
+       right: 0;
+       padding: 0;
+       width: 100%;
+}
+
 .wp-customizer .theme-browser .themes {
        padding-bottom: 8px;
 }
@@ -1150,7 +1279,7 @@ body.cheatin p {
        }
 
        .customize-controls-preview-toggle .controls:before {
-               content: "\f100";
+               content: "\f540";
        }
 
        .preview-only #customize-controls {
@@ -1177,14 +1306,6 @@ body.cheatin p {
                margin-bottom: 4px;
        }
 
-       .adding-widget #customize-header-actions .primary-actions {
-               display: none;
-       }
-
-       .adding-widget #customize-header-actions .secondary-actions {
-               display: block;
-       }
-
        #customize-header-actions .button-primary {
                margin-top: 6px;
        }
index bc3cb1e278beab2c46590da6dfc134b299849cb9..5a935c39638fecacc8956b148cbbfeada69ee385 100644 (file)
@@ -1 +1 @@
-body{overflow:hidden;-webkit-text-size-adjust:100%}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:left;margin-top:9px}#customize-header-actions .spinner{margin-top:13px;margin-left:4px}.saving #customize-header-actions .spinner{visibility:visible}#customize-header-actions{border-bottom:1px solid #ddd}#customize-header-actions .secondary-actions{display:none}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-right:none;border-left:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#23282d;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-left:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f341";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px 0 -11px -10px;line-height:45px;padding-right:5px;border-right:1px solid #eee;z-index:0}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-left:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;right:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close,.customize-overlay-close{display:block;position:absolute;top:0;right:0;width:45px;height:45px;padding:0 0 0 2px;background:#eee;border:none;border-left:1px solid #ddd;color:#444;text-align:right;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.customize-overlay-close{right:auto;left:0;border-left:0;border-right:1px solid #ddd}.control-panel-back{display:block;position:fixed;top:0;z-index:99;right:-48px;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;cursor:pointer;-webkit-transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.ios .control-panel-back{-webkit-transition:right 0s;transition:right 0s}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover,.customize-controls-preview-toggle:focus,.customize-controls-preview-toggle:hover,.customize-overlay-close:focus,.customize-overlay-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before,.customize-overlay-close:before{font:400 22px/45px dashicons;content:"\f335";position:relative;top:1px;right:13px}.control-panel-back:before{font:400 20px/45px dashicons;content:"\f345";position:relative;top:1px;right:13px}.in-sub-panel .control-panel-back{right:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-right:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;right:0;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.ios #customize-info,.ios #customize-theme-controls>ul>.accordion-section{-webkit-transition:right 0s;transition:right 0s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{right:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;right:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{right:-354px;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.ios #customize-theme-controls .control-section.current-panel>h3.accordion-section-title{-webkit-transition:right 0s;transition:right 0s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:right;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-hidden{margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-left:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-left:5px}.customize-control .attachment-thumb.type-icon{float:right;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0 10px}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-controls .thumbnail-audio .thumbnail{max-width:64px;max-height:64px;margin:10px;float:right}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#82878c}.accordion-section .dropdown{float:right;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:right;min-width:30px;height:16px;line-height:16px;margin-left:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;left:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#32373c}.customize-control .dropdown-status{color:#32373c;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-left:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-header .current,.customize-control-image .current,.customize-control-media .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-header button img{display:block}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-media .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-media .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;right:0;bottom:0;left:0;border:4px solid #00a0d2;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;left:10px;z-index:1;width:20px;height:20px;cursor:pointer}.customize-control-header .uploaded .header-view .close:hover{color:#000;text-shadow:1px -1px 0 #fff,-1px -1px 0 #fff,1px 1px 0 #fff,-1px 1px 0 #fff}.customize-control-header .header-view:hover .close{visibility:visible}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}.customize-control-background .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-media .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-header img,.customize-control-image img,.customize-control-media img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:right;margin-left:3px}.customize-control-background .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-media .upload-button,.customize-control-upload .upload-button{float:left}@-webkit-keyframes customize-reload{0%{opacity:0}100%{opacity:1}}@keyframes customize-reload{0%{opacity:0}100%{opacity:1}}.wp-customizer .customize-loading #customize-container{display:block;-webkit-animation:customize-reload .75s;animation:customize-reload .75s}.control-section-themes .accordion-section-title{cursor:default}#customize-theme-controls .control-section-themes .accordion-section-title:focus,#customize-theme-controls .control-section-themes .accordion-section-title:hover{color:#555;background-color:#fff}.control-section-themes .accordion-section-title{margin:15px 0}.customize-themes-panel .accordion-section-title{margin:15px -8px}.control-section-themes .accordion-section-title{padding-left:100px}.control-section-themes .accordion-section-title span{font-size:small;display:block;font-weight:400}.control-section-themes .accordion-section-title .change-theme,.control-section-themes .accordion-section-title .customize-theme{position:absolute;left:10px;top:50%;margin-top:-14px;font-weight:400}.customize-themes-panel{display:none;padding:0 8px;background:#f1f1f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.customize-themes-panel>h2{padding:15px 8px 0}.control-section.open .customize-themes-panel{display:block}#customize-theme-controls .customize-themes-panel .accordion-section-content{background:0 0;display:block}.customize-control.customize-control-theme{margin-bottom:8px}.wp-customizer .theme-browser .themes{padding-bottom:8px}.wp-customizer .theme-browser .theme{margin:0;width:100%}.wp-customizer .theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}#customize-controls h3.theme-name{font-size:15px}#customize-controls .theme-overlay .theme-name{font-size:32px}.wp-customizer #themes-filter{font-size:16px;font-weight:300;line-height:1.5;width:100%}#accordion-section-themes .accordion-section-title:after{display:none}#customize-theme-controls .control-section-themes.current-panel>h3.accordion-section-title{right:0}.customize-themes-panel.control-panel-content{position:absolute;right:-100%;top:0;width:100%;border-top:1px solid #ddd}.in-themes-panel #customize-info,.in-themes-panel #customize-theme-controls>ul>.accordion-section{right:100%}.wp-customizer .theme-overlay{display:none}.wp-customizer.modal-open .theme-overlay{position:fixed;right:0;top:0;left:0;bottom:0;z-index:109}.wp-customizer .theme-overlay .theme-backdrop{background:rgba(238,238,238,.75);position:fixed;z-index:110}.wp-customizer .theme-overlay .theme-wrap{right:90px;left:90px;top:45px;bottom:45px;z-index:120;max-width:1740px}.wp-customizer .theme-overlay .theme-actions{text-align:left}.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content{overflow:visible}.ie8 .wp-customizer .theme-overlay .theme-about,.ie8 .wp-customizer .theme-overlay .theme-actions,.ie8 .wp-customizer .theme-overlay .theme-header{position:static}@media (max-width:850px),(max-height:472px){.wp-customizer .theme-overlay .theme-wrap{right:0;left:0;top:0;bottom:0}}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}.customize-controls-preview-toggle{display:none}@media only screen and (max-width:780px){.wp-customizer .theme:not(.active):focus .theme-actions,.wp-customizer .theme:not(.active):hover .theme-actions{display:block}.wp-customizer .theme-browser .theme.active .theme-name span{display:inline}}@media screen and (max-width:640px){#customize-controls{width:100%}.wp-full-overlay.expanded{margin-right:0}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{bottom:0}.customize-controls-preview-toggle{display:block;position:absolute;top:0;right:48px;line-height:45px;font-size:14px;padding:0 12px;margin:0;height:45px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}#customize-footer-actions,#customize-preview,.customize-controls-preview-toggle .controls,.preview-only .customize-controls-preview-toggle .preview,.preview-only .wp-full-overlay-sidebar-content{display:none}.customize-controls-preview-toggle .controls:before,.customize-controls-preview-toggle .preview:before{font:400 20px/1 dashicons;content:"\f177";position:relative;top:4px;margin-left:6px}.customize-controls-preview-toggle .controls:before{content:"\f100"}.preview-only #customize-controls{height:45px}.preview-only #customize-preview,.preview-only .customize-controls-preview-toggle .controls{display:block}#customize-preview{top:45px;bottom:0;height:auto}.wp-core-ui.wp-customizer .button{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}.adding-widget #customize-header-actions .primary-actions{display:none}.adding-widget #customize-header-actions .secondary-actions{display:block}#customize-header-actions .button-primary{margin-top:6px}}
\ No newline at end of file
+body{overflow:hidden;-webkit-text-size-adjust:100%}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#555}#customize-header-actions .button-primary{float:left;margin-top:9px}#customize-header-actions .spinner{margin-top:13px;margin-left:4px}.saving #customize-header-actions .spinner{visibility:visible}#customize-header-actions{border-bottom:1px solid #ddd}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-controls .customize-info{border:none;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-bottom:15px}#customize-controls .customize-info .accordion-section-title{background:#fff;color:#555;border-right:none;border-left:none;border-bottom:none;cursor:default}#customize-controls .customize-info .accordion-section-title:focus:after,#customize-controls .customize-info .accordion-section-title:hover:after,#customize-controls .customize-info.open .accordion-section-title:after{color:#333}#customize-controls .customize-info .accordion-section-title:after{display:none}#customize-controls .customize-info .preview-notice{font-size:13px;line-height:24px}#customize-controls .control-section .customize-section-title h3,#customize-controls .control-section h3.customize-section-title,#customize-controls .customize-info .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#customize-controls .customize-section-title span.customize-action{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#customize-controls .customize-info .customize-help-toggle{position:absolute;top:4px;left:1px;padding:20px 10px 10px 20px;width:20px;height:20px;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;background:0 0;color:#555;border:none}#customize-controls .customize-info .customize-help-toggle:before{position:absolute;top:5px;right:6px}#customize-controls .customize-info .customize-help-toggle:focus,#customize-controls .customize-info .customize-help-toggle:hover,#customize-controls .customize-info.open .customize-help-toggle{color:#0073aa}#customize-controls .customize-info .customize-panel-description{color:#555;display:none;background:#fff;padding:12px 15px;border-top:1px solid #ddd}#customize-controls .customize-info .customize-panel-description p:first-child{margin-top:0}#customize-controls .customize-info .customize-panel-description p:last-child{margin-bottom:0}#customize-controls .current-panel .control-section>h3.accordion-section-title{padding-left:30px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-title:after{content:"\f341"}#customize-theme-controls .accordion-section-content{color:#555;background:0 0;position:absolute;top:0;right:100%;width:100%;margin:0;padding:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#customize-controls .control-section .accordion-section-title:focus,#customize-controls .control-section .accordion-section-title:hover,#customize-controls .control-section.open .accordion-section-title,#customize-controls .control-section:hover>.accordion-section-title{color:#23282d;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#23282d}#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls>ul{margin:0}.customize-section-description-container{margin-bottom:15px}.customize-section-title{margin:-12px -12px 0;border-bottom:1px solid #ddd;background:#fff}div.customize-section-description{margin-top:22px}div.customize-section-description p:first-child{margin-top:0}div.customize-section-description p:last-child{margin-bottom:0}#customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child{border-bottom:1px solid #ddd;padding:12px}.ios #customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child{padding:12px 12px 13px}.customize-section-title h3,h3.customize-section-title{padding:10px 14px 12px 10px;margin:0;line-height:21px;color:#555}#customize-theme-controls{position:relative;right:0;-webkit-transition:.18s right ease-in-out;transition:.18s right ease-in-out}.ios #customize-theme-controls{-webkit-transition:right 0s;transition:right 0s}.section-open #customize-info,.section-open #customize-theme-controls{right:-100%}.accordion-sub-container.control-panel-content{display:none;position:absolute;right:300px;top:0;width:300px;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.ios .accordion-sub-container.control-panel-content{-webkit-transition:right 0s;transition:right 0s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close{display:block;position:absolute;top:0;right:0;width:45px;height:45px;padding:0 0 0 2px;background:#eee;border:none;border-left:1px solid #ddd;color:#444;text-align:right;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.customize-panel-back,.customize-section-back{display:block;float:right;width:48px;height:69px;padding:0 0 0 24px;margin:0;background:#fff;border:none;border-left:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;-webkit-transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.customize-section-back{height:70px}.ios .customize-panel-back,.ios .customize-section-back{-webkit-transition:right 0s;transition:right 0s}.ios .customize-panel-back{display:none}.ios .expanded.in-sub-panel .customize-panel-back{display:block}.panel-meta.customize-info .accordion-section-title{margin-right:48px}#customize-controls .panel-meta.customize-info .accordion-section-title:hover{background:#fff;color:#555}.customize-controls-close:focus,.customize-controls-close:hover,.customize-controls-preview-toggle:focus,.customize-controls-preview-toggle:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-panel-back:focus,.customize-panel-back:hover,.customize-section-back:focus,.customize-section-back:hover{color:#23282d;background:#f5f5f5;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before{font:400 22px/45px dashicons;content:"\f335";position:relative;top:1px;right:13px}.customize-panel-back:before,.customize-section-back:before{font:400 20px/69px dashicons;content:"\f345";position:relative;right:13px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-right:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;right:0;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.ios #customize-info,.ios #customize-theme-controls>ul>.accordion-section{-webkit-transition:right 0s;transition:right 0s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{right:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;right:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{right:-354px;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.ios #customize-theme-controls .control-section.current-panel>h3.accordion-section-title{-webkit-transition:right 0s;transition:right 0s}.wp-full-overlay.section-open #customize-controls .wp-full-overlay-sidebar-content{visibility:hidden;overflow-y:hidden}.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open{visibility:visible}.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open .accordion-section-content{overflow-y:auto}p.customize-section-description{font-style:normal;margin-top:22px;margin-bottom:0}.customize-control{width:100%;float:right;clear:both;margin-bottom:12px}.customize-control input[type=radio],.customize-control input[type=checkbox],.customize-control select{line-height:28px}.customize-control input[type=tel],.customize-control input[type=url],.customize-control input[type=text],.customize-control input[type=password],.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=search]{width:98%;line-height:18px;margin:0}.customize-control-hidden{margin:0}.customize-control-checkbox input,.customize-control-radio input{margin-left:5px}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control .attachment-thumb.type-icon{float:right;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0 10px}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-controls .thumbnail-audio .thumbnail{max-width:64px;max-height:64px;margin:10px;float:right}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.accordion-section .dropdown{float:right;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:right;min-width:30px;height:16px;line-height:16px;margin-left:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;left:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#32373c}.customize-control .dropdown-status{color:#32373c;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex,.customize-control-header button img{display:block}.customize-control-color .dropdown{margin-left:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-cropped_image .current,.customize-control-header .current,.customize-control-image .current,.customize-control-media .current,.customize-control-site_icon .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-cropped_image .default-button,.customize-control-cropped_image .remove-button,.customize-control-cropped_image .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-media .upload-button,.customize-control-site_icon .default-button,.customize-control-site_icon .remove-button,.customize-control-site_icon .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-cropped_image .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-site_icon .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-cropped_image .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-site_icon .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-cropped_image .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-media .placeholder,.customize-control-site_icon .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-cropped_image .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-site_icon .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-cropped_image .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-site_icon .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-cropped_image .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-media .inner,.customize-control-site_icon .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;right:0;bottom:0;left:0;border:4px solid #00a0d2;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:20px;color:#fff;background:#555;background:rgba(0,0,0,.5);position:absolute;top:10px;left:-999px;z-index:1;width:26px;height:26px;cursor:pointer}.customize-control-header .header-view .close:focus,.customize-control-header .header-view:hover .close{left:10px}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%,100%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}}@keyframes dice-color-change{0%,100%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}}.customize-control-background .actions,.customize-control-cropped_image .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-media .actions,.customize-control-site_icon .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-cropped_image img,.customize-control-header img,.customize-control-image img,.customize-control-media img,.customize-control-site_icon img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-cropped_image .default-button,.customize-control-cropped_image .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-site_icon .default-button,.customize-control-site_icon .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:right;margin-left:3px}.customize-control-background .upload-button,.customize-control-cropped_image .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-media .upload-button,.customize-control-site_icon .upload-button,.customize-control-upload .upload-button{float:left}@-webkit-keyframes customize-reload{0%{opacity:0}100%{opacity:1}}@keyframes customize-reload{0%{opacity:0}100%{opacity:1}}.wp-customizer .customize-loading #customize-container{display:block;-webkit-animation:customize-reload .75s;animation:customize-reload .75s}.control-section-themes .accordion-section-title{cursor:default;margin:15px 0;padding-left:100px}#customize-theme-controls .control-section-themes .accordion-section-title:focus,#customize-theme-controls .control-section-themes .accordion-section-title:hover{color:#555;background-color:#fff}.customize-themes-panel .accordion-section-title{margin:15px -8px}#customize-controls .customize-section-title span.customize-action,.control-section-themes .accordion-section-title span.customize-action{font-size:13px;display:block;font-weight:400}.control-section-themes .accordion-section-title .change-theme,.control-section-themes .accordion-section-title .customize-theme{position:absolute;left:10px;top:50%;margin-top:-14px;font-weight:400}.control-section-themes .accordion-section-title:before{display:none}.customize-themes-panel{display:none;padding:0 8px;background:#f1f1f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.customize-themes-panel .accordion-section-title:first-child{margin-top:0}#customize-controls .customize-themes-panel .accordion-section-title:nth-child(2){font-size:14px;font-weight:600}.customize-themes-panel>h2{padding:15px 8px 0}.control-section.open .customize-themes-panel{display:block}#customize-theme-controls .customize-themes-panel .accordion-section-content{background:0 0;display:block}#accordion-section-themes .accordion-section-title:after,.customize-controls-preview-toggle,.wp-customizer .theme-overlay{display:none}.customize-control.customize-control-theme{margin-bottom:8px}#customize-theme-controls .themes.accordion-section-content{position:relative;right:0;padding:0;width:100%}.wp-customizer .theme-browser .themes{padding-bottom:8px}.wp-customizer .theme-browser .theme{margin:0;width:100%}.wp-customizer .theme-browser .theme .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}#customize-controls h3.theme-name{font-size:15px}#customize-controls .theme-overlay .theme-name{font-size:32px}.wp-customizer #themes-filter{font-size:16px;font-weight:300;line-height:1.5;width:100%}#customize-theme-controls .control-section-themes.current-panel>h3.accordion-section-title{right:0}.customize-themes-panel.control-panel-content{position:absolute;right:-100%;top:0;width:100%;border-top:1px solid #ddd}.in-themes-panel #customize-info,.in-themes-panel #customize-theme-controls>ul>.accordion-section{right:100%}.wp-customizer.modal-open .theme-overlay{position:fixed;right:0;top:0;left:0;bottom:0;z-index:109}.wp-customizer .theme-overlay .theme-backdrop{background:rgba(238,238,238,.75);position:fixed;z-index:110}.wp-customizer .theme-overlay .theme-wrap{right:90px;left:90px;top:45px;bottom:45px;z-index:120;max-width:1740px}.wp-customizer .theme-overlay .theme-actions{text-align:left}.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content{overflow:visible}.ie8 .wp-customizer .theme-overlay .theme-about,.ie8 .wp-customizer .theme-overlay .theme-actions,.ie8 .wp-customizer .theme-overlay .theme-header{position:static}@media (max-width:850px),(max-height:472px){.wp-customizer .theme-overlay .theme-wrap{right:0;left:0;top:0;bottom:0}}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}@media only screen and (max-width:780px){.wp-customizer .theme:not(.active):focus .theme-actions,.wp-customizer .theme:not(.active):hover .theme-actions{display:block}.wp-customizer .theme-browser .theme.active .theme-name span{display:inline}}@media screen and (max-width:640px){#customize-controls{width:100%}.wp-full-overlay.expanded{margin-right:0}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{bottom:0}.customize-controls-preview-toggle{display:block;position:absolute;top:0;right:48px;line-height:45px;font-size:14px;padding:0 12px;margin:0;height:45px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}#customize-footer-actions,#customize-preview,.customize-controls-preview-toggle .controls,.preview-only .customize-controls-preview-toggle .preview,.preview-only .wp-full-overlay-sidebar-content{display:none}.customize-controls-preview-toggle .controls:before,.customize-controls-preview-toggle .preview:before{font:400 20px/1 dashicons;content:"\f177";position:relative;top:4px;margin-left:6px}.customize-controls-preview-toggle .controls:before{content:"\f540"}.preview-only #customize-controls{height:45px}.preview-only #customize-preview,.preview-only .customize-controls-preview-toggle .controls{display:block}#customize-preview{top:45px;bottom:0;height:auto}.wp-core-ui.wp-customizer .button{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#customize-header-actions .button-primary{margin-top:6px}}
\ No newline at end of file
index becc7a532eb2c0cc2aad24f02dabc446db3c5cfb..46c4170bfff4e7cc038a059c191599ebe8ad05bb 100644 (file)
@@ -20,7 +20,7 @@ body {
 }
 
 #customize-controls .description {
-       color: #666666;
+       color: #555;
 }
 
 #customize-header-actions .button-primary {
@@ -41,54 +41,106 @@ body {
        border-bottom: 1px solid #ddd;
 }
 
-#customize-header-actions .secondary-actions {
-       display: none;
-}
-
 #customize-controls .wp-full-overlay-sidebar-content {
        overflow-y: auto;
        overflow-x: hidden;
 }
 
-#customize-info {
+#customize-controls .customize-info {
        border: none;
        border-top: 1px solid #ddd;
+       border-bottom: 1px solid #ddd;
+       margin-bottom: 15px;
 }
 
-#customize-info .accordion-section-title {
-       background-color: #fff;
-       color: #666666;
+#customize-controls .customize-info .accordion-section-title {
+       background: #fff;
+       color: #555;
        border-left: none;
        border-right: none;
-       border-bottom: 1px solid #eeeeee;
+       border-bottom: none;
+       cursor: default;
+}
+
+#customize-controls .customize-info.open .accordion-section-title:after,
+#customize-controls .customize-info .accordion-section-title:hover:after,
+#customize-controls .customize-info .accordion-section-title:focus:after {
+       color: #333;
 }
 
-#customize-info.open .accordion-section-title:after,
-#customize-info .accordion-section-title:hover:after,
-#customize-info .accordion-section-title:focus:after {
-       color: #555555;
+#customize-controls .customize-info .accordion-section-title:after {
+       display: none;
 }
 
-#customize-info .preview-notice {
+#customize-controls .customize-info .preview-notice {
        font-size: 13px;
        line-height: 24px;
 }
 
-#customize-info .theme-name {
+#customize-controls .control-section .customize-section-title h3,
+#customize-controls .control-section h3.customize-section-title,
+#customize-controls .customize-info .panel-title {
        font-size: 20px;
        font-weight: 200;
        line-height: 24px;
        display: block;
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
 }
 
-#customize-info .theme-screenshot {
-       width: 258px;
+#customize-controls .customize-section-title span.customize-action {
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
 }
 
-#customize-info .theme-description {
-       margin-top: 1em;
-       color: #666666;
-       line-height: 20px;
+#customize-controls .customize-info .customize-help-toggle {
+       position: absolute;
+       top: 4px;
+       right: 1px;
+       padding: 20px 20px 10px 10px;
+       width: 20px;
+       height: 20px;
+       cursor: pointer;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       -webkit-appearance: none;
+       background: transparent;
+       color: #555;
+       border: none;
+}
+
+#customize-controls .customize-info .customize-help-toggle:before {
+       position: absolute;
+       top: 5px;
+       left: 6px;
+}
+
+#customize-controls .customize-info.open .customize-help-toggle,
+#customize-controls .customize-info .customize-help-toggle:focus,
+#customize-controls .customize-info .customize-help-toggle:hover {
+       color: #0073aa;
+}
+
+#customize-controls .customize-info .customize-panel-description {
+       color: #555;
+       display: none;
+       background: #fff;
+       padding: 12px 15px;
+       border-top: 1px solid #ddd;
+}
+
+#customize-controls .customize-info .customize-panel-description p:first-child {
+       margin-top: 0;
+}
+
+#customize-controls .customize-info .customize-panel-description p:last-child {
+       margin-bottom: 0;
+}
+
+#customize-controls .current-panel .control-section > h3.accordion-section-title {
+       padding-right: 30px;
 }
 
 #customize-theme-controls .control-section {
@@ -96,23 +148,24 @@ body {
 }
 
 #customize-theme-controls .accordion-section-title {
-       color: #555555;
+       color: #555;
        background-color: #fff;
-       border-bottom: 1px solid #eeeeee;
+       border-bottom: 1px solid #eee;
+}
+
+#customize-theme-controls .accordion-section-title:after {
+       content: "\f345";
 }
 
 #customize-theme-controls .accordion-section-content {
-       color: #555555;
-       background: #fff;
+       color: #555;
+       background: transparent;
 }
 
-#customize-info.open .accordion-section-title,
-#customize-info .accordion-section-title:hover,
-#customize-info .accordion-section-title:focus,
-#customize-theme-controls .control-section:hover > .accordion-section-title,
-#customize-theme-controls .control-section .accordion-section-title:hover,
-#customize-theme-controls .control-section.open .accordion-section-title,
-#customize-theme-controls .control-section .accordion-section-title:focus {
+#customize-controls .control-section:hover > .accordion-section-title,
+#customize-controls .control-section .accordion-section-title:hover,
+#customize-controls .control-section.open .accordion-section-title,
+#customize-controls .control-section .accordion-section-title:focus {
        color: #23282d;
        background: #f5f5f5;
 }
@@ -128,16 +181,15 @@ body {
 #customize-theme-controls .control-section .accordion-section-title:hover:after,
 #customize-theme-controls .control-section.open .accordion-section-title:after,
 #customize-theme-controls .control-section .accordion-section-title:focus:after {
-       color: #555;
+       color: #23282d;
 }
 
-#customize-info.open,
 #customize-theme-controls .control-section.open {
-       border-bottom: 1px solid #eeeeee;
+       border-bottom: 1px solid #eee;
 }
 
 #customize-theme-controls .control-section.open .accordion-section-title {
-       border-bottom-color: #eeeeee !important;
+       border-bottom-color: #eee !important;
 }
 
 #customize-theme-controls .control-section:last-of-type.open,
@@ -145,37 +197,76 @@ body {
        border-bottom-color: #ddd;
 }
 
-#customize-theme-controls > ul,
+#customize-theme-controls > ul {
+       margin: 0;
+}
+
 #customize-theme-controls .accordion-section-content {
+       position: absolute;
+       top: 0;
+       left: 100%;
+       width: 100%;
        margin: 0;
+       padding: 12px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
 }
 
-.control-section.control-panel > .accordion-section-title {
-       padding-right: 54px;
+.customize-section-description-container {
+       margin-bottom: 15px;
 }
 
-.control-section.control-panel > .accordion-section-title:after {
-       content: "\f345";
-       background: #f5f5f5;
+.customize-section-title {
+       margin: -12px -12px 0 -12px;
+       border-bottom: 1px solid #ddd;
+       background: #fff;
+}
+
+div.customize-section-description {
+       margin-top: 22px;
+}
+
+div.customize-section-description p:first-child {
+       margin-top: 0;
+}
+
+div.customize-section-description p:last-child {
+       margin-bottom: 0;
+}
+
+#customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child {
+       border-bottom: 1px solid #ddd;
+       padding: 12px 12px 12px 12px;
+}
+
+.ios #customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child {
+       padding: 12px 12px 13px 12px;
+}
+
+.customize-section-title h3,
+h3.customize-section-title {
+       padding: 10px 10px 12px 14px;
+       margin: 0;
+       line-height: 21px;
        color: #555;
-       width: 38px;
-       height: 100%;
-       margin: -11px -10px -11px 0; /* compensate for positioning */
-       line-height: 45px;
-       padding-left: 5px;
-       border-left: 1px solid #eee;
-       z-index: 0;
 }
 
-#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:focus:after,
-#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:hover:after {
-       background: #ddd;
-       color: #000;
-       border: 1px solid #d9d9d9;
-       border-right: none;
-       margin-top: -12px;
-       line-height: 44px;
-       z-index: 1;
+#customize-theme-controls {
+       position: relative;
+       left: 0;
+       -webkit-transition: .18s left ease-in-out;
+       transition: .18s left ease-in-out;
+}
+
+.ios #customize-theme-controls {
+       -webkit-transition: left 0s;
+       transition: left 0s;
+}
+
+.section-open #customize-info,
+.section-open #customize-theme-controls {
+       left: -100%;
 }
 
 .accordion-sub-container.control-panel-content {
@@ -184,11 +275,15 @@ body {
        left: 300px;
        top: 0;
        width: 300px;
-       border-top: 1px solid #ddd;
        -webkit-transition: left ease-in-out .18s;
        transition: left ease-in-out .18s;
 }
 
+.ios .accordion-sub-container.control-panel-content {
+       -webkit-transition: left 0s;
+       transition: left 0s;
+}
+
 .accordion-sub-container.control-panel-content.animating {
        display: block;
 }
@@ -197,7 +292,6 @@ body {
        width: 100%;
 }
 
-.customize-overlay-close,
 .customize-controls-close {
        display: block;
        position: absolute;
@@ -219,44 +313,53 @@ body {
        box-sizing: content-box;
 }
 
-.customize-overlay-close {
-       left: auto;
-       right: 0;
-       border-right: 0;
-       border-left: 1px solid #ddd;
-}
-
-.control-panel-back {
+.customize-panel-back,
+.customize-section-back {
        display: block;
-       position: fixed;
-       top: 0;
-       z-index: 99;
-       left: -48px;
-       width: 45px;
-       height: 45px;
-       padding-right: 2px;
-       background: #eee;
+       float: left;
+       width: 48px;
+       height: 69px;
+       padding: 0 24px 0 0;
+       margin: 0;
+       background: #fff;
+       border: none;
        border-right: 1px solid #ddd;
+       -webkit-box-shadow: none;
+       box-shadow: none;
        cursor: pointer;
        -webkit-transition: left .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
        transition: left .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
 }
 
-.ios .control-panel-back {
+.customize-section-back {
+       height: 70px;
+}
+
+.ios .customize-panel-back,
+.ios .customize-section-back {
        -webkit-transition: left 0s;
        transition: left 0s;
 }
 
-.collapsed .control-panel-back {
+.ios .customize-panel-back {
        display: none;
 }
 
-.customize-overlay-close:focus,
-.customize-overlay-close:hover,
+.ios .expanded.in-sub-panel .customize-panel-back {
+       display: block;
+}
+
+.panel-meta.customize-info .accordion-section-title {
+       margin-left: 48px;
+}
+
+#customize-controls .panel-meta.customize-info .accordion-section-title:hover {
+       background: #fff;
+       color: #555;
+}
+
 .customize-controls-close:focus,
 .customize-controls-close:hover,
-.control-panel-back:focus,
-.control-panel-back:hover,
 .customize-controls-preview-toggle:focus,
 .customize-controls-preview-toggle:hover {
        background: #ddd;
@@ -267,7 +370,17 @@ body {
        box-shadow: none;
 }
 
-.customize-overlay-close:before,
+.customize-panel-back:hover,
+.customize-panel-back:focus,
+.customize-section-back:hover,
+.customize-section-back:focus {
+       color: #23282d;
+       background: #f5f5f5;
+       outline: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
 .customize-controls-close:before {
        font: normal 22px/45px dashicons;
        content: "\f335";
@@ -276,22 +389,14 @@ body {
        left: 13px;
 }
 
-.control-panel-back:before {
-       font: normal 20px/45px dashicons;
+.customize-panel-back:before,
+.customize-section-back:before {
+       font: normal 20px/69px dashicons;
        content: "\f341";
        position: relative;
-       top: 1px;
        left: 13px;
 }
 
-.in-sub-panel .control-panel-back {
-       left: 0;
-}
-
-.current-panel > .accordion-section-title {
-       height: 22px;
-}
-
 .wp-full-overlay-sidebar .wp-full-overlay-header {
        -webkit-transition: padding ease-in-out .18s;
        transition: padding ease-in-out .18s;
@@ -345,28 +450,30 @@ body {
        transition: left 0s;
 }
 
-.control-section.control-panel .accordion-section-title .panel-title {
-       font-size: 20px;
-       font-weight: 200;
-       line-height: 24px;
-       display: block;
-       border: none;
+.wp-full-overlay.section-open #customize-controls .wp-full-overlay-sidebar-content {
+       visibility: hidden;
+       overflow-y: hidden;
 }
 
-.control-section.control-panel .preview-notice {
-       font-size: 13px;
-       line-height: 24px;
+.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open {
+       visibility: visible;
+}
+
+.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open .accordion-section-content {
+       overflow-y: auto;
 }
 
 p.customize-section-description {
        font-style: normal;
+       margin-top: 22px;
+       margin-bottom: 0;
 }
 
 .customize-control {
        width: 100%;
        float: left;
        clear: both;
-       margin-bottom: 8px;
+       margin-bottom: 12px;
 }
 
 .customize-control select,
@@ -498,30 +605,10 @@ p.customize-section-description {
 }
 
 .wp-full-overlay-sidebar {
-       background: #eeeeee;
+       background: #eee;
        border-right: 1px solid #ddd;
 }
 
-.collapse-sidebar {
-       background-color: transparent !important;
-       border: none !important;
-       -webkit-box-shadow: none !important;
-       box-shadow: none !important;
-       -webkit-border-radius: 0 !important;
-       border-radius: 0 !important;
-}
-
-
-.collapse-sidebar:active,
-.collapse-sidebar:active .collapse-sidebar-label,
-.collapse-sidebar:active .collapse-sidebar-arrow:before {
-       text-shadow: none;
-}
-
-.collapsed .collapse-sidebar-arrow:before {
-       color: #82878c;
-}
-
 /* Style for custom settings */
 
 /*
@@ -542,7 +629,7 @@ p.customize-section-description {
        line-height: 16px;
        margin-right: 16px;
        padding: 4px 5px;
-       border: 2px solid #eeeeee;
+       border: 2px solid #eee;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
@@ -555,7 +642,7 @@ p.customize-section-description {
        bottom: 0;
        right: 0;
        width: 20px;
-       background: #eeeeee;
+       background: #eee;
 }
 
 .customize-control .dropdown-arrow:after {
@@ -575,7 +662,7 @@ p.customize-section-description {
 
 .customize-control .dropdown-status {
        color: #32373c;
-       background: #eeeeee;
+       background: #eee;
        display: none;
        max-width: 112px;
 }
@@ -595,7 +682,7 @@ p.customize-section-description {
 }
 
 .customize-control-color .dropdown .dropdown-content {
-       background-color: #555555;
+       background-color: #555;
        border: 1px solid rgba(0, 0, 0, 0.15);
 }
 
@@ -625,6 +712,8 @@ p.customize-section-description {
 .customize-control-upload .current,
 .customize-control-image .current,
 .customize-control-background .current,
+.customize-control-cropped_image .current,
+.customize-control-site_icon .current,
 .customize-control-header .current {
        margin-bottom: 8px;
 }
@@ -660,6 +749,12 @@ p.customize-section-description {
 .customize-control-background .remove-button,
 .customize-control-background .default-button,
 .customize-control-background .upload-button,
+.customize-control-cropped_image .remove-button,
+.customize-control-cropped_image .default-button,
+.customize-control-cropped_image .upload-button,
+.customize-control-site_icon .remove-button,
+.customize-control-site_icon .default-button,
+.customize-control-site_icon .upload-button,
 .customize-control-header button.new,
 .customize-control-header button.remove {
        white-space: normal;
@@ -671,6 +766,8 @@ p.customize-section-description {
 .customize-control-upload .current .container,
 .customize-control-image .current .container,
 .customize-control-background .current .container,
+.customize-control-cropped_image .current .container,
+.customize-control-site_icon .current .container,
 .customize-control-header .current .container {
        overflow: hidden;
        -webkit-border-radius: 2px;
@@ -682,6 +779,8 @@ p.customize-section-description {
 .customize-control-media .current .container,
 .customize-control-upload .current .container,
 .customize-control-background .current .container,
+.customize-control-cropped_image .current .container,
+.customize-control-site_icon .current .container,
 .customize-control-image .current .container {
        min-height: 40px;
 }
@@ -690,6 +789,8 @@ p.customize-section-description {
 .customize-control-upload .placeholder,
 .customize-control-image .placeholder,
 .customize-control-background .placeholder,
+.customize-control-cropped_image .placeholder,
+.customize-control-site_icon .placeholder,
 .customize-control-header .placeholder {
        width: 100%;
        position: relative;
@@ -701,6 +802,8 @@ p.customize-section-description {
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
+.customize-control-cropped_image .inner,
+.customize-control-site_icon .inner,
 .customize-control-header .inner {
        display: none;
        position: absolute;
@@ -714,6 +817,8 @@ p.customize-section-description {
 .customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-background .inner,
+.customize-control-cropped_image .inner,
+.customize-control-site_icon .inner,
 .customize-control-image .inner {
        display: block;
        min-height: 40px;
@@ -723,6 +828,8 @@ p.customize-section-description {
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
+.customize-control-cropped_image .inner,
+.customize-control-site_icon .inner,
 .customize-control-header .inner,
 .customize-control-header .inner .dashicons {
        line-height: 20px;
@@ -764,29 +871,22 @@ p.customize-section-description {
 /* Header control: overlay "close" button */
 
 .customize-control-header .uploaded .header-view .close {
-       font-size: 2em;
-       color: grey;
+       font-size: 20px;
+       color: #fff;
+       background: #555;
+       background: rgba(0, 0, 0, 0.5);
        position: absolute;
-       visibility: hidden;
        top: 10px;
-       right: 10px;
+       right: -999px;
        z-index: 1;
-       width: 20px;
-       height: 20px;
+       width: 26px;
+       height: 26px;
        cursor: pointer;
 }
 
-.customize-control-header .uploaded .header-view .close:hover {
- color: black;
- text-shadow:
-    -1px -1px 0 #fff,
-    1px -1px 0 #fff,
-    -1px 1px 0 #fff,
-    1px 1px 0 #fff;
-}
-
-.customize-control-header .header-view:hover .close {
-       visibility: visible;
+.customize-control-header .header-view:hover .close,
+.customize-control-header .header-view .close:focus {
+       right: 10px;
 }
 
 /* Header control: randomiz(s)er */
@@ -833,6 +933,8 @@ p.customize-section-description {
 .customize-control-upload .actions,
 .customize-control-image .actions,
 .customize-control-background .actions,
+.customize-control-cropped_image .actions,
+.customize-control-site_icon .actions,
 .customize-control-header .actions {
        margin-bottom: 32px;
 }
@@ -851,6 +953,8 @@ p.customize-section-description {
 .customize-control-upload img,
 .customize-control-image img,
 .customize-control-background img,
+.customize-control-cropped_image img,
+.customize-control-site_icon img,
 .customize-control-header img {
        width: 100%;
        -webkit-border-radius: 2px;
@@ -865,6 +969,10 @@ p.customize-section-description {
 .customize-control-image .default-button,
 .customize-control-background .remove-button,
 .customize-control-background .default-button,
+.customize-control-cropped_image .remove-button,
+.customize-control-cropped_image .default-button,
+.customize-control-site_icon .remove-button,
+.customize-control-site_icon .default-button,
 .customize-control-header .remove {
        float: left;
        margin-right: 3px;
@@ -874,6 +982,8 @@ p.customize-section-description {
 .customize-control-upload .upload-button,
 .customize-control-image .upload-button,
 .customize-control-background .upload-button,
+.customize-control-cropped_image .upload-button,
+.customize-control-site_icon .upload-button,
 .customize-control-header .new {
        float: right;
 }
@@ -904,7 +1014,7 @@ p.customize-section-description {
 
 #customize-theme-controls .control-section-themes .accordion-section-title:hover,
 #customize-theme-controls .control-section-themes .accordion-section-title:focus {
-       color: #555555;
+       color: #555;
        background-color: #fff;
 }
 
@@ -920,8 +1030,9 @@ p.customize-section-description {
        padding-right: 100px; /* Space for the button */
 }
 
-.control-section-themes .accordion-section-title span {
-       font-size: small;
+.control-section-themes .accordion-section-title span.customize-action,
+#customize-controls .customize-section-title span.customize-action {
+       font-size: 13px;
        display: block;
        font-weight: 400;
 }
@@ -935,16 +1046,27 @@ p.customize-section-description {
        font-weight: normal;
 }
 
+.control-section-themes .accordion-section-title:before {
+       display: none;
+}
+
 .customize-themes-panel {
        display: none;
        padding: 0 8px;
        background: #f1f1f1;
-       box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
 }
 
+.customize-themes-panel .accordion-section-title:first-child {
+       margin-top: 0;
+}
+
+#customize-controls .customize-themes-panel .accordion-section-title:nth-child(2) {
+       font-size: 14px;
+       font-weight: 600;
+}
 
 .customize-themes-panel > h2 {
        padding: 15px 8px 0 8px;
@@ -963,6 +1085,13 @@ p.customize-section-description {
        margin-bottom: 8px;
 }
 
+#customize-theme-controls .themes.accordion-section-content {
+       position: relative;
+       left: 0;
+       padding: 0;
+       width: 100%;
+}
+
 .wp-customizer .theme-browser .themes {
        padding-bottom: 8px;
 }
@@ -1150,7 +1279,7 @@ body.cheatin p {
        }
 
        .customize-controls-preview-toggle .controls:before {
-               content: "\f100";
+               content: "\f540";
        }
 
        .preview-only #customize-controls {
@@ -1177,14 +1306,6 @@ body.cheatin p {
                margin-bottom: 4px;
        }
 
-       .adding-widget #customize-header-actions .primary-actions {
-               display: none;
-       }
-
-       .adding-widget #customize-header-actions .secondary-actions {
-               display: block;
-       }
-
        #customize-header-actions .button-primary {
                margin-top: 6px;
        }
index 8182bf0689b23dbaddabaa93006490f80c3fe440..159987bdca47c8ae94b4467af184e7fc4a1e68fc 100644 (file)
@@ -1 +1 @@
-body{overflow:hidden;-webkit-text-size-adjust:100%}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:right;margin-top:9px}#customize-header-actions .spinner{margin-top:13px;margin-right:4px}.saving #customize-header-actions .spinner{visibility:visible}#customize-header-actions{border-bottom:1px solid #ddd}#customize-header-actions .secondary-actions{display:none}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-left:none;border-right:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#23282d;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-right:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f345";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px -10px -11px 0;line-height:45px;padding-left:5px;border-left:1px solid #eee;z-index:0}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-right:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;left:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close,.customize-overlay-close{display:block;position:absolute;top:0;left:0;width:45px;height:45px;padding:0 2px 0 0;background:#eee;border:none;border-right:1px solid #ddd;color:#444;text-align:left;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.customize-overlay-close{left:auto;right:0;border-right:0;border-left:1px solid #ddd}.control-panel-back{display:block;position:fixed;top:0;z-index:99;left:-48px;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;cursor:pointer;-webkit-transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.ios .control-panel-back{-webkit-transition:left 0s;transition:left 0s}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover,.customize-controls-preview-toggle:focus,.customize-controls-preview-toggle:hover,.customize-overlay-close:focus,.customize-overlay-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before,.customize-overlay-close:before{font:400 22px/45px dashicons;content:"\f335";position:relative;top:1px;left:13px}.control-panel-back:before{font:400 20px/45px dashicons;content:"\f341";position:relative;top:1px;left:13px}.in-sub-panel .control-panel-back{left:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-left:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;left:0;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.ios #customize-info,.ios #customize-theme-controls>ul>.accordion-section{-webkit-transition:left 0s;transition:left 0s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{left:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;left:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{left:-354px;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.ios #customize-theme-controls .control-section.current-panel>h3.accordion-section-title{-webkit-transition:left 0s;transition:left 0s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-hidden{margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-right:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-right:5px}.customize-control .attachment-thumb.type-icon{float:left;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0 10px}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-controls .thumbnail-audio .thumbnail{max-width:64px;max-height:64px;margin:10px;float:left}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#82878c}.accordion-section .dropdown{float:left;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#32373c}.customize-control .dropdown-status{color:#32373c;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-right:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-header .current,.customize-control-image .current,.customize-control-media .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-header button img{display:block}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-media .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-media .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;left:0;bottom:0;right:0;border:4px solid #00a0d2;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;right:10px;z-index:1;width:20px;height:20px;cursor:pointer}.customize-control-header .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.customize-control-header .header-view:hover .close{visibility:visible}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}.customize-control-background .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-media .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-header img,.customize-control-image img,.customize-control-media img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:left;margin-right:3px}.customize-control-background .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-media .upload-button,.customize-control-upload .upload-button{float:right}@-webkit-keyframes customize-reload{0%{opacity:0}100%{opacity:1}}@keyframes customize-reload{0%{opacity:0}100%{opacity:1}}.wp-customizer .customize-loading #customize-container{display:block;-webkit-animation:customize-reload .75s;animation:customize-reload .75s}.control-section-themes .accordion-section-title{cursor:default}#customize-theme-controls .control-section-themes .accordion-section-title:focus,#customize-theme-controls .control-section-themes .accordion-section-title:hover{color:#555;background-color:#fff}.control-section-themes .accordion-section-title{margin:15px 0}.customize-themes-panel .accordion-section-title{margin:15px -8px}.control-section-themes .accordion-section-title{padding-right:100px}.control-section-themes .accordion-section-title span{font-size:small;display:block;font-weight:400}.control-section-themes .accordion-section-title .change-theme,.control-section-themes .accordion-section-title .customize-theme{position:absolute;right:10px;top:50%;margin-top:-14px;font-weight:400}.customize-themes-panel{display:none;padding:0 8px;background:#f1f1f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.customize-themes-panel>h2{padding:15px 8px 0}.control-section.open .customize-themes-panel{display:block}#customize-theme-controls .customize-themes-panel .accordion-section-content{background:0 0;display:block}.customize-control.customize-control-theme{margin-bottom:8px}.wp-customizer .theme-browser .themes{padding-bottom:8px}.wp-customizer .theme-browser .theme{margin:0;width:100%}.wp-customizer .theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}#customize-controls h3.theme-name{font-size:15px}#customize-controls .theme-overlay .theme-name{font-size:32px}.wp-customizer #themes-filter{font-size:16px;font-weight:300;line-height:1.5;width:100%}#accordion-section-themes .accordion-section-title:after{display:none}#customize-theme-controls .control-section-themes.current-panel>h3.accordion-section-title{left:0}.customize-themes-panel.control-panel-content{position:absolute;left:-100%;top:0;width:100%;border-top:1px solid #ddd}.in-themes-panel #customize-info,.in-themes-panel #customize-theme-controls>ul>.accordion-section{left:100%}.wp-customizer .theme-overlay{display:none}.wp-customizer.modal-open .theme-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:109}.wp-customizer .theme-overlay .theme-backdrop{background:rgba(238,238,238,.75);position:fixed;z-index:110}.wp-customizer .theme-overlay .theme-wrap{left:90px;right:90px;top:45px;bottom:45px;z-index:120;max-width:1740px}.wp-customizer .theme-overlay .theme-actions{text-align:right}.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content{overflow:visible}.ie8 .wp-customizer .theme-overlay .theme-about,.ie8 .wp-customizer .theme-overlay .theme-actions,.ie8 .wp-customizer .theme-overlay .theme-header{position:static}@media (max-width:850px),(max-height:472px){.wp-customizer .theme-overlay .theme-wrap{left:0;right:0;top:0;bottom:0}}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}.customize-controls-preview-toggle{display:none}@media only screen and (max-width:780px){.wp-customizer .theme:not(.active):focus .theme-actions,.wp-customizer .theme:not(.active):hover .theme-actions{display:block}.wp-customizer .theme-browser .theme.active .theme-name span{display:inline}}@media screen and (max-width:640px){#customize-controls{width:100%}.wp-full-overlay.expanded{margin-left:0}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{bottom:0}.customize-controls-preview-toggle{display:block;position:absolute;top:0;left:48px;line-height:45px;font-size:14px;padding:0 12px;margin:0;height:45px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}#customize-footer-actions,#customize-preview,.customize-controls-preview-toggle .controls,.preview-only .customize-controls-preview-toggle .preview,.preview-only .wp-full-overlay-sidebar-content{display:none}.customize-controls-preview-toggle .controls:before,.customize-controls-preview-toggle .preview:before{font:400 20px/1 dashicons;content:"\f177";position:relative;top:4px;margin-right:6px}.customize-controls-preview-toggle .controls:before{content:"\f100"}.preview-only #customize-controls{height:45px}.preview-only #customize-preview,.preview-only .customize-controls-preview-toggle .controls{display:block}#customize-preview{top:45px;bottom:0;height:auto}.wp-core-ui.wp-customizer .button{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}.adding-widget #customize-header-actions .primary-actions{display:none}.adding-widget #customize-header-actions .secondary-actions{display:block}#customize-header-actions .button-primary{margin-top:6px}}
\ No newline at end of file
+body{overflow:hidden;-webkit-text-size-adjust:100%}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#555}#customize-header-actions .button-primary{float:right;margin-top:9px}#customize-header-actions .spinner{margin-top:13px;margin-right:4px}.saving #customize-header-actions .spinner{visibility:visible}#customize-header-actions{border-bottom:1px solid #ddd}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-controls .customize-info{border:none;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-bottom:15px}#customize-controls .customize-info .accordion-section-title{background:#fff;color:#555;border-left:none;border-right:none;border-bottom:none;cursor:default}#customize-controls .customize-info .accordion-section-title:focus:after,#customize-controls .customize-info .accordion-section-title:hover:after,#customize-controls .customize-info.open .accordion-section-title:after{color:#333}#customize-controls .customize-info .accordion-section-title:after{display:none}#customize-controls .customize-info .preview-notice{font-size:13px;line-height:24px}#customize-controls .control-section .customize-section-title h3,#customize-controls .control-section h3.customize-section-title,#customize-controls .customize-info .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#customize-controls .customize-section-title span.customize-action{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#customize-controls .customize-info .customize-help-toggle{position:absolute;top:4px;right:1px;padding:20px 20px 10px 10px;width:20px;height:20px;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;background:0 0;color:#555;border:none}#customize-controls .customize-info .customize-help-toggle:before{position:absolute;top:5px;left:6px}#customize-controls .customize-info .customize-help-toggle:focus,#customize-controls .customize-info .customize-help-toggle:hover,#customize-controls .customize-info.open .customize-help-toggle{color:#0073aa}#customize-controls .customize-info .customize-panel-description{color:#555;display:none;background:#fff;padding:12px 15px;border-top:1px solid #ddd}#customize-controls .customize-info .customize-panel-description p:first-child{margin-top:0}#customize-controls .customize-info .customize-panel-description p:last-child{margin-bottom:0}#customize-controls .current-panel .control-section>h3.accordion-section-title{padding-right:30px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-title:after{content:"\f345"}#customize-theme-controls .accordion-section-content{color:#555;background:0 0;position:absolute;top:0;left:100%;width:100%;margin:0;padding:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#customize-controls .control-section .accordion-section-title:focus,#customize-controls .control-section .accordion-section-title:hover,#customize-controls .control-section.open .accordion-section-title,#customize-controls .control-section:hover>.accordion-section-title{color:#23282d;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#23282d}#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls>ul{margin:0}.customize-section-description-container{margin-bottom:15px}.customize-section-title{margin:-12px -12px 0;border-bottom:1px solid #ddd;background:#fff}div.customize-section-description{margin-top:22px}div.customize-section-description p:first-child{margin-top:0}div.customize-section-description p:last-child{margin-bottom:0}#customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child{border-bottom:1px solid #ddd;padding:12px}.ios #customize-theme-controls .customize-themes-panel h3.customize-section-title:first-child{padding:12px 12px 13px}.customize-section-title h3,h3.customize-section-title{padding:10px 10px 12px 14px;margin:0;line-height:21px;color:#555}#customize-theme-controls{position:relative;left:0;-webkit-transition:.18s left ease-in-out;transition:.18s left ease-in-out}.ios #customize-theme-controls{-webkit-transition:left 0s;transition:left 0s}.section-open #customize-info,.section-open #customize-theme-controls{left:-100%}.accordion-sub-container.control-panel-content{display:none;position:absolute;left:300px;top:0;width:300px;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.ios .accordion-sub-container.control-panel-content{-webkit-transition:left 0s;transition:left 0s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close{display:block;position:absolute;top:0;left:0;width:45px;height:45px;padding:0 2px 0 0;background:#eee;border:none;border-right:1px solid #ddd;color:#444;text-align:left;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.customize-panel-back,.customize-section-back{display:block;float:left;width:48px;height:69px;padding:0 24px 0 0;margin:0;background:#fff;border:none;border-right:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;-webkit-transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.customize-section-back{height:70px}.ios .customize-panel-back,.ios .customize-section-back{-webkit-transition:left 0s;transition:left 0s}.ios .customize-panel-back{display:none}.ios .expanded.in-sub-panel .customize-panel-back{display:block}.panel-meta.customize-info .accordion-section-title{margin-left:48px}#customize-controls .panel-meta.customize-info .accordion-section-title:hover{background:#fff;color:#555}.customize-controls-close:focus,.customize-controls-close:hover,.customize-controls-preview-toggle:focus,.customize-controls-preview-toggle:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-panel-back:focus,.customize-panel-back:hover,.customize-section-back:focus,.customize-section-back:hover{color:#23282d;background:#f5f5f5;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before{font:400 22px/45px dashicons;content:"\f335";position:relative;top:1px;left:13px}.customize-panel-back:before,.customize-section-back:before{font:400 20px/69px dashicons;content:"\f341";position:relative;left:13px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-left:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;left:0;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.ios #customize-info,.ios #customize-theme-controls>ul>.accordion-section{-webkit-transition:left 0s;transition:left 0s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{left:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;left:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{left:-354px;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.ios #customize-theme-controls .control-section.current-panel>h3.accordion-section-title{-webkit-transition:left 0s;transition:left 0s}.wp-full-overlay.section-open #customize-controls .wp-full-overlay-sidebar-content{visibility:hidden;overflow-y:hidden}.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open{visibility:visible}.wp-full-overlay.section-open .wp-full-overlay-sidebar-content .accordion-section.open .accordion-section-content{overflow-y:auto}p.customize-section-description{font-style:normal;margin-top:22px;margin-bottom:0}.customize-control{width:100%;float:left;clear:both;margin-bottom:12px}.customize-control input[type=radio],.customize-control input[type=checkbox],.customize-control select{line-height:28px}.customize-control input[type=tel],.customize-control input[type=url],.customize-control input[type=text],.customize-control input[type=password],.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=search]{width:98%;line-height:18px;margin:0}.customize-control-hidden{margin:0}.customize-control-checkbox input,.customize-control-radio input{margin-right:5px}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control .attachment-thumb.type-icon{float:left;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0 10px}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-controls .thumbnail-audio .thumbnail{max-width:64px;max-height:64px;margin:10px;float:left}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.accordion-section .dropdown{float:left;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#32373c}.customize-control .dropdown-status{color:#32373c;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex,.customize-control-header button img{display:block}.customize-control-color .dropdown{margin-right:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-cropped_image .current,.customize-control-header .current,.customize-control-image .current,.customize-control-media .current,.customize-control-site_icon .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-cropped_image .default-button,.customize-control-cropped_image .remove-button,.customize-control-cropped_image .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-media .upload-button,.customize-control-site_icon .default-button,.customize-control-site_icon .remove-button,.customize-control-site_icon .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-cropped_image .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-site_icon .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-cropped_image .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-site_icon .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-cropped_image .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-media .placeholder,.customize-control-site_icon .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-cropped_image .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-site_icon .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-cropped_image .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-site_icon .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-cropped_image .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-media .inner,.customize-control-site_icon .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;left:0;bottom:0;right:0;border:4px solid #00a0d2;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:20px;color:#fff;background:#555;background:rgba(0,0,0,.5);position:absolute;top:10px;right:-999px;z-index:1;width:26px;height:26px;cursor:pointer}.customize-control-header .header-view .close:focus,.customize-control-header .header-view:hover .close{right:10px}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%,100%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}}@keyframes dice-color-change{0%,100%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}}.customize-control-background .actions,.customize-control-cropped_image .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-media .actions,.customize-control-site_icon .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-cropped_image img,.customize-control-header img,.customize-control-image img,.customize-control-media img,.customize-control-site_icon img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-cropped_image .default-button,.customize-control-cropped_image .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-site_icon .default-button,.customize-control-site_icon .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:left;margin-right:3px}.customize-control-background .upload-button,.customize-control-cropped_image .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-media .upload-button,.customize-control-site_icon .upload-button,.customize-control-upload .upload-button{float:right}@-webkit-keyframes customize-reload{0%{opacity:0}100%{opacity:1}}@keyframes customize-reload{0%{opacity:0}100%{opacity:1}}.wp-customizer .customize-loading #customize-container{display:block;-webkit-animation:customize-reload .75s;animation:customize-reload .75s}.control-section-themes .accordion-section-title{cursor:default;margin:15px 0;padding-right:100px}#customize-theme-controls .control-section-themes .accordion-section-title:focus,#customize-theme-controls .control-section-themes .accordion-section-title:hover{color:#555;background-color:#fff}.customize-themes-panel .accordion-section-title{margin:15px -8px}#customize-controls .customize-section-title span.customize-action,.control-section-themes .accordion-section-title span.customize-action{font-size:13px;display:block;font-weight:400}.control-section-themes .accordion-section-title .change-theme,.control-section-themes .accordion-section-title .customize-theme{position:absolute;right:10px;top:50%;margin-top:-14px;font-weight:400}.control-section-themes .accordion-section-title:before{display:none}.customize-themes-panel{display:none;padding:0 8px;background:#f1f1f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.customize-themes-panel .accordion-section-title:first-child{margin-top:0}#customize-controls .customize-themes-panel .accordion-section-title:nth-child(2){font-size:14px;font-weight:600}.customize-themes-panel>h2{padding:15px 8px 0}.control-section.open .customize-themes-panel{display:block}#customize-theme-controls .customize-themes-panel .accordion-section-content{background:0 0;display:block}#accordion-section-themes .accordion-section-title:after,.customize-controls-preview-toggle,.wp-customizer .theme-overlay{display:none}.customize-control.customize-control-theme{margin-bottom:8px}#customize-theme-controls .themes.accordion-section-content{position:relative;left:0;padding:0;width:100%}.wp-customizer .theme-browser .themes{padding-bottom:8px}.wp-customizer .theme-browser .theme{margin:0;width:100%}.wp-customizer .theme-browser .theme .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}#customize-controls h3.theme-name{font-size:15px}#customize-controls .theme-overlay .theme-name{font-size:32px}.wp-customizer #themes-filter{font-size:16px;font-weight:300;line-height:1.5;width:100%}#customize-theme-controls .control-section-themes.current-panel>h3.accordion-section-title{left:0}.customize-themes-panel.control-panel-content{position:absolute;left:-100%;top:0;width:100%;border-top:1px solid #ddd}.in-themes-panel #customize-info,.in-themes-panel #customize-theme-controls>ul>.accordion-section{left:100%}.wp-customizer.modal-open .theme-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:109}.wp-customizer .theme-overlay .theme-backdrop{background:rgba(238,238,238,.75);position:fixed;z-index:110}.wp-customizer .theme-overlay .theme-wrap{left:90px;right:90px;top:45px;bottom:45px;z-index:120;max-width:1740px}.wp-customizer .theme-overlay .theme-actions{text-align:right}.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content{overflow:visible}.ie8 .wp-customizer .theme-overlay .theme-about,.ie8 .wp-customizer .theme-overlay .theme-actions,.ie8 .wp-customizer .theme-overlay .theme-header{position:static}@media (max-width:850px),(max-height:472px){.wp-customizer .theme-overlay .theme-wrap{left:0;right:0;top:0;bottom:0}}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}@media only screen and (max-width:780px){.wp-customizer .theme:not(.active):focus .theme-actions,.wp-customizer .theme:not(.active):hover .theme-actions{display:block}.wp-customizer .theme-browser .theme.active .theme-name span{display:inline}}@media screen and (max-width:640px){#customize-controls{width:100%}.wp-full-overlay.expanded{margin-left:0}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{bottom:0}.customize-controls-preview-toggle{display:block;position:absolute;top:0;left:48px;line-height:45px;font-size:14px;padding:0 12px;margin:0;height:45px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}#customize-footer-actions,#customize-preview,.customize-controls-preview-toggle .controls,.preview-only .customize-controls-preview-toggle .preview,.preview-only .wp-full-overlay-sidebar-content{display:none}.customize-controls-preview-toggle .controls:before,.customize-controls-preview-toggle .preview:before{font:400 20px/1 dashicons;content:"\f177";position:relative;top:4px;margin-right:6px}.customize-controls-preview-toggle .controls:before{content:"\f540"}.preview-only #customize-controls{height:45px}.preview-only #customize-preview,.preview-only .customize-controls-preview-toggle .controls{display:block}#customize-preview{top:45px;bottom:0;height:auto}.wp-core-ui.wp-customizer .button{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#customize-header-actions .button-primary{margin-top:6px}}
\ No newline at end of file
diff --git a/wp-admin/css/customize-nav-menus-rtl.css b/wp-admin/css/customize-nav-menus-rtl.css
new file mode 100644 (file)
index 0000000..726a161
--- /dev/null
@@ -0,0 +1,1091 @@
+#accordion-section-menu_locations {
+       position: relative;
+       margin-bottom: 15px;
+}
+
+.menu-in-location,
+.menu-in-locations {
+       display: block;
+       font-weight: 600;
+       font-size: 10px;
+}
+
+#customize-controls .theme-location-set,
+#customize-controls .control-section .accordion-section-title:focus .menu-in-location,
+#customize-controls .control-section .accordion-section-title:hover .menu-in-location,
+#customize-controls .control-section .accordion-section-title:focus .menu-in-locations,
+#customize-controls .control-section .accordion-section-title:hover .menu-in-locations {
+       color: #555;
+}
+
+.wp-customizer .menu-item-bar .menu-item-handle,
+.wp-customizer .menu-item-settings,
+.wp-customizer .menu-item-settings .description-thin {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.wp-customizer .menu-item-bar {
+       margin: 0;
+}
+
+.wp-customizer .menu-item-bar .menu-item-handle {
+       width: 100%;
+       background: #fff;
+}
+
+.wp-customizer .menu-item-handle .item-title {
+       margin-left: 0;
+}
+
+.wp-customizer .menu-item-handle .item-type {
+       padding: 1px 5px 0 21px;
+       float: left;
+       text-align: left;
+}
+
+.wp-customizer .menu-item-settings {
+       max-width: 100%;
+       overflow: hidden;
+       padding: 10px;
+       background: #eee;
+       border: 1px solid #999;
+       border-top: none;
+}
+
+.wp-customizer .menu-item-settings .description-thin {
+       width: 100%;
+       height: auto;
+       margin: 0 0 8px 0;
+}
+
+.wp-customizer .menu-item-settings input[type="text"] {
+       width: 100%;
+}
+
+.wp-customizer .menu-item-settings .submitbox {
+       margin: 0;
+       padding: 0;
+}
+
+.wp-customizer .menu-item-settings .link-to-original {
+       padding: 5px 0;
+       border: none;
+       font-style: normal;
+       margin: 0;
+       width: 100%;
+}
+
+.wp-customizer .menu-item .submitbox .submitdelete {
+       display: block;
+       float: right;
+       margin: 6px 0 0;
+       padding: 0;
+       cursor: pointer;
+}
+
+.wp-customizer .menu-item .submitbox .submitdelete: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);
+}
+
+/* Menu-item reordering nav. */
+.customize-control-nav_menu .reordering .reorder,
+.customize-control-nav_menu .reorder-done {
+       display: none;
+}
+
+.customize-control-nav_menu .reorder,
+.customize-control-nav_menu .reordering .reorder-done {
+       display: inline-block;
+       padding: 5px 8px;
+}
+
+.menu-item-reorder-nav {
+       display: none;
+       background-color: #fff;
+       position: absolute;
+       top: 0;
+       left: 0;
+}
+
+.customize-control-nav_menu .reordering .add-new-menu-item {
+       opacity: 0.2;
+       pointer-events: none;
+       cursor: not-allowed;
+}
+
+.menu-item-reorder-nav button {
+       position: relative;
+       overflow: hidden;
+       float: right;
+       display: block;
+       width: 30px;
+       height: 40px;
+       color: #82878c;
+       text-indent: -9999px;
+       cursor: pointer;
+       background: transparent;
+       border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       outline: none;
+}
+
+.menu-item-reorder-nav button:before {
+       display: inline-block;
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       font: normal 20px/40px dashicons;
+       text-align: center;
+       text-indent: 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.menu-item-reorder-nav button:hover,
+.menu-item-reorder-nav button:focus {
+       color: #191e23;
+       background: #eee;
+}
+
+.menus-move-down:before {
+       content: '\f347';
+}
+
+.menus-move-up:before {
+       content: '\f343';
+}
+
+.menus-move-left:before {
+       content: '\f341';
+}
+
+.menus-move-right:before {
+       content: '\f345';
+}
+
+.move-up-disabled .menus-move-up,
+.move-down-disabled .menus-move-down,
+.move-right-disabled .menus-move-right,
+.move-left-disabled .menus-move-left {
+       color: #d5d5d5 !important;
+       background-color: #fff !important;
+       cursor: default;
+       pointer-events: none;
+}
+
+.menu-item-reorder-nav:before {
+       content: "";
+       display: block;
+       position: absolute;
+       right: -10px;
+       width: 10px;
+       height: 40px;
+       background: -webkit-linear-gradient(right, rgba(250,250,250,0) 0%,rgba(250,250,250,1) 100%);
+       background: -webkit-gradient(linear, right top, left top, from(rgba(250,250,250,0)), to(rgba(250,250,250,1)));
+       background: -webkit-linear-gradient(right, rgba(250,250,250,0) 0%, rgba(250,250,250,1) 100%);
+       background: linear-gradient(to left, rgba(250,250,250,0) 0%,rgba(250,250,250,1) 100%);
+}
+
+.reordering .menu-item .item-controls,
+.reordering .menu-item .item-type {
+       display: none;
+}
+
+.reordering .menu-item-reorder-nav {
+       display: block;
+}
+
+.customize-control input.menu-name-field {
+       width: 100%; /* Override the 98% default for customizer inputs, to align with the size of menu items. */
+       margin: 12px 0;
+}
+
+.wp-customizer .menu-item .item-edit {
+       position: absolute;
+       left: -19px;
+       top: 2px;
+       display: block;
+       width: 30px;
+       height: 38px;
+       margin-left: 0 !important;
+       outline: none;
+       overflow: hidden;
+       cursor: pointer;
+}
+
+.customize-control-nav_menu_item .item-edit:focus {
+       color: #0073aa;
+       -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);
+}
+
+/* rework the arrow indicator implementation for NVDA bug same as #32715 */
+.wp-customizer .menu-item .item-edit .toggle-indicator {
+       display: inline-block;
+       font-size: 20px;
+       line-height: 1;
+}
+
+.wp-customizer .menu-item .item-edit .toggle-indicator:after {
+       content: '\f140';
+       font: normal 20px/1 dashicons;
+       color: #a0a5aa;
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       text-decoration: none !important;
+}
+
+.wp-customizer .menu-item.menu-item-edit-active .item-edit .toggle-indicator:after {
+       content: '\f142';
+}
+
+.wp-customizer .menu-item-settings p.description {
+       font-style: normal;
+}
+
+.wp-customizer .menu-settings dl {
+       margin: 12px 0 0 0;
+       padding: 0;
+}
+
+.wp-customizer .menu-settings .checkbox-input {
+       margin-top: 8px;
+}
+
+.wp-customizer .menu-settings .menu-theme-locations {
+       border-top: 1px solid #ccc;
+}
+
+.wp-customizer .menu-settings {
+       margin-top: 36px;
+       border-top: none;
+}
+
+.menu-settings .customize-control-checkbox label {
+       line-height: 1;
+}
+
+/* @todo update selector or potentially remove */
+.menu-settings .customize-control.customize-control-checkbox {
+       margin-bottom: 8px; /* Override collapsing at smaller viewports. */
+}
+
+.customize-control-menu {
+       margin-top: 4px;
+}
+
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle {
+       color: #555;
+}
+
+/* Screen Options */
+.customize-screen-options-toggle {
+       background: none;
+       border: none;
+       color: #555;
+       cursor: pointer;
+       margin: 0;
+       padding: 20px;
+       position: absolute;
+       left: 0;
+       top: 30px;
+}
+
+#customize-controls .customize-info .customize-help-toggle {
+       padding: 20px;
+}
+
+#customize-controls .customize-info .customize-help-toggle:before {
+       padding: 4px;
+}
+
+.customize-screen-options-toggle:hover,
+.customize-screen-options-toggle:active,
+.customize-screen-options-toggle:focus,
+.active-menu-screen-options .customize-screen-options-toggle,
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:hover,
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:active,
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:focus {
+       color: #0073aa;
+}
+
+.customize-screen-options-toggle:focus,
+#customize-controls .customize-info .customize-help-toggle:focus {
+       outline: none;
+}
+
+.customize-screen-options-toggle:before {
+       -moz-osx-font-smoothing: grayscale;
+       border: none;
+       content: "\f111";
+       display: block;
+       font: 18px/1 "dashicons";
+       padding: 5px;
+       text-align: center;
+       text-decoration: none !important;
+       text-indent: 0;
+       right: 6px;
+       position: absolute;
+       top: 6px;
+}
+
+.customize-screen-options-toggle:focus:before,
+#customize-controls .customize-info .customize-help-toggle:focus:before {
+       -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);
+       -webkit-border-radius: 100%;
+       border-radius: 100%;
+}
+
+.wp-customizer #screen-options-wrap {
+       display: none;
+       background: #fff;
+       border-top: 1px solid #ddd;
+       padding: 4px 15px 0;
+}
+
+.wp-customizer .metabox-prefs label {
+       display: block;
+       padding-left: 0;
+       line-height: 30px;
+}
+
+#accordion-panel-nav_menus .field-link-target,
+#accordion-panel-nav_menus .field-attr-title,
+#accordion-panel-nav_menus .field-css-classes,
+#accordion-panel-nav_menus .field-xfn,
+#accordion-panel-nav_menus .field-description {
+       display: none;
+}
+
+#accordion-panel-nav_menus.field-link-target-active .field-link-target,
+#accordion-panel-nav_menus.field-attr-title-active .field-attr-title,
+#accordion-panel-nav_menus.field-css-classes-active .field-css-classes,
+#accordion-panel-nav_menus.field-xfn-active .field-xfn,
+#accordion-panel-nav_menus.field-description-active .field-description {
+       display: block;
+}
+
+/* WARNING: The 20px factor is hard-coded in JS. */
+.menu-item-depth-0  { margin-right: 0;     }
+.menu-item-depth-1  { margin-right: 20px;  }
+.menu-item-depth-2  { margin-right: 40px;  }
+.menu-item-depth-3  { margin-right: 60px;  }
+.menu-item-depth-4  { margin-right: 80px;  }
+.menu-item-depth-5  { margin-right: 100px; }
+.menu-item-depth-6  { margin-right: 120px; }
+.menu-item-depth-7  { margin-right: 140px; }
+.menu-item-depth-8  { margin-right: 160px; } /* Not likely to be used or useful beyond this depth */
+.menu-item-depth-9  { margin-right: 180px; }
+.menu-item-depth-10 { margin-right: 200px; }
+.menu-item-depth-11 { margin-right: 220px; }
+
+/* @todo handle .menu-item-settings width */
+.menu-item-depth-0  > .menu-item-bar { margin-left: 0;     }
+.menu-item-depth-1  > .menu-item-bar { margin-left: 20px;  }
+.menu-item-depth-2  > .menu-item-bar { margin-left: 40px;  }
+.menu-item-depth-3  > .menu-item-bar { margin-left: 60px;  }
+.menu-item-depth-4  > .menu-item-bar { margin-left: 80px;  }
+.menu-item-depth-5  > .menu-item-bar { margin-left: 100px; }
+.menu-item-depth-6  > .menu-item-bar { margin-left: 120px; }
+.menu-item-depth-7  > .menu-item-bar { margin-left: 140px; }
+.menu-item-depth-8  > .menu-item-bar { margin-left: 160px; }
+.menu-item-depth-9  > .menu-item-bar { margin-left: 180px; }
+.menu-item-depth-10 > .menu-item-bar { margin-left: 200px; }
+.menu-item-depth-11 > .menu-item-bar { margin-left: 220px; }
+
+/* Submenu left margin. */
+.menu-item-depth-0  .menu-item-transport { margin-right: 0;      }
+.menu-item-depth-1  .menu-item-transport { margin-right: -20px;  }
+.menu-item-depth-3  .menu-item-transport { margin-right: -60px;  }
+.menu-item-depth-4  .menu-item-transport { margin-right: -80px;  }
+.menu-item-depth-2  .menu-item-transport { margin-right: -40px;  }
+.menu-item-depth-5  .menu-item-transport { margin-right: -100px; }
+.menu-item-depth-6  .menu-item-transport { margin-right: -120px; }
+.menu-item-depth-7  .menu-item-transport { margin-right: -140px; }
+.menu-item-depth-8  .menu-item-transport { margin-right: -160px; }
+.menu-item-depth-9  .menu-item-transport { margin-right: -180px; }
+.menu-item-depth-10 .menu-item-transport { margin-right: -200px; }
+.menu-item-depth-11 .menu-item-transport { margin-right: -220px; }
+
+/* WARNING: The 20px factor is hard-coded in JS. */
+.reordering .menu-item-depth-0  { margin-right: 0;     }
+.reordering .menu-item-depth-1  { margin-right: 15px;  }
+.reordering .menu-item-depth-2  { margin-right: 30px;  }
+.reordering .menu-item-depth-3  { margin-right: 45px;  }
+.reordering .menu-item-depth-4  { margin-right: 60px;  }
+.reordering .menu-item-depth-5  { margin-right: 75px;  }
+.reordering .menu-item-depth-6  { margin-right: 90px;  }
+.reordering .menu-item-depth-7  { margin-right: 105px; }
+.reordering .menu-item-depth-8  { margin-right: 120px; } /* Not likely to be used or useful beyond this depth */
+.reordering .menu-item-depth-9  { margin-right: 135px; }
+.reordering .menu-item-depth-10 { margin-right: 150px; }
+.reordering .menu-item-depth-11 { margin-right: 165px; }
+
+.reordering .menu-item-depth-0  > .menu-item-bar { margin-left: 0;     }
+.reordering .menu-item-depth-1  > .menu-item-bar { margin-left: 15px;  }
+.reordering .menu-item-depth-2  > .menu-item-bar { margin-left: 30px;  }
+.reordering .menu-item-depth-3  > .menu-item-bar { margin-left: 45px;  }
+.reordering .menu-item-depth-4  > .menu-item-bar { margin-left: 60px;  }
+.reordering .menu-item-depth-5  > .menu-item-bar { margin-left: 75px;  }
+.reordering .menu-item-depth-6  > .menu-item-bar { margin-left: 90px;  }
+.reordering .menu-item-depth-7  > .menu-item-bar { margin-left: 105px; }
+.reordering .menu-item-depth-8  > .menu-item-bar { margin-left: 120px; }
+.reordering .menu-item-depth-9  > .menu-item-bar { margin-left: 135px; }
+.reordering .menu-item-depth-10 > .menu-item-bar { margin-left: 150px; }
+.reordering .menu-item-depth-11 > .menu-item-bar { margin-left: 165px; }
+
+.control-section-nav_menu .menu .menu-item-edit-active {
+       margin-right: 0;
+}
+
+.control-section-nav_menu .menu .menu-item-edit-active .menu-item-bar {
+       margin-left: 0;
+}
+
+.control-section-nav_menu .menu .sortable-placeholder {
+       margin-top: 0;
+       margin-bottom: 1px;
+       max-width: -webkit-calc(100% - 2px);
+       max-width: calc(100% - 2px);
+       float: right;
+       display: list-item;
+       border-color: #a0a5aa;
+}
+
+.menu-item-transport li.customize-control {
+       float: none;
+}
+
+.control-section-nav_menu .menu ul.menu-item-transport .menu-item-bar {
+       margin-top: 0;
+}
+
+/*
+ * Add-menu-items mode.
+ */
+.wp-full-overlay-main {
+       left: auto; /* This overrides a right: 0; which causes the preview to resize rather than slide off screen at the normal size. */
+       width: 100%;
+}
+
+.adding-menu-items .control-section {
+       opacity: .4;
+}
+
+.adding-menu-items .control-panel.control-section,
+.adding-menu-items .control-section.open {
+       opacity: 1;
+}
+
+/* Add-new button. */
+#customize-theme-controls .add-new-menu-item {
+       cursor: pointer;
+       float: left;
+       margin-right: 10px;
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+       outline: none;
+}
+
+.add-new-menu-item:before {
+       content: "\f132";
+       display: inline-block;
+       position: relative;
+       right: -2px;
+       top: -1px;
+       font: normal 20px/1 'dashicons';
+       vertical-align: middle;
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.adding-menu-items .add-new-menu-item,
+.adding-menu-items .add-new-menu-item:hover,
+.add-menu-toggle.open,
+.add-menu-toggle.open:hover {
+       background: #eee;
+       border-color: #929793;
+       color: #32373c;
+       -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
+       box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
+}
+
+.adding-menu-items .add-new-menu-item:before,
+#accordion-section-add_menu .add-new-menu-item.open:before {
+       -webkit-transform: rotate(-45deg);
+       -ms-transform: rotate(-45deg);
+       transform: rotate(-45deg);
+}
+
+.menu-item-bar .item-delete {
+       color: #a00;
+       position: absolute;
+       top: 2px;
+       left: -19px;
+       width: 30px;
+       height: 38px;
+       cursor: pointer;
+       display: none;
+}
+
+.menu-item-bar .item-delete:before {
+       content: "\f335";
+       font: normal 20px/1 dashicons;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       position: absolute;
+       top: 9px;
+       right: 5px;
+}
+
+.ie8 .menu-item-bar .item-delete:before {
+       top: -10px;
+}
+
+.menu-item-bar .item-delete:hover,
+.menu-item-bar .item-delete:focus {
+       color: #f00;
+}
+
+.menu-item-bar .item-delete: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);
+}
+
+.adding-menu-items .menu-item-bar .item-edit {
+       display: none;
+}
+
+.adding-menu-items .menu-item-bar .item-delete {
+       display: block;
+}
+
+#available-menu-items .item {
+       position: static;
+}
+
+#available-menu-items {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       right: -301px;
+       visibility: hidden;
+       overflow-x: hidden;
+       overflow-y: auto;
+       width: 300px;
+       margin: 0;
+       z-index: 4;
+       background: #eee;
+       -webkit-transition: right .18s;
+       transition: right .18s;
+       border-left: 1px solid #ddd;
+}
+
+#available-menu-items.opening {
+       overflow-y: hidden; /* avoid scrollbar jitter with animating heights */
+}
+
+#available-menu-items #available-menu-items-search.open {
+       height: 100%;
+       border-bottom: none;
+}
+
+#available-menu-items .accordion-section-title {
+       border-right: none;
+       border-left: none;
+       background: #fff;
+}
+
+#available-menu-items .open .accordion-section-title,
+#available-menu-items #available-menu-items-search .accordion-section-title {
+       background: #eee;
+}
+
+/* rework the arrow indicator implementation for NVDA bug see #32715 */
+#available-menu-items .accordion-section-title:after {
+       content: none !important;
+}
+
+#available-menu-items .accordion-section-title .toggle-indicator {
+       display: inline-block;
+       font-size: 20px;
+       line-height: 1;
+}
+
+#available-menu-items .accordion-section-title .toggle-indicator:after {
+       content: '\f140';
+       font: normal 20px/1 'dashicons';
+       color: #a0a5aa;
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       text-decoration: none !important;
+}
+
+#available-menu-items .accordion-section-title:hover .toggle-indicator:after {
+       color: #777;
+}
+
+#available-menu-items .open .accordion-section-title .toggle-indicator:after {
+       content: '\f142';
+}
+
+#available-menu-items .accordion-section-content {
+       overflow-y: auto;
+       max-height: 200px; /* This gets set in JS to fit the screen size, and based on # of sections. */
+       background: transparent;
+}
+
+button.not-a-button {
+       background: transparent;
+       border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       outline: 0;
+       padding: 0;
+       margin: 0;
+}
+
+#available-menu-items .accordion-section-title button {
+       display: block;
+       width: 28px;
+       height: 35px;
+       position: absolute;
+       top: 5px;
+       left: 5px;
+       cursor: pointer;
+}
+
+#available-menu-items .accordion-section-title 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);
+}
+
+#available-menu-items .accordion-section-title .no-items,
+#available-menu-items .cannot-expand .accordion-section-title .spinner,
+#available-menu-items .cannot-expand .accordion-section-title > button {
+       display: none;
+}
+
+#available-menu-items-search.cannot-expand .accordion-section-title .spinner {
+       display: block;
+}
+
+#available-menu-items .cannot-expand .accordion-section-title .no-items {
+       display: block;
+       color: #777;
+       font-weight: normal;
+       float: left;
+       margin-right: 5px;
+}
+
+#available-menu-items .accordion-section-content {
+       padding: 1px 15px 15px 15px;
+       margin: 0;
+       min-height: 120px;
+       max-height: 290px;
+}
+
+#available-menu-items #available-menu-items-search .accordion-section-content {
+       position: absolute;
+       right: 1px;
+       top: 60px; /* below title div / search input */
+       bottom: 0px; /* 100% height that still triggers lazy load */
+       max-height: none;
+       width: 100%;
+       padding: 1px 15px 15px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+#available-menu-items .menu-item-tpl {
+       margin: 0;
+}
+
+#custom-menu-item-name.invalid,
+#custom-menu-item-url.invalid,
+.menu-name-field.invalid,
+.menu-name-field.invalid:focus {
+       border: 1px solid #f00;
+}
+
+#available-menu-items .item-tpl {
+       position: relative;
+       padding: 20px 60px 20px 15px;
+       border-bottom: 1px solid #e4e4e4;
+       cursor: pointer;
+       display: none;
+}
+
+#available-menu-items .item-tpl:hover,
+#available-menu-items .item-tpl.selected {
+       background: #eee;
+}
+
+#available-menu-items .menu-item-handle .item-type {
+       padding-left: 0;
+}
+
+#available-menu-items .menu-item-handle .item-title {
+       padding-right: 20px;
+}
+
+#available-menu-items .menu-item-handle {
+       cursor: pointer;
+}
+
+#available-menu-items .item-top,
+#available-menu-items .item-top:hover {
+       border: none;
+       background: transparent;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+#available-menu-items .menu-item-handle {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       margin-top: -1px;
+}
+
+#available-menu-items .menu-item-handle:hover {
+       z-index: 1;
+}
+
+#available-menu-items .item-title h4 {
+       padding: 0 0 5px;
+       font-size: 14px;
+}
+
+#available-menu-items .item-add {
+       position: absolute;
+       top: 1px;
+       right: 1px;
+       color: #82878c;
+       width: 30px;
+       height: 38px;
+       cursor: pointer;
+}
+
+#available-menu-items .menu-item-handle .item-add:focus {
+       color: #23282d;
+       -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);
+}
+
+#available-menu-items .item-add:before {
+       content: "\f543";
+       font: normal 20px/1 dashicons;
+       position: relative;
+       right: 2px;
+       top: 3px;
+}
+
+#available-menu-items .menu-item-handle.item-added .item-type,
+#available-menu-items .menu-item-handle.item-added .item-title,
+#available-menu-items .menu-item-handle.item-added:hover .item-add,
+#available-menu-items .menu-item-handle.item-added .item-add:focus {
+       color: #82878c;
+}
+
+#available-menu-items .menu-item-handle.item-added .item-add:before {
+       content: "\f147";
+}
+
+#available-menu-items .accordion-section-title.loading .spinner,
+#available-menu-items-search.loading .accordion-section-title .spinner {
+       visibility: visible;
+       margin: 0 20px;
+}
+
+#available-menu-items-search .clear-results {
+       position: absolute;
+       top: 20px;
+       left: 20px;
+       width: 20px;
+       height: 20px;
+       cursor: pointer;
+       color: #a00;
+       text-decoration: none;
+}
+
+#available-menu-items-search .clear-results,
+#available-menu-items-search.loading .clear-results.is-visible {
+       display: none;
+}
+
+#available-menu-items-search .clear-results.is-visible {
+       display: block;
+}
+
+#available-menu-items-search .clear-results:before {
+       content: "\f335";
+       font: normal 20px/1 dashicons;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+#available-menu-items-search .clear-results:hover,
+#available-menu-items-search .clear-results:focus {
+       color: #f00;
+}
+
+#available-menu-items-search .clear-results: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);
+}
+
+#available-menu-items-search .spinner {
+       position: absolute;
+       top: 20px;
+       margin: 0 !important;
+       left: 20px;
+}
+
+#available-menu-items-search input {
+       padding: 6px 10px;
+       width: 100%;
+}
+
+#available-menu-items-search .accordion-section-title {
+       padding: 12px 15px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+#available-menu-items-search .accordion-section-title:after {
+       display: none;
+}
+
+#available-menu-items-search .accordion-section-content:empty {
+       min-height: 0;
+       padding: 0;
+}
+
+#available-menu-items-search.loading .accordion-section-content div {
+       opacity: .5;
+}
+
+#available-menu-items-search.loading.loading-more .accordion-section-content div {
+       opacity: 1;
+}
+
+#customize-preview {
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+}
+
+body.adding-menu-items #available-menu-items {
+       right: 0;
+       visibility: visible;
+}
+
+body.adding-menu-items .wp-full-overlay-main {
+       right: 300px;
+}
+
+body.adding-menu-items #customize-preview {
+       opacity: 0.4;
+}
+
+.menu-item-handle .spinner {
+       display: none;
+       float: right;
+       margin: 0 0 0 8px;
+}
+
+.nav-menu-inserted-item-loading .spinner {
+       display: block;
+}
+
+.nav-menu-inserted-item-loading .menu-item-handle .item-type {
+       padding: 0 8px 0 0;
+}
+
+.nav-menu-inserted-item-loading .menu-item-handle,
+.added-menu-item .menu-item-handle.loading {
+       padding: 10px 8px 10px 15px;
+       cursor: default;
+       opacity: .5;
+       background: #fff;
+       color: #727773;
+}
+
+.added-menu-item .menu-item-handle {
+       -webkit-transition-property: opacity, background, color;
+       transition-property: opacity, background, color;
+       -webkit-transition-duration: 1.25s;
+       transition-duration: 1.25s;
+       -webkit-transition-timing-function: cubic-bezier( .25, -2.5, .75, 8 );
+       transition-timing-function: cubic-bezier( .25, -2.5, .75, 8 ); /* Replacement for .hide().fadeIn('slow') in JS to add emphasis when it's loaded. */
+}
+
+/* Add/delete Menus */
+
+/* @todo update selector */
+#accordion-section-add_menu {
+       margin: 15px 12px;
+}
+
+.new-menu-section-content {
+       display: none;
+       padding: 15px 0 0 0;
+       clear: both;
+}
+
+/* @todo update selector */
+#accordion-section-add_menu .accordion-section-title {
+       padding-right: 45px;
+}
+
+/* @todo update selector */
+#accordion-section-add_menu .accordion-section-title:before {
+       font: normal 20px/1 dashicons;
+       position: absolute;
+       top: 12px;
+       right: 14px;
+       content: "\f132";
+}
+
+#create-new-menu-submit {
+       float: left;
+       margin: 0 0 12px 0;
+}
+
+.menu-delete-item {
+       display: block;
+       float: right;
+       padding: 1em 0;
+       width: 100%;
+}
+
+li.assigned-to-menu-location .menu-delete-item {
+  display: none;
+}
+
+li.assigned-to-menu-location .add-new-menu-item {
+  margin-bottom: 1em;
+}
+
+.menu-delete {
+       color: #a00;
+       cursor: pointer;
+       text-decoration: underline;
+}
+
+.menu-delete:hover,
+.menu-delete:focus {
+       color: #f00;
+       text-decoration: none;
+}
+
+.menu-delete: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);
+}
+
+.menu-item-handle {
+       margin-top: -1px;
+}
+.ui-sortable-disabled .menu-item-handle {
+       cursor: default;
+}
+
+.menu-item-handle:hover {
+       position: relative;
+       z-index: 10;
+       color: #0073aa;
+}
+
+.menu-item-handle:hover .item-type,
+.menu-item-handle:hover .item-edit,
+#available-menu-items .menu-item-handle:hover .item-add {
+       color: #0073aa;
+}
+
+.menu-item-edit-active .menu-item-handle {
+       border-color: #999;
+       border-bottom: none;
+}
+
+.customize-control-nav_menu_item {
+       margin-bottom: 0;
+}
+
+.customize-control-nav_menu {
+       margin-top: 12px;
+}
+
+#available-menu-items .customize-section-title {
+       display: none;
+}
+
+@media screen and ( max-width: 782px ) {
+       #available-menu-items #available-menu-items-search .accordion-section-content {
+               top: 63px;
+       }
+}
+
+@media screen and ( max-width: 640px ) {
+       body.adding-menu-items div#available-menu-items {
+               top: 46px;
+               right: 0;
+               z-index: 10;
+               width: 100%;
+       }
+
+       #available-menu-items #available-menu-items-search .accordion-section-content {
+               top: 133px;
+       }
+
+       #available-menu-items .customize-section-title {
+               display: block;
+               margin: 0;
+       }
+
+       #available-menu-items .customize-section-back {
+               height: 69px;
+       }
+
+       #available-menu-items .customize-section-title h3 {
+               font-size: 20px;
+               font-weight: 200;
+               padding: 9px 14px 12px 10px;
+               margin: 0;
+               line-height: 24px;
+               color: #555;
+               display: block;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
+       #available-menu-items .customize-section-title .customize-action {
+               font-size: 13px;
+               display: block;
+               font-weight: 400;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+}
diff --git a/wp-admin/css/customize-nav-menus-rtl.min.css b/wp-admin/css/customize-nav-menus-rtl.min.css
new file mode 100644 (file)
index 0000000..76bbb43
--- /dev/null
@@ -0,0 +1 @@
+#accordion-section-menu_locations{position:relative;margin-bottom:15px}.menu-in-location,.menu-in-locations{display:block;font-weight:600;font-size:10px}#customize-controls .control-section .accordion-section-title:focus .menu-in-location,#customize-controls .control-section .accordion-section-title:focus .menu-in-locations,#customize-controls .control-section .accordion-section-title:hover .menu-in-location,#customize-controls .control-section .accordion-section-title:hover .menu-in-locations,#customize-controls .theme-location-set{color:#555}.wp-customizer .menu-item-bar .menu-item-handle,.wp-customizer .menu-item-settings,.wp-customizer .menu-item-settings .description-thin{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-customizer .menu-item-bar{margin:0}.wp-customizer .menu-item-bar .menu-item-handle{width:100%;background:#fff}.wp-customizer .menu-item-handle .item-title{margin-left:0}.wp-customizer .menu-item-handle .item-type{padding:1px 5px 0 21px;float:left;text-align:left}.wp-customizer .menu-item-settings{max-width:100%;overflow:hidden;padding:10px;background:#eee;border:1px solid #999;border-top:none}.wp-customizer .menu-item-settings .description-thin{width:100%;height:auto;margin:0 0 8px}.wp-customizer .menu-item-settings input[type=text]{width:100%}.wp-customizer .menu-item-settings .submitbox{margin:0;padding:0}.wp-customizer .menu-item-settings .link-to-original{padding:5px 0;border:none;font-style:normal;margin:0;width:100%}.wp-customizer .menu-item .submitbox .submitdelete{display:block;float:right;margin:6px 0 0;padding:0;cursor:pointer}.wp-customizer .menu-item .submitbox .submitdelete: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)}.customize-control-nav_menu .reorder-done,.customize-control-nav_menu .reordering .reorder{display:none}.customize-control-nav_menu .reorder,.customize-control-nav_menu .reordering .reorder-done{display:inline-block;padding:5px 8px}.menu-item-reorder-nav{display:none;background-color:#fff;position:absolute;top:0;left:0}.customize-control-nav_menu .reordering .add-new-menu-item{opacity:.2;pointer-events:none;cursor:not-allowed}.menu-item-reorder-nav button{position:relative;overflow:hidden;float:right;display:block;width:30px;height:40px;color:#82878c;text-indent:-9999px;cursor:pointer;background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.menu-item-reorder-nav button:before{display:inline-block;position:absolute;top:0;left:0;width:100%;height:100%;font:400 20px/40px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.menu-item-reorder-nav button:focus,.menu-item-reorder-nav button:hover{color:#191e23;background:#eee}.menus-move-down:before{content:'\f347'}.menus-move-up:before{content:'\f343'}.menus-move-left:before{content:'\f341'}.menus-move-right:before{content:'\f345'}.move-down-disabled .menus-move-down,.move-left-disabled .menus-move-left,.move-right-disabled .menus-move-right,.move-up-disabled .menus-move-up{color:#d5d5d5!important;background-color:#fff!important;cursor:default;pointer-events:none}.menu-item-reorder-nav:before{content:"";display:block;position:absolute;right:-10px;width:10px;height:40px;background:-webkit-linear-gradient(right,rgba(250,250,250,0) 0,rgba(250,250,250,1) 100%);background:-webkit-gradient(linear,right top,left top,from(rgba(250,250,250,0)),to(rgba(250,250,250,1)));background:-webkit-linear-gradient(right,rgba(250,250,250,0) 0,rgba(250,250,250,1) 100%);background:linear-gradient(to left,rgba(250,250,250,0) 0,rgba(250,250,250,1) 100%)}.reordering .menu-item .item-controls,.reordering .menu-item .item-type{display:none}.reordering .menu-item-reorder-nav{display:block}.customize-control input.menu-name-field{width:100%;margin:12px 0}.wp-customizer .menu-item .item-edit{position:absolute;left:-19px;top:2px;display:block;width:30px;height:38px;margin-left:0!important;outline:0;overflow:hidden;cursor:pointer}.customize-control-nav_menu_item .item-edit:focus{color:#0073aa;-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)}.wp-customizer .menu-item .item-edit .toggle-indicator{display:inline-block;font-size:20px;line-height:1}.wp-customizer .menu-item .item-edit .toggle-indicator:after{content:'\f140';font:400 20px/1 dashicons;color:#a0a5aa;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.wp-customizer .menu-item.menu-item-edit-active .item-edit .toggle-indicator:after{content:'\f142'}.wp-customizer .menu-item-settings p.description{font-style:normal}.wp-customizer .menu-settings dl{margin:12px 0 0;padding:0}.wp-customizer .menu-settings .checkbox-input{margin-top:8px}.wp-customizer .menu-settings .menu-theme-locations{border-top:1px solid #ccc}.wp-customizer .menu-settings{margin-top:36px;border-top:none}.menu-settings .customize-control-checkbox label{line-height:1}.menu-settings .customize-control.customize-control-checkbox{margin-bottom:8px}.customize-control-menu{margin-top:4px}#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle{color:#555}.customize-screen-options-toggle{background:0 0;border:none;color:#555;cursor:pointer;margin:0;padding:20px;position:absolute;left:0;top:30px}#customize-controls .customize-info .customize-help-toggle{padding:20px}#customize-controls .customize-info .customize-help-toggle:before{padding:4px}#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:active,#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:focus,#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:hover,.active-menu-screen-options .customize-screen-options-toggle,.customize-screen-options-toggle:active,.customize-screen-options-toggle:focus,.customize-screen-options-toggle:hover{color:#0073aa}#customize-controls .customize-info .customize-help-toggle:focus,.customize-screen-options-toggle:focus{outline:0}.customize-screen-options-toggle:before{-moz-osx-font-smoothing:grayscale;border:none;content:"\f111";display:block;font:18px/1 dashicons;padding:5px;text-align:center;text-decoration:none!important;text-indent:0;right:6px;position:absolute;top:6px}#customize-controls .customize-info .customize-help-toggle:focus:before,.customize-screen-options-toggle:focus:before{-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);-webkit-border-radius:100%;border-radius:100%}.wp-customizer #screen-options-wrap{display:none;background:#fff;border-top:1px solid #ddd;padding:4px 15px 0}.wp-customizer .metabox-prefs label{display:block;padding-left:0;line-height:30px}#accordion-panel-nav_menus .field-attr-title,#accordion-panel-nav_menus .field-css-classes,#accordion-panel-nav_menus .field-description,#accordion-panel-nav_menus .field-link-target,#accordion-panel-nav_menus .field-xfn{display:none}#accordion-panel-nav_menus.field-attr-title-active .field-attr-title,#accordion-panel-nav_menus.field-css-classes-active .field-css-classes,#accordion-panel-nav_menus.field-description-active .field-description,#accordion-panel-nav_menus.field-link-target-active .field-link-target,#accordion-panel-nav_menus.field-xfn-active .field-xfn{display:block}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:20px}.menu-item-depth-2{margin-right:40px}.menu-item-depth-3{margin-right:60px}.menu-item-depth-4{margin-right:80px}.menu-item-depth-5{margin-right:100px}.menu-item-depth-6{margin-right:120px}.menu-item-depth-7{margin-right:140px}.menu-item-depth-8{margin-right:160px}.menu-item-depth-9{margin-right:180px}.menu-item-depth-10{margin-right:200px}.menu-item-depth-11{margin-right:220px}.menu-item-depth-0>.menu-item-bar{margin-left:0}.menu-item-depth-1>.menu-item-bar{margin-left:20px}.menu-item-depth-2>.menu-item-bar{margin-left:40px}.menu-item-depth-3>.menu-item-bar{margin-left:60px}.menu-item-depth-4>.menu-item-bar{margin-left:80px}.menu-item-depth-5>.menu-item-bar{margin-left:100px}.menu-item-depth-6>.menu-item-bar{margin-left:120px}.menu-item-depth-7>.menu-item-bar{margin-left:140px}.menu-item-depth-8>.menu-item-bar{margin-left:160px}.menu-item-depth-9>.menu-item-bar{margin-left:180px}.menu-item-depth-10>.menu-item-bar{margin-left:200px}.menu-item-depth-11>.menu-item-bar{margin-left:220px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-20px}.menu-item-depth-3 .menu-item-transport{margin-right:-60px}.menu-item-depth-4 .menu-item-transport{margin-right:-80px}.menu-item-depth-2 .menu-item-transport{margin-right:-40px}.menu-item-depth-5 .menu-item-transport{margin-right:-100px}.menu-item-depth-6 .menu-item-transport{margin-right:-120px}.menu-item-depth-7 .menu-item-transport{margin-right:-140px}.menu-item-depth-8 .menu-item-transport{margin-right:-160px}.menu-item-depth-9 .menu-item-transport{margin-right:-180px}.menu-item-depth-10 .menu-item-transport{margin-right:-200px}.menu-item-depth-11 .menu-item-transport{margin-right:-220px}.reordering .menu-item-depth-0{margin-right:0}.reordering .menu-item-depth-1{margin-right:15px}.reordering .menu-item-depth-2{margin-right:30px}.reordering .menu-item-depth-3{margin-right:45px}.reordering .menu-item-depth-4{margin-right:60px}.reordering .menu-item-depth-5{margin-right:75px}.reordering .menu-item-depth-6{margin-right:90px}.reordering .menu-item-depth-7{margin-right:105px}.reordering .menu-item-depth-8{margin-right:120px}.reordering .menu-item-depth-9{margin-right:135px}.reordering .menu-item-depth-10{margin-right:150px}.reordering .menu-item-depth-11{margin-right:165px}.reordering .menu-item-depth-0>.menu-item-bar{margin-left:0}.reordering .menu-item-depth-1>.menu-item-bar{margin-left:15px}.reordering .menu-item-depth-2>.menu-item-bar{margin-left:30px}.reordering .menu-item-depth-3>.menu-item-bar{margin-left:45px}.reordering .menu-item-depth-4>.menu-item-bar{margin-left:60px}.reordering .menu-item-depth-5>.menu-item-bar{margin-left:75px}.reordering .menu-item-depth-6>.menu-item-bar{margin-left:90px}.reordering .menu-item-depth-7>.menu-item-bar{margin-left:105px}.reordering .menu-item-depth-8>.menu-item-bar{margin-left:120px}.reordering .menu-item-depth-9>.menu-item-bar{margin-left:135px}.reordering .menu-item-depth-10>.menu-item-bar{margin-left:150px}.reordering .menu-item-depth-11>.menu-item-bar{margin-left:165px}.control-section-nav_menu .menu .menu-item-edit-active{margin-right:0}.control-section-nav_menu .menu .menu-item-edit-active .menu-item-bar{margin-left:0}.control-section-nav_menu .menu .sortable-placeholder{margin-top:0;margin-bottom:1px;max-width:-webkit-calc(100% - 2px);max-width:calc(100% - 2px);float:right;display:list-item;border-color:#a0a5aa}.menu-item-transport li.customize-control{float:none}.control-section-nav_menu .menu ul.menu-item-transport .menu-item-bar{margin-top:0}.wp-full-overlay-main{left:auto;width:100%}.adding-menu-items .control-section{opacity:.4}.adding-menu-items .control-panel.control-section,.adding-menu-items .control-section.open{opacity:1}#customize-theme-controls .add-new-menu-item{cursor:pointer;float:left;margin-right:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-menu-item:before{content:"\f132";display:inline-block;position:relative;right:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.add-menu-toggle.open,.add-menu-toggle.open:hover,.adding-menu-items .add-new-menu-item,.adding-menu-items .add-new-menu-item:hover{background:#eee;border-color:#929793;color:#32373c;-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)}#accordion-section-add_menu .add-new-menu-item.open:before,.adding-menu-items .add-new-menu-item:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.menu-item-bar .item-delete{color:#a00;position:absolute;top:2px;left:-19px;width:30px;height:38px;cursor:pointer;display:none}.menu-item-bar .item-delete:before{content:"\f335";font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:9px;right:5px}.ie8 .menu-item-bar .item-delete:before{top:-10px}.menu-item-bar .item-delete:focus,.menu-item-bar .item-delete:hover{color:red}.menu-item-bar .item-delete: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)}.adding-menu-items .menu-item-bar .item-edit{display:none}.adding-menu-items .menu-item-bar .item-delete{display:block}#available-menu-items .item{position:static}#available-menu-items{position:absolute;top:0;bottom:0;right:-301px;visibility:hidden;overflow-x:hidden;overflow-y:auto;width:300px;margin:0;z-index:4;background:#eee;-webkit-transition:right .18s;transition:right .18s;border-left:1px solid #ddd}#available-menu-items.opening{overflow-y:hidden}#available-menu-items #available-menu-items-search.open{height:100%;border-bottom:none}#available-menu-items .accordion-section-title{border-right:none;border-left:none;background:#fff}#available-menu-items #available-menu-items-search .accordion-section-title,#available-menu-items .open .accordion-section-title{background:#eee}#available-menu-items .accordion-section-title:after{content:none!important}#available-menu-items .accordion-section-title .toggle-indicator{display:inline-block;font-size:20px;line-height:1}#available-menu-items .accordion-section-title .toggle-indicator:after{content:'\f140';font:400 20px/1 dashicons;color:#a0a5aa;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#available-menu-items .accordion-section-title:hover .toggle-indicator:after{color:#777}#available-menu-items .open .accordion-section-title .toggle-indicator:after{content:'\f142'}button.not-a-button{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;-webkit-border-radius:0;border-radius:0;outline:0;padding:0;margin:0}#available-menu-items .accordion-section-title button{display:block;width:28px;height:35px;position:absolute;top:5px;left:5px;cursor:pointer}#available-menu-items .accordion-section-title 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)}#available-menu-items .accordion-section-title .no-items,#available-menu-items .cannot-expand .accordion-section-title .spinner,#available-menu-items .cannot-expand .accordion-section-title>button{display:none}#available-menu-items-search.cannot-expand .accordion-section-title .spinner{display:block}#available-menu-items .cannot-expand .accordion-section-title .no-items{display:block;color:#777;font-weight:400;float:left;margin-right:5px}#available-menu-items .accordion-section-content{overflow-y:auto;background:0 0;padding:1px 15px 15px;margin:0;min-height:120px;max-height:290px}#available-menu-items #available-menu-items-search .accordion-section-content{position:absolute;right:1px;top:60px;bottom:0;max-height:none;width:100%;padding:1px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-menu-items .menu-item-tpl{margin:0}#custom-menu-item-name.invalid,#custom-menu-item-url.invalid,.menu-name-field.invalid,.menu-name-field.invalid:focus{border:1px solid red}#available-menu-items .item-tpl{position:relative;padding:20px 60px 20px 15px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-menu-items .item-tpl.selected,#available-menu-items .item-tpl:hover{background:#eee}#available-menu-items .menu-item-handle .item-type{padding-left:0}#available-menu-items .menu-item-handle .item-title{padding-right:20px}#available-menu-items .item-top,#available-menu-items .item-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-menu-items .menu-item-handle{cursor:pointer;-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}#available-menu-items .menu-item-handle:hover{z-index:1}#available-menu-items .item-title h4{padding:0 0 5px;font-size:14px}#available-menu-items .item-add{position:absolute;top:1px;right:1px;color:#82878c;width:30px;height:38px;cursor:pointer}#available-menu-items .menu-item-handle .item-add:focus{color:#23282d;-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)}#available-menu-items .item-add:before{content:"\f543";font:400 20px/1 dashicons;position:relative;right:2px;top:3px}#available-menu-items .menu-item-handle.item-added .item-add:focus,#available-menu-items .menu-item-handle.item-added .item-title,#available-menu-items .menu-item-handle.item-added .item-type,#available-menu-items .menu-item-handle.item-added:hover .item-add{color:#82878c}#available-menu-items .menu-item-handle.item-added .item-add:before{content:"\f147"}#available-menu-items .accordion-section-title.loading .spinner,#available-menu-items-search.loading .accordion-section-title .spinner{visibility:visible;margin:0 20px}#available-menu-items-search .clear-results{position:absolute;top:20px;left:20px;width:20px;height:20px;cursor:pointer;color:#a00;text-decoration:none}#available-menu-items-search .clear-results,#available-menu-items-search.loading .clear-results.is-visible{display:none}#available-menu-items-search .clear-results.is-visible{display:block}#available-menu-items-search .clear-results:before{content:"\f335";font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-menu-items-search .clear-results:focus,#available-menu-items-search .clear-results:hover{color:red}#available-menu-items-search .clear-results:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#available-menu-items-search .clear-results:focus,.menu-delete:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#available-menu-items-search .spinner{position:absolute;top:20px;margin:0!important;left:20px}#available-menu-items-search input{padding:6px 10px;width:100%}#available-menu-items-search .accordion-section-title{padding:12px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-menu-items-search .accordion-section-title:after{display:none}#available-menu-items-search .accordion-section-content:empty{min-height:0;padding:0}#available-menu-items-search.loading .accordion-section-content div{opacity:.5}#available-menu-items-search.loading.loading-more .accordion-section-content div{opacity:1}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-menu-items #available-menu-items{right:0;visibility:visible}body.adding-menu-items .wp-full-overlay-main{right:300px}body.adding-menu-items #customize-preview{opacity:.4}.menu-item-handle .spinner{display:none;float:right;margin:0 0 0 8px}.nav-menu-inserted-item-loading .spinner{display:block}.nav-menu-inserted-item-loading .menu-item-handle .item-type{padding:0 8px 0 0}.added-menu-item .menu-item-handle.loading,.nav-menu-inserted-item-loading .menu-item-handle{padding:10px 8px 10px 15px;cursor:default;opacity:.5;background:#fff;color:#727773}.added-menu-item .menu-item-handle{-webkit-transition-property:opacity,background,color;transition-property:opacity,background,color;-webkit-transition-duration:1.25s;transition-duration:1.25s;-webkit-transition-timing-function:cubic-bezier(.25,-2.5,.75,8);transition-timing-function:cubic-bezier(.25,-2.5,.75,8)}#accordion-section-add_menu{margin:15px 12px}.new-menu-section-content{display:none;padding:15px 0 0;clear:both}#accordion-section-add_menu .accordion-section-title{padding-right:45px}#accordion-section-add_menu .accordion-section-title:before{font:400 20px/1 dashicons;position:absolute;top:12px;right:14px;content:"\f132"}#create-new-menu-submit{float:left;margin:0 0 12px}.menu-delete-item{display:block;float:right;padding:1em 0;width:100%}#available-menu-items .customize-section-title,li.assigned-to-menu-location .menu-delete-item{display:none}li.assigned-to-menu-location .add-new-menu-item{margin-bottom:1em}.menu-delete{color:#a00;cursor:pointer;text-decoration:underline}.menu-delete:focus,.menu-delete:hover{color:red;text-decoration:none}.menu-delete:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.menu-item-handle{margin-top:-1px}.ui-sortable-disabled .menu-item-handle{cursor:default}.menu-item-handle:hover{position:relative;z-index:10;color:#0073aa}#available-menu-items .menu-item-handle:hover .item-add,.menu-item-handle:hover .item-edit,.menu-item-handle:hover .item-type{color:#0073aa}.menu-item-edit-active .menu-item-handle{border-color:#999;border-bottom:none}.customize-control-nav_menu_item{margin-bottom:0}.customize-control-nav_menu{margin-top:12px}@media screen and (max-width:782px){#available-menu-items #available-menu-items-search .accordion-section-content{top:63px}}@media screen and (max-width:640px){body.adding-menu-items div#available-menu-items{top:46px;right:0;z-index:10;width:100%}#available-menu-items #available-menu-items-search .accordion-section-content{top:133px}#available-menu-items .customize-section-title{display:block;margin:0}#available-menu-items .customize-section-back{height:69px}#available-menu-items .customize-section-title h3{font-size:20px;font-weight:200;padding:9px 14px 12px 10px;margin:0;line-height:24px;color:#555;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#available-menu-items .customize-section-title .customize-action{font-size:13px;display:block;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
\ No newline at end of file
diff --git a/wp-admin/css/customize-nav-menus.css b/wp-admin/css/customize-nav-menus.css
new file mode 100644 (file)
index 0000000..7d25c7f
--- /dev/null
@@ -0,0 +1,1091 @@
+#accordion-section-menu_locations {
+       position: relative;
+       margin-bottom: 15px;
+}
+
+.menu-in-location,
+.menu-in-locations {
+       display: block;
+       font-weight: 600;
+       font-size: 10px;
+}
+
+#customize-controls .theme-location-set,
+#customize-controls .control-section .accordion-section-title:focus .menu-in-location,
+#customize-controls .control-section .accordion-section-title:hover .menu-in-location,
+#customize-controls .control-section .accordion-section-title:focus .menu-in-locations,
+#customize-controls .control-section .accordion-section-title:hover .menu-in-locations {
+       color: #555;
+}
+
+.wp-customizer .menu-item-bar .menu-item-handle,
+.wp-customizer .menu-item-settings,
+.wp-customizer .menu-item-settings .description-thin {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.wp-customizer .menu-item-bar {
+       margin: 0;
+}
+
+.wp-customizer .menu-item-bar .menu-item-handle {
+       width: 100%;
+       background: #fff;
+}
+
+.wp-customizer .menu-item-handle .item-title {
+       margin-right: 0;
+}
+
+.wp-customizer .menu-item-handle .item-type {
+       padding: 1px 21px 0 5px;
+       float: right;
+       text-align: right;
+}
+
+.wp-customizer .menu-item-settings {
+       max-width: 100%;
+       overflow: hidden;
+       padding: 10px;
+       background: #eee;
+       border: 1px solid #999;
+       border-top: none;
+}
+
+.wp-customizer .menu-item-settings .description-thin {
+       width: 100%;
+       height: auto;
+       margin: 0 0 8px 0;
+}
+
+.wp-customizer .menu-item-settings input[type="text"] {
+       width: 100%;
+}
+
+.wp-customizer .menu-item-settings .submitbox {
+       margin: 0;
+       padding: 0;
+}
+
+.wp-customizer .menu-item-settings .link-to-original {
+       padding: 5px 0;
+       border: none;
+       font-style: normal;
+       margin: 0;
+       width: 100%;
+}
+
+.wp-customizer .menu-item .submitbox .submitdelete {
+       display: block;
+       float: left;
+       margin: 6px 0 0;
+       padding: 0;
+       cursor: pointer;
+}
+
+.wp-customizer .menu-item .submitbox .submitdelete: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);
+}
+
+/* Menu-item reordering nav. */
+.customize-control-nav_menu .reordering .reorder,
+.customize-control-nav_menu .reorder-done {
+       display: none;
+}
+
+.customize-control-nav_menu .reorder,
+.customize-control-nav_menu .reordering .reorder-done {
+       display: inline-block;
+       padding: 5px 8px;
+}
+
+.menu-item-reorder-nav {
+       display: none;
+       background-color: #fff;
+       position: absolute;
+       top: 0;
+       right: 0;
+}
+
+.customize-control-nav_menu .reordering .add-new-menu-item {
+       opacity: 0.2;
+       pointer-events: none;
+       cursor: not-allowed;
+}
+
+.menu-item-reorder-nav button {
+       position: relative;
+       overflow: hidden;
+       float: left;
+       display: block;
+       width: 30px;
+       height: 40px;
+       color: #82878c;
+       text-indent: -9999px;
+       cursor: pointer;
+       background: transparent;
+       border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       outline: none;
+}
+
+.menu-item-reorder-nav button:before {
+       display: inline-block;
+       position: absolute;
+       top: 0;
+       right: 0;
+       width: 100%;
+       height: 100%;
+       font: normal 20px/40px dashicons;
+       text-align: center;
+       text-indent: 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.menu-item-reorder-nav button:hover,
+.menu-item-reorder-nav button:focus {
+       color: #191e23;
+       background: #eee;
+}
+
+.menus-move-down:before {
+       content: '\f347';
+}
+
+.menus-move-up:before {
+       content: '\f343';
+}
+
+.menus-move-left:before {
+       content: '\f341';
+}
+
+.menus-move-right:before {
+       content: '\f345';
+}
+
+.move-up-disabled .menus-move-up,
+.move-down-disabled .menus-move-down,
+.move-right-disabled .menus-move-right,
+.move-left-disabled .menus-move-left {
+       color: #d5d5d5 !important;
+       background-color: #fff !important;
+       cursor: default;
+       pointer-events: none;
+}
+
+.menu-item-reorder-nav:before {
+       content: "";
+       display: block;
+       position: absolute;
+       left: -10px;
+       width: 10px;
+       height: 40px;
+       background: -webkit-linear-gradient(left, rgba(250,250,250,0) 0%,rgba(250,250,250,1) 100%);
+       background: -webkit-gradient(linear, left top, right top, from(rgba(250,250,250,0)), to(rgba(250,250,250,1)));
+       background: -webkit-linear-gradient(left, rgba(250,250,250,0) 0%, rgba(250,250,250,1) 100%);
+       background: linear-gradient(to right, rgba(250,250,250,0) 0%,rgba(250,250,250,1) 100%);
+}
+
+.reordering .menu-item .item-controls,
+.reordering .menu-item .item-type {
+       display: none;
+}
+
+.reordering .menu-item-reorder-nav {
+       display: block;
+}
+
+.customize-control input.menu-name-field {
+       width: 100%; /* Override the 98% default for customizer inputs, to align with the size of menu items. */
+       margin: 12px 0;
+}
+
+.wp-customizer .menu-item .item-edit {
+       position: absolute;
+       right: -19px;
+       top: 2px;
+       display: block;
+       width: 30px;
+       height: 38px;
+       margin-right: 0 !important;
+       outline: none;
+       overflow: hidden;
+       cursor: pointer;
+}
+
+.customize-control-nav_menu_item .item-edit:focus {
+       color: #0073aa;
+       -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);
+}
+
+/* rework the arrow indicator implementation for NVDA bug same as #32715 */
+.wp-customizer .menu-item .item-edit .toggle-indicator {
+       display: inline-block;
+       font-size: 20px;
+       line-height: 1;
+}
+
+.wp-customizer .menu-item .item-edit .toggle-indicator:after {
+       content: '\f140';
+       font: normal 20px/1 dashicons;
+       color: #a0a5aa;
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       text-decoration: none !important;
+}
+
+.wp-customizer .menu-item.menu-item-edit-active .item-edit .toggle-indicator:after {
+       content: '\f142';
+}
+
+.wp-customizer .menu-item-settings p.description {
+       font-style: normal;
+}
+
+.wp-customizer .menu-settings dl {
+       margin: 12px 0 0 0;
+       padding: 0;
+}
+
+.wp-customizer .menu-settings .checkbox-input {
+       margin-top: 8px;
+}
+
+.wp-customizer .menu-settings .menu-theme-locations {
+       border-top: 1px solid #ccc;
+}
+
+.wp-customizer .menu-settings {
+       margin-top: 36px;
+       border-top: none;
+}
+
+.menu-settings .customize-control-checkbox label {
+       line-height: 1;
+}
+
+/* @todo update selector or potentially remove */
+.menu-settings .customize-control.customize-control-checkbox {
+       margin-bottom: 8px; /* Override collapsing at smaller viewports. */
+}
+
+.customize-control-menu {
+       margin-top: 4px;
+}
+
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle {
+       color: #555;
+}
+
+/* Screen Options */
+.customize-screen-options-toggle {
+       background: none;
+       border: none;
+       color: #555;
+       cursor: pointer;
+       margin: 0;
+       padding: 20px;
+       position: absolute;
+       right: 0;
+       top: 30px;
+}
+
+#customize-controls .customize-info .customize-help-toggle {
+       padding: 20px;
+}
+
+#customize-controls .customize-info .customize-help-toggle:before {
+       padding: 4px;
+}
+
+.customize-screen-options-toggle:hover,
+.customize-screen-options-toggle:active,
+.customize-screen-options-toggle:focus,
+.active-menu-screen-options .customize-screen-options-toggle,
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:hover,
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:active,
+#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:focus {
+       color: #0073aa;
+}
+
+.customize-screen-options-toggle:focus,
+#customize-controls .customize-info .customize-help-toggle:focus {
+       outline: none;
+}
+
+.customize-screen-options-toggle:before {
+       -moz-osx-font-smoothing: grayscale;
+       border: none;
+       content: "\f111";
+       display: block;
+       font: 18px/1 "dashicons";
+       padding: 5px;
+       text-align: center;
+       text-decoration: none !important;
+       text-indent: 0;
+       left: 6px;
+       position: absolute;
+       top: 6px;
+}
+
+.customize-screen-options-toggle:focus:before,
+#customize-controls .customize-info .customize-help-toggle:focus:before {
+       -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);
+       -webkit-border-radius: 100%;
+       border-radius: 100%;
+}
+
+.wp-customizer #screen-options-wrap {
+       display: none;
+       background: #fff;
+       border-top: 1px solid #ddd;
+       padding: 4px 15px 0;
+}
+
+.wp-customizer .metabox-prefs label {
+       display: block;
+       padding-right: 0;
+       line-height: 30px;
+}
+
+#accordion-panel-nav_menus .field-link-target,
+#accordion-panel-nav_menus .field-attr-title,
+#accordion-panel-nav_menus .field-css-classes,
+#accordion-panel-nav_menus .field-xfn,
+#accordion-panel-nav_menus .field-description {
+       display: none;
+}
+
+#accordion-panel-nav_menus.field-link-target-active .field-link-target,
+#accordion-panel-nav_menus.field-attr-title-active .field-attr-title,
+#accordion-panel-nav_menus.field-css-classes-active .field-css-classes,
+#accordion-panel-nav_menus.field-xfn-active .field-xfn,
+#accordion-panel-nav_menus.field-description-active .field-description {
+       display: block;
+}
+
+/* WARNING: The 20px factor is hard-coded in JS. */
+.menu-item-depth-0  { margin-left: 0;     }
+.menu-item-depth-1  { margin-left: 20px;  }
+.menu-item-depth-2  { margin-left: 40px;  }
+.menu-item-depth-3  { margin-left: 60px;  }
+.menu-item-depth-4  { margin-left: 80px;  }
+.menu-item-depth-5  { margin-left: 100px; }
+.menu-item-depth-6  { margin-left: 120px; }
+.menu-item-depth-7  { margin-left: 140px; }
+.menu-item-depth-8  { margin-left: 160px; } /* Not likely to be used or useful beyond this depth */
+.menu-item-depth-9  { margin-left: 180px; }
+.menu-item-depth-10 { margin-left: 200px; }
+.menu-item-depth-11 { margin-left: 220px; }
+
+/* @todo handle .menu-item-settings width */
+.menu-item-depth-0  > .menu-item-bar { margin-right: 0;     }
+.menu-item-depth-1  > .menu-item-bar { margin-right: 20px;  }
+.menu-item-depth-2  > .menu-item-bar { margin-right: 40px;  }
+.menu-item-depth-3  > .menu-item-bar { margin-right: 60px;  }
+.menu-item-depth-4  > .menu-item-bar { margin-right: 80px;  }
+.menu-item-depth-5  > .menu-item-bar { margin-right: 100px; }
+.menu-item-depth-6  > .menu-item-bar { margin-right: 120px; }
+.menu-item-depth-7  > .menu-item-bar { margin-right: 140px; }
+.menu-item-depth-8  > .menu-item-bar { margin-right: 160px; }
+.menu-item-depth-9  > .menu-item-bar { margin-right: 180px; }
+.menu-item-depth-10 > .menu-item-bar { margin-right: 200px; }
+.menu-item-depth-11 > .menu-item-bar { margin-right: 220px; }
+
+/* Submenu left margin. */
+.menu-item-depth-0  .menu-item-transport { margin-left: 0;      }
+.menu-item-depth-1  .menu-item-transport { margin-left: -20px;  }
+.menu-item-depth-3  .menu-item-transport { margin-left: -60px;  }
+.menu-item-depth-4  .menu-item-transport { margin-left: -80px;  }
+.menu-item-depth-2  .menu-item-transport { margin-left: -40px;  }
+.menu-item-depth-5  .menu-item-transport { margin-left: -100px; }
+.menu-item-depth-6  .menu-item-transport { margin-left: -120px; }
+.menu-item-depth-7  .menu-item-transport { margin-left: -140px; }
+.menu-item-depth-8  .menu-item-transport { margin-left: -160px; }
+.menu-item-depth-9  .menu-item-transport { margin-left: -180px; }
+.menu-item-depth-10 .menu-item-transport { margin-left: -200px; }
+.menu-item-depth-11 .menu-item-transport { margin-left: -220px; }
+
+/* WARNING: The 20px factor is hard-coded in JS. */
+.reordering .menu-item-depth-0  { margin-left: 0;     }
+.reordering .menu-item-depth-1  { margin-left: 15px;  }
+.reordering .menu-item-depth-2  { margin-left: 30px;  }
+.reordering .menu-item-depth-3  { margin-left: 45px;  }
+.reordering .menu-item-depth-4  { margin-left: 60px;  }
+.reordering .menu-item-depth-5  { margin-left: 75px;  }
+.reordering .menu-item-depth-6  { margin-left: 90px;  }
+.reordering .menu-item-depth-7  { margin-left: 105px; }
+.reordering .menu-item-depth-8  { margin-left: 120px; } /* Not likely to be used or useful beyond this depth */
+.reordering .menu-item-depth-9  { margin-left: 135px; }
+.reordering .menu-item-depth-10 { margin-left: 150px; }
+.reordering .menu-item-depth-11 { margin-left: 165px; }
+
+.reordering .menu-item-depth-0  > .menu-item-bar { margin-right: 0;     }
+.reordering .menu-item-depth-1  > .menu-item-bar { margin-right: 15px;  }
+.reordering .menu-item-depth-2  > .menu-item-bar { margin-right: 30px;  }
+.reordering .menu-item-depth-3  > .menu-item-bar { margin-right: 45px;  }
+.reordering .menu-item-depth-4  > .menu-item-bar { margin-right: 60px;  }
+.reordering .menu-item-depth-5  > .menu-item-bar { margin-right: 75px;  }
+.reordering .menu-item-depth-6  > .menu-item-bar { margin-right: 90px;  }
+.reordering .menu-item-depth-7  > .menu-item-bar { margin-right: 105px; }
+.reordering .menu-item-depth-8  > .menu-item-bar { margin-right: 120px; }
+.reordering .menu-item-depth-9  > .menu-item-bar { margin-right: 135px; }
+.reordering .menu-item-depth-10 > .menu-item-bar { margin-right: 150px; }
+.reordering .menu-item-depth-11 > .menu-item-bar { margin-right: 165px; }
+
+.control-section-nav_menu .menu .menu-item-edit-active {
+       margin-left: 0;
+}
+
+.control-section-nav_menu .menu .menu-item-edit-active .menu-item-bar {
+       margin-right: 0;
+}
+
+.control-section-nav_menu .menu .sortable-placeholder {
+       margin-top: 0;
+       margin-bottom: 1px;
+       max-width: -webkit-calc(100% - 2px);
+       max-width: calc(100% - 2px);
+       float: left;
+       display: list-item;
+       border-color: #a0a5aa;
+}
+
+.menu-item-transport li.customize-control {
+       float: none;
+}
+
+.control-section-nav_menu .menu ul.menu-item-transport .menu-item-bar {
+       margin-top: 0;
+}
+
+/*
+ * Add-menu-items mode.
+ */
+.wp-full-overlay-main {
+       right: auto; /* This overrides a right: 0; which causes the preview to resize rather than slide off screen at the normal size. */
+       width: 100%;
+}
+
+.adding-menu-items .control-section {
+       opacity: .4;
+}
+
+.adding-menu-items .control-panel.control-section,
+.adding-menu-items .control-section.open {
+       opacity: 1;
+}
+
+/* Add-new button. */
+#customize-theme-controls .add-new-menu-item {
+       cursor: pointer;
+       float: right;
+       margin-left: 10px;
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+       outline: none;
+}
+
+.add-new-menu-item:before {
+       content: "\f132";
+       display: inline-block;
+       position: relative;
+       left: -2px;
+       top: -1px;
+       font: normal 20px/1 'dashicons';
+       vertical-align: middle;
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.adding-menu-items .add-new-menu-item,
+.adding-menu-items .add-new-menu-item:hover,
+.add-menu-toggle.open,
+.add-menu-toggle.open:hover {
+       background: #eee;
+       border-color: #929793;
+       color: #32373c;
+       -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
+       box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
+}
+
+.adding-menu-items .add-new-menu-item:before,
+#accordion-section-add_menu .add-new-menu-item.open:before {
+       -webkit-transform: rotate(45deg);
+       -ms-transform: rotate(45deg);
+       transform: rotate(45deg);
+}
+
+.menu-item-bar .item-delete {
+       color: #a00;
+       position: absolute;
+       top: 2px;
+       right: -19px;
+       width: 30px;
+       height: 38px;
+       cursor: pointer;
+       display: none;
+}
+
+.menu-item-bar .item-delete:before {
+       content: "\f335";
+       font: normal 20px/1 dashicons;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       position: absolute;
+       top: 9px;
+       left: 5px;
+}
+
+.ie8 .menu-item-bar .item-delete:before {
+       top: -10px;
+}
+
+.menu-item-bar .item-delete:hover,
+.menu-item-bar .item-delete:focus {
+       color: #f00;
+}
+
+.menu-item-bar .item-delete: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);
+}
+
+.adding-menu-items .menu-item-bar .item-edit {
+       display: none;
+}
+
+.adding-menu-items .menu-item-bar .item-delete {
+       display: block;
+}
+
+#available-menu-items .item {
+       position: static;
+}
+
+#available-menu-items {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       left: -301px;
+       visibility: hidden;
+       overflow-x: hidden;
+       overflow-y: auto;
+       width: 300px;
+       margin: 0;
+       z-index: 4;
+       background: #eee;
+       -webkit-transition: left .18s;
+       transition: left .18s;
+       border-right: 1px solid #ddd;
+}
+
+#available-menu-items.opening {
+       overflow-y: hidden; /* avoid scrollbar jitter with animating heights */
+}
+
+#available-menu-items #available-menu-items-search.open {
+       height: 100%;
+       border-bottom: none;
+}
+
+#available-menu-items .accordion-section-title {
+       border-left: none;
+       border-right: none;
+       background: #fff;
+}
+
+#available-menu-items .open .accordion-section-title,
+#available-menu-items #available-menu-items-search .accordion-section-title {
+       background: #eee;
+}
+
+/* rework the arrow indicator implementation for NVDA bug see #32715 */
+#available-menu-items .accordion-section-title:after {
+       content: none !important;
+}
+
+#available-menu-items .accordion-section-title .toggle-indicator {
+       display: inline-block;
+       font-size: 20px;
+       line-height: 1;
+}
+
+#available-menu-items .accordion-section-title .toggle-indicator:after {
+       content: '\f140';
+       font: normal 20px/1 'dashicons';
+       color: #a0a5aa;
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       text-decoration: none !important;
+}
+
+#available-menu-items .accordion-section-title:hover .toggle-indicator:after {
+       color: #777;
+}
+
+#available-menu-items .open .accordion-section-title .toggle-indicator:after {
+       content: '\f142';
+}
+
+#available-menu-items .accordion-section-content {
+       overflow-y: auto;
+       max-height: 200px; /* This gets set in JS to fit the screen size, and based on # of sections. */
+       background: transparent;
+}
+
+button.not-a-button {
+       background: transparent;
+       border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       outline: 0;
+       padding: 0;
+       margin: 0;
+}
+
+#available-menu-items .accordion-section-title button {
+       display: block;
+       width: 28px;
+       height: 35px;
+       position: absolute;
+       top: 5px;
+       right: 5px;
+       cursor: pointer;
+}
+
+#available-menu-items .accordion-section-title 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);
+}
+
+#available-menu-items .accordion-section-title .no-items,
+#available-menu-items .cannot-expand .accordion-section-title .spinner,
+#available-menu-items .cannot-expand .accordion-section-title > button {
+       display: none;
+}
+
+#available-menu-items-search.cannot-expand .accordion-section-title .spinner {
+       display: block;
+}
+
+#available-menu-items .cannot-expand .accordion-section-title .no-items {
+       display: block;
+       color: #777;
+       font-weight: normal;
+       float: right;
+       margin-left: 5px;
+}
+
+#available-menu-items .accordion-section-content {
+       padding: 1px 15px 15px 15px;
+       margin: 0;
+       min-height: 120px;
+       max-height: 290px;
+}
+
+#available-menu-items #available-menu-items-search .accordion-section-content {
+       position: absolute;
+       left: 1px;
+       top: 60px; /* below title div / search input */
+       bottom: 0px; /* 100% height that still triggers lazy load */
+       max-height: none;
+       width: 100%;
+       padding: 1px 15px 15px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+#available-menu-items .menu-item-tpl {
+       margin: 0;
+}
+
+#custom-menu-item-name.invalid,
+#custom-menu-item-url.invalid,
+.menu-name-field.invalid,
+.menu-name-field.invalid:focus {
+       border: 1px solid #f00;
+}
+
+#available-menu-items .item-tpl {
+       position: relative;
+       padding: 20px 15px 20px 60px;
+       border-bottom: 1px solid #e4e4e4;
+       cursor: pointer;
+       display: none;
+}
+
+#available-menu-items .item-tpl:hover,
+#available-menu-items .item-tpl.selected {
+       background: #eee;
+}
+
+#available-menu-items .menu-item-handle .item-type {
+       padding-right: 0;
+}
+
+#available-menu-items .menu-item-handle .item-title {
+       padding-left: 20px;
+}
+
+#available-menu-items .menu-item-handle {
+       cursor: pointer;
+}
+
+#available-menu-items .item-top,
+#available-menu-items .item-top:hover {
+       border: none;
+       background: transparent;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+#available-menu-items .menu-item-handle {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       margin-top: -1px;
+}
+
+#available-menu-items .menu-item-handle:hover {
+       z-index: 1;
+}
+
+#available-menu-items .item-title h4 {
+       padding: 0 0 5px;
+       font-size: 14px;
+}
+
+#available-menu-items .item-add {
+       position: absolute;
+       top: 1px;
+       left: 1px;
+       color: #82878c;
+       width: 30px;
+       height: 38px;
+       cursor: pointer;
+}
+
+#available-menu-items .menu-item-handle .item-add:focus {
+       color: #23282d;
+       -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);
+}
+
+#available-menu-items .item-add:before {
+       content: "\f543";
+       font: normal 20px/1 dashicons;
+       position: relative;
+       left: 2px;
+       top: 3px;
+}
+
+#available-menu-items .menu-item-handle.item-added .item-type,
+#available-menu-items .menu-item-handle.item-added .item-title,
+#available-menu-items .menu-item-handle.item-added:hover .item-add,
+#available-menu-items .menu-item-handle.item-added .item-add:focus {
+       color: #82878c;
+}
+
+#available-menu-items .menu-item-handle.item-added .item-add:before {
+       content: "\f147";
+}
+
+#available-menu-items .accordion-section-title.loading .spinner,
+#available-menu-items-search.loading .accordion-section-title .spinner {
+       visibility: visible;
+       margin: 0 20px;
+}
+
+#available-menu-items-search .clear-results {
+       position: absolute;
+       top: 20px;
+       right: 20px;
+       width: 20px;
+       height: 20px;
+       cursor: pointer;
+       color: #a00;
+       text-decoration: none;
+}
+
+#available-menu-items-search .clear-results,
+#available-menu-items-search.loading .clear-results.is-visible {
+       display: none;
+}
+
+#available-menu-items-search .clear-results.is-visible {
+       display: block;
+}
+
+#available-menu-items-search .clear-results:before {
+       content: "\f335";
+       font: normal 20px/1 dashicons;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+#available-menu-items-search .clear-results:hover,
+#available-menu-items-search .clear-results:focus {
+       color: #f00;
+}
+
+#available-menu-items-search .clear-results: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);
+}
+
+#available-menu-items-search .spinner {
+       position: absolute;
+       top: 20px;
+       margin: 0 !important;
+       right: 20px;
+}
+
+#available-menu-items-search input {
+       padding: 6px 10px;
+       width: 100%;
+}
+
+#available-menu-items-search .accordion-section-title {
+       padding: 12px 15px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+#available-menu-items-search .accordion-section-title:after {
+       display: none;
+}
+
+#available-menu-items-search .accordion-section-content:empty {
+       min-height: 0;
+       padding: 0;
+}
+
+#available-menu-items-search.loading .accordion-section-content div {
+       opacity: .5;
+}
+
+#available-menu-items-search.loading.loading-more .accordion-section-content div {
+       opacity: 1;
+}
+
+#customize-preview {
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+}
+
+body.adding-menu-items #available-menu-items {
+       left: 0;
+       visibility: visible;
+}
+
+body.adding-menu-items .wp-full-overlay-main {
+       left: 300px;
+}
+
+body.adding-menu-items #customize-preview {
+       opacity: 0.4;
+}
+
+.menu-item-handle .spinner {
+       display: none;
+       float: left;
+       margin: 0 8px 0 0;
+}
+
+.nav-menu-inserted-item-loading .spinner {
+       display: block;
+}
+
+.nav-menu-inserted-item-loading .menu-item-handle .item-type {
+       padding: 0 0 0 8px;
+}
+
+.nav-menu-inserted-item-loading .menu-item-handle,
+.added-menu-item .menu-item-handle.loading {
+       padding: 10px 15px 10px 8px;
+       cursor: default;
+       opacity: .5;
+       background: #fff;
+       color: #727773;
+}
+
+.added-menu-item .menu-item-handle {
+       -webkit-transition-property: opacity, background, color;
+       transition-property: opacity, background, color;
+       -webkit-transition-duration: 1.25s;
+       transition-duration: 1.25s;
+       -webkit-transition-timing-function: cubic-bezier( .25, -2.5, .75, 8 );
+       transition-timing-function: cubic-bezier( .25, -2.5, .75, 8 ); /* Replacement for .hide().fadeIn('slow') in JS to add emphasis when it's loaded. */
+}
+
+/* Add/delete Menus */
+
+/* @todo update selector */
+#accordion-section-add_menu {
+       margin: 15px 12px;
+}
+
+.new-menu-section-content {
+       display: none;
+       padding: 15px 0 0 0;
+       clear: both;
+}
+
+/* @todo update selector */
+#accordion-section-add_menu .accordion-section-title {
+       padding-left: 45px;
+}
+
+/* @todo update selector */
+#accordion-section-add_menu .accordion-section-title:before {
+       font: normal 20px/1 dashicons;
+       position: absolute;
+       top: 12px;
+       left: 14px;
+       content: "\f132";
+}
+
+#create-new-menu-submit {
+       float: right;
+       margin: 0 0 12px 0;
+}
+
+.menu-delete-item {
+       display: block;
+       float: left;
+       padding: 1em 0;
+       width: 100%;
+}
+
+li.assigned-to-menu-location .menu-delete-item {
+  display: none;
+}
+
+li.assigned-to-menu-location .add-new-menu-item {
+  margin-bottom: 1em;
+}
+
+.menu-delete {
+       color: #a00;
+       cursor: pointer;
+       text-decoration: underline;
+}
+
+.menu-delete:hover,
+.menu-delete:focus {
+       color: #f00;
+       text-decoration: none;
+}
+
+.menu-delete: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);
+}
+
+.menu-item-handle {
+       margin-top: -1px;
+}
+.ui-sortable-disabled .menu-item-handle {
+       cursor: default;
+}
+
+.menu-item-handle:hover {
+       position: relative;
+       z-index: 10;
+       color: #0073aa;
+}
+
+.menu-item-handle:hover .item-type,
+.menu-item-handle:hover .item-edit,
+#available-menu-items .menu-item-handle:hover .item-add {
+       color: #0073aa;
+}
+
+.menu-item-edit-active .menu-item-handle {
+       border-color: #999;
+       border-bottom: none;
+}
+
+.customize-control-nav_menu_item {
+       margin-bottom: 0;
+}
+
+.customize-control-nav_menu {
+       margin-top: 12px;
+}
+
+#available-menu-items .customize-section-title {
+       display: none;
+}
+
+@media screen and ( max-width: 782px ) {
+       #available-menu-items #available-menu-items-search .accordion-section-content {
+               top: 63px;
+       }
+}
+
+@media screen and ( max-width: 640px ) {
+       body.adding-menu-items div#available-menu-items {
+               top: 46px;
+               left: 0;
+               z-index: 10;
+               width: 100%;
+       }
+
+       #available-menu-items #available-menu-items-search .accordion-section-content {
+               top: 133px;
+       }
+
+       #available-menu-items .customize-section-title {
+               display: block;
+               margin: 0;
+       }
+
+       #available-menu-items .customize-section-back {
+               height: 69px;
+       }
+
+       #available-menu-items .customize-section-title h3 {
+               font-size: 20px;
+               font-weight: 200;
+               padding: 9px 10px 12px 14px;
+               margin: 0;
+               line-height: 24px;
+               color: #555;
+               display: block;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
+       #available-menu-items .customize-section-title .customize-action {
+               font-size: 13px;
+               display: block;
+               font-weight: 400;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+}
diff --git a/wp-admin/css/customize-nav-menus.min.css b/wp-admin/css/customize-nav-menus.min.css
new file mode 100644 (file)
index 0000000..1702fba
--- /dev/null
@@ -0,0 +1 @@
+#accordion-section-menu_locations{position:relative;margin-bottom:15px}.menu-in-location,.menu-in-locations{display:block;font-weight:600;font-size:10px}#customize-controls .control-section .accordion-section-title:focus .menu-in-location,#customize-controls .control-section .accordion-section-title:focus .menu-in-locations,#customize-controls .control-section .accordion-section-title:hover .menu-in-location,#customize-controls .control-section .accordion-section-title:hover .menu-in-locations,#customize-controls .theme-location-set{color:#555}.wp-customizer .menu-item-bar .menu-item-handle,.wp-customizer .menu-item-settings,.wp-customizer .menu-item-settings .description-thin{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-customizer .menu-item-bar{margin:0}.wp-customizer .menu-item-bar .menu-item-handle{width:100%;background:#fff}.wp-customizer .menu-item-handle .item-title{margin-right:0}.wp-customizer .menu-item-handle .item-type{padding:1px 21px 0 5px;float:right;text-align:right}.wp-customizer .menu-item-settings{max-width:100%;overflow:hidden;padding:10px;background:#eee;border:1px solid #999;border-top:none}.wp-customizer .menu-item-settings .description-thin{width:100%;height:auto;margin:0 0 8px}.wp-customizer .menu-item-settings input[type=text]{width:100%}.wp-customizer .menu-item-settings .submitbox{margin:0;padding:0}.wp-customizer .menu-item-settings .link-to-original{padding:5px 0;border:none;font-style:normal;margin:0;width:100%}.wp-customizer .menu-item .submitbox .submitdelete{display:block;float:left;margin:6px 0 0;padding:0;cursor:pointer}.wp-customizer .menu-item .submitbox .submitdelete: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)}.customize-control-nav_menu .reorder-done,.customize-control-nav_menu .reordering .reorder{display:none}.customize-control-nav_menu .reorder,.customize-control-nav_menu .reordering .reorder-done{display:inline-block;padding:5px 8px}.menu-item-reorder-nav{display:none;background-color:#fff;position:absolute;top:0;right:0}.customize-control-nav_menu .reordering .add-new-menu-item{opacity:.2;pointer-events:none;cursor:not-allowed}.menu-item-reorder-nav button{position:relative;overflow:hidden;float:left;display:block;width:30px;height:40px;color:#82878c;text-indent:-9999px;cursor:pointer;background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.menu-item-reorder-nav button:before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:400 20px/40px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.menu-item-reorder-nav button:focus,.menu-item-reorder-nav button:hover{color:#191e23;background:#eee}.menus-move-down:before{content:'\f347'}.menus-move-up:before{content:'\f343'}.menus-move-left:before{content:'\f341'}.menus-move-right:before{content:'\f345'}.move-down-disabled .menus-move-down,.move-left-disabled .menus-move-left,.move-right-disabled .menus-move-right,.move-up-disabled .menus-move-up{color:#d5d5d5!important;background-color:#fff!important;cursor:default;pointer-events:none}.menu-item-reorder-nav:before{content:"";display:block;position:absolute;left:-10px;width:10px;height:40px;background:-webkit-linear-gradient(left,rgba(250,250,250,0) 0,rgba(250,250,250,1) 100%);background:-webkit-gradient(linear,left top,right top,from(rgba(250,250,250,0)),to(rgba(250,250,250,1)));background:-webkit-linear-gradient(left,rgba(250,250,250,0) 0,rgba(250,250,250,1) 100%);background:linear-gradient(to right,rgba(250,250,250,0) 0,rgba(250,250,250,1) 100%)}.reordering .menu-item .item-controls,.reordering .menu-item .item-type{display:none}.reordering .menu-item-reorder-nav{display:block}.customize-control input.menu-name-field{width:100%;margin:12px 0}.wp-customizer .menu-item .item-edit{position:absolute;right:-19px;top:2px;display:block;width:30px;height:38px;margin-right:0!important;outline:0;overflow:hidden;cursor:pointer}.customize-control-nav_menu_item .item-edit:focus{color:#0073aa;-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)}.wp-customizer .menu-item .item-edit .toggle-indicator{display:inline-block;font-size:20px;line-height:1}.wp-customizer .menu-item .item-edit .toggle-indicator:after{content:'\f140';font:400 20px/1 dashicons;color:#a0a5aa;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.wp-customizer .menu-item.menu-item-edit-active .item-edit .toggle-indicator:after{content:'\f142'}.wp-customizer .menu-item-settings p.description{font-style:normal}.wp-customizer .menu-settings dl{margin:12px 0 0;padding:0}.wp-customizer .menu-settings .checkbox-input{margin-top:8px}.wp-customizer .menu-settings .menu-theme-locations{border-top:1px solid #ccc}.wp-customizer .menu-settings{margin-top:36px;border-top:none}.menu-settings .customize-control-checkbox label{line-height:1}.menu-settings .customize-control.customize-control-checkbox{margin-bottom:8px}.customize-control-menu{margin-top:4px}#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle{color:#555}.customize-screen-options-toggle{background:0 0;border:none;color:#555;cursor:pointer;margin:0;padding:20px;position:absolute;right:0;top:30px}#customize-controls .customize-info .customize-help-toggle{padding:20px}#customize-controls .customize-info .customize-help-toggle:before{padding:4px}#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:active,#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:focus,#customize-controls .customize-info.open.active-menu-screen-options .customize-help-toggle:hover,.active-menu-screen-options .customize-screen-options-toggle,.customize-screen-options-toggle:active,.customize-screen-options-toggle:focus,.customize-screen-options-toggle:hover{color:#0073aa}#customize-controls .customize-info .customize-help-toggle:focus,.customize-screen-options-toggle:focus{outline:0}.customize-screen-options-toggle:before{-moz-osx-font-smoothing:grayscale;border:none;content:"\f111";display:block;font:18px/1 dashicons;padding:5px;text-align:center;text-decoration:none!important;text-indent:0;left:6px;position:absolute;top:6px}#customize-controls .customize-info .customize-help-toggle:focus:before,.customize-screen-options-toggle:focus:before{-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);-webkit-border-radius:100%;border-radius:100%}.wp-customizer #screen-options-wrap{display:none;background:#fff;border-top:1px solid #ddd;padding:4px 15px 0}.wp-customizer .metabox-prefs label{display:block;padding-right:0;line-height:30px}#accordion-panel-nav_menus .field-attr-title,#accordion-panel-nav_menus .field-css-classes,#accordion-panel-nav_menus .field-description,#accordion-panel-nav_menus .field-link-target,#accordion-panel-nav_menus .field-xfn{display:none}#accordion-panel-nav_menus.field-attr-title-active .field-attr-title,#accordion-panel-nav_menus.field-css-classes-active .field-css-classes,#accordion-panel-nav_menus.field-description-active .field-description,#accordion-panel-nav_menus.field-link-target-active .field-link-target,#accordion-panel-nav_menus.field-xfn-active .field-xfn{display:block}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:20px}.menu-item-depth-2{margin-left:40px}.menu-item-depth-3{margin-left:60px}.menu-item-depth-4{margin-left:80px}.menu-item-depth-5{margin-left:100px}.menu-item-depth-6{margin-left:120px}.menu-item-depth-7{margin-left:140px}.menu-item-depth-8{margin-left:160px}.menu-item-depth-9{margin-left:180px}.menu-item-depth-10{margin-left:200px}.menu-item-depth-11{margin-left:220px}.menu-item-depth-0>.menu-item-bar{margin-right:0}.menu-item-depth-1>.menu-item-bar{margin-right:20px}.menu-item-depth-2>.menu-item-bar{margin-right:40px}.menu-item-depth-3>.menu-item-bar{margin-right:60px}.menu-item-depth-4>.menu-item-bar{margin-right:80px}.menu-item-depth-5>.menu-item-bar{margin-right:100px}.menu-item-depth-6>.menu-item-bar{margin-right:120px}.menu-item-depth-7>.menu-item-bar{margin-right:140px}.menu-item-depth-8>.menu-item-bar{margin-right:160px}.menu-item-depth-9>.menu-item-bar{margin-right:180px}.menu-item-depth-10>.menu-item-bar{margin-right:200px}.menu-item-depth-11>.menu-item-bar{margin-right:220px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-20px}.menu-item-depth-3 .menu-item-transport{margin-left:-60px}.menu-item-depth-4 .menu-item-transport{margin-left:-80px}.menu-item-depth-2 .menu-item-transport{margin-left:-40px}.menu-item-depth-5 .menu-item-transport{margin-left:-100px}.menu-item-depth-6 .menu-item-transport{margin-left:-120px}.menu-item-depth-7 .menu-item-transport{margin-left:-140px}.menu-item-depth-8 .menu-item-transport{margin-left:-160px}.menu-item-depth-9 .menu-item-transport{margin-left:-180px}.menu-item-depth-10 .menu-item-transport{margin-left:-200px}.menu-item-depth-11 .menu-item-transport{margin-left:-220px}.reordering .menu-item-depth-0{margin-left:0}.reordering .menu-item-depth-1{margin-left:15px}.reordering .menu-item-depth-2{margin-left:30px}.reordering .menu-item-depth-3{margin-left:45px}.reordering .menu-item-depth-4{margin-left:60px}.reordering .menu-item-depth-5{margin-left:75px}.reordering .menu-item-depth-6{margin-left:90px}.reordering .menu-item-depth-7{margin-left:105px}.reordering .menu-item-depth-8{margin-left:120px}.reordering .menu-item-depth-9{margin-left:135px}.reordering .menu-item-depth-10{margin-left:150px}.reordering .menu-item-depth-11{margin-left:165px}.reordering .menu-item-depth-0>.menu-item-bar{margin-right:0}.reordering .menu-item-depth-1>.menu-item-bar{margin-right:15px}.reordering .menu-item-depth-2>.menu-item-bar{margin-right:30px}.reordering .menu-item-depth-3>.menu-item-bar{margin-right:45px}.reordering .menu-item-depth-4>.menu-item-bar{margin-right:60px}.reordering .menu-item-depth-5>.menu-item-bar{margin-right:75px}.reordering .menu-item-depth-6>.menu-item-bar{margin-right:90px}.reordering .menu-item-depth-7>.menu-item-bar{margin-right:105px}.reordering .menu-item-depth-8>.menu-item-bar{margin-right:120px}.reordering .menu-item-depth-9>.menu-item-bar{margin-right:135px}.reordering .menu-item-depth-10>.menu-item-bar{margin-right:150px}.reordering .menu-item-depth-11>.menu-item-bar{margin-right:165px}.control-section-nav_menu .menu .menu-item-edit-active{margin-left:0}.control-section-nav_menu .menu .menu-item-edit-active .menu-item-bar{margin-right:0}.control-section-nav_menu .menu .sortable-placeholder{margin-top:0;margin-bottom:1px;max-width:-webkit-calc(100% - 2px);max-width:calc(100% - 2px);float:left;display:list-item;border-color:#a0a5aa}.menu-item-transport li.customize-control{float:none}.control-section-nav_menu .menu ul.menu-item-transport .menu-item-bar{margin-top:0}.wp-full-overlay-main{right:auto;width:100%}.adding-menu-items .control-section{opacity:.4}.adding-menu-items .control-panel.control-section,.adding-menu-items .control-section.open{opacity:1}#customize-theme-controls .add-new-menu-item{cursor:pointer;float:right;margin-left:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-menu-item:before{content:"\f132";display:inline-block;position:relative;left:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.add-menu-toggle.open,.add-menu-toggle.open:hover,.adding-menu-items .add-new-menu-item,.adding-menu-items .add-new-menu-item:hover{background:#eee;border-color:#929793;color:#32373c;-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)}#accordion-section-add_menu .add-new-menu-item.open:before,.adding-menu-items .add-new-menu-item:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.menu-item-bar .item-delete{color:#a00;position:absolute;top:2px;right:-19px;width:30px;height:38px;cursor:pointer;display:none}.menu-item-bar .item-delete:before{content:"\f335";font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:9px;left:5px}.ie8 .menu-item-bar .item-delete:before{top:-10px}.menu-item-bar .item-delete:focus,.menu-item-bar .item-delete:hover{color:red}.menu-item-bar .item-delete: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)}.adding-menu-items .menu-item-bar .item-edit{display:none}.adding-menu-items .menu-item-bar .item-delete{display:block}#available-menu-items .item{position:static}#available-menu-items{position:absolute;top:0;bottom:0;left:-301px;visibility:hidden;overflow-x:hidden;overflow-y:auto;width:300px;margin:0;z-index:4;background:#eee;-webkit-transition:left .18s;transition:left .18s;border-right:1px solid #ddd}#available-menu-items.opening{overflow-y:hidden}#available-menu-items #available-menu-items-search.open{height:100%;border-bottom:none}#available-menu-items .accordion-section-title{border-left:none;border-right:none;background:#fff}#available-menu-items #available-menu-items-search .accordion-section-title,#available-menu-items .open .accordion-section-title{background:#eee}#available-menu-items .accordion-section-title:after{content:none!important}#available-menu-items .accordion-section-title .toggle-indicator{display:inline-block;font-size:20px;line-height:1}#available-menu-items .accordion-section-title .toggle-indicator:after{content:'\f140';font:400 20px/1 dashicons;color:#a0a5aa;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#available-menu-items .accordion-section-title:hover .toggle-indicator:after{color:#777}#available-menu-items .open .accordion-section-title .toggle-indicator:after{content:'\f142'}button.not-a-button{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;-webkit-border-radius:0;border-radius:0;outline:0;padding:0;margin:0}#available-menu-items .accordion-section-title button{display:block;width:28px;height:35px;position:absolute;top:5px;right:5px;cursor:pointer}#available-menu-items .accordion-section-title 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)}#available-menu-items .accordion-section-title .no-items,#available-menu-items .cannot-expand .accordion-section-title .spinner,#available-menu-items .cannot-expand .accordion-section-title>button{display:none}#available-menu-items-search.cannot-expand .accordion-section-title .spinner{display:block}#available-menu-items .cannot-expand .accordion-section-title .no-items{display:block;color:#777;font-weight:400;float:right;margin-left:5px}#available-menu-items .accordion-section-content{overflow-y:auto;background:0 0;padding:1px 15px 15px;margin:0;min-height:120px;max-height:290px}#available-menu-items #available-menu-items-search .accordion-section-content{position:absolute;left:1px;top:60px;bottom:0;max-height:none;width:100%;padding:1px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-menu-items .menu-item-tpl{margin:0}#custom-menu-item-name.invalid,#custom-menu-item-url.invalid,.menu-name-field.invalid,.menu-name-field.invalid:focus{border:1px solid red}#available-menu-items .item-tpl{position:relative;padding:20px 15px 20px 60px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-menu-items .item-tpl.selected,#available-menu-items .item-tpl:hover{background:#eee}#available-menu-items .menu-item-handle .item-type{padding-right:0}#available-menu-items .menu-item-handle .item-title{padding-left:20px}#available-menu-items .item-top,#available-menu-items .item-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-menu-items .menu-item-handle{cursor:pointer;-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}#available-menu-items .menu-item-handle:hover{z-index:1}#available-menu-items .item-title h4{padding:0 0 5px;font-size:14px}#available-menu-items .item-add{position:absolute;top:1px;left:1px;color:#82878c;width:30px;height:38px;cursor:pointer}#available-menu-items .menu-item-handle .item-add:focus{color:#23282d;-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)}#available-menu-items .item-add:before{content:"\f543";font:400 20px/1 dashicons;position:relative;left:2px;top:3px}#available-menu-items .menu-item-handle.item-added .item-add:focus,#available-menu-items .menu-item-handle.item-added .item-title,#available-menu-items .menu-item-handle.item-added .item-type,#available-menu-items .menu-item-handle.item-added:hover .item-add{color:#82878c}#available-menu-items .menu-item-handle.item-added .item-add:before{content:"\f147"}#available-menu-items .accordion-section-title.loading .spinner,#available-menu-items-search.loading .accordion-section-title .spinner{visibility:visible;margin:0 20px}#available-menu-items-search .clear-results{position:absolute;top:20px;right:20px;width:20px;height:20px;cursor:pointer;color:#a00;text-decoration:none}#available-menu-items-search .clear-results,#available-menu-items-search.loading .clear-results.is-visible{display:none}#available-menu-items-search .clear-results.is-visible{display:block}#available-menu-items-search .clear-results:before{content:"\f335";font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-menu-items-search .clear-results:focus,#available-menu-items-search .clear-results:hover{color:red}#available-menu-items-search .clear-results:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#available-menu-items-search .clear-results:focus,.menu-delete:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#available-menu-items-search .spinner{position:absolute;top:20px;margin:0!important;right:20px}#available-menu-items-search input{padding:6px 10px;width:100%}#available-menu-items-search .accordion-section-title{padding:12px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-menu-items-search .accordion-section-title:after{display:none}#available-menu-items-search .accordion-section-content:empty{min-height:0;padding:0}#available-menu-items-search.loading .accordion-section-content div{opacity:.5}#available-menu-items-search.loading.loading-more .accordion-section-content div{opacity:1}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-menu-items #available-menu-items{left:0;visibility:visible}body.adding-menu-items .wp-full-overlay-main{left:300px}body.adding-menu-items #customize-preview{opacity:.4}.menu-item-handle .spinner{display:none;float:left;margin:0 8px 0 0}.nav-menu-inserted-item-loading .spinner{display:block}.nav-menu-inserted-item-loading .menu-item-handle .item-type{padding:0 0 0 8px}.added-menu-item .menu-item-handle.loading,.nav-menu-inserted-item-loading .menu-item-handle{padding:10px 15px 10px 8px;cursor:default;opacity:.5;background:#fff;color:#727773}.added-menu-item .menu-item-handle{-webkit-transition-property:opacity,background,color;transition-property:opacity,background,color;-webkit-transition-duration:1.25s;transition-duration:1.25s;-webkit-transition-timing-function:cubic-bezier(.25,-2.5,.75,8);transition-timing-function:cubic-bezier(.25,-2.5,.75,8)}#accordion-section-add_menu{margin:15px 12px}.new-menu-section-content{display:none;padding:15px 0 0;clear:both}#accordion-section-add_menu .accordion-section-title{padding-left:45px}#accordion-section-add_menu .accordion-section-title:before{font:400 20px/1 dashicons;position:absolute;top:12px;left:14px;content:"\f132"}#create-new-menu-submit{float:right;margin:0 0 12px}.menu-delete-item{display:block;float:left;padding:1em 0;width:100%}#available-menu-items .customize-section-title,li.assigned-to-menu-location .menu-delete-item{display:none}li.assigned-to-menu-location .add-new-menu-item{margin-bottom:1em}.menu-delete{color:#a00;cursor:pointer;text-decoration:underline}.menu-delete:focus,.menu-delete:hover{color:red;text-decoration:none}.menu-delete:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.menu-item-handle{margin-top:-1px}.ui-sortable-disabled .menu-item-handle{cursor:default}.menu-item-handle:hover{position:relative;z-index:10;color:#0073aa}#available-menu-items .menu-item-handle:hover .item-add,.menu-item-handle:hover .item-edit,.menu-item-handle:hover .item-type{color:#0073aa}.menu-item-edit-active .menu-item-handle{border-color:#999;border-bottom:none}.customize-control-nav_menu_item{margin-bottom:0}.customize-control-nav_menu{margin-top:12px}@media screen and (max-width:782px){#available-menu-items #available-menu-items-search .accordion-section-content{top:63px}}@media screen and (max-width:640px){body.adding-menu-items div#available-menu-items{top:46px;left:0;z-index:10;width:100%}#available-menu-items #available-menu-items-search .accordion-section-content{top:133px}#available-menu-items .customize-section-title{display:block;margin:0}#available-menu-items .customize-section-back{height:69px}#available-menu-items .customize-section-title h3{font-size:20px;font-weight:200;padding:9px 10px 12px 14px;margin:0;line-height:24px;color:#555;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#available-menu-items .customize-section-title .customize-action{font-size:13px;display:block;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
\ No newline at end of file
index 9e1e3752459d791cbfbf3de6ec8fdd9d17115fa1..95c682d3d6ec2feb3c9509b6f0256434c0aacc55 100644 (file)
        display: none;
 }
 
+.control-section.control-section-sidebar .accordion-section-content.ui-sortable {
+       overflow: visible;
+}
+
 .customize-control-widget_form .widget-top {
        -webkit-transition: opacity 0.5s;
        transition: opacity 0.5s;
 
 .reordering .reorder-done {
        display: block;
-       color: #aa0000;
+       color: #0073aa;
+}
+
+.reordering .reorder-done:hover,
+.reordering .reorder-done:active {
+       color: #00a0d2;
 }
 
 #customize-theme-controls .reordering .add-new-widget {
@@ -341,17 +350,23 @@ body.adding-widget .add-new-widget:before {
 
 #available-widgets {
        position: absolute;
-       overflow: auto;
        top: 0;
        bottom: 0;
        right: -301px;
+       visibility: hidden;
+       overflow: auto;
        width: 300px;
        margin: 0;
        z-index: 1;
-       background: #fff !important;
-       -webkit-transition: all 0.2s;
-       transition: all 0.2s;
-       border-left: 1px solid #dddddd;
+       background: #eee !important;
+       -webkit-transition: right .18s;
+       transition: right .18s;
+       border-left: 1px solid #ddd;
+}
+
+.ios #available-widgets {
+       -webkit-transition: right 0s;
+       transition: right 0s;
 }
 
 #available-widgets-list {
@@ -384,6 +399,7 @@ body.adding-widget .add-new-widget:before {
 #available-widgets .widget-tpl {
        position: relative;
        padding: 20px 60px 20px 15px;
+       background: #fff;
        border-bottom: 1px solid #e4e4e4;
        cursor: pointer;
        display: none;
@@ -391,7 +407,8 @@ body.adding-widget .add-new-widget:before {
 
 #available-widgets .widget-tpl:hover,
 #available-widgets .widget-tpl.selected {
-       background: #fafafa;
+       background: #eee;
+       border-bottom-color: #ccc;
 }
 
 #available-widgets .widget-top,
@@ -419,6 +436,7 @@ body.adding-widget .add-new-widget:before {
 
 body.adding-widget #available-widgets {
        right: 0;
+       visibility: visible;
 }
 
 body.adding-widget .wp-full-overlay-main {
@@ -583,9 +601,12 @@ body.adding-widget #customize-preview {
 #available-widgets [class*="tweet"] .widget-title:before,
 #available-widgets [class*="twitter"] .widget-title:before { content: "\f301"; }
 
+#available-widgets .customize-section-title {
+       display: none;
+}
 
 @media screen and (max-height: 700px) and (min-width: 981px) {
-       .customize-control {
+       .customize-control-widget {
                margin-bottom: 0;
        }
        .widget-top {
@@ -628,9 +649,46 @@ body.adding-widget #customize-preview {
                width: 100%;
        }
 
+       #available-widgets .customize-section-title {
+               display: block;
+               margin: 0;
+       }
+
+       #available-widgets .customize-section-back {
+               height: 69px;
+       }
+
+       #available-widgets .customize-section-title h3 {
+               font-size: 20px;
+               font-weight: 200;
+               padding: 9px 14px 12px 10px;
+               margin: 0;
+               line-height: 24px;
+               color: #555;
+               display: block;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
+       #available-widgets .customize-section-title .customize-action {
+               font-size: 13px;
+               display: block;
+               font-weight: 400;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
        #available-widgets-filter {
-               position: static;
+               position: relative;
                width: 100%;
+               background: #fff;
                height: auto;
+               padding: 10px 15px;
+       }
+
+       #available-widgets-list {
+               top: 140px;
        }
 }
index 3aa716a0a1d6abe62de5e795e4a38efa76586296..9d9cc391ca61be958be332de1ecad99f2514d171 100644 (file)
@@ -1 +1 @@
-.wp-full-overlay-sidebar{overflow:visible}.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form .spinner{visibility:hidden;margin-top:0}.customize-control-widget_form.previewer-loading .spinner{visibility:visible}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;right:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f141"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f139"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:left;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:left;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:right;display:block;width:33px;height:43px;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;left:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 42px 15px 15px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;right:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#00a0d2}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:left;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{left:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:left;margin-right:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;right:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#32373c;-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)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;right:-301px;width:300px;margin:0;z-index:1;background:#fff!important;-webkit-transition:all .2s;transition:all .2s;border-left:1px solid #ddd}#available-widgets-list{top:46px;position:absolute;overflow:auto;bottom:0;width:100%}#available-widgets-filter{position:fixed;top:0;z-index:1;width:300px;height:46px;padding:8px 13px 7px 17px;background:#eee;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 60px 20px 15px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{right:0}body.adding-widget .wp-full-overlay-main{right:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;left:100%;margin-left:20px;width:20px;height:20px;color:#32373c;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 42px 11px 15px}#customize-theme-controls .widget-area-select li:before{top:8px}}@media screen and (max-width:640px){body.adding-widget div#available-widgets{top:46px;right:0;z-index:10;width:100%}#available-widgets-filter{position:static;width:100%;height:auto}}
\ No newline at end of file
+.control-section.control-section-sidebar .accordion-section-content.ui-sortable,.wp-full-overlay-sidebar{overflow:visible}#widget-customizer-control-templates,.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label,.customize-control-widget_form .widget-control-save,.reorder-done,.reordering .reorder{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .spinner{visibility:hidden;margin-top:0}.customize-control-widget_form.previewer-loading .spinner{visibility:visible}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;right:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f141"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f139"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}.reorder-toggle{float:left;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reordering .reorder-done{display:block;color:#0073aa}.reordering .reorder-done:active,.reordering .reorder-done:hover{color:#00a0d2}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:left;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:right;display:block;width:33px;height:43px;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;left:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 42px 15px 15px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;right:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets .widget-title:before,.add-new-widget:before{content:"\f132";-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#00a0d2}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:left;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{left:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:left;margin-right:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{display:inline-block;position:relative;right:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#32373c;-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)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;top:0;bottom:0;right:-301px;visibility:hidden;overflow:auto;width:300px;margin:0;z-index:1;background:#eee!important;-webkit-transition:right .18s;transition:right .18s;border-left:1px solid #ddd}.ios #available-widgets{-webkit-transition:right 0s;transition:right 0s}#available-widgets-list{top:46px;position:absolute;overflow:auto;bottom:0;width:100%}#available-widgets-filter{position:fixed;top:0;z-index:1;width:300px;height:46px;padding:8px 13px 7px 17px;background:#eee;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 60px 20px 15px;background:#fff;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#eee;border-bottom-color:#ccc}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{right:0;visibility:visible}body.adding-widget .wp-full-overlay-main{right:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{position:absolute;top:-3px;left:100%;margin-left:20px;width:20px;height:20px;color:#32373c;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=super] .widget-title:before,#available-widgets [class*=like] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before,#available-widgets [class*=chat] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=event] .widget-title:before,#available-widgets [class*=calendar] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=video] .widget-title:before,#available-widgets [class*=tube] .widget-title:before{content:"\f126"}#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before,#available-widgets [class*=audio] .widget-title:before{content:"\f127"}#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=user] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before{content:"\f110"}#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before,#available-widgets [class*=cart] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=secur] .widget-title:before,#available-widgets [class*=firewall] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=stat] .widget-title:before,#available-widgets [class*=poll] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=subscribe] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}#available-widgets .customize-section-title{display:none}@media screen and (max-height:700px) and (min-width:981px){.customize-control-widget{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 42px 11px 15px}#customize-theme-controls .widget-area-select li:before{top:8px}}@media screen and (max-width:640px){body.adding-widget div#available-widgets{top:46px;right:0;z-index:10;width:100%}#available-widgets .customize-section-title{display:block;margin:0}#available-widgets .customize-section-back{height:69px}#available-widgets .customize-section-title h3{font-size:20px;font-weight:200;padding:9px 14px 12px 10px;margin:0;line-height:24px;color:#555;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#available-widgets .customize-section-title .customize-action{font-size:13px;display:block;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#available-widgets-filter{position:relative;width:100%;background:#fff;height:auto;padding:10px 15px}#available-widgets-list{top:140px}}
\ No newline at end of file
index ba95022d7d3c6742e380f7fd3a7c405af6e70c5e..278c32fa21d34f35b49fc450972050db0f444483 100644 (file)
        display: none;
 }
 
+.control-section.control-section-sidebar .accordion-section-content.ui-sortable {
+       overflow: visible;
+}
+
 .customize-control-widget_form .widget-top {
        -webkit-transition: opacity 0.5s;
        transition: opacity 0.5s;
 
 .reordering .reorder-done {
        display: block;
-       color: #aa0000;
+       color: #0073aa;
+}
+
+.reordering .reorder-done:hover,
+.reordering .reorder-done:active {
+       color: #00a0d2;
 }
 
 #customize-theme-controls .reordering .add-new-widget {
@@ -341,17 +350,23 @@ body.adding-widget .add-new-widget:before {
 
 #available-widgets {
        position: absolute;
-       overflow: auto;
        top: 0;
        bottom: 0;
        left: -301px;
+       visibility: hidden;
+       overflow: auto;
        width: 300px;
        margin: 0;
        z-index: 1;
-       background: #fff !important;
-       -webkit-transition: all 0.2s;
-       transition: all 0.2s;
-       border-right: 1px solid #dddddd;
+       background: #eee !important;
+       -webkit-transition: left .18s;
+       transition: left .18s;
+       border-right: 1px solid #ddd;
+}
+
+.ios #available-widgets {
+       -webkit-transition: left 0s;
+       transition: left 0s;
 }
 
 #available-widgets-list {
@@ -384,6 +399,7 @@ body.adding-widget .add-new-widget:before {
 #available-widgets .widget-tpl {
        position: relative;
        padding: 20px 15px 20px 60px;
+       background: #fff;
        border-bottom: 1px solid #e4e4e4;
        cursor: pointer;
        display: none;
@@ -391,7 +407,8 @@ body.adding-widget .add-new-widget:before {
 
 #available-widgets .widget-tpl:hover,
 #available-widgets .widget-tpl.selected {
-       background: #fafafa;
+       background: #eee;
+       border-bottom-color: #ccc;
 }
 
 #available-widgets .widget-top,
@@ -419,6 +436,7 @@ body.adding-widget .add-new-widget:before {
 
 body.adding-widget #available-widgets {
        left: 0;
+       visibility: visible;
 }
 
 body.adding-widget .wp-full-overlay-main {
@@ -583,9 +601,12 @@ body.adding-widget #customize-preview {
 #available-widgets [class*="tweet"] .widget-title:before,
 #available-widgets [class*="twitter"] .widget-title:before { content: "\f301"; }
 
+#available-widgets .customize-section-title {
+       display: none;
+}
 
 @media screen and (max-height: 700px) and (min-width: 981px) {
-       .customize-control {
+       .customize-control-widget {
                margin-bottom: 0;
        }
        .widget-top {
@@ -628,9 +649,46 @@ body.adding-widget #customize-preview {
                width: 100%;
        }
 
+       #available-widgets .customize-section-title {
+               display: block;
+               margin: 0;
+       }
+
+       #available-widgets .customize-section-back {
+               height: 69px;
+       }
+
+       #available-widgets .customize-section-title h3 {
+               font-size: 20px;
+               font-weight: 200;
+               padding: 9px 10px 12px 14px;
+               margin: 0;
+               line-height: 24px;
+               color: #555;
+               display: block;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
+       #available-widgets .customize-section-title .customize-action {
+               font-size: 13px;
+               display: block;
+               font-weight: 400;
+               overflow: hidden;
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
        #available-widgets-filter {
-               position: static;
+               position: relative;
                width: 100%;
+               background: #fff;
                height: auto;
+               padding: 10px 15px;
+       }
+
+       #available-widgets-list {
+               top: 140px;
        }
 }
index dd2a6a203841d48c824b42e84b68b18f72cdb390..40bfd22e425771a8f3ac234c89ade6cc220766a9 100644 (file)
@@ -1 +1 @@
-.wp-full-overlay-sidebar{overflow:visible}.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form .spinner{visibility:hidden;margin-top:0}.customize-control-widget_form.previewer-loading .spinner{visibility:visible}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;left:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:right;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:right;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:left;display:block;width:33px;height:43px;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 15px 15px 42px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;left:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#00a0d2}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:right;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{right:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:right;margin-left:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;left:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#32373c;-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)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;left:-301px;width:300px;margin:0;z-index:1;background:#fff!important;-webkit-transition:all .2s;transition:all .2s;border-right:1px solid #ddd}#available-widgets-list{top:46px;position:absolute;overflow:auto;bottom:0;width:100%}#available-widgets-filter{position:fixed;top:0;z-index:1;width:300px;height:46px;padding:8px 17px 7px 13px;background:#eee;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 15px 20px 60px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{left:0}body.adding-widget .wp-full-overlay-main{left:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;right:100%;margin-right:20px;width:20px;height:20px;color:#32373c;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 15px 11px 42px}#customize-theme-controls .widget-area-select li:before{top:8px}}@media screen and (max-width:640px){body.adding-widget div#available-widgets{top:46px;left:0;z-index:10;width:100%}#available-widgets-filter{position:static;width:100%;height:auto}}
\ No newline at end of file
+.control-section.control-section-sidebar .accordion-section-content.ui-sortable,.wp-full-overlay-sidebar{overflow:visible}#widget-customizer-control-templates,.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label,.customize-control-widget_form .widget-control-save,.reorder-done,.reordering .reorder{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .spinner{visibility:hidden;margin-top:0}.customize-control-widget_form.previewer-loading .spinner{visibility:visible}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;left:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}.reorder-toggle{float:right;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reordering .reorder-done{display:block;color:#0073aa}.reordering .reorder-done:active,.reordering .reorder-done:hover{color:#00a0d2}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:right;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:left;display:block;width:33px;height:43px;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 15px 15px 42px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;left:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets .widget-title:before,.add-new-widget:before{content:"\f132";-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#00a0d2}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:right;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{right:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:right;margin-left:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{display:inline-block;position:relative;left:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#32373c;-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)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;top:0;bottom:0;left:-301px;visibility:hidden;overflow:auto;width:300px;margin:0;z-index:1;background:#eee!important;-webkit-transition:left .18s;transition:left .18s;border-right:1px solid #ddd}.ios #available-widgets{-webkit-transition:left 0s;transition:left 0s}#available-widgets-list{top:46px;position:absolute;overflow:auto;bottom:0;width:100%}#available-widgets-filter{position:fixed;top:0;z-index:1;width:300px;height:46px;padding:8px 17px 7px 13px;background:#eee;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 15px 20px 60px;background:#fff;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#eee;border-bottom-color:#ccc}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{left:0;visibility:visible}body.adding-widget .wp-full-overlay-main{left:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{position:absolute;top:-3px;right:100%;margin-right:20px;width:20px;height:20px;color:#32373c;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=super] .widget-title:before,#available-widgets [class*=like] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before,#available-widgets [class*=chat] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=event] .widget-title:before,#available-widgets [class*=calendar] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=video] .widget-title:before,#available-widgets [class*=tube] .widget-title:before{content:"\f126"}#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before,#available-widgets [class*=audio] .widget-title:before{content:"\f127"}#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=user] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before{content:"\f110"}#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before,#available-widgets [class*=cart] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=secur] .widget-title:before,#available-widgets [class*=firewall] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=stat] .widget-title:before,#available-widgets [class*=poll] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=subscribe] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}#available-widgets .customize-section-title{display:none}@media screen and (max-height:700px) and (min-width:981px){.customize-control-widget{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 15px 11px 42px}#customize-theme-controls .widget-area-select li:before{top:8px}}@media screen and (max-width:640px){body.adding-widget div#available-widgets{top:46px;left:0;z-index:10;width:100%}#available-widgets .customize-section-title{display:block;margin:0}#available-widgets .customize-section-back{height:69px}#available-widgets .customize-section-title h3{font-size:20px;font-weight:200;padding:9px 10px 12px 14px;margin:0;line-height:24px;color:#555;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#available-widgets .customize-section-title .customize-action{font-size:13px;display:block;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#available-widgets-filter{position:relative;width:100%;background:#fff;height:auto;padding:10px 15px}#available-widgets-list{top:140px}}
\ No newline at end of file
index 37d8156aabfd57606411d52f1265e4948bcf0b09..d04ae1ce97053ba1a496496b8b970784ced080f5 100644 (file)
 
 .welcome-panel .welcome-panel-close {
        position: absolute;
-       top: 5px;
+       top: 10px;
        left: 10px;
-       padding: 20px 3px 0 15px;
+       padding: 10px 21px 10px 15px;
        font-size: 13px;
+       line-height: 1.23076923; /* Chrome rounding, needs to be 16px equivalent */
        text-decoration: none;
-       line-height: 1;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close:before {
+.welcome-panel .welcome-panel-close:before {
        position: absolute;
-       right: -18px;
-       margin-top: -2px;
+       top: 8px;
+       right: 0;
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
 
 .welcome-panel .welcome-panel-column-container {
        clear: both;
-       overflow: hidden;
        position: relative;
 }
 
 }
 
 .welcome-panel .welcome-icon {
-       display: block;
-       padding: 0 0 8px;
        background: transparent !important;
 }
 
 .welcome-panel .welcome-panel-column li {
        line-height: 16px;
        list-style-type: none;
+       padding: 0 0 8px;
 }
 
 /* Dashboard WordPress news */
@@ -328,7 +326,9 @@ body #dashboard-widgets .postbox form .submit {
 
 #dashboard_right_now ul {
        margin: 0;
-       overflow: hidden;
+       /* contain floats but don't use overflow: hidden */
+       display: inline-block;
+       width: 100%;
 }
 
 #dashboard_right_now li {
@@ -338,12 +338,10 @@ body #dashboard-widgets .postbox form .submit {
 }
 
 #dashboard_right_now .inside {
-       overflow: hidden;
        padding: 0;
 }
 
 #dashboard_right_now .main {
-       overflow: hidden;
        padding: 0 12px 11px;
 }
 
@@ -450,7 +448,6 @@ body #dashboard-widgets .postbox form .submit {
 }
 
 #dashboard_quick_press form {
-       overflow: hidden;
        margin: 12px;
 }
 
@@ -571,12 +568,11 @@ form.initial-form.quickpress-open input#title {
 }
 
 #dashboard_quick_press .draft-title {
-       overflow: hidden;
+       word-wrap: break-word;
 }
 
 #dashboard_quick_press .draft-title a,
 #dashboard_quick_press .draft-title time {
-       float: right;
        margin: 0 0 0 5px;
 }
 
@@ -658,16 +654,15 @@ form.initial-form.quickpress-open input#title {
 
 #future-posts li,
 #published-posts li {
-       overflow: hidden;
        margin-bottom: 8px;
 }
 
 #future-posts ul span,
 #published-posts ul span {
-       color: #777;
-       float: right;
-       margin-left: 8px;
+       display: inline-block;
+       margin-left: 5px;
        min-width: 150px;
+       color: #777;
 }
 
 .activity-block {
@@ -917,7 +912,6 @@ a.rsswidget {
 }
 
 .dashboard-comment-wrap {
-       overflow: hidden;
        word-wrap: break-word;
 }
 
@@ -1095,17 +1089,19 @@ a.rsswidget {
        /* Keep the close icon from overlapping the Welcome text. */
        .welcome-panel .welcome-panel-close {
                overflow: hidden;
-               text-indent: 100%;
+               text-indent: 40px;
                white-space: nowrap;
                width: 20px;
                height: 20px;
-               left: 0;
                padding: 5px;
+               top: 5px;
+               left: 5px;
        }
 
        /* Make the close icon larger for tappability. */
-       #welcome-panel.welcome-panel .welcome-panel-close:before {
+       .welcome-panel .welcome-panel-close:before {
                font-size: 20px;
-               margin: 0;
+               top: 5px;
+               right: -35px;
        }
 }
index ac227ad8888dc67b579f257a9d13bd7e49d7a0c9..2fb891a46c1e7e9963f9ca8a2334e829ac219dc9 100644 (file)
 
 .welcome-panel .welcome-panel-close {
        position: absolute;
-       top: 5px;
+       top: 10px;
        right: 10px;
-       padding: 20px 15px 0 3px;
+       padding: 10px 15px 10px 21px;
        font-size: 13px;
+       line-height: 1.23076923; /* Chrome rounding, needs to be 16px equivalent */
        text-decoration: none;
-       line-height: 1;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close:before {
+.welcome-panel .welcome-panel-close:before {
        position: absolute;
-       left: -18px;
-       margin-top: -2px;
+       top: 8px;
+       left: 0;
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
 
 .welcome-panel .welcome-panel-column-container {
        clear: both;
-       overflow: hidden;
        position: relative;
 }
 
 }
 
 .welcome-panel .welcome-icon {
-       display: block;
-       padding: 0 0 8px;
        background: transparent !important;
 }
 
 .welcome-panel .welcome-panel-column li {
        line-height: 16px;
        list-style-type: none;
+       padding: 0 0 8px;
 }
 
 /* Dashboard WordPress news */
@@ -328,7 +326,9 @@ body #dashboard-widgets .postbox form .submit {
 
 #dashboard_right_now ul {
        margin: 0;
-       overflow: hidden;
+       /* contain floats but don't use overflow: hidden */
+       display: inline-block;
+       width: 100%;
 }
 
 #dashboard_right_now li {
@@ -338,12 +338,10 @@ body #dashboard-widgets .postbox form .submit {
 }
 
 #dashboard_right_now .inside {
-       overflow: hidden;
        padding: 0;
 }
 
 #dashboard_right_now .main {
-       overflow: hidden;
        padding: 0 12px 11px;
 }
 
@@ -450,7 +448,6 @@ body #dashboard-widgets .postbox form .submit {
 }
 
 #dashboard_quick_press form {
-       overflow: hidden;
        margin: 12px;
 }
 
@@ -571,12 +568,11 @@ form.initial-form.quickpress-open input#title {
 }
 
 #dashboard_quick_press .draft-title {
-       overflow: hidden;
+       word-wrap: break-word;
 }
 
 #dashboard_quick_press .draft-title a,
 #dashboard_quick_press .draft-title time {
-       float: left;
        margin: 0 5px 0 0;
 }
 
@@ -658,16 +654,15 @@ form.initial-form.quickpress-open input#title {
 
 #future-posts li,
 #published-posts li {
-       overflow: hidden;
        margin-bottom: 8px;
 }
 
 #future-posts ul span,
 #published-posts ul span {
-       color: #777;
-       float: left;
-       margin-right: 8px;
+       display: inline-block;
+       margin-right: 5px;
        min-width: 150px;
+       color: #777;
 }
 
 .activity-block {
@@ -917,7 +912,6 @@ a.rsswidget {
 }
 
 .dashboard-comment-wrap {
-       overflow: hidden;
        word-wrap: break-word;
 }
 
@@ -1095,17 +1089,19 @@ a.rsswidget {
        /* Keep the close icon from overlapping the Welcome text. */
        .welcome-panel .welcome-panel-close {
                overflow: hidden;
-               text-indent: 100%;
+               text-indent: 40px;
                white-space: nowrap;
                width: 20px;
                height: 20px;
-               right: 0;
                padding: 5px;
+               top: 5px;
+               right: 5px;
        }
 
        /* Make the close icon larger for tappability. */
-       #welcome-panel.welcome-panel .welcome-panel-close:before {
+       .welcome-panel .welcome-panel-close:before {
                font-size: 20px;
-               margin: 0;
+               top: 5px;
+               left: -35px;
        }
 }
index b030b8ff02c41e2f3697dde08ded426a0fbb8cb6..103e9f6985738a437d3477dc074c36f89e0c9313 100644 (file)
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}#sidemenu{overflow:hidden;float:none;position:relative;right:0;bottom:-1px;margin:0 5px;padding-right:10px;list-style:none;font-size:12px;font-weight:400}#sidemenu a{padding:0 7px;display:block;float:right;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;text-decoration:none;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-right:6px;padding-left:6px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:left}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center left no-repeat}.image-align-left-label{background:url(../images/align-left.png) center left no-repeat}.image-align-center-label{background:url(../images/align-center.png) center left no-repeat}.image-align-right-label{background:url(../images/align-right.png) center left no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:left;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #a0a5aa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 0 5px 5px}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:right}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-left:15px}#gallery-settings .align .field label{margin:0 3px 0 1em}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 0 -8px 25px;text-align:left;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-right:5px}#sort-buttons span{margin-left:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
+#sidemenu,th{position:relative}#sidemenu a,#sort-buttons a,abbr.required{text-decoration:none}div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}#sidemenu{overflow:hidden;float:none;right:0;bottom:-1px;margin:0 5px;padding-right:10px;list-style:none;font-size:12px;font-weight:400}#sidemenu a{padding:0 7px;display:block;float:right;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-right:6px;padding-left:6px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:left}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center left no-repeat}.image-align-left-label{background:url(../images/align-left.png) center left no-repeat}.image-align-center-label{background:url(../images/align-center.png) center left no-repeat}.image-align-right-label{background:url(../images/align-right.png) center left no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:left;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #a0a5aa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 0 5px 5px}#gallery-settings .title,h4.media-sub-title{border-bottom:1px solid #DADADA;padding:0 0 3px}#gallery-settings .title{clear:both;font-size:1.6em}h3.media-title{font-size:1.6em}h4.media-sub-title{font-size:1.3em;margin:12px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:right}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-left:15px}#gallery-settings .align .field label{margin:0 3px 0 1em}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 0 -8px 25px;text-align:left;max-width:625px}#sort-buttons #asc,#sort-buttons #showall{padding-right:5px}#sort-buttons span{margin-left:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
index a996debd1c540a41ba19062f2ba1329319b63c6a..130c42061f8e5cc6e7fc172ba4f80db3a19c4aeb 100644 (file)
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}#sidemenu{overflow:hidden;float:none;position:relative;left:0;bottom:-1px;margin:0 5px;padding-left:10px;list-style:none;font-size:12px;font-weight:400}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;text-decoration:none;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-left:6px;padding-right:6px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:right}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center left no-repeat}.image-align-left-label{background:url(../images/align-left.png) center left no-repeat}.image-align-center-label{background:url(../images/align-center.png) center left no-repeat}.image-align-right-label{background:url(../images/align-right.png) center left no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:right;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #a0a5aa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 5px 5px 0}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:left}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px}#gallery-settings .align .field label{margin:0 1em 0 3px}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px}#sort-buttons span{margin-right:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
+#sidemenu,th{position:relative}#sidemenu a,#sort-buttons a,abbr.required{text-decoration:none}div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}#sidemenu{overflow:hidden;float:none;left:0;bottom:-1px;margin:0 5px;padding-left:10px;list-style:none;font-size:12px;font-weight:400}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-left:6px;padding-right:6px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:right}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center left no-repeat}.image-align-left-label{background:url(../images/align-left.png) center left no-repeat}.image-align-center-label{background:url(../images/align-center.png) center left no-repeat}.image-align-right-label{background:url(../images/align-right.png) center left no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:right;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #a0a5aa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 5px 5px 0}#gallery-settings .title,h4.media-sub-title{border-bottom:1px solid #DADADA;padding:0 0 3px}#gallery-settings .title{clear:both;font-size:1.6em}h3.media-title{font-size:1.6em}h4.media-sub-title{font-size:1.3em;margin:12px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:left}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px}#gallery-settings .align .field label{margin:0 1em 0 3px}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px}#sort-buttons span{margin-right:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
index 4451aa9330f356799e653427ba87d53792f998d9..8ab7388fcc3417f4d6813dcc852ab7fc8dca625e 100644 (file)
@@ -30,7 +30,7 @@
 }
 
 #lost-connection-notice .spinner {
-       display: block;
+       visibility: visible;
        float: right;
        margin: 0 0 0 5px;
 }
        padding: 11px 10px;
 }
 
-#wp-fullscreen-save .fs-saved {
-       color: #999;
-       float: left;
-       margin-top: 4px;
-}
-
 #poststuff .inside-submitbox,
 #side-sortables .inside-submitbox {
        margin: 0 3px;
@@ -297,19 +291,6 @@ form#tags-filter {
        position: relative;
 }
 
-/* Edit posts */
-td.post-title strong,
-td.plugin-title strong {
-       display: block;
-       margin-bottom: .2em;
-       font-size: 14px;
-}
-
-td.post-title p,
-td.plugin-title p {
-       margin: 6px 0;
-}
-
 /* Global classes */
 .wp-hidden-children .wp-hidden-child,
 .ui-tabs-hide {
@@ -390,24 +371,6 @@ td.plugin-title p {
        border: 1px solid transparent;
 }
 
-.wp-fullscreen-wrap #content-textarea-clone {
-       display: none;
-}
-
-/* editor-expand.js override */
-.wp-fullscreen-wrap {
-       padding-top: 0 !important;
-}
-
-.wp-fullscreen-wrap .wp-editor-area {
-       margin-top: 0 !important;
-}
-
-.wp-fullscreen-wrap .mce-edit-area {
-       padding-top: 0 !important;
-}
-/* end editor-expand.js override */
-
 .wp-editor-expand #wp-content-editor-tools {
        z-index: 1000;
        border-bottom: 1px solid #e5e5e5;
@@ -449,6 +412,10 @@ td.plugin-title p {
        visibility: visible !important;
 }
 
+.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw {
+       display: none;
+}
+
 .post-php.mce-fullscreen #wpadminbar,
 .mce-fullscreen #wp-content-wrap .mce-wp-dfw {
        display: none;
@@ -597,11 +564,11 @@ span.wp-media-buttons-icon:before {
        display: inline;
 }
 
-#excerpt,
-.attachmentlinks {
-       margin: 0;
+#excerpt {
+       display: block;
+       margin: 12px 0 0;
        height: 4em;
-       width: 98%;
+       width: 100%;
 }
 
 .tagchecklist {
@@ -1233,12 +1200,13 @@ table.links-table {
        display: inline-block;
 }
 
-.focus-on .wrap > h2,
+.focus-on .wrap > h1,
 .focus-on #wpfooter,
 .focus-on .postbox-container > *,
 .focus-on div.updated,
 .focus-on div.error,
 .focus-on div.notice,
+.focus-on .update-nag,
 .focus-on #wp-toolbar,
 .focus-on #screen-meta-links,
 .focus-on #screen-meta {
@@ -1255,12 +1223,13 @@ table.links-table {
        opacity: 0.3;
 }
 
-.focus-off .wrap > h2,
+.focus-off .wrap > h1,
 .focus-off #wpfooter,
 .focus-off .postbox-container > *,
 .focus-off div.updated,
 .focus-off div.error,
 .focus-off div.notice,
+.focus-off .update-nag,
 .focus-off #wp-toolbar,
 .focus-off #screen-meta-links,
 .focus-off #screen-meta {
@@ -1463,7 +1432,7 @@ table.links-table {
 
        .tagchecklist span {
                font-size: 16px;
-               line-height: 120%;
+               line-height: 1.4;
        }
 
        /* Discussion */
@@ -1561,6 +1530,11 @@ table.links-table {
                line-height: 47px;
        }
 
+       #publishing-action .spinner {
+               float: none;
+               margin-top: -2px; /* Half of the Publish button's bottom margin. */
+       }
+
        /* Moderate Comment */
        .comment-ays th,
        .comment-ays td {
index c2a4c764dd566f7216f8444a9998d8a21ee8f6de..b2f57ef451d87f7c0f2e3f788a1c194e806230d6 100644 (file)
@@ -30,7 +30,7 @@
 }
 
 #lost-connection-notice .spinner {
-       display: block;
+       visibility: visible;
        float: left;
        margin: 0 5px 0 0;
 }
        padding: 11px 10px;
 }
 
-#wp-fullscreen-save .fs-saved {
-       color: #999;
-       float: right;
-       margin-top: 4px;
-}
-
 #poststuff .inside-submitbox,
 #side-sortables .inside-submitbox {
        margin: 0 3px;
@@ -297,19 +291,6 @@ form#tags-filter {
        position: relative;
 }
 
-/* Edit posts */
-td.post-title strong,
-td.plugin-title strong {
-       display: block;
-       margin-bottom: .2em;
-       font-size: 14px;
-}
-
-td.post-title p,
-td.plugin-title p {
-       margin: 6px 0;
-}
-
 /* Global classes */
 .wp-hidden-children .wp-hidden-child,
 .ui-tabs-hide {
@@ -390,24 +371,6 @@ td.plugin-title p {
        border: 1px solid transparent;
 }
 
-.wp-fullscreen-wrap #content-textarea-clone {
-       display: none;
-}
-
-/* editor-expand.js override */
-.wp-fullscreen-wrap {
-       padding-top: 0 !important;
-}
-
-.wp-fullscreen-wrap .wp-editor-area {
-       margin-top: 0 !important;
-}
-
-.wp-fullscreen-wrap .mce-edit-area {
-       padding-top: 0 !important;
-}
-/* end editor-expand.js override */
-
 .wp-editor-expand #wp-content-editor-tools {
        z-index: 1000;
        border-bottom: 1px solid #e5e5e5;
@@ -449,6 +412,10 @@ td.plugin-title p {
        visibility: visible !important;
 }
 
+.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw {
+       display: none;
+}
+
 .post-php.mce-fullscreen #wpadminbar,
 .mce-fullscreen #wp-content-wrap .mce-wp-dfw {
        display: none;
@@ -597,11 +564,11 @@ span.wp-media-buttons-icon:before {
        display: inline;
 }
 
-#excerpt,
-.attachmentlinks {
-       margin: 0;
+#excerpt {
+       display: block;
+       margin: 12px 0 0;
        height: 4em;
-       width: 98%;
+       width: 100%;
 }
 
 .tagchecklist {
@@ -1233,12 +1200,13 @@ table.links-table {
        display: inline-block;
 }
 
-.focus-on .wrap > h2,
+.focus-on .wrap > h1,
 .focus-on #wpfooter,
 .focus-on .postbox-container > *,
 .focus-on div.updated,
 .focus-on div.error,
 .focus-on div.notice,
+.focus-on .update-nag,
 .focus-on #wp-toolbar,
 .focus-on #screen-meta-links,
 .focus-on #screen-meta {
@@ -1255,12 +1223,13 @@ table.links-table {
        opacity: 0.3;
 }
 
-.focus-off .wrap > h2,
+.focus-off .wrap > h1,
 .focus-off #wpfooter,
 .focus-off .postbox-container > *,
 .focus-off div.updated,
 .focus-off div.error,
 .focus-off div.notice,
+.focus-off .update-nag,
 .focus-off #wp-toolbar,
 .focus-off #screen-meta-links,
 .focus-off #screen-meta {
@@ -1463,7 +1432,7 @@ table.links-table {
 
        .tagchecklist span {
                font-size: 16px;
-               line-height: 120%;
+               line-height: 1.4;
        }
 
        /* Discussion */
@@ -1561,6 +1530,11 @@ table.links-table {
                line-height: 47px;
        }
 
+       #publishing-action .spinner {
+               float: none;
+               margin-top: -2px; /* Half of the Publish button's bottom margin. */
+       }
+
        /* Moderate Comment */
        .comment-ays th,
        .comment-ays td {
index b0c40a48496c000dc276309634e0a6b82a2c0bc1..4799c71c6935e87d002bed798fe52aa3bb2aa0cd 100644 (file)
@@ -232,13 +232,19 @@ textarea[readonly] {
    color: #a9a9a9;
 }
 
-.form-invalid {
-       background-color: #ffebe8 !important;
-}
-
-.form-invalid input,
-.form-invalid select {
-       border-color: #c00 !important;
+.form-invalid input, .form-invalid input:focus,
+.form-invalid select, .form-invalid select:focus {
+       border-color: #dc3232 !important;
+       -webkit-box-shadow: 0 0 2px rgba( 204, 0, 0, 0.8 );
+       box-shadow: 0 0 2px rgba( 204, 0, 0, 0.8 );
+}
+
+.form-table .form-required.form-invalid td:after {
+       content: '\f534';
+       font: normal 20px/1 dashicons;
+       color: #dc3232;
+       margin-right: -25px;
+       vertical-align: middle;
 }
 
 .form-input-tip {
@@ -352,8 +358,7 @@ textarea.large-text {
        width: 99%;
 }
 
-input.regular-text,
-#adduser .form-field input {
+input.regular-text {
        width: 25em;
 }
 
@@ -401,6 +406,11 @@ input[type="number"].small-text {
        color: #777;
 }
 
+button.wp-hide-pw > .dashicons {
+       position: relative;
+       top: 3px;
+}
+
 label,
 #your-profile label + a {
        vertical-align: middle;
@@ -434,38 +444,79 @@ fieldset label,
 #pass-strength-result {
        background-color: #eee;
        border: 1px solid #ddd;
-       float: right;
-       margin: 13px 1px 5px 5px;
+       color: #23282d;
+       margin: -2px 1px 5px 5px;
        padding: 3px 5px;
        text-align: center;
-       width: 200px;
-       display: none;
+       width: 25em;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       opacity: 0;
 }
 
 #pass-strength-result.short {
-       background-color: #ffa0a0;
-       border-color: #f04040;
+       background-color: #f1adad;
+       border-color: #e35b5b;
+       opacity: 1;
 }
 
 #pass-strength-result.bad {
-       background-color: #ffb78c;
-       border-color: #ff853c;
+       background-color: #fbc5a9;
+       border-color: #f78b53;
+       opacity: 1;
 }
 
 #pass-strength-result.good {
-       background-color: #ffec8b;
-       border-color: #fc0;
+       background-color: #ffe399;
+       border-color: #ffc733;
+       opacity: 1;
 }
 
 #pass-strength-result.strong {
-       background-color: #c3ff88;
-       border-color: #8dff1c;
+       background-color: #c1e1b9;
+       border-color: #83c373;
+       opacity: 1;
+}
+
+#pass1.short, #pass1-text.short {
+       border-color: #e35b5b;
+}
+
+#pass1.bad, #pass1-text.bad {
+       border-color: #f78b53;
+}
+
+#pass1.good, #pass1-text.good {
+       border-color: #ffc733;
+}
+
+#pass1.strong, #pass1-text.strong {
+       border-color: #83c373;
+}
+
+.pw-weak {
+       display:none;
 }
 
 .indicator-hint {
        padding-top: 8px;
 }
 
+#pass1-text,
+.show-password #pass1 {
+       display: none;
+}
+
+.show-password #pass1-text
+{
+       display: inline-block;
+}
+
+.form-table span.description.important {
+       font-size: 12px;
+}
+
 p.search-box {
        float: left;
        margin: 0;
@@ -629,6 +680,7 @@ table.form-table td .updated p {
        width: 15em;
 }
 
+#adduser .form-field input,
 #createuser .form-field input {
        width: 25em;
 }
@@ -832,6 +884,10 @@ table.form-table td .updated p {
   21.0 - Network Admin
 ------------------------------------------------------------------------------*/
 
+.setup-php textarea {
+       max-width: 100%;
+}
+
 .form-field #site-address {
        max-width: 25em;
 }
@@ -852,6 +908,11 @@ table.form-table td .updated p {
        margin-bottom: 5px;
 }
 
+#search-users,
+#search-sites {
+       max-width: 100%;
+}
+
 /*------------------------------------------------------------------------------
    Credentials check dialog for Install and Updates
 ------------------------------------------------------------------------------*/
@@ -944,16 +1005,24 @@ table.form-table td .updated p {
                padding-top: 10px;
        }
 
-       input[type="checkbox"], .widefat th input[type="checkbox"] {
+       input[type="checkbox"],
+       .widefat th input[type="checkbox"],
+       .widefat thead td input[type="checkbox"],
+       .widefat tfoot td input[type="checkbox"] {
                -webkit-appearance: none;
                padding: 10px;
        }
 
-       .widefat th input[type="checkbox"] {
+       .widefat th input[type="checkbox"],
+       .widefat thead td input[type="checkbox"],
+       .widefat tfoot td input[type="checkbox"] {
                margin-bottom: 8px;
        }
 
-       input[type="checkbox"]:checked:before, .widefat th input[type="checkbox"]:before {
+       input[type="checkbox"]:checked:before,
+       .widefat th input[type="checkbox"]:before,
+       .widefat thead td input[type="checkbox"]:before,
+       .widefat tfoot td input[type="checkbox"]:before {
                font: normal 30px/1 'Dashicons';
                margin: -3px -5px;
        }
@@ -991,6 +1060,7 @@ table.form-table td .updated p {
                font-size: 14px;
        }
 
+       #adduser .form-field input,
        #createuser .form-field input {
                width: 100%;
        }
@@ -1040,6 +1110,11 @@ table.form-table td .updated p {
                box-sizing: border-box;
        }
 
+       .form-table .form-required.form-invalid td:after {
+               float: left;
+               margin: -30px 0 0 3px;
+       }
+
        #wpbody .form-table td select {
                height: 40px;
        }
@@ -1088,8 +1163,10 @@ table.form-table td .updated p {
        }
 
        .form-table span.description {
+               display: inline;
                padding: 4px 0 0;
                line-height: 1.4em;
+               font-size: 14px;
        }
 
        .form-table th {
@@ -1099,10 +1176,22 @@ table.form-table td .updated p {
        }
 
        .form-table td {
-               padding-top: 8px;
+               margin-bottom: 0;
+               padding-bottom: 6px;
+               padding-top: 4px;
                padding-right: 0;
        }
 
+       .form-table.permalink-structure td code {
+               margin-right: 32px;
+       }
+
+       .form-table.permalink-structure td input[type="text"] {
+               margin-right: 32px;
+               margin-top: 4px;
+               width: 96%;
+       }
+
        .form-table input.regular-text {
                width: 100%;
        }
@@ -1130,6 +1219,39 @@ table.form-table td .updated p {
        .form-field #domain {
                max-width: none;
        }
+
+       /* New Password */
+       .wp-pwd {
+               position: relative;
+       }
+
+       .wp-pwd [type="text"],
+       .wp-pwd [type="password"] {
+               padding-left: 40px;
+       }
+
+       .wp-pwd button.button {
+               background: transparent;
+               border: none;
+               -webkit-box-shadow: none;
+               box-shadow: none;
+               line-height: 2;
+               margin: 0;
+               padding: 5px 10px;
+               position: absolute;
+               left: 0;
+               top: 0;
+       }
+
+       .wp-pwd button.button:hover,
+       .wp-pwd button.button:focus,
+       .wp-pwd button.button:active {
+               background: transparent;
+       }
+
+       .wp-pwd .button .text {
+               display: none;
+       }
 }
 
 @media only screen and (max-width: 768px) {
@@ -1150,12 +1272,11 @@ table.form-table td .updated p {
                max-width: 400px;
                width: auto;
        }
-
 }
 
 @media only screen and (max-height: 480px) {
        /*  Request Credentials */
-       .request-filesystem-credentials-dialog  .notification-dialog{
+       .request-filesystem-credentials-dialog .notification-dialog{
                width: 100%;
                height: 100%;
                max-height: 100%;
@@ -1173,4 +1294,3 @@ table.form-table td .updated p {
                width: 49%;
        }
 }
-
index 6c94d0e480ec90b090d614f701e60e0028433ac8..785f3ea377234de1bfebff967c270e60ed958d37 100644 (file)
@@ -232,13 +232,19 @@ textarea[readonly] {
    color: #a9a9a9;
 }
 
-.form-invalid {
-       background-color: #ffebe8 !important;
-}
-
-.form-invalid input,
-.form-invalid select {
-       border-color: #c00 !important;
+.form-invalid input, .form-invalid input:focus,
+.form-invalid select, .form-invalid select:focus {
+       border-color: #dc3232 !important;
+       -webkit-box-shadow: 0 0 2px rgba( 204, 0, 0, 0.8 );
+       box-shadow: 0 0 2px rgba( 204, 0, 0, 0.8 );
+}
+
+.form-table .form-required.form-invalid td:after {
+       content: '\f534';
+       font: normal 20px/1 dashicons;
+       color: #dc3232;
+       margin-left: -25px;
+       vertical-align: middle;
 }
 
 .form-input-tip {
@@ -352,8 +358,7 @@ textarea.large-text {
        width: 99%;
 }
 
-input.regular-text,
-#adduser .form-field input {
+input.regular-text {
        width: 25em;
 }
 
@@ -401,6 +406,11 @@ input[type="number"].small-text {
        color: #777;
 }
 
+button.wp-hide-pw > .dashicons {
+       position: relative;
+       top: 3px;
+}
+
 label,
 #your-profile label + a {
        vertical-align: middle;
@@ -434,38 +444,79 @@ fieldset label,
 #pass-strength-result {
        background-color: #eee;
        border: 1px solid #ddd;
-       float: left;
-       margin: 13px 5px 5px 1px;
+       color: #23282d;
+       margin: -2px 5px 5px 1px;
        padding: 3px 5px;
        text-align: center;
-       width: 200px;
-       display: none;
+       width: 25em;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       opacity: 0;
 }
 
 #pass-strength-result.short {
-       background-color: #ffa0a0;
-       border-color: #f04040;
+       background-color: #f1adad;
+       border-color: #e35b5b;
+       opacity: 1;
 }
 
 #pass-strength-result.bad {
-       background-color: #ffb78c;
-       border-color: #ff853c;
+       background-color: #fbc5a9;
+       border-color: #f78b53;
+       opacity: 1;
 }
 
 #pass-strength-result.good {
-       background-color: #ffec8b;
-       border-color: #fc0;
+       background-color: #ffe399;
+       border-color: #ffc733;
+       opacity: 1;
 }
 
 #pass-strength-result.strong {
-       background-color: #c3ff88;
-       border-color: #8dff1c;
+       background-color: #c1e1b9;
+       border-color: #83c373;
+       opacity: 1;
+}
+
+#pass1.short, #pass1-text.short {
+       border-color: #e35b5b;
+}
+
+#pass1.bad, #pass1-text.bad {
+       border-color: #f78b53;
+}
+
+#pass1.good, #pass1-text.good {
+       border-color: #ffc733;
+}
+
+#pass1.strong, #pass1-text.strong {
+       border-color: #83c373;
+}
+
+.pw-weak {
+       display:none;
 }
 
 .indicator-hint {
        padding-top: 8px;
 }
 
+#pass1-text,
+.show-password #pass1 {
+       display: none;
+}
+
+.show-password #pass1-text
+{
+       display: inline-block;
+}
+
+.form-table span.description.important {
+       font-size: 12px;
+}
+
 p.search-box {
        float: right;
        margin: 0;
@@ -629,6 +680,7 @@ table.form-table td .updated p {
        width: 15em;
 }
 
+#adduser .form-field input,
 #createuser .form-field input {
        width: 25em;
 }
@@ -832,6 +884,10 @@ table.form-table td .updated p {
   21.0 - Network Admin
 ------------------------------------------------------------------------------*/
 
+.setup-php textarea {
+       max-width: 100%;
+}
+
 .form-field #site-address {
        max-width: 25em;
 }
@@ -852,6 +908,11 @@ table.form-table td .updated p {
        margin-bottom: 5px;
 }
 
+#search-users,
+#search-sites {
+       max-width: 100%;
+}
+
 /*------------------------------------------------------------------------------
    Credentials check dialog for Install and Updates
 ------------------------------------------------------------------------------*/
@@ -944,16 +1005,24 @@ table.form-table td .updated p {
                padding-top: 10px;
        }
 
-       input[type="checkbox"], .widefat th input[type="checkbox"] {
+       input[type="checkbox"],
+       .widefat th input[type="checkbox"],
+       .widefat thead td input[type="checkbox"],
+       .widefat tfoot td input[type="checkbox"] {
                -webkit-appearance: none;
                padding: 10px;
        }
 
-       .widefat th input[type="checkbox"] {
+       .widefat th input[type="checkbox"],
+       .widefat thead td input[type="checkbox"],
+       .widefat tfoot td input[type="checkbox"] {
                margin-bottom: 8px;
        }
 
-       input[type="checkbox"]:checked:before, .widefat th input[type="checkbox"]:before {
+       input[type="checkbox"]:checked:before,
+       .widefat th input[type="checkbox"]:before,
+       .widefat thead td input[type="checkbox"]:before,
+       .widefat tfoot td input[type="checkbox"]:before {
                font: normal 30px/1 'Dashicons';
                margin: -3px -5px;
        }
@@ -991,6 +1060,7 @@ table.form-table td .updated p {
                font-size: 14px;
        }
 
+       #adduser .form-field input,
        #createuser .form-field input {
                width: 100%;
        }
@@ -1040,6 +1110,11 @@ table.form-table td .updated p {
                box-sizing: border-box;
        }
 
+       .form-table .form-required.form-invalid td:after {
+               float: right;
+               margin: -30px 3px 0 0;
+       }
+
        #wpbody .form-table td select {
                height: 40px;
        }
@@ -1088,8 +1163,10 @@ table.form-table td .updated p {
        }
 
        .form-table span.description {
+               display: inline;
                padding: 4px 0 0;
                line-height: 1.4em;
+               font-size: 14px;
        }
 
        .form-table th {
@@ -1099,10 +1176,22 @@ table.form-table td .updated p {
        }
 
        .form-table td {
-               padding-top: 8px;
+               margin-bottom: 0;
+               padding-bottom: 6px;
+               padding-top: 4px;
                padding-left: 0;
        }
 
+       .form-table.permalink-structure td code {
+               margin-left: 32px;
+       }
+
+       .form-table.permalink-structure td input[type="text"] {
+               margin-left: 32px;
+               margin-top: 4px;
+               width: 96%;
+       }
+
        .form-table input.regular-text {
                width: 100%;
        }
@@ -1130,6 +1219,39 @@ table.form-table td .updated p {
        .form-field #domain {
                max-width: none;
        }
+
+       /* New Password */
+       .wp-pwd {
+               position: relative;
+       }
+
+       .wp-pwd [type="text"],
+       .wp-pwd [type="password"] {
+               padding-right: 40px;
+       }
+
+       .wp-pwd button.button {
+               background: transparent;
+               border: none;
+               -webkit-box-shadow: none;
+               box-shadow: none;
+               line-height: 2;
+               margin: 0;
+               padding: 5px 10px;
+               position: absolute;
+               right: 0;
+               top: 0;
+       }
+
+       .wp-pwd button.button:hover,
+       .wp-pwd button.button:focus,
+       .wp-pwd button.button:active {
+               background: transparent;
+       }
+
+       .wp-pwd .button .text {
+               display: none;
+       }
 }
 
 @media only screen and (max-width: 768px) {
@@ -1150,12 +1272,11 @@ table.form-table td .updated p {
                max-width: 400px;
                width: auto;
        }
-
 }
 
 @media only screen and (max-height: 480px) {
        /*  Request Credentials */
-       .request-filesystem-credentials-dialog  .notification-dialog{
+       .request-filesystem-credentials-dialog .notification-dialog{
                width: 100%;
                height: 100%;
                max-height: 100%;
@@ -1173,4 +1294,3 @@ table.form-table td .updated p {
                width: 49%;
        }
 }
-
index 21af215d233190ea7538bd334d9b506f7b3f6827..d3705d0f8ac0a690bc88f6f2cedd90fed6d83f74 100644 (file)
        width: 35%;
 }
 
-.wp-fullscreen-title {
-       width: 97%;
-}
-
-#wp_mce_fullscreen_ifr {
-       background-color: #f9f9f9;
-}
-
-#wp-fullscreen-tagline {
-       color: #82878c;
-       font-size: 14px;
-}
-
 #adminmenuback {
        right: 0;
        background-image: none;
@@ -497,12 +484,16 @@ table.ie-fixed {
 }
 
 .widefat tr,
-.widefat th {
+.widefat th,
+.widefat thead td,
+.widefat tfoot td {
        margin-bottom: 0;
        border-spacing: 0;
 }
 
-.widefat th input {
+.widefat th input,
+.widefat thead td input,
+.widefat tfoot td input {
        margin: 0 5px 0 0;
 }
 
index 396d3f7efc623244278c221ab1235b43d095edbc..66af3bd5bd5098981faee3bf18e6b2c366836dfc 100644 (file)
@@ -1 +1 @@
-#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-right:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#82878c;font-size:14px}#adminmenuback{right:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{right:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-right:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{right:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-right:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{right:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-right:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 0 4% 3%;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:left;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 0 0 10px;float:left}div#dashboard-widgets{padding-left:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 5px 0 0}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:right}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-left:7px;margin-left:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-right:0;padding-left:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#a0a5aa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-right:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{left:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-right:-80px}* html .folded #adminmenu{margin-right:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
+.feature-filter .feature-group li input,.tablenav-pages .current-page{vertical-align:middle}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-right:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}#adminmenuback{right:0;background-image:none}#adminmenu .wp-submenu,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{right:110px}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-right:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-right:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{right:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-right:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 0 4% 3%;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=reset],input[type=button],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=reset].button-large,input[type=button].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=reset].button-small,input[type=button].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:left;margin:-3px 0 4px}#submitdiv a.button,#submitdiv input,#submitdiv select,.inactive-sidebar .widget,.revisions.pinned .revisions-controls,.widget-liquid-right .widget{position:relative}#widget-list .widget,.feature-filter .feature-group li{display:inline}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#bh{margin:7px 0 0 10px;float:left}div#dashboard-widgets{padding-left:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat tfoot td,.widefat th,.widefat thead td,.widefat tr{margin-bottom:0;border-spacing:0}.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 5px 0 0}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget{display:block;float:right}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-left:7px;margin-left:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-right:0;padding-left:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#a0a5aa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-right:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{left:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-right:-80px}* html .folded #adminmenu{margin-right:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
index 6dfbc956b4b0d808baf8b33bb599d3e44bf5fae7..1fa160f8e4406de960bec702f293788066b3a93b 100644 (file)
        width: 35%;
 }
 
-.wp-fullscreen-title {
-       width: 97%;
-}
-
-#wp_mce_fullscreen_ifr {
-       background-color: #f9f9f9;
-}
-
-#wp-fullscreen-tagline {
-       color: #82878c;
-       font-size: 14px;
-}
-
 #adminmenuback {
        left: 0;
        background-image: none;
@@ -497,12 +484,16 @@ table.ie-fixed {
 }
 
 .widefat tr,
-.widefat th {
+.widefat th,
+.widefat thead td,
+.widefat tfoot td {
        margin-bottom: 0;
        border-spacing: 0;
 }
 
-.widefat th input {
+.widefat th input,
+.widefat thead td input,
+.widefat tfoot td input {
        margin: 0 0 0 5px;
 }
 
index 94b0be5a2b4bfe9225d013afb978df0c9be61c77..3b5059b57c7c9f562f380f443f75ce90663713d3 100644 (file)
@@ -1 +1 @@
-#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-left:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#82878c;font-size:14px}#adminmenuback{left:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{left:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-left:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{left:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-left:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{left:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-left:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 3% 4% 0;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:right;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 10px 0 0;float:right}div#dashboard-widgets{padding-right:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-right:7px;margin-right:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-left:0;padding-right:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#a0a5aa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-left:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{right:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-left:-80px}* html .folded #adminmenu{margin-left:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
+.feature-filter .feature-group li input,.tablenav-pages .current-page{vertical-align:middle}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-left:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}#adminmenuback{left:0;background-image:none}#adminmenu .wp-submenu,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{left:110px}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-left:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-left:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{left:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-left:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 3% 4% 0;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=reset],input[type=button],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=reset].button-large,input[type=button].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=reset].button-small,input[type=button].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:right;margin:-3px 0 4px}#submitdiv a.button,#submitdiv input,#submitdiv select,.inactive-sidebar .widget,.revisions.pinned .revisions-controls,.widget-liquid-right .widget{position:relative}#widget-list .widget,.feature-filter .feature-group li{display:inline}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#bh{margin:7px 10px 0 0;float:right}div#dashboard-widgets{padding-right:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat tfoot td,.widefat th,.widefat thead td,.widefat tr{margin-bottom:0;border-spacing:0}.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 0 0 5px}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-right:7px;margin-right:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-left:0;padding-right:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#a0a5aa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-left:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{right:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-left:-80px}* html .folded #adminmenu{margin-left:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
index 6114a6ebddce8b04940611545527e2db73aa3cdb..8211e82a81d16f731f3809c2d5c21a0939a32828 100644 (file)
@@ -121,7 +121,6 @@ textarea {
 .form-table td {
        margin-bottom: 9px;
        padding: 10px 0 10px 20px;
-       border-bottom: 8px solid #fff;
        font-size: 14px;
        vertical-align: top
 }
@@ -129,7 +128,7 @@ textarea {
 .form-table th {
        font-size: 14px;
        text-align: right;
-       padding: 16px 0 10px 20px;
+       padding: 10px 0 10px 20px;
        width: 140px;
        vertical-align: top;
 }
@@ -171,7 +170,7 @@ submit {
 
 .form-table.install-success td {
        vertical-align: middle;
-       padding: 16px 0 10px 20px;
+       padding: 16px 0 16px 20px;
 }
 
 .form-table.install-success td p {
@@ -198,36 +197,66 @@ submit {
        font-family: Consolas, Monaco, monospace;
 }
 
+.wp-hide-pw > .dashicons {
+       line-height: inherit;
+}
+
 #pass-strength-result {
        background-color: #eee;
-       border-color: #ddd !important;
-       border-style: solid;
-       border-width: 1px;
-       margin: 5px 0 5px 5px;
-       padding: 5px;
+       border: 1px solid #ddd;
+       color: #23282d;
+       margin: -2px 0px 5px 5px;
+       padding: 3px 5px;
        text-align: center;
-       width: 200px;
-       display: none;
+       width: 218px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       opacity: 0;
+}
+
+#pass-strength-result.short {
+       background-color: #f1adad;
+       border-color: #e35b5b;
+       opacity: 1;
 }
 
 #pass-strength-result.bad {
-       background-color: #ffb78c;
-       border-color: #ff853c !important;
+       background-color: #fbc5a9;
+       border-color: #f78b53;
+       opacity: 1;
 }
 
 #pass-strength-result.good {
-       background-color: #ffec8b;
-       border-color: #ffcc00 !important;
+       background-color: #ffe399;
+       border-color: #ffc733;
+       opacity: 1;
 }
 
-#pass-strength-result.short {
-       background-color: #ffa0a0;
-       border-color: #f04040 !important;
+#pass-strength-result.strong {
+       background-color: #c1e1b9;
+       border-color: #83c373;
+       opacity: 1;
 }
 
-#pass-strength-result.strong {
-       background-color: #c3ff88;
-       border-color: #8dff1c !important;
+#pass1.short, #pass1-text.short {
+       border-color: #e35b5b;
+}
+
+#pass1.bad, #pass1-text.bad {
+       border-color: #f78b53;
+}
+
+#pass1.good, #pass1-text.good {
+       border-color: #ffc733;
+}
+
+#pass1.strong, #pass1-text.strong {
+       border-color: #83c373;
+}
+
+.pw-weak {
+       display: none;
 }
 
 .message {
@@ -250,6 +279,20 @@ submit {
        direction: ltr;
 }
 
+#pass1-text,
+.show-password #pass1 {
+       display: none;
+}
+
+.show-password #pass1-text
+{
+       display: inline-block;
+}
+
+.form-table span.description.important {
+       font-size: 12px;
+}
+
 
 /* localization */
 body.rtl,
@@ -374,6 +417,11 @@ body.language-chooser {
        vertical-align: top;
 }
 
+.button-secondary.hide-if-no-js,
+.hide-if-no-js {
+       display: none;
+}
+
 /**
  * HiDPI Displays
  */
index 84e5e8111946afe9ee1458761b7af4234ca9e31f..9b4383f7d28fc17ffbf6e8b84dd7fdfb3c9334c7 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0073aa;text-decoration:none}a:hover{color:#00a0d2}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 22px 5px 5px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 0 10px 20px;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:right;padding:16px 0 10px 20px;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 0 10px 20px}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 0 5px 5px;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#32373c;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:left}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-left:15px;vertical-align:top}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
+a img,abbr{border:0}#logo a,a{text-decoration:none}#logo a,.form-table th p,h1{font-weight:400}html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0073aa}a:hover{color:#00a0d2}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}input,submit,textarea{font-family:"Open Sans",sans-serif}dl,ol,ul{padding:5px 22px 5px 5px}abbr{font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;line-height:1.3em;margin:-130px auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#pass1-text,.pw-weak,.show-password #pass1{display:none}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}.form-table td,.form-table th{font-size:14px;padding:10px 0 10px 20px;vertical-align:top}textarea{border:1px solid #dfdfdf;width:100%;box-sizing:border-box}#pass-strength-result,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px}.form-table th{text-align:right;width:140px}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table.install-success td{vertical-align:middle;padding:16px 0 16px 20px}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}.wp-hide-pw>.dashicons{line-height:inherit}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 0 5px 5px;padding:3px 5px;text-align:center;width:218px;box-sizing:border-box;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}.language-chooser select,:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=text],.form-table td input[type=email],.form-table td input[type=url],.form-table td input[type=password],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#32373c;font-size:16px;font-weight:400}.language-chooser p{text-align:left}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-left:15px;vertical-align:top}.button-secondary.hide-if-no-js,.hide-if-no-js{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
index 722228fe058dc9c92dfdc8d53d6837a872037bc3..76793ab77b5d65fec085ae64bcf9a374652246f1 100644 (file)
@@ -121,7 +121,6 @@ textarea {
 .form-table td {
        margin-bottom: 9px;
        padding: 10px 20px 10px 0;
-       border-bottom: 8px solid #fff;
        font-size: 14px;
        vertical-align: top
 }
@@ -129,7 +128,7 @@ textarea {
 .form-table th {
        font-size: 14px;
        text-align: left;
-       padding: 16px 20px 10px 0;
+       padding: 10px 20px 10px 0;
        width: 140px;
        vertical-align: top;
 }
@@ -171,7 +170,7 @@ submit {
 
 .form-table.install-success td {
        vertical-align: middle;
-       padding: 16px 20px 10px 0;
+       padding: 16px 20px 16px 0;
 }
 
 .form-table.install-success td p {
@@ -198,36 +197,66 @@ submit {
        font-family: Consolas, Monaco, monospace;
 }
 
+.wp-hide-pw > .dashicons {
+       line-height: inherit;
+}
+
 #pass-strength-result {
        background-color: #eee;
-       border-color: #ddd !important;
-       border-style: solid;
-       border-width: 1px;
-       margin: 5px 5px 5px 0;
-       padding: 5px;
+       border: 1px solid #ddd;
+       color: #23282d;
+       margin: -2px 5px 5px 0px;
+       padding: 3px 5px;
        text-align: center;
-       width: 200px;
-       display: none;
+       width: 218px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       opacity: 0;
+}
+
+#pass-strength-result.short {
+       background-color: #f1adad;
+       border-color: #e35b5b;
+       opacity: 1;
 }
 
 #pass-strength-result.bad {
-       background-color: #ffb78c;
-       border-color: #ff853c !important;
+       background-color: #fbc5a9;
+       border-color: #f78b53;
+       opacity: 1;
 }
 
 #pass-strength-result.good {
-       background-color: #ffec8b;
-       border-color: #ffcc00 !important;
+       background-color: #ffe399;
+       border-color: #ffc733;
+       opacity: 1;
 }
 
-#pass-strength-result.short {
-       background-color: #ffa0a0;
-       border-color: #f04040 !important;
+#pass-strength-result.strong {
+       background-color: #c1e1b9;
+       border-color: #83c373;
+       opacity: 1;
 }
 
-#pass-strength-result.strong {
-       background-color: #c3ff88;
-       border-color: #8dff1c !important;
+#pass1.short, #pass1-text.short {
+       border-color: #e35b5b;
+}
+
+#pass1.bad, #pass1-text.bad {
+       border-color: #f78b53;
+}
+
+#pass1.good, #pass1-text.good {
+       border-color: #ffc733;
+}
+
+#pass1.strong, #pass1-text.strong {
+       border-color: #83c373;
+}
+
+.pw-weak {
+       display: none;
 }
 
 .message {
@@ -250,6 +279,20 @@ submit {
        direction: ltr;
 }
 
+#pass1-text,
+.show-password #pass1 {
+       display: none;
+}
+
+.show-password #pass1-text
+{
+       display: inline-block;
+}
+
+.form-table span.description.important {
+       font-size: 12px;
+}
+
 
 /* localization */
 body.rtl,
@@ -374,6 +417,11 @@ body.language-chooser {
        vertical-align: top;
 }
 
+.button-secondary.hide-if-no-js,
+.hide-if-no-js {
+       display: none;
+}
+
 /**
  * HiDPI Displays
  */
index aa239eba0c43f09cfb94dce81c427873608516a7..13cbe9d5cbc000a3b2d3a02c5b20fee7ac570885 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0073aa;text-decoration:none}a:hover{color:#00a0d2}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:left;padding:16px 20px 10px 0;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 20px 10px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 0;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#32373c;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:right}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-right:15px;vertical-align:top}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
+a img,abbr{border:0}#logo a,a{text-decoration:none}#logo a,.form-table th p,h1{font-weight:400}html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0073aa}a:hover{color:#00a0d2}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}input,submit,textarea{font-family:"Open Sans",sans-serif}dl,ol,ul{padding:5px 5px 5px 22px}abbr{font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;line-height:1.3em;margin:-130px auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#pass1-text,.pw-weak,.show-password #pass1{display:none}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}.form-table td,.form-table th{font-size:14px;padding:10px 20px 10px 0;vertical-align:top}textarea{border:1px solid #dfdfdf;width:100%;box-sizing:border-box}#pass-strength-result,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px}.form-table th{text-align:left;width:140px}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table.install-success td{vertical-align:middle;padding:16px 20px 16px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}.wp-hide-pw>.dashicons{line-height:inherit}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 5px 5px 0;padding:3px 5px;text-align:center;width:218px;box-sizing:border-box;opacity:0}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}.language-chooser select,:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=text],.form-table td input[type=email],.form-table td input[type=url],.form-table td input[type=password],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#32373c;font-size:16px;font-weight:400}.language-chooser p{text-align:right}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-right:15px;vertical-align:top}.button-secondary.hide-if-no-js,.hide-if-no-js{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
index 1404e2c6d000285cbcb06fff58ea5584ec9e3fcb..6ede0d3f4dded51609a2f200459aec335e704cb8 100644 (file)
@@ -54,36 +54,27 @@ body.locale-he-il .press-this a.wp-switch-editor {
 /* zn_CH: Enlarge font size, set font-size: normal */
 .locale-zh-cn form.upgrade .hint { font-style: normal; font-size: 100%; }
 
-/* Zn_CH: Distraction-free writing.
- *  More beautiful font for "Just write."
- *  Larger text for HTML/Visual mode.
- */
-.locale-zh-cn #wp-fullscreen-tagline { font-family: KaiTi, "楷体", sans-serif; }
-.locale-zh-cn #wp-fullscreen-modes a { font-size: 12px; }
-
 /* zh_CN: Enlarge font-size. */
 .locale-zh-cn #sort-buttons { font-size: 1em !important; }
 
 /* de_DE: Text needs more space for translation */
-.locale-de-de .inline-edit-row fieldset label span.title {
-       width: 7em; /* default 5em */
-}
-.locale-de-de .inline-edit-row fieldset label span.input-text-wrap {
-       margin-right: 7em; /* default 5em */
-}
-.locale-de-de #customize-header-actions .button {
+.locale-de-de #customize-header-actions .button,
+.locale-de-de-formal #customize-header-actions .button {
        padding: 0 5px 1px; /* default 0 10px 1px */
 }
-.locale-de-de #customize-header-actions .spinner {
+.locale-de-de #customize-header-actions .spinner,
+.locale-de-de-formal #customize-header-actions .spinner {
        margin: 16px 3px 0; /* default 16px 4px 0 5px */
 }
 
 /* ru_RU: Text needs more room to breathe. */
-.locale-ru-ru .inline-edit-row fieldset label span.title {
-       width: 8em; /* default 5em */
+.locale-ru-ru .inline-edit-row fieldset label span.title,
+.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend {
+       width: 8em; /* default 6em */
 }
-.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap {
-       margin-right: 8em; /* default 5em */
+.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap,
+.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap {
+       margin-right: 8em; /* default 6em */
 }
 .locale-ru-ru.post-php .tagsdiv .newtag,
 .locale-ru-ru.post-new-php .tagsdiv .newtag {
@@ -103,9 +94,20 @@ body.locale-he-il .press-this a.wp-switch-editor {
 }
 
 /* lt_LT: QuickEdit */
-.locale-lt-lt .inline-edit-row fieldset label span.title {
-       width: 8em;
+.locale-lt-lt .inline-edit-row fieldset label span.title,
+.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend {
+       width: 8em; /* default 6em */
 }
-.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap {
-       margin-right: 8em;
+.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,
+.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap {
+       margin-right: 8em; /* default 6em */
+}
+
+@media screen and (max-width: 782px) {
+       .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap,
+       .locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,
+       .locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,
+       .locale-lt-lt .inline-edit-row fieldset .timestamp-wrap {
+               margin-right: 0;
+       }
 }
index 75c8d745ae325a97583c5405ed8fe274ce942694..8b81ebab177d09a306ff2317966d287a6f757714 100644 (file)
@@ -54,36 +54,27 @@ body.locale-he-il .press-this a.wp-switch-editor {
 /* zn_CH: Enlarge font size, set font-size: normal */
 .locale-zh-cn form.upgrade .hint { font-style: normal; font-size: 100%; }
 
-/* Zn_CH: Distraction-free writing.
- *  More beautiful font for "Just write."
- *  Larger text for HTML/Visual mode.
- */
-.locale-zh-cn #wp-fullscreen-tagline { font-family: KaiTi, "楷体", sans-serif; }
-.locale-zh-cn #wp-fullscreen-modes a { font-size: 12px; }
-
 /* zh_CN: Enlarge font-size. */
 .locale-zh-cn #sort-buttons { font-size: 1em !important; }
 
 /* de_DE: Text needs more space for translation */
-.locale-de-de .inline-edit-row fieldset label span.title {
-       width: 7em; /* default 5em */
-}
-.locale-de-de .inline-edit-row fieldset label span.input-text-wrap {
-       margin-left: 7em; /* default 5em */
-}
-.locale-de-de #customize-header-actions .button {
+.locale-de-de #customize-header-actions .button,
+.locale-de-de-formal #customize-header-actions .button {
        padding: 0 5px 1px; /* default 0 10px 1px */
 }
-.locale-de-de #customize-header-actions .spinner {
+.locale-de-de #customize-header-actions .spinner,
+.locale-de-de-formal #customize-header-actions .spinner {
        margin: 16px 3px 0; /* default 16px 4px 0 5px */
 }
 
 /* ru_RU: Text needs more room to breathe. */
-.locale-ru-ru .inline-edit-row fieldset label span.title {
-       width: 8em; /* default 5em */
+.locale-ru-ru .inline-edit-row fieldset label span.title,
+.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend {
+       width: 8em; /* default 6em */
 }
-.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap {
-       margin-left: 8em; /* default 5em */
+.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap,
+.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap {
+       margin-left: 8em; /* default 6em */
 }
 .locale-ru-ru.post-php .tagsdiv .newtag,
 .locale-ru-ru.post-new-php .tagsdiv .newtag {
@@ -103,9 +94,20 @@ body.locale-he-il .press-this a.wp-switch-editor {
 }
 
 /* lt_LT: QuickEdit */
-.locale-lt-lt .inline-edit-row fieldset label span.title {
-       width: 8em;
+.locale-lt-lt .inline-edit-row fieldset label span.title,
+.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend {
+       width: 8em; /* default 6em */
 }
-.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap {
-       margin-left: 8em;
+.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,
+.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap {
+       margin-left: 8em; /* default 6em */
+}
+
+@media screen and (max-width: 782px) {
+       .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap,
+       .locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,
+       .locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,
+       .locale-lt-lt .inline-edit-row fieldset .timestamp-wrap {
+               margin-left: 0;
+       }
 }
index 7a7ea511ddf2e90c36779b54e69e5789900781f6..87a01dde945a32635d4b136276354a68ec855eb3 100644 (file)
-/* List table styles */
-.post-com-count-wrapper {
-       min-width: 22px;
-}
-
-.post-com-count {
-       background: none;
-       height: 1.3em;
-       line-height: 1.1em;
+.response-links {
        display: block;
-       text-decoration: none;
-       padding: 0 0 6px;
-       cursor: pointer;
-       background-position: center -80px;
-       background-repeat: no-repeat;
-       color: #fff;
+       margin-bottom: 1em;
 }
 
-.post-com-count:after {                /* draw bubble connector using CSS! */
-       content: "";
+.response-links a {
        display: block;
-       width: 0;
-       height: 0;
-       margin-right: 8px;
-       border-top: 5px solid #b4b9be;
-       border-left: 5px solid transparent;
 }
 
-.post-com-count span {
-       font-size: 11px;
+.response-links a.comments-edit-item-link {
        font-weight: 600;
-       height: 1.4em;
-       line-height: 1.4em;
-       min-width: 0.7em;
-       padding: 0 6px;
-       display: inline-block;
-       -webkit-border-radius: 5px;
-       border-radius: 5px;
-       background-color: #b4b9be;
-       color: #fff;
 }
 
-.post-com-count:hover {
-       background-position: center -3px;
+.response-links a.comments-view-item-link {
+       font-size: 12px;
 }
 
-.post-com-count:hover span {
-       background-color: #00a0d2;
+.post-com-count-wrapper strong {
+       font-weight: 400;
 }
 
-.post-com-count:hover:after {
-       border-top: 5px solid #00a0d2;
+.comments-view-item-link {
+       display: inline-block;
+       clear: both;
 }
 
-strong .post-com-count {
-       background-position: center -55px;
+.column-response .post-com-count-wrapper,
+.column-comments .post-com-count-wrapper {
+       white-space: nowrap;
+       word-wrap: normal;
 }
 
-strong .post-com-count span {
-       background-color: #0073aa;
+/* comments bubble common */
+.column-response .post-com-count,
+.column-comments .post-com-count {
+       display: inline-block;
+       vertical-align: top;
 }
 
-strong .post-com-count:after {
-       border-top: 5px solid #0073aa;
+/* comments bubble approved */
+.column-response .post-com-count-no-comments,
+.column-response .post-com-count-approved,
+.column-comments .post-com-count-no-comments,
+.column-comments .post-com-count-approved {
+       margin-top: 5px;
 }
 
-.column-response .post-com-count {
-       float: right;
-       margin-left: 5px;
+.column-response .comment-count-no-comments,
+.column-response .comment-count-approved,
+.column-comments .comment-count-no-comments,
+.column-comments .comment-count-approved {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       display: block;
+       padding: 0 8px;
+       min-width: 24px;
+       height: 2em;
+       -webkit-border-radius: 5px;
+       border-radius: 5px;
+       background-color: #72777c;
+       color: #fff;
+       font-size: 11px;
+       line-height: 21px;
        text-align: center;
 }
 
-.response-links {
-       float: right;
+.ie8 .column-response .comment-count-no-comments,
+.ie8 .column-response .comment-count-approved,
+.ie8 .column-comments .comment-count-no-comments,
+.ie8 .column-comments .comment-count-approved {
+       min-width: 0;
+}
+
+.column-response .post-com-count-no-comments:after,
+.column-response .post-com-count-approved:after,
+.column-comments .post-com-count-no-comments:after,
+.column-comments .post-com-count-approved:after {
+       content: "";
+       display: block;
+       margin-right: 8px;
+       width: 0;
+       height: 0;
+       border-top: 5px solid #72777c;
+       border-left: 5px solid transparent;
+}
+
+.column-response .post-com-count-approved:hover .comment-count-approved,
+.column-response .post-com-count-approved:focus .comment-count-approved,
+.column-comments .post-com-count-approved:hover .comment-count-approved,
+.column-comments .post-com-count-approved:focus .comment-count-approved {
+       background: #0073aa;
+}
+
+.column-response .post-com-count-approved:hover:after,
+.column-response .post-com-count-approved:focus:after,
+.column-comments .post-com-count-approved:hover:after,
+.column-comments .post-com-count-approved:focus:after {
+       border-top-color: #0073aa;
+}
+
+/* comments bubble pending */
+.column-response .post-com-count-pending,
+.column-comments .post-com-count-pending {
+       position: relative;
+       right: -3px;
+       padding: 0 5px;
+       min-width: 7px;
+       height: 17px;
+       border: 2px solid #fff;
+       -webkit-border-radius: 11px;
+       border-radius: 11px;
+       background: #ca4a1f;
+       color: #fff;
+       font-size: 9px;
+       line-height: 17px;
+       text-align: center;
 }
 
 /* comments */
@@ -125,7 +168,8 @@ strong .post-com-count:after {
        font-size: 1em;
 }
 
-#edithead .inside {
+#edithead .inside,
+#commentsdiv #edithead .inside {
        float: right;
        padding: 3px 5px 2px 0;
        margin: 0;
@@ -160,10 +204,6 @@ strong .post-com-count:after {
        vertical-align: text-top;
 }
 
-#the-comment-list .attachment-80x60 {
-       padding: 4px 8px;
-}
-
 #the-comment-list tr.undo,
 #the-comment-list div.undo {
        background-color: #f4f4f4;
@@ -258,7 +298,7 @@ table.fixed {
 }
 
 .fixed .column-posts {
-    width: 74px;
+       width: 74px;
 }
 
 .fixed .column-comment .comment-author {
@@ -282,7 +322,7 @@ table.fixed {
 }
 
 .fixed .column-comments {
-       width: 4em;
+       width: 5.5em;
        padding: 8px 0;
        text-align: right;
 }
@@ -291,12 +331,37 @@ table.fixed {
        padding-right: 3px;
 }
 
-.fixed .column-comments a {
+td.column-title strong,
+td.plugin-title strong {
+       display: block;
+       margin-bottom: .2em;
+       font-size: 14px;
+}
+
+td.column-title p,
+td.plugin-title p {
+       margin: 6px 0;
+}
+
+/* Media file column */
+table.media .column-title .media-icon {
        float: right;
+       min-height: 60px;
+       margin: 0 0 0 9px;
 }
 
-.fixed .column-icon {
-       width: 80px;
+table.media .column-title .media-icon img {
+       max-width: 60px;
+       height: auto;
+       vertical-align: top; /* Remove descender white-space. */
+}
+
+table.media .column-title .has-media-icon ~ .row-actions {
+       margin-right: 70px; /* 60px image + margin */
+}
+
+table.media .column-title .filename {
+       margin-bottom: 0.2em;
 }
 
 /* @todo: pick a consistent list table selector */
@@ -347,7 +412,8 @@ table.fixed {
        border: 0 none;
 }
 
-#commentsdiv .comments-box thead th {
+#commentsdiv .comments-box thead th,
+#commentsdiv .comments-box thead td {
        background: transparent;
        padding: 0 7px 4px;
        font-style: italic;
@@ -357,6 +423,11 @@ table.fixed {
        border-bottom: 0 none;
 }
 
+#commentsdiv #edithead .inside input {
+       vertical-align: middle;
+       width: 160px;
+}
+
 .sorting-indicator {
        display: none;
        width: 10px;
@@ -366,7 +437,6 @@ table.fixed {
 }
 
 .sorting-indicator:before {
-       background: none;
        content: '\f142';
        font: normal 20px/1 'dashicons';
        speak: none;
@@ -390,13 +460,71 @@ table.fixed {
 }
 
 th.sorted.asc .sorting-indicator:before,
-th.desc:hover span.sorting-indicator:before {
+th.desc:hover span.sorting-indicator:before,
+th.desc a:focus span.sorting-indicator:before {
        content: '\f142';
 }
 
 th.sorted.desc .sorting-indicator:before,
-th.asc:hover span.sorting-indicator:before {
+th.asc:hover span.sorting-indicator:before,
+th.asc a:focus span.sorting-indicator:before {
+       content: '\f140';
+}
+
+.wp-list-table .toggle-row {
+       position: absolute;
+       left: 8px;
+       top: 10px;
+       display: none;
+       padding: 0;
+       width: 40px;
+       height: 40px;
+       border: none;
+       outline: none;
+       background: transparent;
+}
+
+.wp-list-table .toggle-row:hover {
+       cursor: pointer;
+}
+
+.wp-list-table .toggle-row:focus:before {
+    -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);
+}
+
+.ie8 .wp-list-table .toggle-row:focus:before {
+       outline: #5b9dd9 solid 1px;
+}
+
+.wp-list-table .toggle-row:active {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.wp-list-table .toggle-row:before {
+       position: absolute;
+       top: -5px;
+       right: 10px;
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       display: block;
+       padding: 1px 0 1px 2px;
+       color: #666;
        content: '\f140';
+       font: normal 20px/1 'dashicons';
+       line-height: 1;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       speak: none;
+}
+
+.wp-list-table .is-expanded .toggle-row:before {
+       content: '\f142';
 }
 
 tr.wp-locked .locked-indicator {
@@ -476,29 +604,33 @@ th.sorted a span {
        cursor: pointer;
 }
 
-th.sorted.asc .sorting-indicator,
-th.desc:hover span.sorting-indicator {
+th.sorted .sorting-indicator,
+th.desc:hover span.sorting-indicator,
+th.desc a:focus span.sorting-indicator,
+th.asc:hover span.sorting-indicator,
+th.asc a:focus span.sorting-indicator {
        display: block;
-       background-position: 100% 0;
-}
-
-th.sorted.desc .sorting-indicator,
-th.asc:hover span.sorting-indicator {
-       display: block;
-       background-position: -7px 0;
 }
 
 /* Bulk Actions */
-.tablenav-pages a {
+.tablenav-pages a,
+.tablenav-pages-navspan {
        font-weight: 600;
-       margin-left: 1px;
        padding: 0 2px;
 }
+
 .tablenav-pages .current-page {
-       padding-top: 0;
+       margin: 0 0 0 2px;
+       padding-bottom: 5px;
+       font-size: 13px;
        text-align: center;
 }
-.tablenav-pages .next-page {
+
+.tablenav .total-pages {
+       margin-left: 2px;
+}
+
+.tablenav #table-paging {
        margin-right: 2px;
 }
 
@@ -520,12 +652,10 @@ th.asc:hover span.sorting-indicator {
 
 .tablenav .tablenav-pages {
        float: left;
-       display: block;
+       height: 28px;
+       margin-top: 3px;
        cursor: default;
-       height: 30px;
        color: #555;
-       line-height: 30px;
-       font-size: 12px;
 }
 
 .tablenav .no-pages,
@@ -539,34 +669,44 @@ th.asc:hover span.sorting-indicator {
        padding: 3px 6px;
 }
 
-.tablenav .tablenav-pages a {
-       padding: 0 10px 3px;
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
+.tablenav .tablenav-pages a,
+.tablenav-pages-navspan {
+       display: inline-block;
+       min-width: 17px;
+       border: 1px solid #d2d2d2;
+       padding: 3px 5px 7px;
+       background: #e4e4e4;
        font-size: 16px;
+       line-height: 1;
        font-weight: normal;
+       text-align: center;
+}
+
+.tablenav-pages-navspan {
+       height: 16px;
+       border-color: #e8e8e8;
+       background: #ebebeb;
+       color: #b4b4b4;
 }
 
 .tablenav .tablenav-pages a:hover,
 .tablenav .tablenav-pages a:focus {
+       border-color: #5b9dd9;
        color: #fff;
        background: #00a0d2;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       outline: none; /* IE8 */
 }
 
-.tablenav .tablenav-pages a.disabled,
-.tablenav .tablenav-pages a.disabled:hover,
-.tablenav .tablenav-pages a.disabled:focus,
-.tablenav .tablenav-pages a.disabled:active {
-       color: #a0a5aa;
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
+.tablenav .displaying-num {
+       margin-left: 7px;
 }
 
-.tablenav .displaying-num {
-       margin-left: 2px;
-       color: #777;
-       font-size: 12px;
-       font-style: italic;
+.tablenav .one-page .displaying-num {
+       display: inline-block;
+       margin-top: 5px;
+       margin-left: 0;
 }
 
 .tablenav .actions {
@@ -603,43 +743,42 @@ classes exist in paginate_links() but not seen in list table output. */
 
 .tablenav .view-switch {
        float: left;
-       margin: 5px 8px 0 16px;
+       margin: 0 5px;
+       padding-top: 3px;
 }
 
 .wp-filter .view-switch {
        display: inline-block;
        vertical-align: middle;
-       padding: 15px 0;
-       margin: 0 0 0 20px;
+       padding: 12px 0;
+       margin: 0 2px 0 8px;
 }
 
-.view-switch a {
-       text-decoration: none;
+.media-toolbar.wp-filter .view-switch {
+       margin: 0 2px 0 12px;
 }
 
-.view-switch > a {
-       display: inline-block;
-       width: 18px;
-       height: 18px;
+.view-switch a {
+       float: right;
+       width: 28px;
+       height: 28px;
+       text-align: center;
+       line-height: 24px;
+       text-decoration: none;
 }
 
-.view-switch a:before {
+.view-switch a:before {
        color: #b4b9be;
        display: inline-block;
-       float: right;
        font: normal 20px/1 'dashicons';
        speak: none;
        vertical-align: middle;
-       margin-right: 0;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
 }
 
-.view-switch > .view-list:before {
-       content: '\f163';
-}
-
-.view-switch a:hover:before {
+.view-switch a:hover:before,
+.view-switch a:focus:before {
        color: #727272;
 }
 
@@ -647,15 +786,15 @@ classes exist in paginate_links() but not seen in list table output. */
        color: #0073aa;
 }
 
-.view-switch > a + a {
-       margin-right: 5px;
+.view-switch .view-list:before {
+       content: '\f163';
 }
 
-.view-switch .view-excerpt:before {
+.view-switch .view-excerpt:before {
        content: '\f164';
 }
 
-.view-switch .view-grid:before {
+.view-switch .view-grid:before {
        content: '\f509';
 }
 
@@ -758,11 +897,6 @@ tr.inline-edit-row td,
        padding: 0 0.5em;
 }
 
-#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col {
-       border-width: 0 1px 0 0;
-       border-style: none solid none none;
-}
-
 #wpbody-content .quick-edit-row-post .inline-edit-col-left {
        width: 40%;
 }
@@ -845,6 +979,13 @@ tr.inline-edit-row td,
        line-height: 2.5;
 }
 
+.inline-edit-row fieldset.inline-edit-date label {
+       display: inline-block;
+       margin: 0;
+       line-height: 1.5;
+       vertical-align: baseline;
+}
+
 .inline-edit-row fieldset label.inline-edit-tags {
        margin-top: 0;
 }
@@ -854,16 +995,27 @@ tr.inline-edit-row td,
        width: auto;
 }
 
-.inline-edit-row fieldset label span.title {
+.inline-edit-row fieldset label span.title,
+.inline-edit-row fieldset.inline-edit-date legend {
        display: block;
        float: right;
-       width: 5em;
+       width: 6em;
        line-height: 2.5;
 }
 
-.inline-edit-row fieldset label span.input-text-wrap {
+#posts-filter fieldset.inline-edit-date legend {
+       padding: 0;
+}
+
+.inline-edit-row fieldset.inline-edit-date select {
+       margin: 1px;
+       line-height: 28px;
+}
+
+.inline-edit-row fieldset label span.input-text-wrap,
+.inline-edit-row fieldset .timestamp-wrap {
        display: block;
-       margin-right: 5em;
+       margin-right: 6em;
 }
 
 .quick-edit-row-post fieldset.inline-edit-col-right label span.title {
@@ -1029,14 +1181,14 @@ ul.cat-checklist {
        font-size: 14px;
 }
 
-.plugins thead th.check-column,
-.plugins tfoot th.check-column,
+.plugins thead td.check-column,
+.plugins tfoot td.check-column,
 .plugins .inactive th.check-column {
        padding-right: 6px;
 }
 
-#update-plugins-table thead th.check-column,
-#update-plugins-table tfoot th.check-column {
+#update-plugins-table thead td.check-column,
+#update-plugins-table tfoot td.check-column {
        padding-top: 11px;
 }
 
@@ -1179,9 +1331,8 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
 .plugin-update-tr .update-message {
        font-size: 13px;
        font-weight: normal;
-       margin: 6px 12px 12px;
-       padding: 6px 12px;
        margin: 0 31px 8px 10px;
+       padding: 6px 40px 8px 12px;
        background-color: #f7f7f7;
        background-color: rgba(0,0,0,0.03);
 }
@@ -1204,7 +1355,7 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
 }
 
 .plugin-update-tr .update-message:before {
-       margin: 0 -2px 0 8px;
+       margin: 0 -30px 0 10px;
 }
 
 .plugin-card .update-now:before,
@@ -1247,9 +1398,9 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
        content: '\f147';
 }
 
-.plugins .plugin-update-tr .plugin-update {
+.wp-list-table.plugins tbody tr.plugin-update-tr td.plugin-update {
+       overflow: hidden; /* clearfix */
        padding: 0;
-       border: none;
        -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
        box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
 }
@@ -1333,14 +1484,6 @@ tr.active + tr.plugin-update-tr:not(.updated) .plugin-update .update-message {
        }
 }
 
-@media screen and ( max-width: 782px ) {
-       .plugin-card {
-               margin-right: 0;
-               margin-left: 0;
-               width: 100%;
-       }
-}
-
 .plugin-card-top {
        position: relative;
        padding: 20px 20px 10px;
@@ -1482,6 +1625,15 @@ div.action-links,
        background: #fecac2;
 }
 
+.sites.fixed .column-lastupdated,
+.sites.fixed .column-registered {
+       width: 20%;
+}
+
+.sites.fixed .column-users {
+       width: 80px;
+}
+
 /* =Media Queries
 -------------------------------------------------------------- */
 
@@ -1545,6 +1697,12 @@ div.action-links,
                display: none;
        }
 
+       .view-switch a {
+               width: 36px;
+               height: 36px;
+               line-height: 33px;
+       }
+
        /* Pagination */
        .tablenav.top .displaying-num {
                display: none;
@@ -1553,12 +1711,14 @@ div.action-links,
        .tablenav.bottom .displaying-num {
                position: absolute;
                left: 0;
-               top: 10px;
+               top: 11px;
+               margin: 0;
                font-size: 14px;
        }
 
-       .tablenav-pages {
+       .tablenav .tablenav-pages {
                width: 100%;
+               height: auto;
                text-align: center;
                margin: 0 0 25px;
        }
@@ -1576,19 +1736,23 @@ div.action-links,
                height: 0;
        }
 
-       .tablenav-pages .pagination-links .paging-input {
-               font-size: 18px;
+       .tablenav-pages .pagination-links {
+               font-size: 16px;
        }
 
-       .tablenav-pages .pagination-links a {
-               padding: 8px 20px 11px;
+       .tablenav-pages .pagination-links a,
+       .tablenav-pages-navspan {
+               padding: 9px 16px 12px;
                font-size: 18px;
-               background: rgba(0, 0, 0, 0.05);
+       }
+
+       .tablenav-pages-navspan {
+               height: 18px;
        }
 
        .tablenav-pages .pagination-links .current-page {
-               padding: 10px;
-               font-size: 14px;
+               padding: 8px 9px 9px;
+               font-size: 16px;
        }
 
        /* WP List Table Adjustments: General */
@@ -1600,31 +1764,137 @@ div.action-links,
                font-size: 14px;
        }
 
-       /* Columns to hide */
-       .fixed .column-date,
-       .fixed .column-author,
-       .column-categories,
-       .column-tags,
-       .tags .column-description,
-       .media .column-parent,
-       .users .column-email,
-       .users .column-name,
-       .sites .column-registered,
-       .sites .column-users {
+       .wp-list-table th.column-primary ~ th,
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary ~ td:not(.check-column) {
                display: none;
        }
 
+       .wp-list-table thead th.column-primary {
+               width: 100%;
+       }
+
+       /* Checkboxes need to show */
+       .wp-list-table tr th.check-column {
+               display: table-cell;
+               width: 35px;
+       }
+
+       .wp-list-table .column-primary .toggle-row {
+               display: block;
+       }
+
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
+               position: relative;
+               clear: both;
+               display: block;
+               width: auto !important; /* needs to override some columns that are more specifically targeted */
+       }
+
+       .wp-list-table td.column-primary {
+               padding-left: 50px; /* space for toggle button */
+       }
+
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary ~ td:not(.check-column) {
+               padding: 3px 35% 3px 8px;
+       }
+
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before {
+               position: absolute;
+               right: 10px; /* match padding of regular table cell */
+               display: block;
+               overflow: hidden;
+               width: 32%; /* leave a little space for a gutter */
+               content: attr(data-colname);
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
+       .wp-list-table .is-expanded td:not(.hidden) {
+               display: block !important;
+               overflow: hidden; /* clearfix */
+       }
+
+       /* Special cases */
+       .widefat .num,
+       .column-posts {
+               text-align: right;
+       }
+
+       #comments-form .fixed .column-author {
+               display: none !important;
+       }
+
        .fixed .column-comment .comment-author {
                display: block;
        }
 
-       /* Posts */
-       .column-title {
-               width: 85%;
+       #the-comment-list .is-expanded td {
+               -webkit-box-shadow: none;
+               box-shadow: none;
+       }
+
+       #the-comment-list .is-expanded td:last-child {
+               -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+               box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+       }
+
+       /* Show comment bubble as text instead */
+       .post-com-count .screen-reader-text {
+               position: static;
+               width: auto;
+               height: auto;
+               margin: 0;
+       }
+
+       .column-response .post-com-count-no-comments:after,
+       .column-response .post-com-count-approved:after,
+       .column-comments .post-com-count-no-comments:after,
+       .column-comments .post-com-count-approved:after {
+               content: none;
+       }
+
+       .column-response .post-com-count [aria-hidden="true"],
+       .column-comments .post-com-count [aria-hidden="true"] {
+               display: none;
+       }
+
+       .column-response .post-com-count-wrapper,
+       .column-comments .post-com-count-wrapper {
+               white-space: normal;
+       }
+
+       .column-response .post-com-count-wrapper > a,
+       .column-comments .post-com-count-wrapper > a {
+               display: block;
+       }
+
+       .column-response .post-com-count-no-comments,
+       .column-response .post-com-count-approved,
+       .column-comments .post-com-count-no-comments,
+       .column-comments .post-com-count-approved {
+               margin-top: 0;
+               margin-left: 0.5em;
        }
 
-       .fixed .column-comments, .widefat .check-column {
-               width: 35px
+       .column-response .post-com-count-pending,
+       .column-comments .post-com-count-pending {
+               position: static;
+               height: auto;
+               min-width: 0;
+               padding: 0;
+               border: none;
+               -webkit-border-radius: 0;
+               border-radius: 0;
+               background: none;
+               color: #bb2a2a;
+               font-size: inherit;
+               line-height: inherit;
+               text-align: right;
+       }
+
+       .column-response .post-com-count-pending:hover,
+       .column-comments .post-com-count-pending:hover {
+               color: #dc3232;
        }
 
        .widefat thead .check-column, .widefat tfoot .check-column {
@@ -1672,7 +1942,8 @@ div.action-links,
                font-size: 16px;
        }
 
-       .inline-edit-row fieldset label span.title {
+       .inline-edit-row fieldset label span.title,
+       .inline-edit-row fieldset.inline-edit-date legend {
                float: none;
        }
 
@@ -1684,7 +1955,8 @@ div.action-links,
                padding: 0;
        }
 
-       .inline-edit-row fieldset label span.input-text-wrap {
+       .inline-edit-row fieldset label span.input-text-wrap,
+       .inline-edit-row fieldset .timestamp-wrap {
                margin-right: 0;
        }
 
@@ -1710,30 +1982,6 @@ div.action-links,
                height: 22px;
        }
 
-       /* Taxonomies */
-       .tags .column-posts {
-               width: 74px;
-       }
-
-       .tags .column-slug {
-               width: 30%;
-       }
-
-       /* Comments */
-       .comments .column-response {
-               width: 35%;
-       }
-
-       /* Users */
-       .users .column-role {
-               width: 35%;
-       }
-
-       /* Network admin sites */
-       .sites .column-blogname {
-               width: 55%;
-       }
-
        /* Updates */
        #wpbody-content #update-themes-table .plugin-title {
                width: auto;
@@ -1748,49 +1996,21 @@ div.action-links,
                overflow: hidden;
        }
 
-       /* Plugin/Theme Management Page */
-       .wp-list-table.plugins {
-               position: relative;
-               margin-top: 35px;
-               margin-bottom: 50px;
-       }
-
-       .wp-list-table.plugins thead .column-description,
-       #wpbody-content .wp-list-table.plugins tfoot .column-description,
-       .wp-list-table.plugins th#description {
+       /* List tables that don't toggle rows */
+       .comments-box .toggle-row,
+       .wp-list-table.plugins .toggle-row {
                display: none;
        }
 
-       #wpbody-content .wp-list-table.plugins,
-       #wpbody-content .wp-list-table.plugins thead,
-       #wpbody-content .wp-list-table.plugins tbody,
-       #wpbody-content .wp-list-table.plugins tr,
-       #wpbody-content .wp-list-table.plugins .column-description,
-       #wpbody-content .wp-list-table.plugins .plugin-title,
-       #wpbody-content .wp-list-table.plugins .theme-title,
-       #wpbody-content .wp-list-table.plugins .plugin-update,
-       #wpbody-content .wp-list-table.plugins .manage-column.column-name {
+       /* Plugin/Theme Management */
+       #wpbody-content .wp-list-table.plugins td {
                display: block;
                width: auto;
+               padding: 10px 9px; /* reset from other list tables that have a label at this width */
        }
 
-       .wp-list-table.plugins thead,
-       .wp-list-table.plugins tfoot {
-               position: absolute;
-               top: -35px;
-               right: 0;
-               left: 0;
-               width: auto;
-               height: 35px;
-       }
-
-       .wp-list-table.plugins tfoot {
-               bottom: -35px;
-               top: auto;
-       }
-
-       .active, .inactive {
-               padding-top: 0;
+       #wpbody-content .wp-list-table.plugins .column-description {
+               padding-top: 2px;
        }
 
        .wp-list-table.plugins .plugin-title,
@@ -1799,20 +2019,26 @@ div.action-links,
                padding-bottom: 4px;
        }
 
-       .plugins tr.active + tr.inactive th.check-column,
-       .plugins tr.active + tr.inactive td,
-       .wp-list-table.plugins .plugin-title,
-       .wp-list-table.plugins .theme-title,
-       .wp-list-table.plugins tbody th {
+       .plugins #the-list tr > td:not(:last-child),
+       .plugins #the-list .update th,
+       .plugins #the-list .update td,
+       .wp-list-table.plugins #the-list .theme-title {
                -webkit-box-shadow: none;
                box-shadow: none;
+               border-top: none;
+       }
+
+       .plugins #the-list tr td {
+               border-top: none;
        }
 
        .plugins tbody {
                padding: 1px 0 0;
        }
 
-       .plugins tr.active + tr.inactive td.column-description {
+       .plugins tr.active + tr.inactive th.check-column,
+       .plugins tr.active + tr.inactive td.column-description,
+       .plugins .plugin-update-tr:before {
                -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
                box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
        }
@@ -1822,57 +2048,23 @@ div.action-links,
                border-top: none;
        }
 
-       .wp-list-table.plugins .column-description {
-               padding-top: 0;
+       /* mimic the checkbox th */
+       .plugins .plugin-update-tr:before {
+               content: '';
+               display: table-cell;
        }
 
-       .wp-list-table.plugins .manage-column.column-name,
-       .wp-list-table.plugins .column-description,
-       .wp-list-table.plugins .plugin-title,
-       .wp-list-table.plugins .theme-title {
-               padding-left: 12px;
-               padding-right: 46px;
+       .plugins .active.update + .plugin-update-tr:before {
+               border-right: 4px solid #d54e21;
+               background-color: #fef7f1;
        }
 
-       .wp-list-table.plugins tr {
-               position: relative;
-       }
-
-       .wp-list-table.plugins th.check-column,
-       .wp-list-table.plugins tr.update th.check-column {
-               position: absolute;
-               height: auto;
-               top: 0;
-               bottom: 0;
-               right: 0;
-               padding-right: 2px;
-               padding-top: 18px;
+       .plugins #the-list .plugin-update-tr .plugin-update {
+               border-right: none;
        }
 
-       .wp-list-table.plugins thead th.check-column,
-       .wp-list-table.plugins tfoot th.check-column {
-               padding-right: 3px;
-               padding-top: 11px;
-               background: none;
-       }
-
-       .widefat tbody th.check-column input[type="checkbox"] {
-               margin-top: -3px;
-               margin-right: 8px;
-       }
-
-       .wp-list-table.plugins .active .check-column input,
-       .wp-list-table.plugins .update .check-column input {
-               margin-right: 5px;
-       }
-
-       .wp-list-table.plugins thead .check-column input,
-       .wp-list-table.plugins tfoot .check-column input {
-               margin-top: -6px;
-       }
-
-       .wp-list-table.plugins .active th.check-column {
-               background: none;
+       .plugin-update-tr .update-message {
+               margin-right: 0;
        }
 
        .wp-list-table.plugins .plugin-title strong,
@@ -1912,14 +2104,10 @@ div.action-links,
                -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
                box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
        }
-}
 
-/* Smartphone */
-@media screen and (max-width: 600px) {
-       /* Remove slug column from taxonomy list page
-          and role column from users list page */
-       .tags .column-slug,
-       .users .column-role {
-               display: none;
+       .plugin-card {
+               margin-right: 0;
+               margin-left: 0;
+               width: 100%;
        }
 }
index a096f9fb58782c915eef06fe104ab2d717b30552..fdaa733abec6bad0c7891f33bd5b66bf20954c30 100644 (file)
-/* List table styles */
-.post-com-count-wrapper {
-       min-width: 22px;
-}
-
-.post-com-count {
-       background: none;
-       height: 1.3em;
-       line-height: 1.1em;
+.response-links {
        display: block;
-       text-decoration: none;
-       padding: 0 0 6px;
-       cursor: pointer;
-       background-position: center -80px;
-       background-repeat: no-repeat;
-       color: #fff;
+       margin-bottom: 1em;
 }
 
-.post-com-count:after {                /* draw bubble connector using CSS! */
-       content: "";
+.response-links a {
        display: block;
-       width: 0;
-       height: 0;
-       margin-left: 8px;
-       border-top: 5px solid #b4b9be;
-       border-right: 5px solid transparent;
 }
 
-.post-com-count span {
-       font-size: 11px;
+.response-links a.comments-edit-item-link {
        font-weight: 600;
-       height: 1.4em;
-       line-height: 1.4em;
-       min-width: 0.7em;
-       padding: 0 6px;
-       display: inline-block;
-       -webkit-border-radius: 5px;
-       border-radius: 5px;
-       background-color: #b4b9be;
-       color: #fff;
 }
 
-.post-com-count:hover {
-       background-position: center -3px;
+.response-links a.comments-view-item-link {
+       font-size: 12px;
 }
 
-.post-com-count:hover span {
-       background-color: #00a0d2;
+.post-com-count-wrapper strong {
+       font-weight: 400;
 }
 
-.post-com-count:hover:after {
-       border-top: 5px solid #00a0d2;
+.comments-view-item-link {
+       display: inline-block;
+       clear: both;
 }
 
-strong .post-com-count {
-       background-position: center -55px;
+.column-response .post-com-count-wrapper,
+.column-comments .post-com-count-wrapper {
+       white-space: nowrap;
+       word-wrap: normal;
 }
 
-strong .post-com-count span {
-       background-color: #0073aa;
+/* comments bubble common */
+.column-response .post-com-count,
+.column-comments .post-com-count {
+       display: inline-block;
+       vertical-align: top;
 }
 
-strong .post-com-count:after {
-       border-top: 5px solid #0073aa;
+/* comments bubble approved */
+.column-response .post-com-count-no-comments,
+.column-response .post-com-count-approved,
+.column-comments .post-com-count-no-comments,
+.column-comments .post-com-count-approved {
+       margin-top: 5px;
 }
 
-.column-response .post-com-count {
-       float: left;
-       margin-right: 5px;
+.column-response .comment-count-no-comments,
+.column-response .comment-count-approved,
+.column-comments .comment-count-no-comments,
+.column-comments .comment-count-approved {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       display: block;
+       padding: 0 8px;
+       min-width: 24px;
+       height: 2em;
+       -webkit-border-radius: 5px;
+       border-radius: 5px;
+       background-color: #72777c;
+       color: #fff;
+       font-size: 11px;
+       line-height: 21px;
        text-align: center;
 }
 
-.response-links {
-       float: left;
+.ie8 .column-response .comment-count-no-comments,
+.ie8 .column-response .comment-count-approved,
+.ie8 .column-comments .comment-count-no-comments,
+.ie8 .column-comments .comment-count-approved {
+       min-width: 0;
+}
+
+.column-response .post-com-count-no-comments:after,
+.column-response .post-com-count-approved:after,
+.column-comments .post-com-count-no-comments:after,
+.column-comments .post-com-count-approved:after {
+       content: "";
+       display: block;
+       margin-left: 8px;
+       width: 0;
+       height: 0;
+       border-top: 5px solid #72777c;
+       border-right: 5px solid transparent;
+}
+
+.column-response .post-com-count-approved:hover .comment-count-approved,
+.column-response .post-com-count-approved:focus .comment-count-approved,
+.column-comments .post-com-count-approved:hover .comment-count-approved,
+.column-comments .post-com-count-approved:focus .comment-count-approved {
+       background: #0073aa;
+}
+
+.column-response .post-com-count-approved:hover:after,
+.column-response .post-com-count-approved:focus:after,
+.column-comments .post-com-count-approved:hover:after,
+.column-comments .post-com-count-approved:focus:after {
+       border-top-color: #0073aa;
+}
+
+/* comments bubble pending */
+.column-response .post-com-count-pending,
+.column-comments .post-com-count-pending {
+       position: relative;
+       left: -3px;
+       padding: 0 5px;
+       min-width: 7px;
+       height: 17px;
+       border: 2px solid #fff;
+       -webkit-border-radius: 11px;
+       border-radius: 11px;
+       background: #ca4a1f;
+       color: #fff;
+       font-size: 9px;
+       line-height: 17px;
+       text-align: center;
 }
 
 /* comments */
@@ -125,7 +168,8 @@ strong .post-com-count:after {
        font-size: 1em;
 }
 
-#edithead .inside {
+#edithead .inside,
+#commentsdiv #edithead .inside {
        float: left;
        padding: 3px 0 2px 5px;
        margin: 0;
@@ -160,10 +204,6 @@ strong .post-com-count:after {
        vertical-align: text-top;
 }
 
-#the-comment-list .attachment-80x60 {
-       padding: 4px 8px;
-}
-
 #the-comment-list tr.undo,
 #the-comment-list div.undo {
        background-color: #f4f4f4;
@@ -258,7 +298,7 @@ table.fixed {
 }
 
 .fixed .column-posts {
-    width: 74px;
+       width: 74px;
 }
 
 .fixed .column-comment .comment-author {
@@ -282,7 +322,7 @@ table.fixed {
 }
 
 .fixed .column-comments {
-       width: 4em;
+       width: 5.5em;
        padding: 8px 0;
        text-align: left;
 }
@@ -291,12 +331,37 @@ table.fixed {
        padding-left: 3px;
 }
 
-.fixed .column-comments a {
+td.column-title strong,
+td.plugin-title strong {
+       display: block;
+       margin-bottom: .2em;
+       font-size: 14px;
+}
+
+td.column-title p,
+td.plugin-title p {
+       margin: 6px 0;
+}
+
+/* Media file column */
+table.media .column-title .media-icon {
        float: left;
+       min-height: 60px;
+       margin: 0 9px 0 0;
 }
 
-.fixed .column-icon {
-       width: 80px;
+table.media .column-title .media-icon img {
+       max-width: 60px;
+       height: auto;
+       vertical-align: top; /* Remove descender white-space. */
+}
+
+table.media .column-title .has-media-icon ~ .row-actions {
+       margin-left: 70px; /* 60px image + margin */
+}
+
+table.media .column-title .filename {
+       margin-bottom: 0.2em;
 }
 
 /* @todo: pick a consistent list table selector */
@@ -347,7 +412,8 @@ table.fixed {
        border: 0 none;
 }
 
-#commentsdiv .comments-box thead th {
+#commentsdiv .comments-box thead th,
+#commentsdiv .comments-box thead td {
        background: transparent;
        padding: 0 7px 4px;
        font-style: italic;
@@ -357,6 +423,11 @@ table.fixed {
        border-bottom: 0 none;
 }
 
+#commentsdiv #edithead .inside input {
+       vertical-align: middle;
+       width: 160px;
+}
+
 .sorting-indicator {
        display: none;
        width: 10px;
@@ -366,7 +437,6 @@ table.fixed {
 }
 
 .sorting-indicator:before {
-       background: none;
        content: '\f142';
        font: normal 20px/1 'dashicons';
        speak: none;
@@ -390,13 +460,71 @@ table.fixed {
 }
 
 th.sorted.asc .sorting-indicator:before,
-th.desc:hover span.sorting-indicator:before {
+th.desc:hover span.sorting-indicator:before,
+th.desc a:focus span.sorting-indicator:before {
        content: '\f142';
 }
 
 th.sorted.desc .sorting-indicator:before,
-th.asc:hover span.sorting-indicator:before {
+th.asc:hover span.sorting-indicator:before,
+th.asc a:focus span.sorting-indicator:before {
+       content: '\f140';
+}
+
+.wp-list-table .toggle-row {
+       position: absolute;
+       right: 8px;
+       top: 10px;
+       display: none;
+       padding: 0;
+       width: 40px;
+       height: 40px;
+       border: none;
+       outline: none;
+       background: transparent;
+}
+
+.wp-list-table .toggle-row:hover {
+       cursor: pointer;
+}
+
+.wp-list-table .toggle-row:focus:before {
+    -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);
+}
+
+.ie8 .wp-list-table .toggle-row:focus:before {
+       outline: #5b9dd9 solid 1px;
+}
+
+.wp-list-table .toggle-row:active {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.wp-list-table .toggle-row:before {
+       position: absolute;
+       top: -5px;
+       left: 10px;
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       display: block;
+       padding: 1px 2px 1px 0;
+       color: #666;
        content: '\f140';
+       font: normal 20px/1 'dashicons';
+       line-height: 1;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       speak: none;
+}
+
+.wp-list-table .is-expanded .toggle-row:before {
+       content: '\f142';
 }
 
 tr.wp-locked .locked-indicator {
@@ -476,29 +604,33 @@ th.sorted a span {
        cursor: pointer;
 }
 
-th.sorted.asc .sorting-indicator,
-th.desc:hover span.sorting-indicator {
+th.sorted .sorting-indicator,
+th.desc:hover span.sorting-indicator,
+th.desc a:focus span.sorting-indicator,
+th.asc:hover span.sorting-indicator,
+th.asc a:focus span.sorting-indicator {
        display: block;
-       background-position: 0 0;
-}
-
-th.sorted.desc .sorting-indicator,
-th.asc:hover span.sorting-indicator {
-       display: block;
-       background-position: -7px 0;
 }
 
 /* Bulk Actions */
-.tablenav-pages a {
+.tablenav-pages a,
+.tablenav-pages-navspan {
        font-weight: 600;
-       margin-right: 1px;
        padding: 0 2px;
 }
+
 .tablenav-pages .current-page {
-       padding-top: 0;
+       margin: 0 2px 0 0;
+       padding-bottom: 5px;
+       font-size: 13px;
        text-align: center;
 }
-.tablenav-pages .next-page {
+
+.tablenav .total-pages {
+       margin-right: 2px;
+}
+
+.tablenav #table-paging {
        margin-left: 2px;
 }
 
@@ -520,12 +652,10 @@ th.asc:hover span.sorting-indicator {
 
 .tablenav .tablenav-pages {
        float: right;
-       display: block;
+       height: 28px;
+       margin-top: 3px;
        cursor: default;
-       height: 30px;
        color: #555;
-       line-height: 30px;
-       font-size: 12px;
 }
 
 .tablenav .no-pages,
@@ -539,34 +669,44 @@ th.asc:hover span.sorting-indicator {
        padding: 3px 6px;
 }
 
-.tablenav .tablenav-pages a {
-       padding: 0 10px 3px;
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
+.tablenav .tablenav-pages a,
+.tablenav-pages-navspan {
+       display: inline-block;
+       min-width: 17px;
+       border: 1px solid #d2d2d2;
+       padding: 3px 5px 7px;
+       background: #e4e4e4;
        font-size: 16px;
+       line-height: 1;
        font-weight: normal;
+       text-align: center;
+}
+
+.tablenav-pages-navspan {
+       height: 16px;
+       border-color: #e8e8e8;
+       background: #ebebeb;
+       color: #b4b4b4;
 }
 
 .tablenav .tablenav-pages a:hover,
 .tablenav .tablenav-pages a:focus {
+       border-color: #5b9dd9;
        color: #fff;
        background: #00a0d2;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       outline: none; /* IE8 */
 }
 
-.tablenav .tablenav-pages a.disabled,
-.tablenav .tablenav-pages a.disabled:hover,
-.tablenav .tablenav-pages a.disabled:focus,
-.tablenav .tablenav-pages a.disabled:active {
-       color: #a0a5aa;
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
+.tablenav .displaying-num {
+       margin-right: 7px;
 }
 
-.tablenav .displaying-num {
-       margin-right: 2px;
-       color: #777;
-       font-size: 12px;
-       font-style: italic;
+.tablenav .one-page .displaying-num {
+       display: inline-block;
+       margin-top: 5px;
+       margin-right: 0;
 }
 
 .tablenav .actions {
@@ -603,43 +743,42 @@ classes exist in paginate_links() but not seen in list table output. */
 
 .tablenav .view-switch {
        float: right;
-       margin: 5px 16px 0 8px;
+       margin: 0 5px;
+       padding-top: 3px;
 }
 
 .wp-filter .view-switch {
        display: inline-block;
        vertical-align: middle;
-       padding: 15px 0;
-       margin: 0 20px 0 0;
+       padding: 12px 0;
+       margin: 0 8px 0 2px;
 }
 
-.view-switch a {
-       text-decoration: none;
+.media-toolbar.wp-filter .view-switch {
+       margin: 0 12px 0 2px;
 }
 
-.view-switch > a {
-       display: inline-block;
-       width: 18px;
-       height: 18px;
+.view-switch a {
+       float: left;
+       width: 28px;
+       height: 28px;
+       text-align: center;
+       line-height: 24px;
+       text-decoration: none;
 }
 
-.view-switch a:before {
+.view-switch a:before {
        color: #b4b9be;
        display: inline-block;
-       float: left;
        font: normal 20px/1 'dashicons';
        speak: none;
        vertical-align: middle;
-       margin-left: 0;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
 }
 
-.view-switch > .view-list:before {
-       content: '\f163';
-}
-
-.view-switch a:hover:before {
+.view-switch a:hover:before,
+.view-switch a:focus:before {
        color: #727272;
 }
 
@@ -647,15 +786,15 @@ classes exist in paginate_links() but not seen in list table output. */
        color: #0073aa;
 }
 
-.view-switch > a + a {
-       margin-left: 5px;
+.view-switch .view-list:before {
+       content: '\f163';
 }
 
-.view-switch .view-excerpt:before {
+.view-switch .view-excerpt:before {
        content: '\f164';
 }
 
-.view-switch .view-grid:before {
+.view-switch .view-grid:before {
        content: '\f509';
 }
 
@@ -758,11 +897,6 @@ tr.inline-edit-row td,
        padding: 0 0.5em;
 }
 
-#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col {
-       border-width: 0 0 0 1px;
-       border-style: none none none solid;
-}
-
 #wpbody-content .quick-edit-row-post .inline-edit-col-left {
        width: 40%;
 }
@@ -845,6 +979,13 @@ tr.inline-edit-row td,
        line-height: 2.5;
 }
 
+.inline-edit-row fieldset.inline-edit-date label {
+       display: inline-block;
+       margin: 0;
+       line-height: 1.5;
+       vertical-align: baseline;
+}
+
 .inline-edit-row fieldset label.inline-edit-tags {
        margin-top: 0;
 }
@@ -854,16 +995,27 @@ tr.inline-edit-row td,
        width: auto;
 }
 
-.inline-edit-row fieldset label span.title {
+.inline-edit-row fieldset label span.title,
+.inline-edit-row fieldset.inline-edit-date legend {
        display: block;
        float: left;
-       width: 5em;
+       width: 6em;
        line-height: 2.5;
 }
 
-.inline-edit-row fieldset label span.input-text-wrap {
+#posts-filter fieldset.inline-edit-date legend {
+       padding: 0;
+}
+
+.inline-edit-row fieldset.inline-edit-date select {
+       margin: 1px;
+       line-height: 28px;
+}
+
+.inline-edit-row fieldset label span.input-text-wrap,
+.inline-edit-row fieldset .timestamp-wrap {
        display: block;
-       margin-left: 5em;
+       margin-left: 6em;
 }
 
 .quick-edit-row-post fieldset.inline-edit-col-right label span.title {
@@ -1029,14 +1181,14 @@ ul.cat-checklist {
        font-size: 14px;
 }
 
-.plugins thead th.check-column,
-.plugins tfoot th.check-column,
+.plugins thead td.check-column,
+.plugins tfoot td.check-column,
 .plugins .inactive th.check-column {
        padding-left: 6px;
 }
 
-#update-plugins-table thead th.check-column,
-#update-plugins-table tfoot th.check-column {
+#update-plugins-table thead td.check-column,
+#update-plugins-table tfoot td.check-column {
        padding-top: 11px;
 }
 
@@ -1179,9 +1331,8 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
 .plugin-update-tr .update-message {
        font-size: 13px;
        font-weight: normal;
-       margin: 6px 12px 12px;
-       padding: 6px 12px;
        margin: 0 10px 8px 31px;
+       padding: 6px 12px 8px 40px;
        background-color: #f7f7f7;
        background-color: rgba(0,0,0,0.03);
 }
@@ -1204,7 +1355,7 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
 }
 
 .plugin-update-tr .update-message:before {
-       margin: 0 8px 0 -2px;
+       margin: 0 10px 0 -30px;
 }
 
 .plugin-card .update-now:before,
@@ -1247,9 +1398,9 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
        content: '\f147';
 }
 
-.plugins .plugin-update-tr .plugin-update {
+.wp-list-table.plugins tbody tr.plugin-update-tr td.plugin-update {
+       overflow: hidden; /* clearfix */
        padding: 0;
-       border: none;
        -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
        box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
 }
@@ -1333,14 +1484,6 @@ tr.active + tr.plugin-update-tr:not(.updated) .plugin-update .update-message {
        }
 }
 
-@media screen and ( max-width: 782px ) {
-       .plugin-card {
-               margin-left: 0;
-               margin-right: 0;
-               width: 100%;
-       }
-}
-
 .plugin-card-top {
        position: relative;
        padding: 20px 20px 10px;
@@ -1482,6 +1625,15 @@ div.action-links,
        background: #fecac2;
 }
 
+.sites.fixed .column-lastupdated,
+.sites.fixed .column-registered {
+       width: 20%;
+}
+
+.sites.fixed .column-users {
+       width: 80px;
+}
+
 /* =Media Queries
 -------------------------------------------------------------- */
 
@@ -1545,6 +1697,12 @@ div.action-links,
                display: none;
        }
 
+       .view-switch a {
+               width: 36px;
+               height: 36px;
+               line-height: 33px;
+       }
+
        /* Pagination */
        .tablenav.top .displaying-num {
                display: none;
@@ -1553,12 +1711,14 @@ div.action-links,
        .tablenav.bottom .displaying-num {
                position: absolute;
                right: 0;
-               top: 10px;
+               top: 11px;
+               margin: 0;
                font-size: 14px;
        }
 
-       .tablenav-pages {
+       .tablenav .tablenav-pages {
                width: 100%;
+               height: auto;
                text-align: center;
                margin: 0 0 25px;
        }
@@ -1576,19 +1736,23 @@ div.action-links,
                height: 0;
        }
 
-       .tablenav-pages .pagination-links .paging-input {
-               font-size: 18px;
+       .tablenav-pages .pagination-links {
+               font-size: 16px;
        }
 
-       .tablenav-pages .pagination-links a {
-               padding: 8px 20px 11px;
+       .tablenav-pages .pagination-links a,
+       .tablenav-pages-navspan {
+               padding: 9px 16px 12px;
                font-size: 18px;
-               background: rgba(0, 0, 0, 0.05);
+       }
+
+       .tablenav-pages-navspan {
+               height: 18px;
        }
 
        .tablenav-pages .pagination-links .current-page {
-               padding: 10px;
-               font-size: 14px;
+               padding: 8px 9px 9px;
+               font-size: 16px;
        }
 
        /* WP List Table Adjustments: General */
@@ -1600,31 +1764,137 @@ div.action-links,
                font-size: 14px;
        }
 
-       /* Columns to hide */
-       .fixed .column-date,
-       .fixed .column-author,
-       .column-categories,
-       .column-tags,
-       .tags .column-description,
-       .media .column-parent,
-       .users .column-email,
-       .users .column-name,
-       .sites .column-registered,
-       .sites .column-users {
+       .wp-list-table th.column-primary ~ th,
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary ~ td:not(.check-column) {
                display: none;
        }
 
+       .wp-list-table thead th.column-primary {
+               width: 100%;
+       }
+
+       /* Checkboxes need to show */
+       .wp-list-table tr th.check-column {
+               display: table-cell;
+               width: 35px;
+       }
+
+       .wp-list-table .column-primary .toggle-row {
+               display: block;
+       }
+
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
+               position: relative;
+               clear: both;
+               display: block;
+               width: auto !important; /* needs to override some columns that are more specifically targeted */
+       }
+
+       .wp-list-table td.column-primary {
+               padding-right: 50px; /* space for toggle button */
+       }
+
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary ~ td:not(.check-column) {
+               padding: 3px 8px 3px 35%;
+       }
+
+       .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before {
+               position: absolute;
+               left: 10px; /* match padding of regular table cell */
+               display: block;
+               overflow: hidden;
+               width: 32%; /* leave a little space for a gutter */
+               content: attr(data-colname);
+               white-space: nowrap;
+               text-overflow: ellipsis;
+       }
+
+       .wp-list-table .is-expanded td:not(.hidden) {
+               display: block !important;
+               overflow: hidden; /* clearfix */
+       }
+
+       /* Special cases */
+       .widefat .num,
+       .column-posts {
+               text-align: left;
+       }
+
+       #comments-form .fixed .column-author {
+               display: none !important;
+       }
+
        .fixed .column-comment .comment-author {
                display: block;
        }
 
-       /* Posts */
-       .column-title {
-               width: 85%;
+       #the-comment-list .is-expanded td {
+               -webkit-box-shadow: none;
+               box-shadow: none;
+       }
+
+       #the-comment-list .is-expanded td:last-child {
+               -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+               box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+       }
+
+       /* Show comment bubble as text instead */
+       .post-com-count .screen-reader-text {
+               position: static;
+               width: auto;
+               height: auto;
+               margin: 0;
+       }
+
+       .column-response .post-com-count-no-comments:after,
+       .column-response .post-com-count-approved:after,
+       .column-comments .post-com-count-no-comments:after,
+       .column-comments .post-com-count-approved:after {
+               content: none;
+       }
+
+       .column-response .post-com-count [aria-hidden="true"],
+       .column-comments .post-com-count [aria-hidden="true"] {
+               display: none;
+       }
+
+       .column-response .post-com-count-wrapper,
+       .column-comments .post-com-count-wrapper {
+               white-space: normal;
+       }
+
+       .column-response .post-com-count-wrapper > a,
+       .column-comments .post-com-count-wrapper > a {
+               display: block;
+       }
+
+       .column-response .post-com-count-no-comments,
+       .column-response .post-com-count-approved,
+       .column-comments .post-com-count-no-comments,
+       .column-comments .post-com-count-approved {
+               margin-top: 0;
+               margin-right: 0.5em;
        }
 
-       .fixed .column-comments, .widefat .check-column {
-               width: 35px
+       .column-response .post-com-count-pending,
+       .column-comments .post-com-count-pending {
+               position: static;
+               height: auto;
+               min-width: 0;
+               padding: 0;
+               border: none;
+               -webkit-border-radius: 0;
+               border-radius: 0;
+               background: none;
+               color: #bb2a2a;
+               font-size: inherit;
+               line-height: inherit;
+               text-align: left;
+       }
+
+       .column-response .post-com-count-pending:hover,
+       .column-comments .post-com-count-pending:hover {
+               color: #dc3232;
        }
 
        .widefat thead .check-column, .widefat tfoot .check-column {
@@ -1672,7 +1942,8 @@ div.action-links,
                font-size: 16px;
        }
 
-       .inline-edit-row fieldset label span.title {
+       .inline-edit-row fieldset label span.title,
+       .inline-edit-row fieldset.inline-edit-date legend {
                float: none;
        }
 
@@ -1684,7 +1955,8 @@ div.action-links,
                padding: 0;
        }
 
-       .inline-edit-row fieldset label span.input-text-wrap {
+       .inline-edit-row fieldset label span.input-text-wrap,
+       .inline-edit-row fieldset .timestamp-wrap {
                margin-left: 0;
        }
 
@@ -1710,30 +1982,6 @@ div.action-links,
                height: 22px;
        }
 
-       /* Taxonomies */
-       .tags .column-posts {
-               width: 74px;
-       }
-
-       .tags .column-slug {
-               width: 30%;
-       }
-
-       /* Comments */
-       .comments .column-response {
-               width: 35%;
-       }
-
-       /* Users */
-       .users .column-role {
-               width: 35%;
-       }
-
-       /* Network admin sites */
-       .sites .column-blogname {
-               width: 55%;
-       }
-
        /* Updates */
        #wpbody-content #update-themes-table .plugin-title {
                width: auto;
@@ -1748,49 +1996,21 @@ div.action-links,
                overflow: hidden;
        }
 
-       /* Plugin/Theme Management Page */
-       .wp-list-table.plugins {
-               position: relative;
-               margin-top: 35px;
-               margin-bottom: 50px;
-       }
-
-       .wp-list-table.plugins thead .column-description,
-       #wpbody-content .wp-list-table.plugins tfoot .column-description,
-       .wp-list-table.plugins th#description {
+       /* List tables that don't toggle rows */
+       .comments-box .toggle-row,
+       .wp-list-table.plugins .toggle-row {
                display: none;
        }
 
-       #wpbody-content .wp-list-table.plugins,
-       #wpbody-content .wp-list-table.plugins thead,
-       #wpbody-content .wp-list-table.plugins tbody,
-       #wpbody-content .wp-list-table.plugins tr,
-       #wpbody-content .wp-list-table.plugins .column-description,
-       #wpbody-content .wp-list-table.plugins .plugin-title,
-       #wpbody-content .wp-list-table.plugins .theme-title,
-       #wpbody-content .wp-list-table.plugins .plugin-update,
-       #wpbody-content .wp-list-table.plugins .manage-column.column-name {
+       /* Plugin/Theme Management */
+       #wpbody-content .wp-list-table.plugins td {
                display: block;
                width: auto;
+               padding: 10px 9px; /* reset from other list tables that have a label at this width */
        }
 
-       .wp-list-table.plugins thead,
-       .wp-list-table.plugins tfoot {
-               position: absolute;
-               top: -35px;
-               left: 0;
-               right: 0;
-               width: auto;
-               height: 35px;
-       }
-
-       .wp-list-table.plugins tfoot {
-               bottom: -35px;
-               top: auto;
-       }
-
-       .active, .inactive {
-               padding-top: 0;
+       #wpbody-content .wp-list-table.plugins .column-description {
+               padding-top: 2px;
        }
 
        .wp-list-table.plugins .plugin-title,
@@ -1799,20 +2019,26 @@ div.action-links,
                padding-bottom: 4px;
        }
 
-       .plugins tr.active + tr.inactive th.check-column,
-       .plugins tr.active + tr.inactive td,
-       .wp-list-table.plugins .plugin-title,
-       .wp-list-table.plugins .theme-title,
-       .wp-list-table.plugins tbody th {
+       .plugins #the-list tr > td:not(:last-child),
+       .plugins #the-list .update th,
+       .plugins #the-list .update td,
+       .wp-list-table.plugins #the-list .theme-title {
                -webkit-box-shadow: none;
                box-shadow: none;
+               border-top: none;
+       }
+
+       .plugins #the-list tr td {
+               border-top: none;
        }
 
        .plugins tbody {
                padding: 1px 0 0;
        }
 
-       .plugins tr.active + tr.inactive td.column-description {
+       .plugins tr.active + tr.inactive th.check-column,
+       .plugins tr.active + tr.inactive td.column-description,
+       .plugins .plugin-update-tr:before {
                -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
                box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
        }
@@ -1822,57 +2048,23 @@ div.action-links,
                border-top: none;
        }
 
-       .wp-list-table.plugins .column-description {
-               padding-top: 0;
+       /* mimic the checkbox th */
+       .plugins .plugin-update-tr:before {
+               content: '';
+               display: table-cell;
        }
 
-       .wp-list-table.plugins .manage-column.column-name,
-       .wp-list-table.plugins .column-description,
-       .wp-list-table.plugins .plugin-title,
-       .wp-list-table.plugins .theme-title {
-               padding-right: 12px;
-               padding-left: 46px;
+       .plugins .active.update + .plugin-update-tr:before {
+               border-left: 4px solid #d54e21;
+               background-color: #fef7f1;
        }
 
-       .wp-list-table.plugins tr {
-               position: relative;
-       }
-
-       .wp-list-table.plugins th.check-column,
-       .wp-list-table.plugins tr.update th.check-column {
-               position: absolute;
-               height: auto;
-               top: 0;
-               bottom: 0;
-               left: 0;
-               padding-left: 2px;
-               padding-top: 18px;
+       .plugins #the-list .plugin-update-tr .plugin-update {
+               border-left: none;
        }
 
-       .wp-list-table.plugins thead th.check-column,
-       .wp-list-table.plugins tfoot th.check-column {
-               padding-left: 3px;
-               padding-top: 11px;
-               background: none;
-       }
-
-       .widefat tbody th.check-column input[type="checkbox"] {
-               margin-top: -3px;
-               margin-left: 8px;
-       }
-
-       .wp-list-table.plugins .active .check-column input,
-       .wp-list-table.plugins .update .check-column input {
-               margin-left: 5px;
-       }
-
-       .wp-list-table.plugins thead .check-column input,
-       .wp-list-table.plugins tfoot .check-column input {
-               margin-top: -6px;
-       }
-
-       .wp-list-table.plugins .active th.check-column {
-               background: none;
+       .plugin-update-tr .update-message {
+               margin-left: 0;
        }
 
        .wp-list-table.plugins .plugin-title strong,
@@ -1912,14 +2104,10 @@ div.action-links,
                -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
                box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
        }
-}
 
-/* Smartphone */
-@media screen and (max-width: 600px) {
-       /* Remove slug column from taxonomy list page
-          and role column from users list page */
-       .tags .column-slug,
-       .users .column-role {
-               display: none;
+       .plugin-card {
+               margin-left: 0;
+               margin-right: 0;
+               width: 100%;
        }
 }
index 68386c197bc7b2561ffe8d6fc07329d0ddce4554..7bb3692535d7a2faf7687d328f476050c0d7a666 100644 (file)
@@ -42,11 +42,16 @@ a:active {
 
 a:focus {
        color: #124964;
+       -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);
 }
 
-a:focus,
-a:active {
-       outline: thin dotted;
+.ie8 a:focus {
+       outline: #5b9dd9 solid 1px;
 }
 
 p {
@@ -183,6 +188,12 @@ p {
        color: #00a0d2;
 }
 
+.login #nav a:focus,
+.login #backtoblog a:focus,
+.login h1 a:focus {
+       color: #124964;
+}
+
 .login form .input,
 .login input[type="text"] {
        font-size: 24px;
@@ -202,12 +213,18 @@ p {
        font-family: sans-serif;
 }
 
+.login-action-rp input[type="text"] {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       margin: 0;
+}
+
 .login #pass-strength-result {
-       width: 250px;
        font-weight: 600;
-       margin: 12px 0 6px;
+       margin: -1px 0 16px 5px;
        padding: 6px 5px;
        text-align: center;
+       width: 100%;
 }
 
 .mobile #login {
index d253feffa8c77d82595b297a8ef81d5ea58f2fd0..f457080709f8990716ccabaea4c794ffca5474dd 100644 (file)
@@ -1 +1 @@
-input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea: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)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);-ms-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);-ms-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#777}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:right;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-right:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964}a:active,a:focus{outline:dotted thin}p{line-height:1.5}.login .message{border-right:4px solid #00a0d2;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-right:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-right:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-right:0}.mobile #login #backtoblog,.mobile #login #nav{margin-right:8px}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}}
\ No newline at end of file
+.meta-box-sortables select,p.submit{max-width:100%}#pressthis-code-wrap,textarea{overflow:auto}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea: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)}input[type=url],input[type=email]{direction:ltr}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;-webkit-box-shadow:0 0 2px rgba(204,0,0,.8);box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin-right:-25px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}button.wp-hide-pw>.dashicons{position:relative;top:3px}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 1px 5px 5px;padding:3px 5px;text-align:center;width:25em;box-sizing:border-box;opacity:0}#pass-strength-result,.color-option{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;box-sizing:border-box;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.login form,.login h1 a{font-weight:400;overflow:hidden}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);-ms-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);-ms-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#777}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:right;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-right:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:left;margin:-30px 0 0 3px}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-right:0}.form-table.permalink-structure td code{margin-right:32px}.form-table.permalink-structure td input[type=text]{margin-right:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-left:40px}.wp-pwd button.button{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;left:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}}body,html{background:#f1f1f1}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:700}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:0}}body,html{height:100%;margin:0;padding:0}body{min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;-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)}.ie8 a:focus{outline:#5b9dd9 solid 1px}p{line-height:1.5}.login .message{border-right:4px solid #00a0d2;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error,.login .message{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-right:4px solid #dd3d36;background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login #backtoblog a,.login #nav a,.login h1 a{text-decoration:none;color:#999}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;height:84px;font-size:20px;line-height:1.3em;margin:0 auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-right:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#124964}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login-action-rp input[type=text]{-webkit-box-shadow:none;box-shadow:none;margin:0}.login #pass-strength-result{font-weight:600;margin:-1px 0 16px 5px;padding:6px 5px;text-align:center;width:100%}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-right:0}.mobile #login #backtoblog,.mobile #login #nav{margin-right:8px}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}}
\ No newline at end of file
index 250b0a4c5568afbda259586593d4765590aca0ec..6c4d7024fbc88b8b782342d39f6d5dcc3f1f0b4e 100644 (file)
@@ -42,11 +42,16 @@ a:active {
 
 a:focus {
        color: #124964;
+       -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);
 }
 
-a:focus,
-a:active {
-       outline: thin dotted;
+.ie8 a:focus {
+       outline: #5b9dd9 solid 1px;
 }
 
 p {
@@ -183,6 +188,12 @@ p {
        color: #00a0d2;
 }
 
+.login #nav a:focus,
+.login #backtoblog a:focus,
+.login h1 a:focus {
+       color: #124964;
+}
+
 .login form .input,
 .login input[type="text"] {
        font-size: 24px;
@@ -202,12 +213,18 @@ p {
        font-family: sans-serif;
 }
 
+.login-action-rp input[type="text"] {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       margin: 0;
+}
+
 .login #pass-strength-result {
-       width: 250px;
        font-weight: 600;
-       margin: 12px 0 6px;
+       margin: -1px 5px 16px 0;
        padding: 6px 5px;
        text-align: center;
+       width: 100%;
 }
 
 .mobile #login {
index 1c76693054204d2f0415433152308322bdff0bca..6289d3354620fb623db082894c21125ab87d9bc6 100644 (file)
@@ -1 +1 @@
-input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea: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)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#777}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:left;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-left:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964}a:active,a:focus{outline:dotted thin}p{line-height:1.5}.login .message{border-left:4px solid #00a0d2;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-left:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-left:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-left:0}.mobile #login #backtoblog,.mobile #login #nav{margin-left:8px}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}}
\ No newline at end of file
+.meta-box-sortables select,p.submit{max-width:100%}#pressthis-code-wrap,textarea{overflow:auto}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=text],input[type=search],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=text]:focus,input[type=search]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,select:focus,textarea: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)}input[type=url],input[type=email]{direction:ltr}input[type=radio],input[type=checkbox]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=radio]:checked:before,input[type=checkbox]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=radio],input[type=checkbox]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;-webkit-box-shadow:0 0 2px rgba(204,0,0,.8);box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin-left:-25px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}button.wp-hide-pw>.dashicons{position:relative;top:3px}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 5px 5px 1px;padding:3px 5px;text-align:center;width:25em;box-sizing:border-box;opacity:0}#pass-strength-result,.color-option{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;box-sizing:border-box;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.login form,.login h1 a{font-weight:400;overflow:hidden}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#777}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:left;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-left:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{height:25px;width:25px}.wp-admin p input[type=radio],.wp-admin p input[type=checkbox]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:right;margin:-30px 3px 0 0}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-left:0}.form-table.permalink-structure td code{margin-left:32px}.form-table.permalink-structure td input[type=text]{margin-left:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-right:40px}.wp-pwd button.button{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;right:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}}body,html{background:#f1f1f1}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:700}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:0}}body,html{height:100%;margin:0;padding:0}body{min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;-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)}.ie8 a:focus{outline:#5b9dd9 solid 1px}p{line-height:1.5}.login .message{border-left:4px solid #00a0d2;background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error,.login .message{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-left:4px solid #dd3d36;background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login #backtoblog a,.login #nav a,.login h1 a{text-decoration:none;color:#999}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;height:84px;font-size:20px;line-height:1.3em;margin:0 auto 25px;padding:0;width:84px;text-indent:-9999px;outline:0;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-left:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login #backtoblog a:focus,.login #nav a:focus,.login h1 a:focus{color:#124964}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login-action-rp input[type=text]{-webkit-box-shadow:none;box-shadow:none;margin:0}.login #pass-strength-result{font-weight:600;margin:-1px 5px 16px 0;padding:6px 5px;text-align:center;width:100%}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-left:0}.mobile #login #backtoblog,.mobile #login #nav{margin-left:8px}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}}
\ No newline at end of file
index fdd2400e0d9d6010705dafd03ebdad63f8d6d2ac..20c69fc904ce2df574a3541a522918fa812be82a 100644 (file)
@@ -459,8 +459,10 @@ border color while dragging a file over the uploader drop area */
        width: auto;
        margin-bottom: 16px;
        padding: 0 16px;
-       border: 1px solid #c00;
-       background-color: #feebe8;
+       border-right: 4px solid #dd3d36;
+       -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
+       box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
+       background-color: #fff;
 }
 
 .upload-php .mode-grid .hide-sidebar .media-sidebar {
@@ -474,27 +476,30 @@ border color while dragging a file over the uploader drop area */
 }
 
 .upload-php .mode-grid .media-sidebar .upload-error {
-       margin: 20px 0;
-       padding: 0;
+       margin: 12px 0;
+       padding: 4px 0 0;
        border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
        background: none;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors {
-       font-size: 0;
-       top: -12px;
-       left: -10px;
+       top: -10px;
+       left: -14px;
+       padding: 10px;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before {
-       content: "\f158";
-       font: normal 20px/1 dashicons;
-       color: #666;
+       content: "\f153";
+       display: block;
+       font: normal 16px/1 dashicons;
+       color: #bbb;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before {
-       color: #00a0d2;
+       color: #c00;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3 {
@@ -566,9 +571,9 @@ border color while dragging a file over the uploader drop area */
        font-size: 14px;
 }
 
-.media-frame.mode-grid .media-toolbar-secondary > .media-button {
-       margin-top: 10px;
-       margin-bottom: 10px;
+.media-frame.mode-grid.mode-edit .media-toolbar-secondary > .select-mode-toggle-button {
+       margin: 0 0 0 8px;
+       vertical-align: middle;
 }
 
 .media-frame.mode-grid .attachments-browser .bulk-select {
@@ -581,7 +586,7 @@ border color while dragging a file over the uploader drop area */
 }
 
 .media-frame.mode-grid .spinner {
-       margin-top: 15px;
+       margin-top: 16px;
 }
 
 .attachments-browser .media-toolbar-secondary > .media-button {
@@ -632,11 +637,6 @@ border color while dragging a file over the uploader drop area */
        font-size: 22px;
 }
 
-.upload-php .media-modal-close .media-modal-icon {
-       margin: 14px;
-       width: 22px;
-}
-
 .upload-php .media-modal-close,
 .edit-attachment-frame .edit-media-header .left,
 .edit-attachment-frame .edit-media-header .right {
@@ -689,6 +689,8 @@ border color while dragging a file over the uploader drop area */
        border-color: #ccc;
        color: #000;
        outline: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
 }
 
 .upload-php .media-modal-close:focus .media-modal-icon:before,
@@ -1017,10 +1019,6 @@ border color while dragging a file over the uploader drop area */
        margin: 0 0 0 8px;
 }
 
-.imgedit-group-top {
-       margin: 5px 0;
-}
-
 #poststuff .imgedit-group-top h3 {
        padding: 0;
 }
@@ -1048,7 +1046,7 @@ a.imgedit-help-toggle {
 }
 
 .imgedit-submit {
-       margin: 8px 0;
+       margin: 8px 0 0;
 }
 
 .imgedit-submit-btn {
@@ -1069,7 +1067,7 @@ span.imgedit-scale-warn {
 
 .imgedit-group {
        margin-bottom: 8px;
-       padding: 2px 10px;
+       padding: 10px;
 }
 
 audio, video {
index c9d9cd692e29373a96160004fce02229b14adb76..27916542a6cdd482579820536ff36a8cd5ce211c 100644 (file)
@@ -459,8 +459,10 @@ border color while dragging a file over the uploader drop area */
        width: auto;
        margin-bottom: 16px;
        padding: 0 16px;
-       border: 1px solid #c00;
-       background-color: #feebe8;
+       border-left: 4px solid #dd3d36;
+       -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
+       box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
+       background-color: #fff;
 }
 
 .upload-php .mode-grid .hide-sidebar .media-sidebar {
@@ -474,27 +476,30 @@ border color while dragging a file over the uploader drop area */
 }
 
 .upload-php .mode-grid .media-sidebar .upload-error {
-       margin: 20px 0;
-       padding: 0;
+       margin: 12px 0;
+       padding: 4px 0 0;
        border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
        background: none;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors {
-       font-size: 0;
-       top: -12px;
-       right: -10px;
+       top: -10px;
+       right: -14px;
+       padding: 10px;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before {
-       content: "\f158";
-       font: normal 20px/1 dashicons;
-       color: #666;
+       content: "\f153";
+       display: block;
+       font: normal 16px/1 dashicons;
+       color: #bbb;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before {
-       color: #00a0d2;
+       color: #c00;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3 {
@@ -566,9 +571,9 @@ border color while dragging a file over the uploader drop area */
        font-size: 14px;
 }
 
-.media-frame.mode-grid .media-toolbar-secondary > .media-button {
-       margin-top: 10px;
-       margin-bottom: 10px;
+.media-frame.mode-grid.mode-edit .media-toolbar-secondary > .select-mode-toggle-button {
+       margin: 0 8px 0 0;
+       vertical-align: middle;
 }
 
 .media-frame.mode-grid .attachments-browser .bulk-select {
@@ -581,7 +586,7 @@ border color while dragging a file over the uploader drop area */
 }
 
 .media-frame.mode-grid .spinner {
-       margin-top: 15px;
+       margin-top: 16px;
 }
 
 .attachments-browser .media-toolbar-secondary > .media-button {
@@ -632,11 +637,6 @@ border color while dragging a file over the uploader drop area */
        font-size: 22px;
 }
 
-.upload-php .media-modal-close .media-modal-icon {
-       margin: 14px;
-       width: 22px;
-}
-
 .upload-php .media-modal-close,
 .edit-attachment-frame .edit-media-header .left,
 .edit-attachment-frame .edit-media-header .right {
@@ -689,6 +689,8 @@ border color while dragging a file over the uploader drop area */
        border-color: #ccc;
        color: #000;
        outline: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
 }
 
 .upload-php .media-modal-close:focus .media-modal-icon:before,
@@ -1017,10 +1019,6 @@ border color while dragging a file over the uploader drop area */
        margin: 0 8px 0 0;
 }
 
-.imgedit-group-top {
-       margin: 5px 0;
-}
-
 #poststuff .imgedit-group-top h3 {
        padding: 0;
 }
@@ -1048,7 +1046,7 @@ a.imgedit-help-toggle {
 }
 
 .imgedit-submit {
-       margin: 8px 0;
+       margin: 8px 0 0;
 }
 
 .imgedit-submit-btn {
@@ -1069,7 +1067,7 @@ span.imgedit-scale-warn {
 
 .imgedit-group {
        margin-bottom: 8px;
-       padding: 2px 10px;
+       padding: 10px;
 }
 
 audio, video {
index 22927dd9ff6f5c77c70e1a9839dbe4fe3a2c1c82..a9b0133bf6433389a1c3eaf4800b9884064fa1ab 100644 (file)
@@ -517,11 +517,11 @@ ul.add-menu-item-tabs li {
 }
 
 /* Sortables */
-li.menu-item.ui-sortable-helper dl {
+li.menu-item.ui-sortable-helper .menu-item-bar {
        margin-top: 0;
 }
 
-li.menu-item.ui-sortable-helper .menu-item-transport dl {
+li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar {
        margin-top: 13px;
 }
 
@@ -531,6 +531,11 @@ li.menu-item.ui-sortable-helper .menu-item-transport dl {
        margin-top: 13px;
 }
 
+/* Hide the transport list when it's empty */
+.menu-item .menu-item-transport:empty {
+       display: none;
+}
+
 /* WARNING: The factor of 30px is hardcoded into the nav-menus JavaScript. */
 .menu-item-depth-0 { margin-right: 0px; }
 .menu-item-depth-1 { margin-right: 30px; }
@@ -573,11 +578,11 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 
 /* Menu item controls */
 .item-type {
-       color: #777;
-       font-size: 12px;
+       display: inline-block;
        padding: 12px 10px;
+       color: #666;
+       font-size: 12px;
        line-height: 18px;
-       display: block;
 }
 
 .item-controls {
index b4ef126fc7a615fc1e257f91183abd9797f71206..24831136974c61fd430ebc75869483bc3b4cd257 100644 (file)
@@ -517,11 +517,11 @@ ul.add-menu-item-tabs li {
 }
 
 /* Sortables */
-li.menu-item.ui-sortable-helper dl {
+li.menu-item.ui-sortable-helper .menu-item-bar {
        margin-top: 0;
 }
 
-li.menu-item.ui-sortable-helper .menu-item-transport dl {
+li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar {
        margin-top: 13px;
 }
 
@@ -531,6 +531,11 @@ li.menu-item.ui-sortable-helper .menu-item-transport dl {
        margin-top: 13px;
 }
 
+/* Hide the transport list when it's empty */
+.menu-item .menu-item-transport:empty {
+       display: none;
+}
+
 /* WARNING: The factor of 30px is hardcoded into the nav-menus JavaScript. */
 .menu-item-depth-0 { margin-left: 0px; }
 .menu-item-depth-1 { margin-left: 30px; }
@@ -573,11 +578,11 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 
 /* Menu item controls */
 .item-type {
-       color: #777;
-       font-size: 12px;
+       display: inline-block;
        padding: 12px 10px;
+       color: #666;
+       font-size: 12px;
        line-height: 18px;
-       display: block;
 }
 
 .item-controls {
index 74d2c25be79ddb3724182a2ea13ffc11e11c215f..90d8cdcf50512decebdbfed1c7c98142609e5429 100644 (file)
@@ -6,7 +6,6 @@ Press This TinyMCE editor styles :)
 /**
 * Links
 */
-@import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,600,700");
 a {
        color: #0073aa;
 }
index 886b8f450f461a7fb503c696846617ea7d5cb63c..96ff42616814a6b58d0d0080cd8ab7410ed78b76 100644 (file)
@@ -6,7 +6,6 @@ Press This TinyMCE editor styles :)
 /**
 * Links
 */
-@import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,600,700");
 a {
        color: #0073aa;
 }
index 34daa6eae478a949fc2b182ab59cc415e2f70f47..17c688ceb930a7359da19dbdba8403626e84055c 100644 (file)
@@ -390,6 +390,139 @@ strong {
        text-decoration: underline;
 }
 
+.split-button {
+       position: relative;
+       display: inline-block;
+       vertical-align: middle;
+}
+
+.split-button-body {
+       display: none;
+       position: absolute;
+       bottom: 39px;
+       left: 0;
+       border: 1px solid #ddd;
+       background-color: #fff;
+       min-width: 180px;
+       max-width: 100%;
+       margin: 0;
+       padding: 8px;
+       list-style: none;
+       -webkit-box-shadow: -1px 0 4px rgba( 0, 0, 0, 0.15 );
+       box-shadow: -1px 0 4px rgba( 0, 0, 0, 0.15 );
+}
+
+.split-button-body:before,
+.split-button-body:after {
+       position: absolute;
+       left: 12px;
+       display: block;
+       width: 0;
+       height: 0;
+       border-style: solid;
+       border-color: transparent;
+       content: '';
+}
+
+.split-button-body:before {
+       bottom: -18px;
+       border-top-color: #ccc;
+       border-width: 9px;
+       left: 11px;
+}
+
+.split-button-body:after {
+       bottom: -16px;
+       border-top-color: #fff;
+       border-width: 8px;
+}
+
+.split-button-body .split-button-option {
+       display: block;
+       padding: 5px 15px;
+       margin: 0;
+       width: 100%;
+       text-align: right;
+}
+
+.is-open .split-button-body {
+       display: block;
+}
+
+.split-button-primary,
+.split-button-toggle {
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       display: block;
+       margin: 0;
+       font-size: 13px;
+       text-decoration: none;
+       white-space: nowrap;
+       cursor: pointer;
+       -webkit-appearance: none;
+       line-height: 2;
+       padding: 0 10px 1px;
+       background: #00a0d2;
+       border-color: #0073aa;
+       border-width: 1px;
+       border-style: solid;
+       -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+       box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+       color: #fff;
+}
+
+.split-button-primary {
+       -webkit-border-top-right-radius: 3px;
+       border-top-right-radius: 3px;
+       -webkit-border-bottom-right-radius: 3px;
+       border-bottom-right-radius: 3px;
+       border-left: 0 none;
+       float: right;
+}
+
+.split-button-toggle {
+       padding: 0;
+       -webkit-border-top-left-radius: 3px;
+       border-top-left-radius: 3px;
+       -webkit-border-bottom-left-radius: 3px;
+       border-bottom-left-radius: 3px;
+       border-right: 0 none;
+       float: left;
+}
+
+.split-button-toggle i {
+       margin: 4px 0 3px 20px;
+       padding: 0 10px;
+       border-right: 1px solid #fff;
+}
+
+.split-button-primary:hover,
+.split-button-toggle:hover {
+       outline: none;
+       background: #0091cd;
+       border-color: #0073aa;
+}
+
+.split-button-primary:focus,
+.split-button-toggle:focus {
+       outline: none;
+       border-color: #0e3950;
+       -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.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, 0.6 ),
+               0 0 0 1px #5b9dd9,
+               0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
+.split-button-primary:active,
+.split-button-toggle:active {
+       background: #0073aa;
+       border-color: #005082;
+       color: rgba( 255, 255, 255, 0.95 );
+       -webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+       box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+}
 
 /**
 * Forms
@@ -1753,13 +1886,12 @@ html {
        padding: 0 10px;
 }
 
-.draft-button.is-hidden,
-.draft-button .saving-draft,
-.draft-button.is-saving .save-draft {
+.publish-button .saving-draft,
+.publish-button.is-saving .publish {
        display: none;
 }
 
-.draft-button.is-saving .saving-draft {
+.publish-button.is-saving .saving-draft {
        display: inline;
 }
 
@@ -2038,3 +2170,46 @@ html {
        top: -1px;
        margin-right: 11px;
 }
+
+/* Text editor */
+#pressthis {
+       color: #404040;
+       resize: none;
+       padding-top: 30px;
+       font-size: 16px;
+}
+
+.wp-editor-wrap .quicktags-toolbar {
+       background: transparent;
+       border: none;
+}
+
+/* Switch editor buttons */
+.wp-editor-wrap .wp-editor-tools {
+       z-index: 0;
+}
+
+.wp-editor-wrap .wp-editor-tabs {
+       padding: 2px;
+}
+
+.wp-editor-wrap .wp-switch-editor {
+       top: 0;
+       margin: 3px 5px 0 0;
+       padding: 3px 8px;
+       background: #f5f5f5;
+       color: #555;
+       border-color: #ccc;
+}
+
+.wp-editor-wrap .wp-switch-editor:hover {
+       background: #fafafa;
+       border-color: #999;
+       color: #23282d;
+}
+
+.wp-editor-wrap.tmce-active .switch-tmce,
+.wp-editor-wrap.html-active .switch-html {
+       background: #fff;
+       border-color: #d8d8d8;
+}
index 438241bbddb071c54bf71a2c1ec50faab0998e9c..a051a719333d3c04db2b4f9ae45a8ed00b1f23b9 100644 (file)
@@ -1 +1 @@
-html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){*,:after,:before{-webkit-font-smoothing:antialiased}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:0;margin:0;padding:0}legend{border:0;padding:0}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.hide-if-js{display:none}.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}body,button,input,select,textarea{color:#404040;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{clear:both}p{margin-bottom:1.5em}b,strong{font-weight:700}.button-subtle,.scan-submit{display:inline-block;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;font-size:13px;line-height:2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none}.button-subtle{background:0 0;border:0;color:#0073aa}.button-subtle:visited{color:#0073aa}.button-subtle:active,.button-subtle:focus,.button-subtle:hover,.edit-post-link:active,.edit-post-link:focus,.edit-post-link:hover{color:#00a0d2}.button-subtle:active,.button-subtle:focus,.edit-post-link:active,.edit-post-link:focus{outline:0;text-decoration:underline}.preview-button{margin-left:5px}.button-reset{margin:0;padding:0;border:0;background:0 0;cursor:pointer;-webkit-appearance:none}.button-reset:focus{outline:0}.button-link{margin:0;padding:0;border:0;background:0 0;color:#0073aa;cursor:pointer;-webkit-appearance:none}.button-link:active,.button-link:focus,.button-link:hover{color:#00a0d2;text-decoration:underline}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}[type=email],[type=password],[type=search],[type=text],[type=url],textarea{padding:.4em .75em;color:#32373c;border:1px solid #ccc}[type=email]:focus,[type=password]:focus,[type=search]:focus,[type=text]:focus,[type=url]:focus,textarea:focus{color:#32373c;outline:0}textarea{overflow:auto;padding-right:3px;vertical-align:top}a,a:visited{color:#0073aa}a:active,a:focus,a:hover{color:#00a0d2}ol,ul{margin:0 3em 1.5em 0}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-right:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}#post-formats-select br{display:none}.post-format{width:1px;height:1px;position:absolute;top:-9999px}.lt-ie9 .post-format{margin:17px 13px 0 12px;position:static;top:auto;float:right;width:16px;height:16px}.post-format-icon{position:relative;display:block;padding:13px 13px 14px 2px;cursor:pointer}.post-format-icon:after,.post-format-icon:before{content:"";display:inline-block;width:20px;height:20px;margin-left:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#9ea7af;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}.post-format-icon:before{content:"\f109"}.post-format-icon:after{display:none;content:"\f147";float:left}.post-format:checked+.post-format-icon{-webkit-box-shadow:inset -6px 0 0 #00a0d2;box-shadow:inset -6px 0 0 #00a0d2;background:rgba(46,162,204,.1)}.post-format:checked+.post-format-icon:after,.post-format:checked+.post-format-icon:before{color:#32373c}.post-format:focus+.post-format-icon{background:#00a0d2;color:#fff}.post-format:focus+.post-format-icon:after,.post-format:focus+.post-format-icon:before{color:#fff}.post-format:checked+.post-format-icon:after{display:block}.lt-ie9 .post-format-icon{margin-right:16px}.post-format-aside:before{content:"\f123"}.post-format-image:before{content:"\f128"}.post-format-video:before{content:"\f126"}.post-format-audio:before{content:"\f127"}.post-format-quote:before{content:"\f122"}.post-format-link:before{content:"\f103"}.post-format-gallery:before{content:"\f161"}.tagsdiv p{margin:0}.tagsdiv .ajaxtag{position:relative}.tagsdiv .newtag{display:block;position:relative;padding:11px 16px 11px 58px;width:100%;border:0;border-bottom:1px solid #e5e5e5;font-size:16px}.tagsdiv .tagadd{position:absolute;top:0;left:0;bottom:1px;border:0;-webkit-border-radius:0;border-radius:0;margin:0;padding:0 16px;background:#f7f7f7;border-right:1px solid #f1f1f1;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .tagadd:active,.tagsdiv .tagadd:focus,.tagsdiv .tagadd:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .howto{color:#727272;font-style:italic;margin:10px 16px 6px 0}.ac_results{padding:0;margin:-1px -1px 0 0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid #d8d8d8;background-color:#fff;font-size:14px}.ac_results li{padding:6px 16px;white-space:nowrap;color:#101010;text-align:right}.ac_results .ac_over{background-color:#00a0d2;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}.tagchecklist{padding:16px 28px 5px}.tagchecklist:after,.tagchecklist:before{content:"";display:table}.tagchecklist:after{clear:both}.tagchecklist span{display:block;margin-left:25px;float:right;font-size:13px;line-height:1.8;white-space:nowrap;cursor:default}@media (max-width:600px){.tagchecklist span{margin-bottom:15px;font-size:16px;line-height:1.3}}.tagchecklist .ntdelbutton{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;display:block;float:right;text-indent:0;overflow:hidden;position:absolute;outline:0}.tagchecklist .ntdelbutton:before{content:'\f153';display:block;margin:2px 0;height:20px;width:20px;background:100% 0;color:#9ea7af;font:400 16px/1 dashicons;text-align:center;speak:none;-webkit-font-smoothing:antialiased}.tagchecklist .ntdelbutton:focus:before{color:#00a0d2}.tagsdiv+p{margin:0}.tagcloud-link{display:block;padding:0 16px;text-decoration:none;outline:0}.tagcloud-link:focus{text-decoration:underline}.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}.popular-tags a{padding:0 3px}.the-tagcloud{margin:0;padding:16px}.the-tagcloud a{text-decoration:none;outline:0}.the-tagcloud a:focus{text-decoration:underline}.tagcloud h3{margin:2px 0 12px}.add-category-name,input[type=search].categories-search{display:block;width:100%;padding:.85714em 1.07143em;border:0;-webkit-border-radius:0;border-radius:0;border-bottom:1px solid #e5e5e5;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width:600px){.add-category-name,input[type=search].categories-search{font-size:16px}}.add-cat-toggle{float:left;margin-top:-45px;line-height:20px;padding:12px 10px 8px}.add-cat-toggle:focus{text-decoration:none;color:#00a0d2}.add-cat-toggle.is-toggled{padding:10px}.add-cat-toggle.is-toggled .dashicons:before{content:"\f179"}.add-category{position:relative;border-bottom:1px solid #e5e5e5}.add-category.is-hidden{display:none}.add-category .add-cat-submit{position:absolute;top:0;left:0;border:0;-webkit-border-radius:0;border-radius:0;padding:12px 16px;background:#f7f7f7;border-right:1px solid #f1f1f1}.add-category .add-cat-submit:active,.add-category .add-cat-submit:focus,.add-category .add-cat-submit:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff}.postform-wrapper{padding:12px}.postform{display:block;margin:0;width:100%;height:34px;-webkit-border-radius:0;border-radius:0;border:1px solid #e5e5e5;background:0 0/20px 20px #fff;-webkit-background-size:20px 20px;overflow:hidden;line-height:21px;text-overflow:ellipsis;text-decoration:none;vertical-align:top;white-space:nowrap;cursor:pointer;outline:0}.postform:focus{border-color:#0073aa;-webkit-box-shadow:0 0 0 3px #00a0d2;box-shadow:0 0 0 3px #00a0d2;outline:0;-moz-outline:0;-moz-user-focus:ignore}.postform::-ms-expand{display:none}.postform::-ms-value{background:0 0;color:#727272}.postform:-moz-focusring{color:transparent;text-shadow:0 0 0 #727272}.categories-select,.categories-select ul{margin:0;padding:0;list-style:none}.category{position:relative;display:block;padding:13px 16px 14px;cursor:pointer;background:#fff}.category.selected:focus,.category:focus{outline:0;background:#00a0d2;color:#fff}.category.selected{-webkit-box-shadow:inset -6px 0 0 #00a0d2;box-shadow:inset -6px 0 0 #00a0d2;background:#E9F5F9}.category.selected:after{display:inline-block;content:"\f147";position:absolute;top:13px;left:0;width:20px;height:20px;margin-left:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#23282d;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}.category.selected:focus:after{color:#fff}.categories-select ul .category{padding-right:24px}.categories-select ul ul .category{padding-right:32px}.categories-select ul ul ul .category{padding-right:40px}.categories-select ul ul ul ul .category{padding-right:48px}.categories-select ul ul ul ul ul .category{padding-right:56px}.categories-select ul ul ul ul ul ul .category{padding-right:64px}.categories-select .is-hidden{display:none}.categories-select .is-hidden.searched-parent{display:block}.categories-search-wrapper{position:relative}.categories-search-wrapper.is-hidden{display:none}.categories-search-wrapper label{position:absolute;top:50%;left:10px;margin-top:-10px;color:#9ea7af}html{overflow:auto}body{overflow-x:hidden;height:100%}html{background:#fff;-webkit-box-shadow:10px 0 0 rgba(0,0,0,.3);box-shadow:10px 0 0 rgba(0,0,0,.3)}@media (max-width:900px){body{font-size:16px}}@media (max-width:320px){body{font-size:14px}}.lt-ie9{overflow:visible}.adminbar{position:relative;width:100%;padding:0 .8em;min-height:3.2em;background:#23282d;color:#fff;z-index:9999}.adminbar:after,.adminbar:before{content:"";display:table}.adminbar:after{clear:both}.adminbar .dashicons{color:#999}.adminbar button{position:absolute;top:50%;left:6px;margin-top:-13px}@media (max-width:320px){.adminbar{min-height:45px}}.current-site{margin-top:.5625em;font-size:16px;line-height:44px;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width:600px){.current-site{margin:3px 0 0}}@media (max-width:320px){.current-site{margin:0;font-size:14px}}.current-site-link{text-decoration:none}.current-site-link:focus{outline:0}.current-site-link:focus .current-site-name{text-decoration:underline}.current-site-name{color:#ededed}@media (max-width:320px){.current-site-name{font-weight:600}}.current-site .dashicons-wordpress{position:relative;top:-1px;margin-left:10px;vertical-align:middle}.options,.options-panel-back.is-hidden,.options.closed .on-open,.options.open .on-closed{display:none}@media (max-width:900px){.options{display:block}}.options:focus .dashicons{color:#fff;text-decoration:none}.options .dashicons{margin-top:3px}.options{color:#00a0d2}.alert{position:relative;margin:0;padding:16px 50px;border-bottom:1px solid #e5e5e5;font-size:14px}.alert:before{content:'';position:absolute;top:50%;right:30px;width:8px;height:8px;margin-top:-4px;-webkit-border-radius:50%;border-radius:50%;background:#00a0d2}@media (max-width:600px){.alert{padding:16px 35px}.alert:before{right:15px}}.alert.is-error:before{background:red}.scan{position:relative;border-bottom:1px solid #e5e5e5}@media (max-width:900px){.scan form{-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.scan.is-hidden form{opacity:.2;pointer-events:none}}.scan-url{display:block;border:0;padding:.85714em 1.07143em;font-size:14px;width:100%}@media (max-width:600px){.scan-url{font-size:16px}}.scan-submit{position:absolute;top:0;left:0;bottom:0;padding:0 1.07143em;background:#f7f7f7;border:0;border-right:1px solid #f1f1f1;-webkit-border-radius:0;border-radius:0;color:#555;font-size:14px;line-height:1.6}.scan-submit:focus,.scan-submit:hover{background:#2991b7;border-color:#20708e;color:#fff;outline:0}.scan-submit:active{background:#2581a2;border-color:#20708e;color:#fff}.scan-submit:visited{color:#555}.wrapper{position:relative;margin-bottom:60px;margin-left:320px}.wrapper:after,.wrapper:before{content:"";display:table}.wrapper:after{clear:both}@media (max-width:900px){.wrapper{margin:0;width:100%}}.editor-wrapper{overflow:auto;float:right;width:100%}.editor-wrapper:after,.editor-wrapper:before{content:"";display:table}.editor-wrapper:after{clear:both}.editor{padding:0 1.5em 4.75em;max-width:700px;margin:0 auto}.spinner{height:20px;width:20px;display:inline-block;visibility:hidden;background:url(../images/spinner.gif) center/20px 20px no-repeat;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);line-height:1;vertical-align:middle}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}.spinner.is-active{visibility:visible}#pressthis{color:#fff}@media (min-width:901px){.editor{max-width:760px}}@media (max-width:320px){.editor{padding:0}}.post-title,.post-title-placeholder{margin:0;padding:.83em 0;width:100%;border-bottom:1px solid #e5e5e5;font-size:32px;line-height:1.4;font-weight:700}.post-title-placeholder:active,.post-title-placeholder:focus,.post-title:active,.post-title:focus{outline:0;-webkit-box-shadow:inset 0 -3px 0 #00a0d2;box-shadow:inset 0 -3px 0 #00a0d2;border-color:#00a0d2}@media (max-width:900px){.post-title,.post-title-placeholder{font-size:24px}}@media (max-height:400px){.post-title,.post-title-placeholder{padding:15px 0;font-size:16px}}@media (max-width:320px){.post-title,.post-title-placeholder{font-size:16px;font-weight:600;padding:1.14286em 1.42857em}}.post-title{background:url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);background:0 0,none}.post-title:before{content:'\a0';display:inline-block;width:0;speak:none}.post-title-placeholder{position:absolute;border:0;color:#9ea7af;z-index:-1}.post-title-placeholder.is-hidden{display:none}.media-list-container{position:relative;padding:2px 0;border-bottom:1px solid #e5e5e5;display:none}.media-list-inner-container{overflow:auto;max-height:150px;max-height:40vw}.media-list-container.has-media{display:block}.media-list-inner-container:after,.media-list-inner-container:before{content:"";display:table}.media-list-inner-container:after{clear:both}.media-list{margin:0;padding:0}@media (min-width:321px){.media-list-inner-container{max-height:250px;max-height:40vw}}@media (min-width:601px){.media-list-inner-container{max-height:200px;max-height:18.75vw}}.wppt-all-media-list{list-style:none;margin:0;padding:0}.is-embed:focus,.suggested-media-thumbnail:focus{outline:0;-webkit-box-shadow:inset 0 0 0 3px #00a0d2;box-shadow:inset 0 0 0 3px #00a0d2}.suggested-media-thumbnail{position:relative;display:block;float:right;width:16.66%;padding:16.66% 16.66% 0 0;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;background-color:#d8d8d8;color:#fff;color:rgba(255,255,255,.6);cursor:pointer}.suggested-media-thumbnail:active,.suggested-media-thumbnail:focus,.suggested-media-thumbnail:hover{color:#fff}.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{display:inline-block;position:absolute;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.suggested-media-thumbnail:before{right:50%;top:50%;margin:-20px -20px 0 0;font-size:40px}.suggested-media-thumbnail:after{content:"\f132";left:3%;bottom:2%}@media (min-width:601px){.suggested-media-thumbnail{width:12.5%;padding:12.5% 12.5% 0 0}}.is-embed:before{content:"\f104";color:#fff;color:rgba(255,255,255,.9)}.is-embed.is-audio:active:before,.is-embed.is-audio:focus:before,.is-embed.is-audio:hover:before,.is-embed.is-tweet:active:before,.is-embed.is-tweet:focus:before,.is-embed.is-tweet:hover:before{color:#fff}.is-embed.is-video{background-color:#23282d}.is-embed.is-video:active:before,.is-embed.is-video:focus:before,.is-embed.is-video:hover:before{color:rgba(255,255,255,.2)}.is-embed.is-video:before{content:"\f236"}.is-embed.is-audio{background-color:#ff7d44}.is-embed.is-audio:before{content:"\f127"}.is-embed.is-tweet{background-color:#55acee}.is-embed.is-tweet:before{content:"\f301"}.no-media{margin:0;padding:0;border:0}.press-this-actions{position:fixed;bottom:0;right:0;width:100%;background:#f1f1f1;background:rgba(241,241,241,.9);border-top:1px solid #e5e5e5}@media (max-width:900px){.press-this-actions{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.press-this-actions.is-hidden{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}}.add-media{float:right;margin:14px 30px 14px 0;font-size:0}@media (max-width:320px){.add-media{margin:10px 10px 10px 0}}.insert-media{color:#9ea7af;float:right;margin:0;padding:0;border:0;border-left:1px solid #e5e5e5;-webkit-border-radius:0;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.insert-media:active,.insert-media:focus,.insert-media:hover{margin:0;background:0 0;border-color:#e5e5e5;color:#23282d}.insert-media:active,.insert-media:focus{outline:0;color:#00a0d2;text-decoration:none}.insert-media .dashicons{padding:11px;width:63px;height:58px;font-size:40px}@media (max-width:320px){.insert-media .dashicons{width:55px;height:49px;padding:14px;font-size:20px}}.post-actions{float:left;margin:14px 0 14px 30px;font-size:13px}@media (max-width:320px){.post-actions{margin:10px 0 10px 10px}}.edit-post-link{font-size:13px;display:inline-block;text-decoration:none;padding:0 10px}.draft-button .saving-draft,.draft-button.is-hidden,.draft-button.is-saving .save-draft{display:none}.draft-button.is-saving .saving-draft{display:inline}.editor .wp-media-buttons{float:none}.editor div.mce-toolbar-grp{padding:.71429em 0;background:0 0;border:0}@media (max-height:400px),(max-width:320px){.editor div.mce-toolbar-grp{padding:0}}.mce-stack-layout:after,.mce-stack-layout:before{content:"";display:table}.mce-stack-layout:after{clear:both}.mce-container.mce-toolbar{float:right}.mce-container.mce-toolbar:nth-child(2){float:left}@media (max-width:600px){.mce-first .mce-btn:nth-child(3),.mce-first .mce-btn:nth-child(4){position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.mce-first .mce-btn:nth-child(3):focus,.mce-first .mce-btn:nth-child(4):focus{position:static;margin:1px;padding:inherit;height:auto;width:auto;overflow:visible;clip:auto;border:1px solid #999}}#wp-link-wrap{font-size:13px}#wp-link-wrap input[type=text]{padding:3px 5px;margin:1px}@media screen and (max-width:782px){#wp-link-wrap{font-size:14px}#wp-link-wrap input[type=text]{padding:6px 10px}}#wp-link-wrap .howto{color:#666;font-style:italic}.options-panel{position:relative;float:left;margin-left:-320px;width:320px;border-right:1px solid #e5e5e5;font-size:14px;-webkit-box-shadow:-5001px 5000px 0 5000px #fff,-5000px 5000px 0 5000px #e5e5e5;box-shadow:-5001px 5000px 0 5000px #fff,-5000px 5000px 0 5000px #e5e5e5;outline:0}.options-panel-back{position:absolute;top:0;left:0;bottom:0;width:320px;outline:0}@media (max-width:900px){.options-panel{background:#fff;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.options-panel.is-hidden{visibility:hidden}.options-panel.is-off-screen{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}@media (max-width:320px){.options-panel{margin-left:-100%;width:100%;border:0;-webkit-box-shadow:-5001px 5000px 0 5000px #fff;box-shadow:-5001px 5000px 0 5000px #fff}.options-panel-back{width:100%}}.post-options{background:#fff;position:absolute;left:0;width:100%;overflow-x:hidden}.post-options .post-option-contents{margin-right:3px;color:#32373c}.post-option-forward:before{position:absolute;top:50%;left:8px;margin-top:-10px;content:"\f341"}.post-option-back:before{content:"\f345"}.lt-ie9 .options-panel,.lt-ie9 .post-options{border-right:1px solid #e5e5e5}.lt-ie9 .post-options.is-off-screen{border:0}.post-option{position:relative}.post-options .post-option{display:block;width:100%;padding:13px 14px 13px 37px;border-bottom:1px solid #e5e5e5;text-decoration:none;text-align:right;color:#9ea7af;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.post-options .post-option:focus{outline:0;-webkit-box-shadow:inset -5px 0 0 #00a0d2;box-shadow:inset -5px 0 0 #00a0d2}.is-off-screen>.post-option{left:100%}.is-hidden>.post-option{visibility:hidden}@media (min-width:1px){.is-off-screen>.post-option{left:auto;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}}.post-option-title{display:inline-block;margin:0 8px 0 0;font-size:14px;font-weight:400}.setting-modal{position:relative;top:0;right:0;width:100%;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.setting-modal.is-hidden{visibility:hidden;height:0}.setting-modal.is-off-screen{right:100%}@media (min-width:1px){.setting-modal.is-off-screen{right:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}}.modal-close{display:block;width:100%;padding:13px 14px;border-bottom:1px solid #e5e5e5;color:#00a0d2;text-decoration:none;text-align:right}.modal-close:focus{outline:0;-webkit-box-shadow:inset -5px 0 0 #00a0d2;box-shadow:inset -5px 0 0 #00a0d2}.setting-title{position:relative;top:-1px;margin-right:11px}
\ No newline at end of file
+pre,textarea{overflow:auto}body,fieldset{margin:0}.screen-reader-text,fieldset,legend,td,th{padding:0}.adminbar:after,.clearfix:after,.editor-wrapper:after,.mce-stack-layout:after,.media-list-inner-container:after,.tagchecklist:after,.wrapper:after,h1,h2,h3,h4,h5,h6{clear:both}b,dt,optgroup,strong{font-weight:700}.current-site,.post-options .post-option,.postform{text-overflow:ellipsis;white-space:nowrap}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){*,:after,:before{-webkit-font-smoothing:antialiased}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}fieldset,img,legend{border:0}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}.clearfix:after,.clearfix:before{content:"";display:table}.hide-if-js{display:none}.screen-reader-text{position:absolute;margin:-1px;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}body,button,input,select,textarea{color:#404040;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6}p{margin-bottom:1.5em}.button-subtle,.scan-submit{display:inline-block;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;font-size:13px;line-height:2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none}.button-link,.button-reset{cursor:pointer;-webkit-appearance:none;padding:0;border:0;background:0 0}.button-subtle{background:0 0;border:0;color:#0073aa}.button-subtle:visited{color:#0073aa}.button-subtle:active,.button-subtle:focus,.button-subtle:hover,.edit-post-link:active,.edit-post-link:focus,.edit-post-link:hover{color:#00a0d2}.button-subtle:active,.button-subtle:focus,.edit-post-link:active,.edit-post-link:focus{outline:0;text-decoration:underline}.preview-button{margin-left:5px}.button-reset{margin:0}.button-reset:focus{outline:0}.button-link{margin:0;color:#0073aa}.button-link:active,.button-link:focus,.button-link:hover{color:#00a0d2;text-decoration:underline}.split-button{position:relative;display:inline-block;vertical-align:middle}.split-button-body{display:none;position:absolute;bottom:39px;left:0;border:1px solid #ddd;background-color:#fff;min-width:180px;max-width:100%;margin:0;padding:8px;list-style:none;-webkit-box-shadow:-1px 0 4px rgba(0,0,0,.15);box-shadow:-1px 0 4px rgba(0,0,0,.15)}.split-button-body:after,.split-button-body:before{position:absolute;left:12px;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}.split-button-body:before{bottom:-18px;border-top-color:#ccc;border-width:9px;left:11px}.split-button-body:after{bottom:-16px;border-top-color:#fff;border-width:8px}.split-button-body .split-button-option{display:block;padding:5px 15px;margin:0;width:100%;text-align:right}.is-open .split-button-body{display:block}.split-button-primary,.split-button-toggle{-webkit-border-radius:0;border-radius:0;display:block;margin:0;font-size:13px;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none;line-height:2;padding:0 10px 1px;background:#00a0d2;border-color:#0073aa;border-width:1px;border-style:solid;-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}.split-button-primary{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border-left:0 none;float:right}.split-button-toggle{padding:0;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border-right:0 none;float:left}.split-button-toggle i{margin:4px 0 3px 20px;padding:0 10px;border-right:1px solid #fff}.split-button-primary:hover,.split-button-toggle:hover{outline:0;background:#0091cd;border-color:#0073aa}.split-button-primary:focus,.split-button-toggle:focus{outline:0;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)}.split-button-primary:active,.split-button-toggle:active{background:#0073aa;border-color:#005082;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)}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}[type=text],[type=email],[type=url],[type=password],[type=search],textarea{padding:.4em .75em;color:#32373c;border:1px solid #ccc}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=search]:focus,textarea:focus{color:#32373c;outline:0}textarea{padding-right:3px;vertical-align:top}a,a:visited{color:#0073aa}a:active,a:focus,a:hover{color:#00a0d2}ol,ul{margin:0 3em 1.5em 0}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-right:1.5em}dd{margin:0 1.5em 1.5em}#post-formats-select br{display:none}.post-format{width:1px;height:1px;position:absolute;top:-9999px}.lt-ie9 .post-format{margin:17px 13px 0 12px;position:static;top:auto;float:right;width:16px;height:16px}.add-category,.post-format-icon,.tagsdiv .ajaxtag,.tagsdiv .newtag{position:relative}.post-format-icon{display:block;padding:13px 13px 14px 2px;cursor:pointer}.post-format-icon:after,.post-format-icon:before{content:"";display:inline-block;width:20px;height:20px;margin-left:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#9ea7af;font-style:normal;text-align:center;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.category.selected:after,.post-format-icon:after,.post-format-icon:before{font-weight:400;vertical-align:top;-webkit-transition:color .1s ease-in 0}.post-format-icon:before{content:"\f109"}.post-format-icon:after{display:none;content:"\f147";float:left}.post-format:checked+.post-format-icon{-webkit-box-shadow:inset -6px 0 0 #00a0d2;box-shadow:inset -6px 0 0 #00a0d2;background:rgba(46,162,204,.1)}.post-format:checked+.post-format-icon:after,.post-format:checked+.post-format-icon:before{color:#32373c}.post-format:focus+.post-format-icon{background:#00a0d2;color:#fff}.post-format:focus+.post-format-icon:after,.post-format:focus+.post-format-icon:before{color:#fff}.post-format:checked+.post-format-icon:after{display:block}.lt-ie9 .post-format-icon{margin-right:16px}.post-format-aside:before{content:"\f123"}.post-format-image:before{content:"\f128"}.post-format-video:before{content:"\f126"}.post-format-audio:before{content:"\f127"}.post-format-quote:before{content:"\f122"}.post-format-link:before{content:"\f103"}.post-format-gallery:before{content:"\f161"}.tagsdiv p{margin:0}.tagsdiv .newtag{display:block;padding:11px 16px 11px 58px;width:100%;border:0;border-bottom:1px solid #e5e5e5;font-size:16px}.tagsdiv .tagadd{position:absolute;top:0;left:0;bottom:1px;border:0;-webkit-border-radius:0;border-radius:0;margin:0;padding:0 16px;background:#f7f7f7;border-right:1px solid #f1f1f1;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .tagadd:active,.tagsdiv .tagadd:focus,.tagsdiv .tagadd:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .howto{color:#727272;font-style:italic;margin:10px 16px 6px 0}.ac_results{padding:0;margin:-1px -1px 0 0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid #d8d8d8;background-color:#fff;font-size:14px}.ac_results li{padding:6px 16px;white-space:nowrap;color:#101010;text-align:right}.ac_results .ac_over{background-color:#00a0d2;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}.tagchecklist{padding:16px 28px 5px}.tagchecklist:after,.tagchecklist:before{content:"";display:table}.tagchecklist span{display:block;margin-left:25px;float:right;font-size:13px;line-height:1.8;white-space:nowrap;cursor:default}@media (max-width:600px){.tagchecklist span{margin-bottom:15px;font-size:16px;line-height:1.3}}.tagchecklist .ntdelbutton{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;display:block;float:right;text-indent:0;overflow:hidden;position:absolute;outline:0}.tagchecklist .ntdelbutton:before{content:'\f153';display:block;margin:2px 0;height:20px;width:20px;background:100% 0;color:#9ea7af;font:400 16px/1 dashicons;text-align:center;speak:none;-webkit-font-smoothing:antialiased}.category.selected:after,.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{font-family:dashicons;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tagchecklist .ntdelbutton:focus:before{color:#00a0d2}.tagsdiv+p{margin:0}.tagcloud-link{display:block;padding:0 16px;text-decoration:none;outline:0}.tagcloud-link:focus{text-decoration:underline}.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}.popular-tags a{padding:0 3px}.the-tagcloud{margin:0;padding:16px}.the-tagcloud a{text-decoration:none;outline:0}.the-tagcloud a:focus{text-decoration:underline}.tagcloud h3{margin:2px 0 12px}.add-category-name,input[type=search].categories-search{display:block;width:100%;padding:.85714em 1.07143em;border:0;-webkit-border-radius:0;border-radius:0;border-bottom:1px solid #e5e5e5;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width:600px){.add-category-name,input[type=search].categories-search{font-size:16px}}.add-cat-toggle{float:left;margin-top:-45px;line-height:20px;padding:12px 10px 8px}.add-cat-toggle:focus{text-decoration:none;color:#00a0d2}.add-cat-toggle.is-toggled{padding:10px}.add-cat-toggle.is-toggled .dashicons:before{content:"\f179"}.add-category{border-bottom:1px solid #e5e5e5}.add-category.is-hidden{display:none}.add-category .add-cat-submit{position:absolute;top:0;left:0;border:0;-webkit-border-radius:0;border-radius:0;padding:12px 16px;background:#f7f7f7;border-right:1px solid #f1f1f1}.alert,.scan{border-bottom:1px solid #e5e5e5}.add-category .add-cat-submit:active,.add-category .add-cat-submit:focus,.add-category .add-cat-submit:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff}.postform-wrapper{padding:12px}.postform{display:block;margin:0;width:100%;height:34px;-webkit-border-radius:0;border-radius:0;border:1px solid #e5e5e5;background:#fff;-webkit-background-size:20px 20px;background-size:20px 20px;overflow:hidden;line-height:21px;text-decoration:none;vertical-align:top;cursor:pointer;outline:0}.postform:focus{border-color:#0073aa;-webkit-box-shadow:0 0 0 3px #00a0d2;box-shadow:0 0 0 3px #00a0d2;outline:0;-moz-outline:none;-moz-user-focus:ignore}.postform::-ms-expand{display:none}.postform::-ms-value{background:0 0;color:#727272}.postform:-moz-focusring{color:transparent;text-shadow:0 0 0 #727272}.categories-select,.categories-select ul{margin:0;padding:0;list-style:none}.category{position:relative;display:block;padding:13px 16px 14px;cursor:pointer;background:#fff}.category.selected:focus,.category:focus{outline:0;background:#00a0d2;color:#fff}.category.selected{-webkit-box-shadow:inset -6px 0 0 #00a0d2;box-shadow:inset -6px 0 0 #00a0d2;background:#E9F5F9}.category.selected:after{display:inline-block;content:"\f147";position:absolute;top:13px;left:0;width:20px;height:20px;margin-left:10px;font-size:20px;line-height:1;text-decoration:inherit;color:#23282d;text-align:center;transition:color .1s ease-in 0}.category.selected:focus:after{color:#fff}.categories-select ul .category{padding-right:24px}.categories-select ul ul .category{padding-right:32px}.categories-select ul ul ul .category{padding-right:40px}.categories-select ul ul ul ul .category{padding-right:48px}.categories-select ul ul ul ul ul .category{padding-right:56px}.categories-select ul ul ul ul ul ul .category{padding-right:64px}.categories-select .is-hidden{display:none}.categories-select .is-hidden.searched-parent{display:block}.categories-search-wrapper{position:relative}.categories-search-wrapper.is-hidden{display:none}.categories-search-wrapper label{position:absolute;top:50%;left:10px;margin-top:-10px;color:#9ea7af}html{overflow:auto;background:#fff;-webkit-box-shadow:10px 0 0 rgba(0,0,0,.3);box-shadow:10px 0 0 rgba(0,0,0,.3)}body{overflow-x:hidden;height:100%}@media (max-width:900px){body{font-size:16px}}.lt-ie9{overflow:visible}.adminbar{position:relative;width:100%;padding:0 .8em;min-height:3.2em;background:#23282d;color:#fff;z-index:9999}.adminbar:after,.adminbar:before{content:"";display:table}.adminbar .dashicons{color:#999}.adminbar button{position:absolute;top:50%;left:6px;margin-top:-13px}@media (max-width:320px){body{font-size:14px}.adminbar{min-height:45px}}.current-site{margin-top:.5625em;font-size:16px;line-height:44px;font-weight:400;overflow:hidden}@media (max-width:600px){.current-site{margin:3px 0 0}}.current-site-link{text-decoration:none}.current-site-link:focus{outline:0}.current-site-link:focus .current-site-name{text-decoration:underline}.current-site-name{color:#ededed}@media (max-width:320px){.current-site{margin:0;font-size:14px}.current-site-name{font-weight:600}}.current-site .dashicons-wordpress{position:relative;top:-1px;margin-left:10px;vertical-align:middle}.options,.options.closed .on-open,.options.open .on-closed{display:none}@media (max-width:900px){.options{display:block}}.options-panel-back.is-hidden{display:none}.options:focus .dashicons{color:#fff;text-decoration:none}.options .dashicons{margin-top:3px}.options{color:#00a0d2}.alert{position:relative;margin:0;padding:16px 50px;font-size:14px}.alert:before{content:'';position:absolute;top:50%;right:30px;width:8px;height:8px;margin-top:-4px;-webkit-border-radius:50%;border-radius:50%;background:#00a0d2}@media (max-width:600px){.alert{padding:16px 35px}.alert:before{right:15px}}.alert.is-error:before{background:red}.scan{position:relative}.scan-url{display:block;border:0;padding:.85714em 1.07143em;font-size:14px;width:100%}.editor-wrapper:after,.editor-wrapper:before,.wrapper:after,.wrapper:before{content:"";display:table}@media (max-width:600px){.scan-url{font-size:16px}}.scan-submit{position:absolute;top:0;left:0;bottom:0;padding:0 1.07143em;background:#f7f7f7;border:0;border-right:1px solid #f1f1f1;-webkit-border-radius:0;border-radius:0;color:#555;font-size:14px;line-height:1.6}.scan-submit:focus,.scan-submit:hover{background:#2991b7;border-color:#20708e;color:#fff;outline:0}.scan-submit:active{background:#2581a2;border-color:#20708e;color:#fff}.scan-submit:visited{color:#555}.wrapper{position:relative;margin-bottom:60px;margin-left:320px}@media (max-width:900px){.scan form{-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.scan.is-hidden form{opacity:.2;pointer-events:none}.wrapper{margin:0;width:100%}}.editor-wrapper{overflow:auto;float:right;width:100%}.editor{padding:0 1.5em 4.75em;max-width:700px;margin:0 auto}.spinner{height:20px;width:20px;display:inline-block;visibility:hidden;background:url(../images/spinner.gif) center no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);line-height:1;vertical-align:middle}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}.spinner.is-active{visibility:visible}@media (min-width:901px){.editor{max-width:760px}}@media (max-width:320px){.editor{padding:0}}.post-title,.post-title-placeholder{margin:0;padding:.83em 0;width:100%;border-bottom:1px solid #e5e5e5;font-size:32px;line-height:1.4;font-weight:700}.post-title-placeholder:active,.post-title-placeholder:focus,.post-title:active,.post-title:focus{outline:0;-webkit-box-shadow:inset 0 -3px 0 #00a0d2;box-shadow:inset 0 -3px 0 #00a0d2;border-color:#00a0d2}@media (max-width:900px){.post-title,.post-title-placeholder{font-size:24px}}@media (max-height:400px){.post-title,.post-title-placeholder{padding:15px 0;font-size:16px}}@media (max-width:320px){.post-title,.post-title-placeholder{font-size:16px;font-weight:600;padding:1.14286em 1.42857em}}.post-title{background:url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);background:0 0,none}.post-title:before{content:'\a0';display:inline-block;width:0;speak:none}.post-title-placeholder{position:absolute;border:0;color:#9ea7af;z-index:-1}.is-embed.is-audio:active:before,.is-embed.is-audio:focus:before,.is-embed.is-audio:hover:before,.is-embed.is-tweet:active:before,.is-embed.is-tweet:focus:before,.is-embed.is-tweet:hover:before,.is-embed:before,.suggested-media-thumbnail:active,.suggested-media-thumbnail:focus,.suggested-media-thumbnail:hover{color:#fff}.post-title-placeholder.is-hidden{display:none}.media-list-container{position:relative;padding:2px 0;border-bottom:1px solid #e5e5e5;display:none}.media-list-inner-container{overflow:auto;max-height:150px;max-height:40vw}.media-list-container.has-media{display:block}.media-list-inner-container:after,.media-list-inner-container:before{content:"";display:table}.media-list{margin:0;padding:0}@media (min-width:321px){.media-list-inner-container{max-height:250px;max-height:40vw}}.wppt-all-media-list{list-style:none;margin:0;padding:0}.is-embed:focus,.suggested-media-thumbnail:focus{outline:0;-webkit-box-shadow:inset 0 0 0 3px #00a0d2;box-shadow:inset 0 0 0 3px #00a0d2}.suggested-media-thumbnail{position:relative;display:block;float:right;width:16.66%;padding:16.66% 16.66% 0 0;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;background-color:#d8d8d8;color:#fff;color:rgba(255,255,255,.6);cursor:pointer}.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{display:inline-block;position:absolute;font-size:20px;line-height:1;text-decoration:inherit;font-weight:400;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0}.suggested-media-thumbnail:before{right:50%;top:50%;margin:-20px -20px 0 0;font-size:40px}.suggested-media-thumbnail:after{content:"\f132";left:3%;bottom:2%}@media (min-width:601px){.media-list-inner-container{max-height:200px;max-height:18.75vw}.suggested-media-thumbnail{width:12.5%;padding:12.5% 12.5% 0 0}}.is-embed:before{content:"\f104";color:rgba(255,255,255,.9)}.is-embed.is-video{background-color:#23282d}.is-embed.is-video:active:before,.is-embed.is-video:focus:before,.is-embed.is-video:hover:before{color:rgba(255,255,255,.2)}.is-embed.is-video:before{content:"\f236"}.is-embed.is-audio{background-color:#ff7d44}.is-embed.is-audio:before{content:"\f127"}.is-embed.is-tweet{background-color:#55acee}.is-embed.is-tweet:before{content:"\f301"}.no-media{margin:0;padding:0;border:0}.press-this-actions{position:fixed;bottom:0;right:0;width:100%;background:#f1f1f1;background:rgba(241,241,241,.9);border-top:1px solid #e5e5e5}.add-media{float:right;margin:14px 30px 14px 0;font-size:0}@media (max-width:320px){.add-media{margin:10px 10px 10px 0}}.insert-media{color:#9ea7af;float:right;margin:0;padding:0;border:0;border-left:1px solid #e5e5e5;-webkit-border-radius:0;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.insert-media:active,.insert-media:focus,.insert-media:hover{margin:0;background:0 0;border-color:#e5e5e5;color:#23282d}.insert-media:active,.insert-media:focus{outline:0;color:#00a0d2;text-decoration:none}.insert-media .dashicons{padding:11px;width:63px;height:58px;font-size:40px}@media (max-width:320px){.insert-media .dashicons{width:55px;height:49px;padding:14px;font-size:20px}}#wp-link-wrap,.post-actions{font-size:13px}.post-actions{float:left;margin:14px 0 14px 30px}@media (max-width:320px){.post-actions{margin:10px 0 10px 10px}}.edit-post-link{font-size:13px;display:inline-block;text-decoration:none;padding:0 10px}.publish-button .saving-draft,.publish-button.is-saving .publish{display:none}.publish-button.is-saving .saving-draft{display:inline}.editor .wp-media-buttons{float:none}.editor div.mce-toolbar-grp{padding:.71429em 0;background:0 0;border:0}@media (max-height:400px),(max-width:320px){.editor div.mce-toolbar-grp{padding:0}}.mce-stack-layout:after,.mce-stack-layout:before{content:"";display:table}.mce-container.mce-toolbar{float:right}.mce-container.mce-toolbar:nth-child(2){float:left}@media (max-width:600px){.mce-first .mce-btn:nth-child(3),.mce-first .mce-btn:nth-child(4){position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.mce-first .mce-btn:nth-child(3):focus,.mce-first .mce-btn:nth-child(4):focus{position:static;margin:1px;padding:inherit;height:auto;width:auto;overflow:visible;clip:auto;border:1px solid #999}}#wp-link-wrap input[type=text]{padding:3px 5px;margin:1px}@media screen and (max-width:782px){#wp-link-wrap{font-size:14px}#wp-link-wrap input[type=text]{padding:6px 10px}}#wp-link-wrap .howto{color:#666;font-style:italic}.options-panel{position:relative;float:left;margin-left:-320px;width:320px;border-right:1px solid #e5e5e5;font-size:14px;-webkit-box-shadow:-5001px 5000px 0 5000px #fff,-5000px 5000px 0 5000px #e5e5e5;box-shadow:-5001px 5000px 0 5000px #fff,-5000px 5000px 0 5000px #e5e5e5;outline:0}.options-panel-back{position:absolute;top:0;left:0;bottom:0;width:320px;outline:0}@media (max-width:900px){.press-this-actions{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.press-this-actions.is-hidden{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.options-panel{background:#fff;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.options-panel.is-hidden{visibility:hidden}.options-panel.is-off-screen{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}@media (max-width:320px){.options-panel{margin-left:-100%;width:100%;border:0;-webkit-box-shadow:-5001px 5000px 0 5000px #fff;box-shadow:-5001px 5000px 0 5000px #fff}.options-panel-back{width:100%}}.post-options{background:#fff;position:absolute;left:0;width:100%;overflow-x:hidden}.post-options .post-option-contents{margin-right:3px;color:#32373c}.post-option-forward:before{position:absolute;top:50%;left:8px;margin-top:-10px;content:"\f341"}.post-option,.setting-modal,.setting-title{position:relative}.post-option-back:before{content:"\f345"}.lt-ie9 .options-panel,.lt-ie9 .post-options{border-right:1px solid #e5e5e5}.lt-ie9 .post-options.is-off-screen{border:0}.modal-close,.post-options .post-option{border-bottom:1px solid #e5e5e5;text-decoration:none;text-align:right}.post-options .post-option{display:block;padding:13px 14px 13px 37px;color:#9ea7af;transition:transform .3s ease-in-out}.post-options .post-option,.setting-modal{width:100%;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out}.post-options .post-option:focus{box-shadow:inset -5px 0 0 #00a0d2}.modal-close:focus,.post-options .post-option:focus{outline:0;-webkit-box-shadow:inset -5px 0 0 #00a0d2}.is-off-screen>.post-option{left:100%}.is-hidden>.post-option{visibility:hidden}.post-option-title{display:inline-block;margin:0 8px 0 0;font-size:14px;font-weight:400}.setting-modal{top:0;right:0;transition:transform .3s ease-in-out}.setting-modal.is-hidden{visibility:hidden;height:0}.setting-modal.is-off-screen{right:100%}@media (min-width:1px){.is-off-screen>.post-option{left:auto;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.setting-modal.is-off-screen{right:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}}.modal-close{display:block;width:100%;padding:13px 14px;color:#00a0d2}.modal-close:focus{box-shadow:inset -5px 0 0 #00a0d2}.setting-title{top:-1px;margin-right:11px}#pressthis{color:#404040;resize:none;padding-top:30px;font-size:16px}.wp-editor-wrap .quicktags-toolbar{background:0 0;border:none}.wp-editor-wrap .wp-editor-tools{z-index:0}.wp-editor-wrap .wp-editor-tabs{padding:2px}.wp-editor-wrap .wp-switch-editor{top:0;margin:3px 5px 0 0;padding:3px 8px;background:#f5f5f5;color:#555;border-color:#ccc}.wp-editor-wrap .wp-switch-editor:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-editor-wrap.html-active .switch-html,.wp-editor-wrap.tmce-active .switch-tmce{background:#fff;border-color:#d8d8d8}
\ No newline at end of file
index 9cd44bb2e8c0be257fb44ab77b473def216f67f6..b99ba1a7e088b2727a49a2dd970b79043910ed34 100644 (file)
@@ -390,6 +390,139 @@ strong {
        text-decoration: underline;
 }
 
+.split-button {
+       position: relative;
+       display: inline-block;
+       vertical-align: middle;
+}
+
+.split-button-body {
+       display: none;
+       position: absolute;
+       bottom: 39px;
+       right: 0;
+       border: 1px solid #ddd;
+       background-color: #fff;
+       min-width: 180px;
+       max-width: 100%;
+       margin: 0;
+       padding: 8px;
+       list-style: none;
+       -webkit-box-shadow: 1px 0 4px rgba( 0, 0, 0, 0.15 );
+       box-shadow: 1px 0 4px rgba( 0, 0, 0, 0.15 );
+}
+
+.split-button-body:before,
+.split-button-body:after {
+       position: absolute;
+       right: 12px;
+       display: block;
+       width: 0;
+       height: 0;
+       border-style: solid;
+       border-color: transparent;
+       content: '';
+}
+
+.split-button-body:before {
+       bottom: -18px;
+       border-top-color: #ccc;
+       border-width: 9px;
+       right: 11px;
+}
+
+.split-button-body:after {
+       bottom: -16px;
+       border-top-color: #fff;
+       border-width: 8px;
+}
+
+.split-button-body .split-button-option {
+       display: block;
+       padding: 5px 15px;
+       margin: 0;
+       width: 100%;
+       text-align: left;
+}
+
+.is-open .split-button-body {
+       display: block;
+}
+
+.split-button-primary,
+.split-button-toggle {
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       display: block;
+       margin: 0;
+       font-size: 13px;
+       text-decoration: none;
+       white-space: nowrap;
+       cursor: pointer;
+       -webkit-appearance: none;
+       line-height: 2;
+       padding: 0 10px 1px;
+       background: #00a0d2;
+       border-color: #0073aa;
+       border-width: 1px;
+       border-style: solid;
+       -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+       box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+       color: #fff;
+}
+
+.split-button-primary {
+       -webkit-border-top-left-radius: 3px;
+       border-top-left-radius: 3px;
+       -webkit-border-bottom-left-radius: 3px;
+       border-bottom-left-radius: 3px;
+       border-right: 0 none;
+       float: left;
+}
+
+.split-button-toggle {
+       padding: 0;
+       -webkit-border-top-right-radius: 3px;
+       border-top-right-radius: 3px;
+       -webkit-border-bottom-right-radius: 3px;
+       border-bottom-right-radius: 3px;
+       border-left: 0 none;
+       float: right;
+}
+
+.split-button-toggle i {
+       margin: 4px 20px 3px 0;
+       padding: 0 10px;
+       border-left: 1px solid #fff;
+}
+
+.split-button-primary:hover,
+.split-button-toggle:hover {
+       outline: none;
+       background: #0091cd;
+       border-color: #0073aa;
+}
+
+.split-button-primary:focus,
+.split-button-toggle:focus {
+       outline: none;
+       border-color: #0e3950;
+       -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.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, 0.6 ),
+               0 0 0 1px #5b9dd9,
+               0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
+.split-button-primary:active,
+.split-button-toggle:active {
+       background: #0073aa;
+       border-color: #005082;
+       color: rgba( 255, 255, 255, 0.95 );
+       -webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+       box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+}
 
 /**
 * Forms
@@ -1753,13 +1886,12 @@ html {
        padding: 0 10px;
 }
 
-.draft-button.is-hidden,
-.draft-button .saving-draft,
-.draft-button.is-saving .save-draft {
+.publish-button .saving-draft,
+.publish-button.is-saving .publish {
        display: none;
 }
 
-.draft-button.is-saving .saving-draft {
+.publish-button.is-saving .saving-draft {
        display: inline;
 }
 
@@ -2038,3 +2170,46 @@ html {
        top: -1px;
        margin-left: 11px;
 }
+
+/* Text editor */
+#pressthis {
+       color: #404040;
+       resize: none;
+       padding-top: 30px;
+       font-size: 16px;
+}
+
+.wp-editor-wrap .quicktags-toolbar {
+       background: transparent;
+       border: none;
+}
+
+/* Switch editor buttons */
+.wp-editor-wrap .wp-editor-tools {
+       z-index: 0;
+}
+
+.wp-editor-wrap .wp-editor-tabs {
+       padding: 2px;
+}
+
+.wp-editor-wrap .wp-switch-editor {
+       top: 0;
+       margin: 3px 0 0 5px;
+       padding: 3px 8px;
+       background: #f5f5f5;
+       color: #555;
+       border-color: #ccc;
+}
+
+.wp-editor-wrap .wp-switch-editor:hover {
+       background: #fafafa;
+       border-color: #999;
+       color: #23282d;
+}
+
+.wp-editor-wrap.tmce-active .switch-tmce,
+.wp-editor-wrap.html-active .switch-html {
+       background: #fff;
+       border-color: #d8d8d8;
+}
index 0c79df107d9126cf0e5f0282ff6ee48b0279ac71..67e59e134178e4dc53fb87e3a50937d73f95bc1c 100644 (file)
@@ -1 +1 @@
-html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){*,:after,:before{-webkit-font-smoothing:antialiased}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:0;margin:0;padding:0}legend{border:0;padding:0}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.hide-if-js{display:none}.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}body,button,input,select,textarea{color:#404040;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{clear:both}p{margin-bottom:1.5em}b,strong{font-weight:700}.button-subtle,.scan-submit{display:inline-block;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;font-size:13px;line-height:2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none}.button-subtle{background:0 0;border:0;color:#0073aa}.button-subtle:visited{color:#0073aa}.button-subtle:active,.button-subtle:focus,.button-subtle:hover,.edit-post-link:active,.edit-post-link:focus,.edit-post-link:hover{color:#00a0d2}.button-subtle:active,.button-subtle:focus,.edit-post-link:active,.edit-post-link:focus{outline:0;text-decoration:underline}.preview-button{margin-right:5px}.button-reset{margin:0;padding:0;border:0;background:0 0;cursor:pointer;-webkit-appearance:none}.button-reset:focus{outline:0}.button-link{margin:0;padding:0;border:0;background:0 0;color:#0073aa;cursor:pointer;-webkit-appearance:none}.button-link:active,.button-link:focus,.button-link:hover{color:#00a0d2;text-decoration:underline}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}[type=email],[type=password],[type=search],[type=text],[type=url],textarea{padding:.4em .75em;color:#32373c;border:1px solid #ccc}[type=email]:focus,[type=password]:focus,[type=search]:focus,[type=text]:focus,[type=url]:focus,textarea:focus{color:#32373c;outline:0}textarea{overflow:auto;padding-left:3px;vertical-align:top}a,a:visited{color:#0073aa}a:active,a:focus,a:hover{color:#00a0d2}ol,ul{margin:0 0 1.5em 3em}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}#post-formats-select br{display:none}.post-format{width:1px;height:1px;position:absolute;top:-9999px}.lt-ie9 .post-format{margin:17px 12px 0 13px;position:static;top:auto;float:left;width:16px;height:16px}.post-format-icon{position:relative;display:block;padding:13px 2px 14px 13px;cursor:pointer}.post-format-icon:after,.post-format-icon:before{content:"";display:inline-block;width:20px;height:20px;margin-right:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#9ea7af;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}.post-format-icon:before{content:"\f109"}.post-format-icon:after{display:none;content:"\f147";float:right}.post-format:checked+.post-format-icon{-webkit-box-shadow:inset 6px 0 0 #00a0d2;box-shadow:inset 6px 0 0 #00a0d2;background:rgba(46,162,204,.1)}.post-format:checked+.post-format-icon:after,.post-format:checked+.post-format-icon:before{color:#32373c}.post-format:focus+.post-format-icon{background:#00a0d2;color:#fff}.post-format:focus+.post-format-icon:after,.post-format:focus+.post-format-icon:before{color:#fff}.post-format:checked+.post-format-icon:after{display:block}.lt-ie9 .post-format-icon{margin-left:16px}.post-format-aside:before{content:"\f123"}.post-format-image:before{content:"\f128"}.post-format-video:before{content:"\f126"}.post-format-audio:before{content:"\f127"}.post-format-quote:before{content:"\f122"}.post-format-link:before{content:"\f103"}.post-format-gallery:before{content:"\f161"}.tagsdiv p{margin:0}.tagsdiv .ajaxtag{position:relative}.tagsdiv .newtag{display:block;position:relative;padding:11px 58px 11px 16px;width:100%;border:0;border-bottom:1px solid #e5e5e5;font-size:16px}.tagsdiv .tagadd{position:absolute;top:0;right:0;bottom:1px;border:0;-webkit-border-radius:0;border-radius:0;margin:0;padding:0 16px;background:#f7f7f7;border-left:1px solid #f1f1f1;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .tagadd:active,.tagsdiv .tagadd:focus,.tagsdiv .tagadd:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .howto{color:#727272;font-style:italic;margin:10px 0 6px 16px}.ac_results{padding:0;margin:-1px 0 0 -1px;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid #d8d8d8;background-color:#fff;font-size:14px}.ac_results li{padding:6px 16px;white-space:nowrap;color:#101010;text-align:left}.ac_results .ac_over{background-color:#00a0d2;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}.tagchecklist{padding:16px 28px 5px}.tagchecklist:after,.tagchecklist:before{content:"";display:table}.tagchecklist:after{clear:both}.tagchecklist span{display:block;margin-right:25px;float:left;font-size:13px;line-height:1.8;white-space:nowrap;cursor:default}@media (max-width:600px){.tagchecklist span{margin-bottom:15px;font-size:16px;line-height:1.3}}.tagchecklist .ntdelbutton{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;display:block;float:left;text-indent:0;overflow:hidden;position:absolute;outline:0}.tagchecklist .ntdelbutton:before{content:'\f153';display:block;margin:2px 0;height:20px;width:20px;background:0 0;color:#9ea7af;font:400 16px/1 dashicons;text-align:center;speak:none;-webkit-font-smoothing:antialiased}.tagchecklist .ntdelbutton:focus:before{color:#00a0d2}.tagsdiv+p{margin:0}.tagcloud-link{display:block;padding:0 16px;text-decoration:none;outline:0}.tagcloud-link:focus{text-decoration:underline}.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}.popular-tags a{padding:0 3px}.the-tagcloud{margin:0;padding:16px}.the-tagcloud a{text-decoration:none;outline:0}.the-tagcloud a:focus{text-decoration:underline}.tagcloud h3{margin:2px 0 12px}.add-category-name,input[type=search].categories-search{display:block;width:100%;padding:.85714em 1.07143em;border:0;-webkit-border-radius:0;border-radius:0;border-bottom:1px solid #e5e5e5;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width:600px){.add-category-name,input[type=search].categories-search{font-size:16px}}.add-cat-toggle{float:right;margin-top:-45px;line-height:20px;padding:12px 10px 8px}.add-cat-toggle:focus{text-decoration:none;color:#00a0d2}.add-cat-toggle.is-toggled{padding:10px}.add-cat-toggle.is-toggled .dashicons:before{content:"\f179"}.add-category{position:relative;border-bottom:1px solid #e5e5e5}.add-category.is-hidden{display:none}.add-category .add-cat-submit{position:absolute;top:0;right:0;border:0;-webkit-border-radius:0;border-radius:0;padding:12px 16px;background:#f7f7f7;border-left:1px solid #f1f1f1}.add-category .add-cat-submit:active,.add-category .add-cat-submit:focus,.add-category .add-cat-submit:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff}.postform-wrapper{padding:12px}.postform{display:block;margin:0;width:100%;height:34px;-webkit-border-radius:0;border-radius:0;border:1px solid #e5e5e5;background:0 0/20px 20px #fff;-webkit-background-size:20px 20px;overflow:hidden;line-height:21px;text-overflow:ellipsis;text-decoration:none;vertical-align:top;white-space:nowrap;cursor:pointer;outline:0}.postform:focus{border-color:#0073aa;-webkit-box-shadow:0 0 0 3px #00a0d2;box-shadow:0 0 0 3px #00a0d2;outline:0;-moz-outline:0;-moz-user-focus:ignore}.postform::-ms-expand{display:none}.postform::-ms-value{background:0 0;color:#727272}.postform:-moz-focusring{color:transparent;text-shadow:0 0 0 #727272}.categories-select,.categories-select ul{margin:0;padding:0;list-style:none}.category{position:relative;display:block;padding:13px 16px 14px;cursor:pointer;background:#fff}.category.selected:focus,.category:focus{outline:0;background:#00a0d2;color:#fff}.category.selected{-webkit-box-shadow:inset 6px 0 0 #00a0d2;box-shadow:inset 6px 0 0 #00a0d2;background:#E9F5F9}.category.selected:after{display:inline-block;content:"\f147";position:absolute;top:13px;right:0;width:20px;height:20px;margin-right:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#23282d;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}.category.selected:focus:after{color:#fff}.categories-select ul .category{padding-left:24px}.categories-select ul ul .category{padding-left:32px}.categories-select ul ul ul .category{padding-left:40px}.categories-select ul ul ul ul .category{padding-left:48px}.categories-select ul ul ul ul ul .category{padding-left:56px}.categories-select ul ul ul ul ul ul .category{padding-left:64px}.categories-select .is-hidden{display:none}.categories-select .is-hidden.searched-parent{display:block}.categories-search-wrapper{position:relative}.categories-search-wrapper.is-hidden{display:none}.categories-search-wrapper label{position:absolute;top:50%;right:10px;margin-top:-10px;color:#9ea7af}html{overflow:auto}body{overflow-x:hidden;height:100%}html{background:#fff;-webkit-box-shadow:-10px 0 0 rgba(0,0,0,.3);box-shadow:-10px 0 0 rgba(0,0,0,.3)}@media (max-width:900px){body{font-size:16px}}@media (max-width:320px){body{font-size:14px}}.lt-ie9{overflow:visible}.adminbar{position:relative;width:100%;padding:0 .8em;min-height:3.2em;background:#23282d;color:#fff;z-index:9999}.adminbar:after,.adminbar:before{content:"";display:table}.adminbar:after{clear:both}.adminbar .dashicons{color:#999}.adminbar button{position:absolute;top:50%;right:6px;margin-top:-13px}@media (max-width:320px){.adminbar{min-height:45px}}.current-site{margin-top:.5625em;font-size:16px;line-height:44px;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width:600px){.current-site{margin:3px 0 0}}@media (max-width:320px){.current-site{margin:0;font-size:14px}}.current-site-link{text-decoration:none}.current-site-link:focus{outline:0}.current-site-link:focus .current-site-name{text-decoration:underline}.current-site-name{color:#ededed}@media (max-width:320px){.current-site-name{font-weight:600}}.current-site .dashicons-wordpress{position:relative;top:-1px;margin-right:10px;vertical-align:middle}.options,.options-panel-back.is-hidden,.options.closed .on-open,.options.open .on-closed{display:none}@media (max-width:900px){.options{display:block}}.options:focus .dashicons{color:#fff;text-decoration:none}.options .dashicons{margin-top:3px}.options{color:#00a0d2}.alert{position:relative;margin:0;padding:16px 50px;border-bottom:1px solid #e5e5e5;font-size:14px}.alert:before{content:'';position:absolute;top:50%;left:30px;width:8px;height:8px;margin-top:-4px;-webkit-border-radius:50%;border-radius:50%;background:#00a0d2}@media (max-width:600px){.alert{padding:16px 35px}.alert:before{left:15px}}.alert.is-error:before{background:red}.scan{position:relative;border-bottom:1px solid #e5e5e5}@media (max-width:900px){.scan form{-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.scan.is-hidden form{opacity:.2;pointer-events:none}}.scan-url{display:block;border:0;padding:.85714em 1.07143em;font-size:14px;width:100%}@media (max-width:600px){.scan-url{font-size:16px}}.scan-submit{position:absolute;top:0;right:0;bottom:0;padding:0 1.07143em;background:#f7f7f7;border:0;border-left:1px solid #f1f1f1;-webkit-border-radius:0;border-radius:0;color:#555;font-size:14px;line-height:1.6}.scan-submit:focus,.scan-submit:hover{background:#2991b7;border-color:#20708e;color:#fff;outline:0}.scan-submit:active{background:#2581a2;border-color:#20708e;color:#fff}.scan-submit:visited{color:#555}.wrapper{position:relative;margin-bottom:60px;margin-right:320px}.wrapper:after,.wrapper:before{content:"";display:table}.wrapper:after{clear:both}@media (max-width:900px){.wrapper{margin:0;width:100%}}.editor-wrapper{overflow:auto;float:left;width:100%}.editor-wrapper:after,.editor-wrapper:before{content:"";display:table}.editor-wrapper:after{clear:both}.editor{padding:0 1.5em 4.75em;max-width:700px;margin:0 auto}.spinner{height:20px;width:20px;display:inline-block;visibility:hidden;background:url(../images/spinner.gif) center/20px 20px no-repeat;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);line-height:1;vertical-align:middle}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}.spinner.is-active{visibility:visible}#pressthis{color:#fff}@media (min-width:901px){.editor{max-width:760px}}@media (max-width:320px){.editor{padding:0}}.post-title,.post-title-placeholder{margin:0;padding:.83em 0;width:100%;border-bottom:1px solid #e5e5e5;font-size:32px;line-height:1.4;font-weight:700}.post-title-placeholder:active,.post-title-placeholder:focus,.post-title:active,.post-title:focus{outline:0;-webkit-box-shadow:inset 0 -3px 0 #00a0d2;box-shadow:inset 0 -3px 0 #00a0d2;border-color:#00a0d2}@media (max-width:900px){.post-title,.post-title-placeholder{font-size:24px}}@media (max-height:400px){.post-title,.post-title-placeholder{padding:15px 0;font-size:16px}}@media (max-width:320px){.post-title,.post-title-placeholder{font-size:16px;font-weight:600;padding:1.14286em 1.42857em}}.post-title{background:url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);background:0 0,none}.post-title:before{content:'\a0';display:inline-block;width:0;speak:none}.post-title-placeholder{position:absolute;border:0;color:#9ea7af;z-index:-1}.post-title-placeholder.is-hidden{display:none}.media-list-container{position:relative;padding:2px 0;border-bottom:1px solid #e5e5e5;display:none}.media-list-inner-container{overflow:auto;max-height:150px;max-height:40vw}.media-list-container.has-media{display:block}.media-list-inner-container:after,.media-list-inner-container:before{content:"";display:table}.media-list-inner-container:after{clear:both}.media-list{margin:0;padding:0}@media (min-width:321px){.media-list-inner-container{max-height:250px;max-height:40vw}}@media (min-width:601px){.media-list-inner-container{max-height:200px;max-height:18.75vw}}.wppt-all-media-list{list-style:none;margin:0;padding:0}.is-embed:focus,.suggested-media-thumbnail:focus{outline:0;-webkit-box-shadow:inset 0 0 0 3px #00a0d2;box-shadow:inset 0 0 0 3px #00a0d2}.suggested-media-thumbnail{position:relative;display:block;float:left;width:16.66%;padding:16.66% 0 0 16.66%;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;background-color:#d8d8d8;color:#fff;color:rgba(255,255,255,.6);cursor:pointer}.suggested-media-thumbnail:active,.suggested-media-thumbnail:focus,.suggested-media-thumbnail:hover{color:#fff}.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{display:inline-block;position:absolute;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.suggested-media-thumbnail:before{left:50%;top:50%;margin:-20px 0 0 -20px;font-size:40px}.suggested-media-thumbnail:after{content:"\f132";right:3%;bottom:2%}@media (min-width:601px){.suggested-media-thumbnail{width:12.5%;padding:12.5% 0 0 12.5%}}.is-embed:before{content:"\f104";color:#fff;color:rgba(255,255,255,.9)}.is-embed.is-audio:active:before,.is-embed.is-audio:focus:before,.is-embed.is-audio:hover:before,.is-embed.is-tweet:active:before,.is-embed.is-tweet:focus:before,.is-embed.is-tweet:hover:before{color:#fff}.is-embed.is-video{background-color:#23282d}.is-embed.is-video:active:before,.is-embed.is-video:focus:before,.is-embed.is-video:hover:before{color:rgba(255,255,255,.2)}.is-embed.is-video:before{content:"\f236"}.is-embed.is-audio{background-color:#ff7d44}.is-embed.is-audio:before{content:"\f127"}.is-embed.is-tweet{background-color:#55acee}.is-embed.is-tweet:before{content:"\f301"}.no-media{margin:0;padding:0;border:0}.press-this-actions{position:fixed;bottom:0;left:0;width:100%;background:#f1f1f1;background:rgba(241,241,241,.9);border-top:1px solid #e5e5e5}@media (max-width:900px){.press-this-actions{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.press-this-actions.is-hidden{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}}.add-media{float:left;margin:14px 0 14px 30px;font-size:0}@media (max-width:320px){.add-media{margin:10px 0 10px 10px}}.insert-media{color:#9ea7af;float:left;margin:0;padding:0;border:0;border-right:1px solid #e5e5e5;-webkit-border-radius:0;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.insert-media:active,.insert-media:focus,.insert-media:hover{margin:0;background:0 0;border-color:#e5e5e5;color:#23282d}.insert-media:active,.insert-media:focus{outline:0;color:#00a0d2;text-decoration:none}.insert-media .dashicons{padding:11px;width:63px;height:58px;font-size:40px}@media (max-width:320px){.insert-media .dashicons{width:55px;height:49px;padding:14px;font-size:20px}}.post-actions{float:right;margin:14px 30px 14px 0;font-size:13px}@media (max-width:320px){.post-actions{margin:10px 10px 10px 0}}.edit-post-link{font-size:13px;display:inline-block;text-decoration:none;padding:0 10px}.draft-button .saving-draft,.draft-button.is-hidden,.draft-button.is-saving .save-draft{display:none}.draft-button.is-saving .saving-draft{display:inline}.editor .wp-media-buttons{float:none}.editor div.mce-toolbar-grp{padding:.71429em 0;background:0 0;border:0}@media (max-height:400px),(max-width:320px){.editor div.mce-toolbar-grp{padding:0}}.mce-stack-layout:after,.mce-stack-layout:before{content:"";display:table}.mce-stack-layout:after{clear:both}.mce-container.mce-toolbar{float:left}.mce-container.mce-toolbar:nth-child(2){float:right}@media (max-width:600px){.mce-first .mce-btn:nth-child(3),.mce-first .mce-btn:nth-child(4){position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.mce-first .mce-btn:nth-child(3):focus,.mce-first .mce-btn:nth-child(4):focus{position:static;margin:1px;padding:inherit;height:auto;width:auto;overflow:visible;clip:auto;border:1px solid #999}}#wp-link-wrap{font-size:13px}#wp-link-wrap input[type=text]{padding:3px 5px;margin:1px}@media screen and (max-width:782px){#wp-link-wrap{font-size:14px}#wp-link-wrap input[type=text]{padding:6px 10px}}#wp-link-wrap .howto{color:#666;font-style:italic}.options-panel{position:relative;float:right;margin-right:-320px;width:320px;border-left:1px solid #e5e5e5;font-size:14px;-webkit-box-shadow:5001px 5000px 0 5000px #fff,5000px 5000px 0 5000px #e5e5e5;box-shadow:5001px 5000px 0 5000px #fff,5000px 5000px 0 5000px #e5e5e5;outline:0}.options-panel-back{position:absolute;top:0;right:0;bottom:0;width:320px;outline:0}@media (max-width:900px){.options-panel{background:#fff;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.options-panel.is-hidden{visibility:hidden}.options-panel.is-off-screen{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}@media (max-width:320px){.options-panel{margin-right:-100%;width:100%;border:0;-webkit-box-shadow:5001px 5000px 0 5000px #fff;box-shadow:5001px 5000px 0 5000px #fff}.options-panel-back{width:100%}}.post-options{background:#fff;position:absolute;right:0;width:100%;overflow-x:hidden}.post-options .post-option-contents{margin-left:3px;color:#32373c}.post-option-forward:before{position:absolute;top:50%;right:8px;margin-top:-10px;content:"\f345"}.post-option-back:before{content:"\f341"}.lt-ie9 .options-panel,.lt-ie9 .post-options{border-left:1px solid #e5e5e5}.lt-ie9 .post-options.is-off-screen{border:0}.post-option{position:relative}.post-options .post-option{display:block;width:100%;padding:13px 37px 13px 14px;border-bottom:1px solid #e5e5e5;text-decoration:none;text-align:left;color:#9ea7af;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.post-options .post-option:focus{outline:0;-webkit-box-shadow:inset 5px 0 0 #00a0d2;box-shadow:inset 5px 0 0 #00a0d2}.is-off-screen>.post-option{right:100%}.is-hidden>.post-option{visibility:hidden}@media (min-width:1px){.is-off-screen>.post-option{right:auto;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}}.post-option-title{display:inline-block;margin:0 0 0 8px;font-size:14px;font-weight:400}.setting-modal{position:relative;top:0;left:0;width:100%;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.setting-modal.is-hidden{visibility:hidden;height:0}.setting-modal.is-off-screen{left:100%}@media (min-width:1px){.setting-modal.is-off-screen{left:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}}.modal-close{display:block;width:100%;padding:13px 14px;border-bottom:1px solid #e5e5e5;color:#00a0d2;text-decoration:none;text-align:left}.modal-close:focus{outline:0;-webkit-box-shadow:inset 5px 0 0 #00a0d2;box-shadow:inset 5px 0 0 #00a0d2}.setting-title{position:relative;top:-1px;margin-left:11px}
\ No newline at end of file
+pre,textarea{overflow:auto}body,fieldset{margin:0}.screen-reader-text,fieldset,legend,td,th{padding:0}.adminbar:after,.clearfix:after,.editor-wrapper:after,.mce-stack-layout:after,.media-list-inner-container:after,.tagchecklist:after,.wrapper:after,h1,h2,h3,h4,h5,h6{clear:both}b,dt,optgroup,strong{font-weight:700}.current-site,.post-options .post-option,.postform{text-overflow:ellipsis;white-space:nowrap}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){*,:after,:before{-webkit-font-smoothing:antialiased}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}fieldset,img,legend{border:0}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}.clearfix:after,.clearfix:before{content:"";display:table}.hide-if-js{display:none}.screen-reader-text{position:absolute;margin:-1px;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}body,button,input,select,textarea{color:#404040;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6}p{margin-bottom:1.5em}.button-subtle,.scan-submit{display:inline-block;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;font-size:13px;line-height:2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none}.button-link,.button-reset{cursor:pointer;-webkit-appearance:none;padding:0;border:0;background:0 0}.button-subtle{background:0 0;border:0;color:#0073aa}.button-subtle:visited{color:#0073aa}.button-subtle:active,.button-subtle:focus,.button-subtle:hover,.edit-post-link:active,.edit-post-link:focus,.edit-post-link:hover{color:#00a0d2}.button-subtle:active,.button-subtle:focus,.edit-post-link:active,.edit-post-link:focus{outline:0;text-decoration:underline}.preview-button{margin-right:5px}.button-reset{margin:0}.button-reset:focus{outline:0}.button-link{margin:0;color:#0073aa}.button-link:active,.button-link:focus,.button-link:hover{color:#00a0d2;text-decoration:underline}.split-button{position:relative;display:inline-block;vertical-align:middle}.split-button-body{display:none;position:absolute;bottom:39px;right:0;border:1px solid #ddd;background-color:#fff;min-width:180px;max-width:100%;margin:0;padding:8px;list-style:none;-webkit-box-shadow:1px 0 4px rgba(0,0,0,.15);box-shadow:1px 0 4px rgba(0,0,0,.15)}.split-button-body:after,.split-button-body:before{position:absolute;right:12px;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}.split-button-body:before{bottom:-18px;border-top-color:#ccc;border-width:9px;right:11px}.split-button-body:after{bottom:-16px;border-top-color:#fff;border-width:8px}.split-button-body .split-button-option{display:block;padding:5px 15px;margin:0;width:100%;text-align:left}.is-open .split-button-body{display:block}.split-button-primary,.split-button-toggle{-webkit-border-radius:0;border-radius:0;display:block;margin:0;font-size:13px;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none;line-height:2;padding:0 10px 1px;background:#00a0d2;border-color:#0073aa;border-width:1px;border-style:solid;-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}.split-button-primary{-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border-right:0 none;float:left}.split-button-toggle{padding:0;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border-left:0 none;float:right}.split-button-toggle i{margin:4px 20px 3px 0;padding:0 10px;border-left:1px solid #fff}.split-button-primary:hover,.split-button-toggle:hover{outline:0;background:#0091cd;border-color:#0073aa}.split-button-primary:focus,.split-button-toggle:focus{outline:0;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)}.split-button-primary:active,.split-button-toggle:active{background:#0073aa;border-color:#005082;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)}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}[type=text],[type=email],[type=url],[type=password],[type=search],textarea{padding:.4em .75em;color:#32373c;border:1px solid #ccc}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=search]:focus,textarea:focus{color:#32373c;outline:0}textarea{padding-left:3px;vertical-align:top}a,a:visited{color:#0073aa}a:active,a:focus,a:hover{color:#00a0d2}ol,ul{margin:0 0 1.5em 3em}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}dd{margin:0 1.5em 1.5em}#post-formats-select br{display:none}.post-format{width:1px;height:1px;position:absolute;top:-9999px}.lt-ie9 .post-format{margin:17px 12px 0 13px;position:static;top:auto;float:left;width:16px;height:16px}.add-category,.post-format-icon,.tagsdiv .ajaxtag,.tagsdiv .newtag{position:relative}.post-format-icon{display:block;padding:13px 2px 14px 13px;cursor:pointer}.post-format-icon:after,.post-format-icon:before{content:"";display:inline-block;width:20px;height:20px;margin-right:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#9ea7af;font-style:normal;text-align:center;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.category.selected:after,.post-format-icon:after,.post-format-icon:before{font-weight:400;vertical-align:top;-webkit-transition:color .1s ease-in 0}.post-format-icon:before{content:"\f109"}.post-format-icon:after{display:none;content:"\f147";float:right}.post-format:checked+.post-format-icon{-webkit-box-shadow:inset 6px 0 0 #00a0d2;box-shadow:inset 6px 0 0 #00a0d2;background:rgba(46,162,204,.1)}.post-format:checked+.post-format-icon:after,.post-format:checked+.post-format-icon:before{color:#32373c}.post-format:focus+.post-format-icon{background:#00a0d2;color:#fff}.post-format:focus+.post-format-icon:after,.post-format:focus+.post-format-icon:before{color:#fff}.post-format:checked+.post-format-icon:after{display:block}.lt-ie9 .post-format-icon{margin-left:16px}.post-format-aside:before{content:"\f123"}.post-format-image:before{content:"\f128"}.post-format-video:before{content:"\f126"}.post-format-audio:before{content:"\f127"}.post-format-quote:before{content:"\f122"}.post-format-link:before{content:"\f103"}.post-format-gallery:before{content:"\f161"}.tagsdiv p{margin:0}.tagsdiv .newtag{display:block;padding:11px 58px 11px 16px;width:100%;border:0;border-bottom:1px solid #e5e5e5;font-size:16px}.tagsdiv .tagadd{position:absolute;top:0;right:0;bottom:1px;border:0;-webkit-border-radius:0;border-radius:0;margin:0;padding:0 16px;background:#f7f7f7;border-left:1px solid #f1f1f1;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .tagadd:active,.tagsdiv .tagadd:focus,.tagsdiv .tagadd:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .howto{color:#727272;font-style:italic;margin:10px 0 6px 16px}.ac_results{padding:0;margin:-1px 0 0 -1px;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid #d8d8d8;background-color:#fff;font-size:14px}.ac_results li{padding:6px 16px;white-space:nowrap;color:#101010;text-align:left}.ac_results .ac_over{background-color:#00a0d2;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}.tagchecklist{padding:16px 28px 5px}.tagchecklist:after,.tagchecklist:before{content:"";display:table}.tagchecklist span{display:block;margin-right:25px;float:left;font-size:13px;line-height:1.8;white-space:nowrap;cursor:default}@media (max-width:600px){.tagchecklist span{margin-bottom:15px;font-size:16px;line-height:1.3}}.tagchecklist .ntdelbutton{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;display:block;float:left;text-indent:0;overflow:hidden;position:absolute;outline:0}.tagchecklist .ntdelbutton:before{content:'\f153';display:block;margin:2px 0;height:20px;width:20px;background:0 0;color:#9ea7af;font:400 16px/1 dashicons;text-align:center;speak:none;-webkit-font-smoothing:antialiased}.category.selected:after,.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{font-family:dashicons;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tagchecklist .ntdelbutton:focus:before{color:#00a0d2}.tagsdiv+p{margin:0}.tagcloud-link{display:block;padding:0 16px;text-decoration:none;outline:0}.tagcloud-link:focus{text-decoration:underline}.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}.popular-tags a{padding:0 3px}.the-tagcloud{margin:0;padding:16px}.the-tagcloud a{text-decoration:none;outline:0}.the-tagcloud a:focus{text-decoration:underline}.tagcloud h3{margin:2px 0 12px}.add-category-name,input[type=search].categories-search{display:block;width:100%;padding:.85714em 1.07143em;border:0;-webkit-border-radius:0;border-radius:0;border-bottom:1px solid #e5e5e5;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width:600px){.add-category-name,input[type=search].categories-search{font-size:16px}}.add-cat-toggle{float:right;margin-top:-45px;line-height:20px;padding:12px 10px 8px}.add-cat-toggle:focus{text-decoration:none;color:#00a0d2}.add-cat-toggle.is-toggled{padding:10px}.add-cat-toggle.is-toggled .dashicons:before{content:"\f179"}.add-category{border-bottom:1px solid #e5e5e5}.add-category.is-hidden{display:none}.add-category .add-cat-submit{position:absolute;top:0;right:0;border:0;-webkit-border-radius:0;border-radius:0;padding:12px 16px;background:#f7f7f7;border-left:1px solid #f1f1f1}.alert,.scan{border-bottom:1px solid #e5e5e5}.add-category .add-cat-submit:active,.add-category .add-cat-submit:focus,.add-category .add-cat-submit:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff}.postform-wrapper{padding:12px}.postform{display:block;margin:0;width:100%;height:34px;-webkit-border-radius:0;border-radius:0;border:1px solid #e5e5e5;background:#fff;-webkit-background-size:20px 20px;background-size:20px 20px;overflow:hidden;line-height:21px;text-decoration:none;vertical-align:top;cursor:pointer;outline:0}.postform:focus{border-color:#0073aa;-webkit-box-shadow:0 0 0 3px #00a0d2;box-shadow:0 0 0 3px #00a0d2;outline:0;-moz-outline:none;-moz-user-focus:ignore}.postform::-ms-expand{display:none}.postform::-ms-value{background:0 0;color:#727272}.postform:-moz-focusring{color:transparent;text-shadow:0 0 0 #727272}.categories-select,.categories-select ul{margin:0;padding:0;list-style:none}.category{position:relative;display:block;padding:13px 16px 14px;cursor:pointer;background:#fff}.category.selected:focus,.category:focus{outline:0;background:#00a0d2;color:#fff}.category.selected{-webkit-box-shadow:inset 6px 0 0 #00a0d2;box-shadow:inset 6px 0 0 #00a0d2;background:#E9F5F9}.category.selected:after{display:inline-block;content:"\f147";position:absolute;top:13px;right:0;width:20px;height:20px;margin-right:10px;font-size:20px;line-height:1;text-decoration:inherit;color:#23282d;text-align:center;transition:color .1s ease-in 0}.category.selected:focus:after{color:#fff}.categories-select ul .category{padding-left:24px}.categories-select ul ul .category{padding-left:32px}.categories-select ul ul ul .category{padding-left:40px}.categories-select ul ul ul ul .category{padding-left:48px}.categories-select ul ul ul ul ul .category{padding-left:56px}.categories-select ul ul ul ul ul ul .category{padding-left:64px}.categories-select .is-hidden{display:none}.categories-select .is-hidden.searched-parent{display:block}.categories-search-wrapper{position:relative}.categories-search-wrapper.is-hidden{display:none}.categories-search-wrapper label{position:absolute;top:50%;right:10px;margin-top:-10px;color:#9ea7af}html{overflow:auto;background:#fff;-webkit-box-shadow:-10px 0 0 rgba(0,0,0,.3);box-shadow:-10px 0 0 rgba(0,0,0,.3)}body{overflow-x:hidden;height:100%}@media (max-width:900px){body{font-size:16px}}.lt-ie9{overflow:visible}.adminbar{position:relative;width:100%;padding:0 .8em;min-height:3.2em;background:#23282d;color:#fff;z-index:9999}.adminbar:after,.adminbar:before{content:"";display:table}.adminbar .dashicons{color:#999}.adminbar button{position:absolute;top:50%;right:6px;margin-top:-13px}@media (max-width:320px){body{font-size:14px}.adminbar{min-height:45px}}.current-site{margin-top:.5625em;font-size:16px;line-height:44px;font-weight:400;overflow:hidden}@media (max-width:600px){.current-site{margin:3px 0 0}}.current-site-link{text-decoration:none}.current-site-link:focus{outline:0}.current-site-link:focus .current-site-name{text-decoration:underline}.current-site-name{color:#ededed}@media (max-width:320px){.current-site{margin:0;font-size:14px}.current-site-name{font-weight:600}}.current-site .dashicons-wordpress{position:relative;top:-1px;margin-right:10px;vertical-align:middle}.options,.options.closed .on-open,.options.open .on-closed{display:none}@media (max-width:900px){.options{display:block}}.options-panel-back.is-hidden{display:none}.options:focus .dashicons{color:#fff;text-decoration:none}.options .dashicons{margin-top:3px}.options{color:#00a0d2}.alert{position:relative;margin:0;padding:16px 50px;font-size:14px}.alert:before{content:'';position:absolute;top:50%;left:30px;width:8px;height:8px;margin-top:-4px;-webkit-border-radius:50%;border-radius:50%;background:#00a0d2}@media (max-width:600px){.alert{padding:16px 35px}.alert:before{left:15px}}.alert.is-error:before{background:red}.scan{position:relative}.scan-url{display:block;border:0;padding:.85714em 1.07143em;font-size:14px;width:100%}.editor-wrapper:after,.editor-wrapper:before,.wrapper:after,.wrapper:before{content:"";display:table}@media (max-width:600px){.scan-url{font-size:16px}}.scan-submit{position:absolute;top:0;right:0;bottom:0;padding:0 1.07143em;background:#f7f7f7;border:0;border-left:1px solid #f1f1f1;-webkit-border-radius:0;border-radius:0;color:#555;font-size:14px;line-height:1.6}.scan-submit:focus,.scan-submit:hover{background:#2991b7;border-color:#20708e;color:#fff;outline:0}.scan-submit:active{background:#2581a2;border-color:#20708e;color:#fff}.scan-submit:visited{color:#555}.wrapper{position:relative;margin-bottom:60px;margin-right:320px}@media (max-width:900px){.scan form{-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.scan.is-hidden form{opacity:.2;pointer-events:none}.wrapper{margin:0;width:100%}}.editor-wrapper{overflow:auto;float:left;width:100%}.editor{padding:0 1.5em 4.75em;max-width:700px;margin:0 auto}.spinner{height:20px;width:20px;display:inline-block;visibility:hidden;background:url(../images/spinner.gif) center no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);line-height:1;vertical-align:middle}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}.spinner.is-active{visibility:visible}@media (min-width:901px){.editor{max-width:760px}}@media (max-width:320px){.editor{padding:0}}.post-title,.post-title-placeholder{margin:0;padding:.83em 0;width:100%;border-bottom:1px solid #e5e5e5;font-size:32px;line-height:1.4;font-weight:700}.post-title-placeholder:active,.post-title-placeholder:focus,.post-title:active,.post-title:focus{outline:0;-webkit-box-shadow:inset 0 -3px 0 #00a0d2;box-shadow:inset 0 -3px 0 #00a0d2;border-color:#00a0d2}@media (max-width:900px){.post-title,.post-title-placeholder{font-size:24px}}@media (max-height:400px){.post-title,.post-title-placeholder{padding:15px 0;font-size:16px}}@media (max-width:320px){.post-title,.post-title-placeholder{font-size:16px;font-weight:600;padding:1.14286em 1.42857em}}.post-title{background:url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);background:0 0,none}.post-title:before{content:'\a0';display:inline-block;width:0;speak:none}.post-title-placeholder{position:absolute;border:0;color:#9ea7af;z-index:-1}.is-embed.is-audio:active:before,.is-embed.is-audio:focus:before,.is-embed.is-audio:hover:before,.is-embed.is-tweet:active:before,.is-embed.is-tweet:focus:before,.is-embed.is-tweet:hover:before,.is-embed:before,.suggested-media-thumbnail:active,.suggested-media-thumbnail:focus,.suggested-media-thumbnail:hover{color:#fff}.post-title-placeholder.is-hidden{display:none}.media-list-container{position:relative;padding:2px 0;border-bottom:1px solid #e5e5e5;display:none}.media-list-inner-container{overflow:auto;max-height:150px;max-height:40vw}.media-list-container.has-media{display:block}.media-list-inner-container:after,.media-list-inner-container:before{content:"";display:table}.media-list{margin:0;padding:0}@media (min-width:321px){.media-list-inner-container{max-height:250px;max-height:40vw}}.wppt-all-media-list{list-style:none;margin:0;padding:0}.is-embed:focus,.suggested-media-thumbnail:focus{outline:0;-webkit-box-shadow:inset 0 0 0 3px #00a0d2;box-shadow:inset 0 0 0 3px #00a0d2}.suggested-media-thumbnail{position:relative;display:block;float:left;width:16.66%;padding:16.66% 0 0 16.66%;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;background-color:#d8d8d8;color:#fff;color:rgba(255,255,255,.6);cursor:pointer}.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{display:inline-block;position:absolute;font-size:20px;line-height:1;text-decoration:inherit;font-weight:400;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0}.suggested-media-thumbnail:before{left:50%;top:50%;margin:-20px 0 0 -20px;font-size:40px}.suggested-media-thumbnail:after{content:"\f132";right:3%;bottom:2%}@media (min-width:601px){.media-list-inner-container{max-height:200px;max-height:18.75vw}.suggested-media-thumbnail{width:12.5%;padding:12.5% 0 0 12.5%}}.is-embed:before{content:"\f104";color:rgba(255,255,255,.9)}.is-embed.is-video{background-color:#23282d}.is-embed.is-video:active:before,.is-embed.is-video:focus:before,.is-embed.is-video:hover:before{color:rgba(255,255,255,.2)}.is-embed.is-video:before{content:"\f236"}.is-embed.is-audio{background-color:#ff7d44}.is-embed.is-audio:before{content:"\f127"}.is-embed.is-tweet{background-color:#55acee}.is-embed.is-tweet:before{content:"\f301"}.no-media{margin:0;padding:0;border:0}.press-this-actions{position:fixed;bottom:0;left:0;width:100%;background:#f1f1f1;background:rgba(241,241,241,.9);border-top:1px solid #e5e5e5}.add-media{float:left;margin:14px 0 14px 30px;font-size:0}@media (max-width:320px){.add-media{margin:10px 0 10px 10px}}.insert-media{color:#9ea7af;float:left;margin:0;padding:0;border:0;border-right:1px solid #e5e5e5;-webkit-border-radius:0;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.insert-media:active,.insert-media:focus,.insert-media:hover{margin:0;background:0 0;border-color:#e5e5e5;color:#23282d}.insert-media:active,.insert-media:focus{outline:0;color:#00a0d2;text-decoration:none}.insert-media .dashicons{padding:11px;width:63px;height:58px;font-size:40px}@media (max-width:320px){.insert-media .dashicons{width:55px;height:49px;padding:14px;font-size:20px}}#wp-link-wrap,.post-actions{font-size:13px}.post-actions{float:right;margin:14px 30px 14px 0}@media (max-width:320px){.post-actions{margin:10px 10px 10px 0}}.edit-post-link{font-size:13px;display:inline-block;text-decoration:none;padding:0 10px}.publish-button .saving-draft,.publish-button.is-saving .publish{display:none}.publish-button.is-saving .saving-draft{display:inline}.editor .wp-media-buttons{float:none}.editor div.mce-toolbar-grp{padding:.71429em 0;background:0 0;border:0}@media (max-height:400px),(max-width:320px){.editor div.mce-toolbar-grp{padding:0}}.mce-stack-layout:after,.mce-stack-layout:before{content:"";display:table}.mce-container.mce-toolbar{float:left}.mce-container.mce-toolbar:nth-child(2){float:right}@media (max-width:600px){.mce-first .mce-btn:nth-child(3),.mce-first .mce-btn:nth-child(4){position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.mce-first .mce-btn:nth-child(3):focus,.mce-first .mce-btn:nth-child(4):focus{position:static;margin:1px;padding:inherit;height:auto;width:auto;overflow:visible;clip:auto;border:1px solid #999}}#wp-link-wrap input[type=text]{padding:3px 5px;margin:1px}@media screen and (max-width:782px){#wp-link-wrap{font-size:14px}#wp-link-wrap input[type=text]{padding:6px 10px}}#wp-link-wrap .howto{color:#666;font-style:italic}.options-panel{position:relative;float:right;margin-right:-320px;width:320px;border-left:1px solid #e5e5e5;font-size:14px;-webkit-box-shadow:5001px 5000px 0 5000px #fff,5000px 5000px 0 5000px #e5e5e5;box-shadow:5001px 5000px 0 5000px #fff,5000px 5000px 0 5000px #e5e5e5;outline:0}.options-panel-back{position:absolute;top:0;right:0;bottom:0;width:320px;outline:0}@media (max-width:900px){.press-this-actions{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.press-this-actions.is-hidden{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.options-panel{background:#fff;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.options-panel.is-hidden{visibility:hidden}.options-panel.is-off-screen{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}@media (max-width:320px){.options-panel{margin-right:-100%;width:100%;border:0;-webkit-box-shadow:5001px 5000px 0 5000px #fff;box-shadow:5001px 5000px 0 5000px #fff}.options-panel-back{width:100%}}.post-options{background:#fff;position:absolute;right:0;width:100%;overflow-x:hidden}.post-options .post-option-contents{margin-left:3px;color:#32373c}.post-option-forward:before{position:absolute;top:50%;right:8px;margin-top:-10px;content:"\f345"}.post-option,.setting-modal,.setting-title{position:relative}.post-option-back:before{content:"\f341"}.lt-ie9 .options-panel,.lt-ie9 .post-options{border-left:1px solid #e5e5e5}.lt-ie9 .post-options.is-off-screen{border:0}.modal-close,.post-options .post-option{border-bottom:1px solid #e5e5e5;text-decoration:none;text-align:left}.post-options .post-option{display:block;padding:13px 37px 13px 14px;color:#9ea7af;transition:transform .3s ease-in-out}.post-options .post-option,.setting-modal{width:100%;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out}.post-options .post-option:focus{outline:0;-webkit-box-shadow:inset 5px 0 0 #00a0d2;box-shadow:inset 5px 0 0 #00a0d2}.is-off-screen>.post-option{right:100%}.is-hidden>.post-option{visibility:hidden}.post-option-title{display:inline-block;margin:0 0 0 8px;font-size:14px;font-weight:400}.setting-modal{top:0;left:0;transition:transform .3s ease-in-out}.setting-modal.is-hidden{visibility:hidden;height:0}.setting-modal.is-off-screen{left:100%}@media (min-width:1px){.is-off-screen>.post-option{right:auto;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.setting-modal.is-off-screen{left:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}}.modal-close{display:block;width:100%;padding:13px 14px;color:#00a0d2}.modal-close:focus{outline:0;-webkit-box-shadow:inset 5px 0 0 #00a0d2;box-shadow:inset 5px 0 0 #00a0d2}.setting-title{top:-1px;margin-left:11px}#pressthis{color:#404040;resize:none;padding-top:30px;font-size:16px}.wp-editor-wrap .quicktags-toolbar{background:0 0;border:none}.wp-editor-wrap .wp-editor-tools{z-index:0}.wp-editor-wrap .wp-editor-tabs{padding:2px}.wp-editor-wrap .wp-switch-editor{top:0;margin:3px 0 0 5px;padding:3px 8px;background:#f5f5f5;color:#555;border-color:#ccc}.wp-editor-wrap .wp-switch-editor:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-editor-wrap.html-active .switch-html,.wp-editor-wrap.tmce-active .switch-tmce{background:#fff;border-color:#d8d8d8}
\ No newline at end of file
diff --git a/wp-admin/css/site-icon-rtl.css b/wp-admin/css/site-icon-rtl.css
new file mode 100644 (file)
index 0000000..e76bd42
--- /dev/null
@@ -0,0 +1,37 @@
+/*------------------------------------------------------------------------------
+  28.0 - Site Icon
+------------------------------------------------------------------------------*/
+
+.site-icon-preview .favicon-preview {
+       margin: 5px 0 20px;
+       overflow: hidden;
+       position: relative;
+       max-width: 180px;
+}
+
+.site-icon-preview .favicon,
+.site-icon-preview .browser-title {
+       height: 16px;
+       right: 88px;
+       overflow: hidden;
+       position: absolute;
+       top: 16px;
+}
+
+.site-icon-preview .favicon {
+       width: 16px;
+}
+
+.site-icon-preview .browser-title {
+       right: 109px;
+}
+
+.site-icon-preview .app-icon-preview {
+       background-color: #000;
+       -webkit-border-radius: 16px;
+       border-radius: 16px;
+       height: 64px;
+       overflow: hidden;
+       width: 64px;
+       margin-top: 5px;
+}
diff --git a/wp-admin/css/site-icon.css b/wp-admin/css/site-icon.css
new file mode 100644 (file)
index 0000000..a612e0e
--- /dev/null
@@ -0,0 +1,37 @@
+/*------------------------------------------------------------------------------
+  28.0 - Site Icon
+------------------------------------------------------------------------------*/
+
+.site-icon-preview .favicon-preview {
+       margin: 5px 0 20px;
+       overflow: hidden;
+       position: relative;
+       max-width: 180px;
+}
+
+.site-icon-preview .favicon,
+.site-icon-preview .browser-title {
+       height: 16px;
+       left: 88px;
+       overflow: hidden;
+       position: absolute;
+       top: 16px;
+}
+
+.site-icon-preview .favicon {
+       width: 16px;
+}
+
+.site-icon-preview .browser-title {
+       left: 109px;
+}
+
+.site-icon-preview .app-icon-preview {
+       background-color: #000;
+       -webkit-border-radius: 16px;
+       border-radius: 16px;
+       height: 64px;
+       overflow: hidden;
+       width: 64px;
+       margin-top: 5px;
+}
index 1ca417407ceaa41d1ee6a5cdbff9273b9de9ce86..ba7003c518fac0e418a2fc430ad389c427d531ee 100644 (file)
        padding: 0 0 100px;
 }
 
-.themes-php .wrap h2 {
+.themes-php .wrap h1 {
        float: right;
        margin-bottom: 15px;
 }
 
-.network-admin.themes-php .wrap h2 {
+.network-admin.themes-php .wrap h1 {
        margin-bottom: 0;
 }
 
-.themes-php .wrap h2 .button {
+.themes-php .wrap h1 .button {
        margin-right: 20px;
 }
 
        bottom: 0;
        background: #f1f1f1;
        background: rgba( 238, 238, 238, 0.9 );
-       z-index: 10;
+       z-index: 10000; /* Over WP Pointers. */
 }
 
 .theme-overlay .theme-header {
        content: "\f341";
 }
 
-
-
 .theme-overlay .theme-wrap {
        clear: both;
        position: fixed;
        background: #fff;
        -webkit-box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
        box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
-       z-index: 20;
+       z-index: 10000; /* Over WP Pointers. */
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
@@ -838,6 +836,7 @@ body.folded .theme-overlay .theme-wrap {
        left: auto;
        top: auto;
        bottom: auto;
+       z-index: 10;
 }
 
 .single-theme .theme-overlay .theme-about {
@@ -1022,10 +1021,6 @@ body.folded .theme-overlay .theme-wrap {
                font-size: 13px;
        }
 
-       .themes-php .wrap h2 {
-               width: 100%;
-       }
-
        .themes-php .wp-filter-search {
                float: none;
                clear: both;
@@ -1090,6 +1085,10 @@ body.folded .theme-overlay .theme-wrap {
        display: none !important;
 }
 
+.theme-install-php .wp-filter {
+       padding: 0 20px;
+}
+
 .theme-install-php a.upload,
 .theme-install-php a.browse-themes {
        cursor: pointer;
@@ -1173,62 +1172,54 @@ body.show-upload-theme p.no-themes {
        }
 }
 
-.rating {
+.theme-details .star-rating {
        margin: 15px 0 0;
 }
-.rating span:before {
-       color: #e6b800;
+
+.theme-details .star-rating span:before {
+       color: #ffb900;
        content: "\f154";
        display: inline-block;
        -webkit-font-smoothing: antialiased;
        font: normal 20px/1 'dashicons';
        vertical-align: top;
 }
+
 /* Half stars */
-.rating-10 span.one:before,
-.rating-30 span.two:before,
-.rating-50 span.three:before,
-.rating-70 span.four:before,
-.rating-90 span.five:before {
+.star-rating.rating-10 span.one:before,
+.star-rating.rating-30 span.two:before,
+.star-rating.rating-50 span.three:before,
+.star-rating.rating-70 span.four:before,
+.star-rating.rating-90 span.five:before {
        content: "\f459";
 }
+
 /* Full stars */
-.rating-20 span.one:before {
-       content: "\f155";
-}
-.rating-30 span.one:before,
-.rating-40 span.one:before,
-.rating-40 span.two:before {
-       content: "\f155";
-}
-.rating-50 span.one:before,
-.rating-50 span.two:before,
-.rating-60 span.one:before,
-.rating-60 span.two:before,
-.rating-60 span.three:before {
-       content: "\f155";
-}
-.rating-70 span.one:before,
-.rating-70 span.two:before,
-.rating-70 span.three:before,
-.rating-80 span.one:before,
-.rating-80 span.two:before,
-.rating-80 span.three:before,
-.rating-80 span.four:before {
+.star-rating.rating-20 span.one:before,
+.star-rating.rating-30 span.one:before,
+.star-rating.rating-40 span.one:before,
+.star-rating.rating-40 span.two:before,
+.star-rating.rating-50 span.one:before,
+.star-rating.rating-50 span.two:before,
+.star-rating.rating-60 span.one:before,
+.star-rating.rating-60 span.two:before,
+.star-rating.rating-60 span.three:before,
+.star-rating.rating-70 span.one:before,
+.star-rating.rating-70 span.two:before,
+.star-rating.rating-70 span.three:before,
+.star-rating.rating-80 span.one:before,
+.star-rating.rating-80 span.two:before,
+.star-rating.rating-80 span.three:before,
+.star-rating.rating-80 span.four:before,
+.star-rating.rating-90 span.one:before,
+.star-rating.rating-90 span.two:before,
+.star-rating.rating-90 span.three:before,
+.star-rating.rating-90 span.four:before,
+.star-rating.rating-100 > span:before {
        content: "\f155";
 }
-.rating-90 span.one:before,
-.rating-90 span.two:before,
-.rating-90 span.three:before,
-.rating-90 span.four:before,
-.rating-100 span.one:before,
-.rating-100 span.two:before,
-.rating-100 span.three:before,
-.rating-100 span.four:before,
-.rating-100 span.five:before {
-       content: "\f155";
-}
-.rating .ratings {
+
+.theme-details .star-rating .ratings {
        display: block;
        line-height: 20px;
        color: #999;
@@ -1477,65 +1468,78 @@ body.full-overlay-active {
 }
 
 /* Collapse Button */
-.wp-full-overlay a.collapse-sidebar {
-       position: absolute;
-       bottom: 12px;
-       right: 0;
-       z-index: 50;
-       display: block;
-       width: 19px;
-       height: 19px;
-       margin-right: 15px;
+.wp-core-ui .wp-full-overlay .collapse-sidebar {
+       position: fixed;
+       bottom: 8px;
+       right: 10px;
        padding: 0;
+       color: #656a6f;
+       outline: 0;
+       line-height: 1;
+       background-color: transparent !important;
+       border: none !important;
+       -webkit-box-shadow: none !important;
+       box-shadow: none !important;
+       -webkit-border-radius: 0 !important;
+       border-radius: 0 !important;
+}
+
+.wp-core-ui .wp-full-overlay .collapse-sidebar:hover,
+.wp-core-ui .wp-full-overlay .collapse-sidebar:focus {
+       color: #0073aa;
+}
+
+.wp-full-overlay .collapse-sidebar-arrow,
+.wp-full-overlay .collapse-sidebar-label {
+       display: inline-block;
+       vertical-align: middle;
+       line-height: 20px;
+}
+
+.wp-full-overlay .collapse-sidebar-arrow {
+       width: 20px;
+       height: 20px;
+       margin: 0 2px; /* avoid the focus box-shadow to be cut-off */
        -webkit-border-radius: 50%;
        border-radius: 50%;
-       color: #777;
-       text-decoration: none;
+       overflow: hidden;
 }
 
-.wp-full-overlay a.collapse-sidebar:hover {
-       color: #0073aa;
+.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-arrow,
+.wp-full-overlay .collapse-sidebar:focus .collapse-sidebar-arrow {
+    -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);
 }
 
-.wp-full-overlay.collapsed .collapse-sidebar {
-       position: absolute;
-       right: 100%;
+.wp-full-overlay .collapse-sidebar-label {
+       margin-right: 3px;
 }
 
-.wp-full-overlay .collapse-sidebar-arrow {
-       position: static;
-       margin-top: 0;
-       margin-right: 0;
-       display: block;
-       width: auto;
-       height: auto;
-       background: none;
+.wp-full-overlay.collapsed .collapse-sidebar-label {
+       display: none;
 }
 
 .wp-full-overlay .collapse-sidebar-arrow:before {
-       -webkit-border-radius: 50%;
-       border-radius: 50%;
-       float: right;
+       display: block;
        content: "\f148";
        background: #eee;
        font: normal 20px/1 'dashicons';
        speak: none;
-       display: block;
        padding: 0;
-       text-indent: 0;
-       text-align: center;
-       position: relative;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
-       text-decoration: none !important;
 }
 
 /* rtl:ignore */
 .wp-full-overlay.collapsed .collapse-sidebar-arrow:before,
 .rtl .wp-full-overlay .collapse-sidebar-arrow:before {
-       -webkit-transform: rotate(180deg);
-       -ms-transform: rotate(180deg);
-       transform: rotate(180deg);
+       -webkit-transform: rotate(180.001deg);
+       -ms-transform: rotate(180.001deg);
+       transform: rotate(180.001deg); /* Firefox: promoting to its own layer to trigger anti-aliasing  */
 }
 
 .rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before {
@@ -1544,21 +1548,6 @@ body.full-overlay-active {
        transform: none;
 }
 
-.wp-full-overlay.collapsed .collapse-sidebar-arrow {
-       background-position: -1px -109px;
-}
-
-.wp-full-overlay .collapse-sidebar-label {
-       position: absolute;
-       right: 100%;
-       line-height: 20px;
-       margin-right: 10px;
-}
-
-.wp-full-overlay.collapsed .collapse-sidebar-label {
-       display: none;
-}
-
 /* Animations */
 .wp-full-overlay,
 .wp-full-overlay-sidebar,
@@ -1619,10 +1608,6 @@ body.full-overlay-active {
        transition: opacity 0.3s;
 }
 
-#customize-container .collapse-sidebar {
-       bottom: 16px;
-}
-
 #customize-controls {
        margin-top: 0;
 }
@@ -1675,11 +1660,6 @@ body.full-overlay-active {
        float: right;
 }
 
-.theme-details .star-rating {
-       margin: 7px 0;
-       float: left;
-}
-
 .theme-details .theme-description {
        float: right;
        color: #777;
index 18148849fc5b48c948c3117dae9aa385967852ca..3121a1e4084cf94326159184bb2f96c2f93804ea 100644 (file)
        padding: 0 0 100px;
 }
 
-.themes-php .wrap h2 {
+.themes-php .wrap h1 {
        float: left;
        margin-bottom: 15px;
 }
 
-.network-admin.themes-php .wrap h2 {
+.network-admin.themes-php .wrap h1 {
        margin-bottom: 0;
 }
 
-.themes-php .wrap h2 .button {
+.themes-php .wrap h1 .button {
        margin-left: 20px;
 }
 
        bottom: 0;
        background: #f1f1f1;
        background: rgba( 238, 238, 238, 0.9 );
-       z-index: 10;
+       z-index: 10000; /* Over WP Pointers. */
 }
 
 .theme-overlay .theme-header {
        content: "\f345";
 }
 
-
-
 .theme-overlay .theme-wrap {
        clear: both;
        position: fixed;
        background: #fff;
        -webkit-box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
        box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
-       z-index: 20;
+       z-index: 10000; /* Over WP Pointers. */
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
@@ -838,6 +836,7 @@ body.folded .theme-overlay .theme-wrap {
        right: auto;
        top: auto;
        bottom: auto;
+       z-index: 10;
 }
 
 .single-theme .theme-overlay .theme-about {
@@ -1022,10 +1021,6 @@ body.folded .theme-overlay .theme-wrap {
                font-size: 13px;
        }
 
-       .themes-php .wrap h2 {
-               width: 100%;
-       }
-
        .themes-php .wp-filter-search {
                float: none;
                clear: both;
@@ -1090,6 +1085,10 @@ body.folded .theme-overlay .theme-wrap {
        display: none !important;
 }
 
+.theme-install-php .wp-filter {
+       padding: 0 20px;
+}
+
 .theme-install-php a.upload,
 .theme-install-php a.browse-themes {
        cursor: pointer;
@@ -1173,62 +1172,54 @@ body.show-upload-theme p.no-themes {
        }
 }
 
-.rating {
+.theme-details .star-rating {
        margin: 15px 0 0;
 }
-.rating span:before {
-       color: #e6b800;
+
+.theme-details .star-rating span:before {
+       color: #ffb900;
        content: "\f154";
        display: inline-block;
        -webkit-font-smoothing: antialiased;
        font: normal 20px/1 'dashicons';
        vertical-align: top;
 }
+
 /* Half stars */
-.rating-10 span.one:before,
-.rating-30 span.two:before,
-.rating-50 span.three:before,
-.rating-70 span.four:before,
-.rating-90 span.five:before {
+.star-rating.rating-10 span.one:before,
+.star-rating.rating-30 span.two:before,
+.star-rating.rating-50 span.three:before,
+.star-rating.rating-70 span.four:before,
+.star-rating.rating-90 span.five:before {
        content: "\f459";
 }
+
 /* Full stars */
-.rating-20 span.one:before {
-       content: "\f155";
-}
-.rating-30 span.one:before,
-.rating-40 span.one:before,
-.rating-40 span.two:before {
-       content: "\f155";
-}
-.rating-50 span.one:before,
-.rating-50 span.two:before,
-.rating-60 span.one:before,
-.rating-60 span.two:before,
-.rating-60 span.three:before {
-       content: "\f155";
-}
-.rating-70 span.one:before,
-.rating-70 span.two:before,
-.rating-70 span.three:before,
-.rating-80 span.one:before,
-.rating-80 span.two:before,
-.rating-80 span.three:before,
-.rating-80 span.four:before {
+.star-rating.rating-20 span.one:before,
+.star-rating.rating-30 span.one:before,
+.star-rating.rating-40 span.one:before,
+.star-rating.rating-40 span.two:before,
+.star-rating.rating-50 span.one:before,
+.star-rating.rating-50 span.two:before,
+.star-rating.rating-60 span.one:before,
+.star-rating.rating-60 span.two:before,
+.star-rating.rating-60 span.three:before,
+.star-rating.rating-70 span.one:before,
+.star-rating.rating-70 span.two:before,
+.star-rating.rating-70 span.three:before,
+.star-rating.rating-80 span.one:before,
+.star-rating.rating-80 span.two:before,
+.star-rating.rating-80 span.three:before,
+.star-rating.rating-80 span.four:before,
+.star-rating.rating-90 span.one:before,
+.star-rating.rating-90 span.two:before,
+.star-rating.rating-90 span.three:before,
+.star-rating.rating-90 span.four:before,
+.star-rating.rating-100 > span:before {
        content: "\f155";
 }
-.rating-90 span.one:before,
-.rating-90 span.two:before,
-.rating-90 span.three:before,
-.rating-90 span.four:before,
-.rating-100 span.one:before,
-.rating-100 span.two:before,
-.rating-100 span.three:before,
-.rating-100 span.four:before,
-.rating-100 span.five:before {
-       content: "\f155";
-}
-.rating .ratings {
+
+.theme-details .star-rating .ratings {
        display: block;
        line-height: 20px;
        color: #999;
@@ -1477,65 +1468,78 @@ body.full-overlay-active {
 }
 
 /* Collapse Button */
-.wp-full-overlay a.collapse-sidebar {
-       position: absolute;
-       bottom: 12px;
-       left: 0;
-       z-index: 50;
-       display: block;
-       width: 19px;
-       height: 19px;
-       margin-left: 15px;
+.wp-core-ui .wp-full-overlay .collapse-sidebar {
+       position: fixed;
+       bottom: 8px;
+       left: 10px;
        padding: 0;
+       color: #656a6f;
+       outline: 0;
+       line-height: 1;
+       background-color: transparent !important;
+       border: none !important;
+       -webkit-box-shadow: none !important;
+       box-shadow: none !important;
+       -webkit-border-radius: 0 !important;
+       border-radius: 0 !important;
+}
+
+.wp-core-ui .wp-full-overlay .collapse-sidebar:hover,
+.wp-core-ui .wp-full-overlay .collapse-sidebar:focus {
+       color: #0073aa;
+}
+
+.wp-full-overlay .collapse-sidebar-arrow,
+.wp-full-overlay .collapse-sidebar-label {
+       display: inline-block;
+       vertical-align: middle;
+       line-height: 20px;
+}
+
+.wp-full-overlay .collapse-sidebar-arrow {
+       width: 20px;
+       height: 20px;
+       margin: 0 2px; /* avoid the focus box-shadow to be cut-off */
        -webkit-border-radius: 50%;
        border-radius: 50%;
-       color: #777;
-       text-decoration: none;
+       overflow: hidden;
 }
 
-.wp-full-overlay a.collapse-sidebar:hover {
-       color: #0073aa;
+.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-arrow,
+.wp-full-overlay .collapse-sidebar:focus .collapse-sidebar-arrow {
+    -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);
 }
 
-.wp-full-overlay.collapsed .collapse-sidebar {
-       position: absolute;
-       left: 100%;
+.wp-full-overlay .collapse-sidebar-label {
+       margin-left: 3px;
 }
 
-.wp-full-overlay .collapse-sidebar-arrow {
-       position: static;
-       margin-top: 0;
-       margin-left: 0;
-       display: block;
-       width: auto;
-       height: auto;
-       background: none;
+.wp-full-overlay.collapsed .collapse-sidebar-label {
+       display: none;
 }
 
 .wp-full-overlay .collapse-sidebar-arrow:before {
-       -webkit-border-radius: 50%;
-       border-radius: 50%;
-       float: left;
+       display: block;
        content: "\f148";
        background: #eee;
        font: normal 20px/1 'dashicons';
        speak: none;
-       display: block;
        padding: 0;
-       text-indent: 0;
-       text-align: center;
-       position: relative;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
-       text-decoration: none !important;
 }
 
 /* rtl:ignore */
 .wp-full-overlay.collapsed .collapse-sidebar-arrow:before,
 .rtl .wp-full-overlay .collapse-sidebar-arrow:before {
-       -webkit-transform: rotate(180deg);
-       -ms-transform: rotate(180deg);
-       transform: rotate(180deg);
+       -webkit-transform: rotate(180.001deg);
+       -ms-transform: rotate(180.001deg);
+       transform: rotate(180.001deg); /* Firefox: promoting to its own layer to trigger anti-aliasing  */
 }
 
 .rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before {
@@ -1544,21 +1548,6 @@ body.full-overlay-active {
        transform: none;
 }
 
-.wp-full-overlay.collapsed .collapse-sidebar-arrow {
-       background-position: -1px -109px;
-}
-
-.wp-full-overlay .collapse-sidebar-label {
-       position: absolute;
-       left: 100%;
-       line-height: 20px;
-       margin-left: 10px;
-}
-
-.wp-full-overlay.collapsed .collapse-sidebar-label {
-       display: none;
-}
-
 /* Animations */
 .wp-full-overlay,
 .wp-full-overlay-sidebar,
@@ -1619,10 +1608,6 @@ body.full-overlay-active {
        transition: opacity 0.3s;
 }
 
-#customize-container .collapse-sidebar {
-       bottom: 16px;
-}
-
 #customize-controls {
        margin-top: 0;
 }
@@ -1675,11 +1660,6 @@ body.full-overlay-active {
        float: left;
 }
 
-.theme-details .star-rating {
-       margin: 7px 0;
-       float: right;
-}
-
 .theme-details .theme-description {
        float: left;
        color: #777;
index 962cd0f01461211cb619e5cd59bc50e339b427ce..5e7c37d6d6a3245fac5239443e1bcafbbac03b6f 100644 (file)
@@ -10,4 +10,5 @@
 @import url(about-rtl.css);
 @import url(nav-menus-rtl.css);
 @import url(widgets-rtl.css);
+@import url(site-icon-rtl.css);
 @import url(l10n-rtl.css);
index 784efb62771172298c4ca19cd3ecf1565db5fc55..3ed8f6d4775bdc079472fa2650a5ebde00128915 100644 (file)
@@ -1,8 +1,8 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-right:20px}#wpcontent,#wpfooter{margin-right:160px}.folded #wpcontent,.folded #wpfooter{margin-right:36px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:left;clear:left;width:65%}.col-wrap{padding:0 7px}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;-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)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#23282d;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#23282d;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:right;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:right;line-height:1.3em;font-size:14px}.widefat th input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 3px 0 0}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}.attention{color:#00a0d2}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 0 4px 15px;line-height:29px}.subtitle{color:#777;font-size:14px;padding-right:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-right:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#00a0d2;color:#fff}.wrap h2.long-header{padding-left:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alternate,.striped>tbody>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-left-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:none!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.notice-dismiss:before,.tagchecklist span a:before{background:0 0;color:#b4b9be;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:right;float:right}#publishing-action{text-align:left;float:left;line-height:23px}#publishing-action .spinner{float:right}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}#save-post{float:right}.preview{float:left}#sticky-span{margin-right:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-right:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-items{float:right}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:left;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 0 0 5px;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#00a0d2}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:right;margin:0 0 0 1%;padding:10px;width:24%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-left:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-right:10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.wp-core-ui .notice.is-dismissible{padding-left:38px;position:relative}.notice-dismiss{position:absolute;top:0;left:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer}.notice-dismiss:before{position:relative;top:0;right:0;line-height:20px}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss: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);color:#c00}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#00a0d2}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-right:2em}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-right:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 0 0 20px}#screen-meta-links a{padding:3px 16px 3px 6px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 0 -1px 20px;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#32373c}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{left:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 5px;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#b4b9be}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-left:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-left:6px}.metabox-prefs label input{margin:0 2px 0 5px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options{padding-top:10px}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-left:15px}.metabox-prefs .screen-options label{line-height:28px;padding-left:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;border-left-width:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 2px 0 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 12px 5px 5px;line-height:18px;text-decoration:none;border:1px solid transparent;border-left:none;border-right:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #00a0d2;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 0 12px 22px;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-right:18px}.contextual-help-sidebar{width:150px;float:left;padding:0 12px 0 8px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widefat td,.widefat th{color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#32373c}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:right}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:left;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 0 -1px 4px}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-right:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display:inline-block;visibility:hidden;float:left;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.spinner.is-active{visibility:visible}#template div{margin-left:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:right}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px;width:auto;height:auto}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-left:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:right}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;left:0;bottom:0;right:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;left:0;right:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-left:0;height:250px;bottom:250px;-webkit-background-size:cover;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 10px 0 0;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:left;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;left:0;right:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:right;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;left:0;right:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;left:250px;bottom:0;right:0;margin-left:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:left;position:relative;top:0;left:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-right:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:right;margin-left:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:right}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:right}#plugin-information .counter-count{margin-right:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-left:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-left:4px}#plugin-information-footer{padding:15px 16px;position:absolute;left:0;bottom:0;right:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) center no-repeat #fcfcfc}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner-2x.gif) center/20px 20px no-repeat #fcfcfc;-webkit-background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:right;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:auto;left:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#00a0d2;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-left:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:left;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 3px;text-decoration:none}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{left:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#a0a5aa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 11px}.widget-top a.widget-action:focus:after{-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)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
+#ajax-loading,#screen-meta .screen-reader-text,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading,.row-actions,.spinner{visibility:hidden}.color-palette,.form-table,.media-item .describe{border-collapse:collapse}#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-right:20px}#wpcontent,#wpfooter{margin-right:160px}.folded #wpcontent,.folded #wpfooter{margin-right:36px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:left;clear:left;width:65%}.alignleft,.subsubsub{float:right}.col-wrap{padding:0 7px}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;word-wrap:normal!important}#adminmenu .wp-submenu,#dashboard_quick_press .draft-title,#templateside,#the-comment-list td.comment,.dashboard-comment-wrap,.pre,.widefat *{word-wrap:break-word}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}body,p{font-size:13px}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#00a0d2}a:focus,a:focus .media-icon img{color:#124964;-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)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}.wrap>h1,h2{color:#23282d;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#23282d;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc}.side-info ul,ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead td,.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot td,.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat tfoot td,.widefat th,.widefat thead td{text-align:right;line-height:1.3em;font-size:14px}.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-top:-1px}.widefat tbody th.check-column,.widefat tfoot td.check-column,.widefat thead td.check-column{padding:11px 3px 0 0}.widefat tfoot td.check-column,.widefat thead td.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}.subtitle,.wrap h1,.wrap h2{font-weight:400;margin:0}.wrap h1,.wrap h2{font-size:23px;font-weight:400;padding:9px 0 4px 15px;line-height:29px}.subtitle{color:#777;font-size:14px;padding-right:25px}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{margin-right:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover,.wrap .page-title-action:hover{background:#00a0d2;color:#fff}.wrap h1.long-header{padding-left:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alternate,.striped>tbody>:nth-child(odd),ul.striped>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-left-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot td,.widefat tfoot th,.widefat thead td,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee;user-select:none}.accordion-section-title,.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,.notice-dismiss:before,.tagchecklist span a:before,.welcome-panel .welcome-panel-close:before{background:0 0;color:#b4b9be;content:'\f153';display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:1px 0}#bulk-titles div a:hover:before,.tagchecklist span a:hover:before,.welcome-panel .welcome-panel-close:focus:before,.welcome-panel .welcome-panel-close:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap}#namediv td.first,#plugin-information-title,.no-break,.star-rating,.ui-autocomplete li{white-space:nowrap}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:right;float:right}#publishing-action{text-align:left;float:left;line-height:23px}#publishing-action .spinner,#save-post{float:right}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}.preview{float:left}#sticky-span{margin-right:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-right:18px;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 10px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-items{float:right}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:left;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 0 0 5px;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#00a0d2}.show-filters .wp-filter .drawer-toggle:before,.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.filter-group{box-sizing:border-box;float:right;margin:0 0 0 1%;padding:10px;width:24%;box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group,.filtered-by .tag{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group,html.wp-toolbar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-left:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.spinner,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-filter .button.clear-filters{display:none;margin-right:10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.notice-dismiss:focus,.widget-top a.widget-action:focus:after{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.wp-core-ui .notice.is-dismissible{padding-left:38px;position:relative}.notice-dismiss{position:absolute;top:0;left:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#00a0d2}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-response.alignleft{margin-right:2em}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-right:0!important}#screen-meta-links{margin:0 0 0 20px}#screen-meta{display:none;margin:0 0 -1px 20px;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links .show-settings{border:0;background:0 0;-webkit-border-radius:0;border-radius:0;color:#777;line-height:1.7;padding:3px 16px 3px 6px}#screen-meta-links .show-settings:active,#screen-meta-links .show-settings:focus,#screen-meta-links .show-settings:hover{color:#32373c}#screen-meta-links .show-settings:after{left:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 5px;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#b4b9be}.hndle a,.widefat tfoot td,.widefat th,.widefat thead td{font-weight:400}#screen-meta-links .screen-meta-active:after{content:'\f142'}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-left:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-left:6px}.metabox-prefs label input{margin:0 2px 0 5px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options{padding-top:10px}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-left:15px}.metabox-prefs .screen-options label{line-height:28px;padding-left:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;border-left-width:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 2px 0 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 12px 5px 5px;line-height:18px;text-decoration:none;border:1px solid transparent;border-left:none;border-right:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #00a0d2;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 0 12px 22px;line-height:1.6em}.help-tab-content.active{display:block}.nav-tab,.spinner{display:inline-block}.help-tab-content ul li{list-style-type:disc;margin-right:18px}.contextual-help-sidebar{width:150px;float:left;padding:0 12px 0 8px;overflow:auto}html.wp-toolbar{padding-top:32px;box-sizing:border-box}.widefat td,.widefat th{color:#555}.widefat ol,.widefat p,.widefat tfoot tr td,.widefat tfoot tr th,.widefat thead tr td,.widefat thead tr th,.widefat ul{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:right}.postbox-container .meta-box-sortables{box-sizing:border-box}.postbox-container .meta-box-sortables,input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.js .accordion-section-title,.js .postbox .handlediv{cursor:pointer}.hndle a{font-size:11px}.postbox .handlediv{float:left;width:27px;height:30px}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}#templateside ul li a,.nav-tab{text-decoration:none}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;padding:4px 14px 6px;margin:-4px 0 -1px 4px}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h1.nav-tab-wrapper,h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-right:10px}h1 .nav-tab,h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;float:left;vertical-align:middle;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.spinner.is-active{visibility:visible}#template div{margin-left:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:right}.attention,.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}#howto,.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}.media-icon{width:62px;text-align:center}.media-icon img{border:1px solid #e7e7e7;border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px}.post-categories,.post-categories li{display:inline}.importers td{padding-left:14px}.checkbox,.post-categories,.zerosize,fieldset{margin:0;padding:0}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}.edit-comment-author{font-size:14px;line-height:1.4;font-weight:600;color:#222;margin:2px 9px 0 0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;border:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none}fieldset{border:0}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:right}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;left:0;bottom:0;right:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;left:0;right:0;height:56px;overflow:hidden;text-overflow:ellipsis}#plugin-information-title.with-banner{margin-left:0;height:250px;bottom:250px;-webkit-background-size:cover;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-box-sortables select,p.submit{max-width:100%}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 10px 0 0;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:left;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;left:0;right:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:right;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;left:0;right:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;left:250px;bottom:0;right:0;margin-left:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:left;position:relative;top:0;left:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-right:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:right;margin-left:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:right}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:right}#plugin-information .counter-count{margin-right:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-left:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-left:4px}#plugin-information-footer{padding:15px 16px;position:absolute;left:0;bottom:0;right:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#postcustomstuff p.submit,#templateside h3,.alignleft h3{margin:0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) center no-repeat #fcfcfc}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner-2x.gif) center no-repeat #fcfcfc;-webkit-background-size:20px 20px;background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:right;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:auto;left:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#00a0d2;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-left:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;content:'\f142'}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:left;width:190px}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 3px;text-decoration:none}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{left:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.my-sites li a,form p.submit a.cancel:hover{text-decoration:none}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#a0a5aa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 11px}.widget-top a.widget-action:focus:after{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
  * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #dfdfdf;border-left:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-right:none;border-left:none;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left/21px 37px repeat-x;-webkit-background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-right:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-left:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea: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)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);-ms-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);-ms-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#777}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:right;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-right:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#23282d}#adminmenuback{position:fixed;top:0;bottom:-120px;z-index:1}#adminmenu{clear:right;margin:12px 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px -8px 0 0;float:right}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:right;z-index:9990}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#b4b9be;color:rgba(240,245,250,.7)}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#00b9eb}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;right:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#32373c;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;right:auto;left:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#32373c}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#191e23;color:#00b9eb}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0073aa;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;right:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:right;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6);padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6)}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before{color:#00b9eb}.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#a0a5aa}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-right:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{left:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-left-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{left:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#32373c}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 11px 8px 4px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 2px 0 0;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#00b9eb;color:#fff}#adminmenu li span.count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#a0a5aa;color:rgba(240,245,250,.6);-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#00b9eb}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:right;height:15px;margin:10px 11px 10px 8px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;right:-3px;top:-3px;color:#a0a5aa;color:rgba(240,245,250,.6);font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;right:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-left:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-right:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-right:0;padding-right:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 20px 10px 10px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-right:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;right:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;right:-1px;left:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;right:4px;padding-left:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-right:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#32373c}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:right;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:left;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:left}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-right:0}#the-comment-list p.comment-author img{float:right;margin-left:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;left:10px;padding:20px 3px 0 15px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;right:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px 13px;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-right:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:right}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#82878c;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 10px;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 0 1em 1em}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-right:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:right;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{float:left;position:relative;top:-5px;margin-right:5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#82878c}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:right;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 0 1px 1px}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:right}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:left;margin:0 0 0 12px}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:right;margin:0 0 0 5px}#dashboard-widgets #dashboard_activity h4{margin:0 12px 8px 0;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-right:12px;vertical-align:middle;position:relative;top:-1px;margin-left:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:right;margin-left:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-right:12px}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list .avatar{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-right:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;right:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;left:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{left:33px}#dashboard-widgets h4{color:#23282d;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-right:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-right:3px}.rss-widget cite{display:block;text-align:left;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-left:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-left:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 0 5px 10px}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;left:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:center -80px no-repeat;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-right:8px;border-top:5px solid #b4b9be;border-left:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#b4b9be;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#00a0d2}.post-com-count:hover:after{border-top:5px solid #00a0d2}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0073aa}strong .post-com-count:after{border-top:5px solid #0073aa}.column-response .post-com-count{float:right;margin-left:5px;text-align:center}.response-links{float:right}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .button{margin-left:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:right;padding:3px 5px 2px 0;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-right:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:right}.fixed .column-comments .vers{padding-right:3px}.fixed .column-comments a{float:right}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-right:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;right:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;right:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-right:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#82878c;content:'\f160';display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 10px 8px 7px}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:right;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:100% 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-left:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-right:2px}.tablenav a.button-secondary{display:block;margin:3px 0 0 8px}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:left;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#00a0d2}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#a0a5aa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-left:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 0 0 8px}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-left:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0073aa}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#00a0d2}.tablenav .view-switch{float:left;margin:5px 8px 0 16px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:15px 0;margin:0 0 0 20px}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#b4b9be;display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0073aa}.view-switch>a+a{margin-right:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;padding:0}#posts-filter fieldset legend{padding:0 1px .2em 0}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:right;margin-left:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:right;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0;border-style:none solid none none}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both;line-height:2.5}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:2.5}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;line-height:2.5}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em;line-height:2.5}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-right:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-left:.5em}.inline-edit-row .inline-edit-or{margin:.2em 0 .2em 6px;line-height:2.5}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:middle}.inline-edit-row fieldset label textarea{width:100%;height:4em;vertical-align:top}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-left:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.3em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:right;height:18px;margin:0 -2px 0 3px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 2px 0 0}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-right:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 2em 0 0}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins .updated td,.plugins .updated th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.updated td,.plugins tr.active+tr.inactive.updated th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugin-update-tr.active td,.plugins .active th.check-column{border-right:4px solid #00a0d2}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-left:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second,.plugins .updated .row-actions,.plugins .updated .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 31px 8px 10px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-card .install-now:before,.plugin-card .update-now:before,.plugin-update-tr .update-message:before{color:#d54e21;display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-card .update-now:before,.plugin-update-tr .update-message:before{content:'\f463'}.plugin-update-tr .update-message:before{margin:0 -2px 0 8px}.plugin-card .install-now:before,.plugin-card .update-now:before{margin:3px -2px 0 5px}.plugin-card .updating-message:before,.plugin-update-tr .updating-message:before{content:'\f463';-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}.plugin-card .updated-message:before,.plugin-update-tr .updated-message:before{color:#79ba49;content:'\f147'}.plugins .plugin-update-tr .plugin-update{padding:0;border:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr:not(.updated) .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:right;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-right:0}.plugin-card:nth-child(even){margin-left:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-right:8px}.plugin-card:nth-child(even){margin-left:8px}.plugin-card:nth-child(3n+1){clear:both;margin-right:0}.plugin-card:nth-child(3n){margin-left:0}}@media screen and (max-width:782px){.plugin-card{margin-right:0;margin-left:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-right:148px;margin-left:120px}.plugin-card .action-links{position:absolute;top:20px;left:20px;width:120px}.plugin-action-buttons{clear:left;float:left;margin-right:2em;margin-bottom:1em;text-align:left}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:right;clear:right;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:left;float:left;clear:left;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;right:20px;width:128px;height:128px;margin:0 0 20px 20px}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table tr.site-deleted{background:#ff8573}.wp-list-table tr.site-spammed{background:#faafaa}.wp-list-table tr.site-archived{background:#ffebe8}.wp-list-table tr.site-mature{background:#fecac2}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-right:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:right}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-left:20px}.plugin-card .desc,.plugin-card .name{margin-left:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;left:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}.inline-edit-row .inline-edit-or{margin:0 0 0 6px}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;right:0;left:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-left:12px;padding-right:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;right:0;padding-right:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-right:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-right:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-right:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}@media screen and (max-width:600px){.tags .column-slug,.users .column-role{display:none}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:right}#lost-connection-notice .spinner{display:block;float:right;margin:0 0 0 5px}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:left;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:100% none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:right}.submitbox .submit{text-align:right;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}.inside-submitbox #post_status{margin:2px -2px 2px 0}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:left}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) left bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) right bottom no-repeat}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 2px;top:0;right:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;right:50%;width:450px;margin-right:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:right;margin-left:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}.tagchecklist{margin-right:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-right:-8px;position:absolute}.tagchecklist span{margin-left:25px;display:block;float:right;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist span a{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;display:block;float:right;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:right}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-right:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-left:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-right:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:right}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays-submit .button-cancel{margin-right:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 0 1px 8px;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-left:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 0 5px 3px;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-left:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .wrap>h2,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .wrap>h2,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) left bottom/11px 11px no-repeat;-webkit-background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) left bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 6px 6px 3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 7px 0 0;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 15px 0 20px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-right:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-right:1px solid #a0a5aa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;left:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:right}.revisions-next{float:left}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:left;float:right;margin-left:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:right;margin-right:6px;margin-left:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:left;margin-right:6px;margin-left:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-left:0;margin-right:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;right:0;margin-right:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;right:0;margin-right:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{right:20%}.arrow:after{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:right;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#00a0d2;border:1px solid #0073aa;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;right:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px -1px 0 0}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';left:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-right:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{right:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{left:0}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:right;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 0 8px 8px;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 10px 0 0}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{display:inline;padding:0 23px 0 0;margin:0 3px 0 1em;font-weight:600}.media-upload-form tr.image-size label{margin:0 5px 0 0;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 5px 0 0}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:left;margin-left:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-right:6px}.media-item .pinkynail{float:right;margin:2px 3px 0 10px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:left;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0073aa;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 14px 10px 0}.media-item .error-div a.dismiss{display:block;float:left;margin:0 15px 0 10px}.find-box{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:600px;overflow:hidden;margin-right:-300px;position:fixed;top:30px;bottom:30px;right:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;position:absolute;top:0;right:0;left:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;right:105px;position:absolute}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:right}#find-posts-input{width:140px;height:28px;margin:0 0 0 4px}.widefat .found-radio{padding-left:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;left:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#00a0d2}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;right:0;left:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #b4b9be;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#a0a5aa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;left:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#00a0d2}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;left:auto;right:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #b4b9be}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 0 0 10px;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 0 0 10px}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.media-button{margin-left:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;right:auto;left:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;left:0}.edit-attachment-frame .edit-media-header .left{left:102px}.edit-attachment-frame .edit-media-header .right{left:51px}.edit-attachment-frame .media-frame-title{right:0;left:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{right:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;left:0;right:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:right;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-right:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-left:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:left;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:right}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:right}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:right;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 0 0 8px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#32373c}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 0 0 8px}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 3px 0 8px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 3px 0 8px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 3px 0 8px}.imgedit-applyto img{margin:0 0 0 8px}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-right:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 12px 10px 0}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;left:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{left:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{left:82px}.edit-attachment-frame .edit-media-header .right{left:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:right;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-right:20px}.themes-php .wp-filter-search{position:relative;top:-2px;right:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.notice,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:right;margin:0 0 4% 4%;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 0 4% 3%}.theme-browser .theme:nth-child(3n){margin-left:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;left:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-right:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-left:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-right:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;right:0;top:0;width:100%;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;left:25%;right:25%;background:#23282d;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme: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)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;left:0;right:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 0 0 6px;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-left:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .customize-control .theme.active .theme-name{padding-left:15px}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme a:after{display:block;content:'';background:0 0;position:absolute;top:0;right:0;left:0;bottom:0;padding:0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;right:50%;margin-right:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme a:focus .theme-screenshot,.theme-browser .theme.add-new-theme a:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{background:#fff;color:#0073aa}.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{border-color:transparent;color:#fff;background:#0073aa;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-18px;padding-top:0;padding-bottom:48px}.theme-browser .theme.add-new-theme a:focus .theme-name,.theme-browser .theme.add-new-theme a:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;right:-20px;left:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header button{padding:0}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:left;border:0;border-right:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:right;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:"\f345"}.theme-overlay .theme-header .right:before{content:"\f341"}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;right:190px;left:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{right:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;right:0;left:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;right:0;left:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-left:5px;margin-bottom:5px}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"]{display:none}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;left:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;right:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;right:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #00a0d2}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:right}.theme-overlay .current-label{background:#32373c;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#23282d;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-right:10px}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#82878c;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-left:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-right:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#23282d;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-right:4px solid #00a0d2;font-size:14px;font-weight:400;margin-top:30px;padding:10px 20px 10px 10px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;right:auto;left:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 0 3% 3%}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-left:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-left:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 0 3% 3%}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-left:3%}.theme-browser .theme:nth-child(4n){margin-left:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-left:0}.theme-browser .theme:nth-child(even){margin-left:0}.theme-browser .theme:nth-child(odd){margin-left:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{right:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;left:0;bottom:0;right:0;padding:70px 20px 20px;border:none;z-index:100000;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-left:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-left:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-right:0}.theme-overlay .theme-actions .delete-theme{position:relative;left:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .wp-filter-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;right:50%;text-indent:0;margin-right:-40px}.single-theme .theme-wrap{margin:0 -10px 0 -12px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:right;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0073aa}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:right}}.rating{margin:15px 0 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{clear:both;margin:0 0 20px 20px;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-left:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;right:0;padding:0;margin:0;z-index:10;background:#eee;border-left:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}#customize-preview.wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat;-webkit-background-size:20px 20px}#customize-preview.wp-full-overlay-main.iframe-ready{background:0 0}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:right;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;right:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;right:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;right:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#b4b9be;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;right:0;z-index:50;display:block;width:19px;height:19px;margin-right:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;right:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-right:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:right;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;right:100%;line-height:20px;margin-right:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.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}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center/20px 20px no-repeat fixed #fff;-webkit-background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .star-rating{margin:7px 0;float:left}.theme-details .theme-description{float:right;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;margin:8px 0 0 10px;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}#customize-preview.wp-full-overlay-main,.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px/85px 85px no-repeat #0073aa;-webkit-background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap h2.nav-tab-wrapper{padding-right:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 0 -1px 3px;font-size:18px;vertical-align:top;border-width:1px;white-space:nowrap}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;min-height:60px;color:#777}.about-wrap .two-col>div{position:relative;width:47.6%;margin-left:4.799999999%;float:right}.about-wrap .three-col>div{position:relative;width:29.95%;margin-left:4.999999999%;float:right}.about-wrap [class$=col] .last-feature{margin-left:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:50px 0 30px;font-size:2.2em;font-weight:300;line-height:1.3;text-align:right}.about-wrap .headline-feature h3{margin-top:30px;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;height:0;text-align:center}.about-wrap .feature-video embed{position:absolute;top:0;right:0;width:100%;height:100%}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:95%}.about-wrap .feature-section .col:nth-of-type(odd){float:right;margin:40px 0 0 5%;width:48%}.about-wrap .feature-section .col:nth-of-type(even){float:left;margin:40px 0 0;width:46%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.feature-section>div{margin-top:40px}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -5px 0 -15px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:right;margin:0 0 10px 10px;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section{padding:0;border-bottom:none}.about-wrap .one-col>div,.about-wrap .three-col>div,.about-wrap .two-col .col:nth-of-type(n),.about-wrap .two-col>div{width:100%;margin:40px 0 0;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .two-col .col h3{margin-top:0}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .feature-list div{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-right:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-left:10px;border-bottom:1px solid #ccc}.about-wrap .headline-feature .feature-section div,.about-wrap .three-col div{width:100%!important;float:none!important}.about-wrap .dfw p{max-width:90%}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 3px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-right:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:right;margin-left:6px}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.manage-menus .submit-btn{float:right;margin-top:1px}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-right:18%}.menu-settings dd{float:right;margin:0;width:100%}.menu-settings dt{float:right;clear:both;width:21.951%;padding:3px 0 0;margin-right:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:right;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-left:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:left;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations tr+tr td{padding-top:0}.widefat .menu-locations td{vertical-align:middle}.menu-location-title label{font-weight:700}.menu-location-menus select{float:right}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:right;width:160px;margin-left:5px}.locations-row-links{float:right;margin:6px 6px 0 0}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-left:3px;border-left:1px solid #ccc}#wpbody .open-label{display:block;float:right}#wpbody .open-label span{padding-left:10px}.js .input-with-default-title{color:#a0a5aa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:left}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:left}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:right;margin:6px 6px 0 0;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:right;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-right:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:right;margin-top:5px;padding-left:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:right}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:0 5px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;margin-left:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-right:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:left;float:left;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:right;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0073aa;padding:1px 2px;color:#0073aa;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0073aa;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-right:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-right:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings dl{padding-right:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-right:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#a0a5aa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #b4b9be;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;left:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-right:7px;padding-left:7px}div.widget-liquid-left{margin:0;width:38%;float:right}div.widget-liquid-right{float:left;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 0 0 10px}div#widgets-left .sidebar-name .sidebar-name-arrow:before{left:0;top:4px;padding:4px 4px 4px 6px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{right:auto}.widget-title-action{float:left;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{left:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{float:none;position:relative;top:-2px;margin:-5px 5px}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-right:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-right:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget{display:none}.js .widgets-holder-wrap.closed .widget.ui-sortable-helper{display:block}.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-right:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#00a0d2}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 35px 10px 15px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;right:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#00a0d2;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;right:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-left:5px}#available-widgets .widget .widget-top{cursor:pointer}#available-widgets .widget.ui-draggable-dragging .widget-top{cursor:move}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-left:none;padding-left:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-left:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:right}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:left}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:right;width:49%}#widgets-right .sidebars-column-1{margin-left:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #dfdfdf;border-left:1px solid #dfdfdf;user-select:none}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-right:none;border-left:none;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}.network-admin .edit-site-actions{margin-top:0}.my-sites{display:block;overflow:auto;zoom:1}.my-sites li{display:block;padding:8px 3%;min-height:130px;margin:0}@media only screen and (max-width:599px){.my-sites li{min-height:0}}@media only screen and (min-width:600px){.my-sites.striped li{background-color:#fff;position:relative}.my-sites.striped li:after{content:"";width:1px;height:100%;position:absolute;top:0;left:0;background:#ccc}}@media only screen and (min-width:600px) and (max-width:699px){.my-sites li{float:right;width:44%}.my-sites.striped li{background-color:#fff}.my-sites.striped li:nth-of-type(2n+1){clear:right}.my-sites.striped li:nth-of-type(2n+2):after{content:none}.my-sites li:nth-of-type(4n+1),.my-sites li:nth-of-type(4n+2){background-color:#f9f9f9}}@media only screen and (min-width:700px) and (max-width:1199px){.my-sites li{float:right;width:27.333333%;background-color:#fff}.my-sites.striped li:nth-of-type(3n+3):after{content:none}.my-sites li:nth-of-type(6n+1),.my-sites li:nth-of-type(6n+2),.my-sites li:nth-of-type(6n+3){background-color:#f9f9f9}}@media only screen and (min-width:1200px) and (max-width:1399px){.my-sites li{float:right;width:21%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(4n+1){clear:right}.my-sites.striped li:nth-of-type(4n+4):after{content:none}.my-sites li:nth-of-type(8n+1),.my-sites li:nth-of-type(8n+2),.my-sites li:nth-of-type(8n+3),.my-sites li:nth-of-type(8n+4){background-color:#f9f9f9}}@media only screen and (min-width:1400px) and (max-width:1599px){.my-sites li{float:right;width:16%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(5n+1){clear:right}.my-sites.striped li:nth-of-type(5n+5):after{content:none}.my-sites li:nth-of-type(10n+1),.my-sites li:nth-of-type(10n+2),.my-sites li:nth-of-type(10n+3),.my-sites li:nth-of-type(10n+4),.my-sites li:nth-of-type(10n+5){background-color:#f9f9f9}}@media only screen and (min-width:1600px){.my-sites li{float:right;width:12.666666%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(6n+1){clear:right}.my-sites.striped li:nth-of-type(6n+6):after{content:none}.my-sites li:nth-of-type(12n+1),.my-sites li:nth-of-type(12n+2),.my-sites li:nth-of-type(12n+3),.my-sites li:nth-of-type(12n+4),.my-sites li:nth-of-type(12n+5),.my-sites li:nth-of-type(12n+6){background-color:#f9f9f9}}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left repeat-x;-webkit-background-size:21px 37px;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:0 0!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){#template div,#templateside{float:none;width:auto}html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{padding:10px 15px;font-size:14px;white-space:nowrap}.wp-color-result{height:auto;padding-right:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-left:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template div{margin:0}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}.edit-comment-author{margin:2px 0 0}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open,div#post-body.metabox-holder.columns-1{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}}#pressthis-code-wrap,textarea{overflow:auto}@media screen and (max-width:320px){#network_dashboard_right_now .subsubsub{font-size:14px;text-align:right}}input,textarea{box-sizing:border-box}input[type=text],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=search],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=text]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=search]:focus,select:focus,textarea: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)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}#adminmenu,.network-admin.themes-php p.search-box{clear:right}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;-webkit-box-shadow:0 0 2px rgba(204,0,0,.8);box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin-right:-25px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}p.submit{text-align:right;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}button.wp-hide-pw>.dashicons{position:relative;top:3px}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 1px 5px 5px;padding:3px 5px;text-align:center;width:25em;box-sizing:border-box;opacity:0}#pass-strength-result,.color-option{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:left;margin:0}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;text-align:right}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;box-sizing:border-box;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);-ms-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);-ms-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#777}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:right;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-right:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=text],input[type=password],input[type=email],input[type=number],input[type=search]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:left;margin:-30px 0 0 3px}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=password].small-text,input[type=number].small-text,input[type=search].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-right:0}.form-table.permalink-structure td code{margin-right:32px}.form-table.permalink-structure td input[type=text]{margin-right:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-left:40px}.wp-pwd button.button{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;left:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;right:0}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#23282d}#adminmenuback{position:fixed;top:0;bottom:-120px;z-index:1}#adminmenu{margin:12px 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px -8px 0 0;float:right}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:right;z-index:9990}#adminmenu *{user-select:none}#adminmenu *,.theme-overlay .current-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#b4b9be;color:rgba(240,245,250,.7)}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#00b9eb}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;right:160px;overflow:visible}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#32373c;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;right:auto;left:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#32373c}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#191e23;color:#00b9eb}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0073aa;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;right:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head{display:none}.folded #adminmenu .wp-menu-name{position:absolute;right:-999px}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:right;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6);padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6)}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before{color:#00b9eb}.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#a0a5aa}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-right:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{left:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-left-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{left:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#32373c}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#collapse-button,#collapse-button div{height:15px;width:15px}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 11px 8px 4px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 2px 0 0;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span{display:block;padding:0 6px}#adminmenu li span.count-0,.folded #collapse-menu span{display:none}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#00b9eb;color:#fff}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#a0a5aa;color:rgba(240,245,250,.6);-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#00b9eb}#collapse-button{float:right;margin:10px 11px 10px 8px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;right:-3px;top:-3px;color:#a0a5aa;color:rgba(240,245,250,.6);font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;right:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-left:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-right:12px}.auto-fold #adminmenu .wp-menu-name{position:absolute;right:-999px}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #collapse-menu span,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-right:0;padding-right:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 20px 10px 10px}.auto-fold #adminmenu .wp-menu-name{position:static;margin-right:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;right:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;right:-1px;left:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;right:4px;padding-left:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-right:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#32373c}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:right;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{color:#00b9eb}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:left;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:left}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-right:0}#the-comment-list p.comment-author img{float:right;margin-left:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}#activity-widget #the-comment-list .comment-item:first-child,#dashboard_right_now .sub,.js #dashboard_quick_press .drafts{border-top:1px solid #eee}.activity-block,.dashboard-widget-control-form,.mu-storage,.tablenav .actions,th.sortable a,th.sorted a{overflow:hidden}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:10px;left:10px;padding:10px 21px 10px 15px;font-size:13px;line-height:1.23076923;text-decoration:none}.welcome-panel .welcome-panel-close:before{position:absolute;top:8px;right:0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px 13px;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-right:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:right}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{background:0 0!important}.welcome-panel .welcome-icon:before{color:#82878c;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 10px;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 0 1em 1em}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none;padding:0 0 8px}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-right:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;display:inline-block;width:100%}#dashboard_right_now li{width:50%;float:right;margin-bottom:10px}#dashboard_right_now .inside{padding:0}#dashboard_right_now .main{padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{float:left;position:relative;top:-5px;margin-right:5px}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#82878c}#dashboard_right_now .sub{color:#777;background:#f5f5f5;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_quick_press .drafts li time,#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:right;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 0 1px 1px}#dashboard_quick_press form{margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:right}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:left;margin:0 0 0 12px}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{margin:0 0 0 5px}#dashboard-widgets #dashboard_activity h4{margin:0 12px 8px 0;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-right:12px;vertical-align:middle;position:relative;top:-1px;margin-left:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{margin-bottom:8px}#future-posts ul span,#published-posts ul span{display:inline-block;margin-left:5px;min-width:150px;color:#777}.activity-block{border-bottom:1px solid #eee;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-right:12px}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list .avatar{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-right:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;right:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a,#dashboard_browser_nag a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;left:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{left:33px}#dashboard-widgets h4{color:#23282d;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-right:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-right:3px}.rss-widget cite{display:block;text-align:left;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-left:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container,#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-left:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 0 5px 10px}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:40px;white-space:nowrap;width:20px;height:20px;padding:5px;top:5px;left:5px}.welcome-panel .welcome-panel-close:before{font-size:20px;top:5px;right:-35px}}.response-links{display:block;margin-bottom:1em}.response-links a{display:block}.response-links a.comments-edit-item-link{font-weight:600}.response-links a.comments-view-item-link{font-size:12px}.post-com-count-wrapper strong{font-weight:400}.comments-view-item-link{display:inline-block;clear:both}.column-comments .post-com-count-wrapper,.column-response .post-com-count-wrapper{white-space:nowrap;word-wrap:normal}.column-comments .post-com-count,.column-response .post-com-count{display:inline-block;vertical-align:top}.column-comments .post-com-count-approved,.column-comments .post-com-count-no-comments,.column-response .post-com-count-approved,.column-response .post-com-count-no-comments{margin-top:5px}.column-comments .comment-count-approved,.column-comments .comment-count-no-comments,.column-response .comment-count-approved,.column-response .comment-count-no-comments{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;padding:0 8px;min-width:24px;height:2em;-webkit-border-radius:5px;border-radius:5px;background-color:#72777c;color:#fff;font-size:11px;line-height:21px;text-align:center}.ie8 .column-comments .comment-count-approved,.ie8 .column-comments .comment-count-no-comments,.ie8 .column-response .comment-count-approved,.ie8 .column-response .comment-count-no-comments{min-width:0}.column-comments .post-com-count-approved:after,.column-comments .post-com-count-no-comments:after,.column-response .post-com-count-approved:after,.column-response .post-com-count-no-comments:after{content:"";display:block;margin-right:8px;width:0;height:0;border-top:5px solid #72777c;border-left:5px solid transparent}.column-comments .post-com-count-approved:focus .comment-count-approved,.column-comments .post-com-count-approved:hover .comment-count-approved,.column-response .post-com-count-approved:focus .comment-count-approved,.column-response .post-com-count-approved:hover .comment-count-approved{background:#0073aa}.column-comments .post-com-count-approved:focus:after,.column-comments .post-com-count-approved:hover:after,.column-response .post-com-count-approved:focus:after,.column-response .post-com-count-approved:hover:after{border-top-color:#0073aa}.column-comments .post-com-count-pending,.column-response .post-com-count-pending{position:relative;right:-3px;padding:0 5px;min-width:7px;height:17px;border:2px solid #fff;-webkit-border-radius:11px;border-radius:11px;background:#ca4a1f;color:#fff;font-size:9px;line-height:17px;text-align:center}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .button{margin-left:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#commentsdiv #edithead .inside,#edithead .inside{float:right;padding:3px 5px 2px 0;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-right:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}.sorting-indicator:before,th .comment-grey-bubble:before{speak:none;-moz-osx-font-smoothing:grayscale;position:relative;text-decoration:none!important;color:#444}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;display:inline-block;padding:0;top:4px;right:-4px;vertical-align:top;-webkit-font-smoothing:antialiased}.sorting-indicator:before,th.desc a:focus span.sorting-indicator:before,th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:5.5em;padding:8px 0;text-align:right}.fixed .column-comments .vers{padding-right:3px}td.column-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;font-size:14px}td.column-title p,td.plugin-title p{margin:6px 0}table.media .column-title .media-icon{float:right;min-height:60px;margin:0 0 0 9px}table.media .column-title .media-icon img{max-width:60px;height:auto;vertical-align:top}table.media .column-title .has-media-icon~.row-actions{margin-right:70px}table.media .column-title .filename{margin-bottom:.2em}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead td,#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv #edithead .inside input{vertical-align:middle;width:160px}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-right:7px}.sorting-indicator:before{font:400 20px/1 dashicons;display:inline-block;padding:0;top:-4px;right:-8px;line-height:10px;vertical-align:top;-webkit-font-smoothing:antialiased}.column-comments .sorting-indicator:before{top:0;right:-10px}.wp-list-table .toggle-row:before,th.asc a:focus span.sorting-indicator:before,th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}.wp-list-table .toggle-row{position:absolute;left:8px;top:10px;display:none;padding:0;width:40px;height:40px;border:none;outline:0;background:0 0}.wp-list-table .toggle-row:hover{cursor:pointer}.wp-list-table .toggle-row:focus:before{-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)}.ie8 .wp-list-table .toggle-row:focus:before{outline:#5b9dd9 solid 1px}.wp-list-table .toggle-row:active{-webkit-box-shadow:none;box-shadow:none}.wp-list-table .toggle-row:before{position:absolute;top:-5px;right:10px;-webkit-border-radius:50%;border-radius:50%;display:block;padding:1px 0 1px 2px;color:#666;font:400 20px/1 dashicons;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none}.wp-list-table .is-expanded .toggle-row:before{content:'\f142'}tr.wp-locked .locked-indicator{margin-right:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#82878c;content:'\f160';display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;padding:7px 10px 8px 7px}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:right;cursor:pointer}th.asc a:focus span.sorting-indicator,th.asc:hover span.sorting-indicator,th.desc a:focus span.sorting-indicator,th.desc:hover span.sorting-indicator,th.sorted .sorting-indicator{display:block}.tablenav-pages a,.tablenav-pages-navspan{font-weight:600;padding:0 2px}.tablenav-pages .current-page{margin:0 0 0 2px;padding-bottom:5px;font-size:13px;text-align:center}.tablenav .total-pages{margin-left:2px}.tablenav #table-paging{margin-right:2px}.tablenav a.button-secondary{display:block;margin:3px 0 0 8px}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:left;height:28px;margin-top:3px;cursor:default;color:#555}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a,.tablenav-pages-navspan{display:inline-block;min-width:17px;border:1px solid #d2d2d2;padding:3px 5px 7px;background:#e4e4e4;font-size:16px;line-height:1;font-weight:400;text-align:center}.tablenav-pages-navspan{height:16px;border-color:#e8e8e8;background:#ebebeb;color:#b4b4b4}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{border-color:#5b9dd9;color:#fff;background:#00a0d2;-webkit-box-shadow:none;box-shadow:none;outline:0}.tablenav .displaying-num{margin-left:7px}.tablenav .one-page .displaying-num{display:inline-block;margin-top:5px;margin-left:0}.tablenav .actions{padding:2px 0 0 8px}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-left:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0073aa}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#00a0d2}.tablenav .view-switch{float:left;margin:0 5px;padding-top:3px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:12px 0;margin:0 2px 0 8px}.media-toolbar.wp-filter .view-switch{margin:0 2px 0 12px}.view-switch a{float:right;width:28px;height:28px;text-align:center;line-height:24px;text-decoration:none}.view-switch a:before{color:#b4b9be;display:inline-block;font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch a:focus:before,.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0073aa}.view-switch .view-list:before{content:'\f163'}.view-switch .view-excerpt:before{content:'\f164'}.view-switch .view-grid:before{content:'\f509'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;padding:0}#posts-filter fieldset legend{padding:0 1px .2em 0}.row-actions,.row-actions-visible{padding:2px 0 0}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:right;margin-left:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:right;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;width:69%}#bulk-titles div a,.inline-edit-row fieldset .inline-edit-date,.plugin-card,.quick-edit-row-post fieldset label.inline-edit-status{float:right}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both;line-height:2.5}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:2.5;text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0;font-style:italic}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;line-height:2.5}.inline-edit-row fieldset.inline-edit-date label{display:inline-block;margin:0;line-height:1.5;vertical-align:baseline}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title,.inline-edit-row fieldset.inline-edit-date legend{display:block;float:right;width:6em;line-height:2.5}#posts-filter fieldset.inline-edit-date legend{padding:0}.inline-edit-row fieldset.inline-edit-date select{margin:1px;line-height:28px}.inline-edit-row fieldset .timestamp-wrap,.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-right:6em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-left:.5em}.inline-edit-row .inline-edit-or{margin:.2em 0 .2em 6px;line-height:2.5}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:middle}.inline-edit-row fieldset label textarea{width:100%;height:4em;vertical-align:top}#bulk-titles,ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-left:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.3em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{margin:0;background-color:#fff}#bulk-titles{display:block;margin:0 0 5px;line-height:140%}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;height:18px;margin:0 -2px 0 3px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 2px 0 0}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot td.check-column,.plugins thead td.check-column{padding-right:6px}#update-plugins-table tfoot td.check-column,#update-plugins-table thead td.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 2em 0 0}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins .updated td,.plugins .updated th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.updated td,.plugins tr.active+tr.inactive.updated th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugin-update-tr.active td,.plugins .active th.check-column{border-right:4px solid #00a0d2}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-left:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second,.plugins .updated .row-actions,.plugins .updated .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;margin:0 31px 8px 10px;padding:6px 40px 8px 12px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-card .install-now:before,.plugin-card .update-now:before,.plugin-update-tr .update-message:before{color:#d54e21;display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-card .update-now:before,.plugin-update-tr .update-message:before{content:'\f463'}.plugin-update-tr .update-message:before{margin:0 -30px 0 10px}.plugin-card .install-now:before,.plugin-card .update-now:before{margin:3px -2px 0 5px}.plugin-card .updating-message:before,.plugin-update-tr .updating-message:before{content:'\f463';-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}.plugin-card .updated-message:before,.plugin-update-tr .updated-message:before{color:#79ba49;content:'\f147'}.wp-list-table.plugins tbody tr.plugin-update-tr td.plugin-update{overflow:hidden;padding:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr:not(.updated) .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-right:0}.plugin-card:nth-child(even){margin-left:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-right:8px}.plugin-card:nth-child(even){margin-left:8px}.plugin-card:nth-child(3n+1){clear:both;margin-right:0}.plugin-card:nth-child(3n){margin-left:0}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-right:148px;margin-left:120px}.plugin-card .action-links{position:absolute;top:20px;left:20px;width:120px}.plugin-action-buttons{clear:left;float:left;margin-right:2em;margin-bottom:1em;text-align:left}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:right;clear:right;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:left;float:left;clear:left;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-icon,.plugin-icon img{width:128px;height:128px}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;right:20px;margin:0 0 20px 20px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table tr.site-deleted{background:#ff8573}.wp-list-table tr.site-spammed{background:#faafaa}.wp-list-table tr.site-archived{background:#ffebe8}.wp-list-table tr.site-mature{background:#fecac2}.sites.fixed .column-lastupdated,.sites.fixed .column-registered{width:20%}.sites.fixed .column-users{width:80px}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-right:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:right}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-left:20px}.plugin-card .desc,.plugin-card .name{margin-left:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.plugins #the-list tr td,.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.form-wrap>p,.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num,.tablenav.top .tablenav-pages.one-page,.wp-list-table th.column-primary~th,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){display:none}.view-switch a{width:36px;height:36px;line-height:33px}.tablenav.bottom .displaying-num{position:absolute;left:0;top:11px;margin:0;font-size:14px}.tablenav .tablenav-pages{width:100%;height:auto;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links{font-size:16px}.tablenav-pages .pagination-links a,.tablenav-pages-navspan{padding:9px 16px 12px;font-size:18px}.tablenav-pages-navspan{height:18px}.tablenav-pages .pagination-links .current-page{padding:8px 9px 9px;font-size:16px}.comment-count{font-size:14px}.wp-list-table thead th.column-primary{width:100%}.wp-list-table tr th.check-column{display:table-cell;width:35px}.wp-list-table .column-primary .toggle-row{display:block}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){position:relative;clear:both;display:block;width:auto!important}.wp-list-table td.column-primary{padding-left:50px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){padding:3px 35% 3px 8px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before{position:absolute;right:10px;display:block;overflow:hidden;width:32%;content:attr(data-colname);white-space:nowrap;text-overflow:ellipsis}.wp-list-table .is-expanded td:not(.hidden){display:block!important;overflow:hidden}.column-posts,.widefat .num{text-align:right}#comments-form .fixed .column-author{display:none!important}.fixed .column-comment .comment-author{display:block}#the-comment-list .is-expanded td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list .is-expanded td:last-child{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.post-com-count .screen-reader-text{position:static;width:auto;height:auto;margin:0}.column-comments .post-com-count-approved:after,.column-comments .post-com-count-no-comments:after,.column-response .post-com-count-approved:after,.column-response .post-com-count-no-comments:after{content:none}.column-comments .post-com-count [aria-hidden=true],.column-response .post-com-count [aria-hidden=true]{display:none}.column-comments .post-com-count-wrapper,.column-response .post-com-count-wrapper{white-space:normal}.column-comments .post-com-count-wrapper>a,.column-response .post-com-count-wrapper>a{display:block}.column-comments .post-com-count-approved,.column-comments .post-com-count-no-comments,.column-response .post-com-count-approved,.column-response .post-com-count-no-comments{margin-top:0;margin-left:.5em}.column-comments .post-com-count-pending,.column-response .post-com-count-pending{position:static;height:auto;min-width:0;padding:0;border:none;-webkit-border-radius:0;border-radius:0;background:0 0;color:#bb2a2a;font-size:inherit;line-height:inherit;text-align:right}.column-comments .post-com-count-pending:hover,.column-response .post-com-count-pending:hover{color:#dc3232}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong,table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}.inline-edit-row fieldset label span.title,.inline-edit-row fieldset.inline-edit-date legend{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset .timestamp-wrap,.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}.inline-edit-row .inline-edit-or{margin:0 0 0 6px}#bulk-titles div{margin:.8em .3em}.plugin-card,.plugin-update-tr .update-message{margin-right:0}#bulk-titles div a{height:22px}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.comments-box .toggle-row,.wp-list-table.plugins .toggle-row{display:none}#wpbody-content .wp-list-table.plugins td{display:block;width:auto;padding:10px 9px}#wpbody-content .wp-list-table.plugins .column-description{padding-top:2px}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins #the-list .update td,.plugins #the-list .update th,.plugins #the-list tr>td:not(:last-child),.wp-list-table.plugins #the-list .theme-title{-webkit-box-shadow:none;box-shadow:none;border-top:none}.plugins tbody{padding:1px 0 0}.plugins .plugin-update-tr:before,.plugins tr.active+tr.inactive td.column-description,.plugins tr.active+tr.inactive th.check-column{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .plugin-update-tr:before{content:'';display:table-cell}.plugins .active.update+.plugin-update-tr:before{border-right:4px solid #d54e21;background-color:#fef7f1}.plugins #the-list .plugin-update-tr .plugin-update{border-right:none}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-card{margin-left:0;width:100%}}#save-action .spinner,#show-comments .spinner,#show-comments a,.postarea h3 label{float:right}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#lost-connection-notice .spinner{visibility:visible;float:right;margin:0 0 0 5px}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-content-editor-container,.postbox,form#tags-filter{position:relative}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:100% none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.submitbox .submit{text-align:right;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}.inside-submitbox #post_status{margin:2px -2px 2px 0}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{min-width:255px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#post-status-info,.postbox{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04)}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js,.ui-tabs-hide,.wp-editor-expand #content-resize-handle,.wp-hidden-children .wp-hidden-child{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:left}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) left bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) right bottom no-repeat}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw,.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 2px;top:0;right:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;right:50%;width:450px;margin-right:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:right;margin-left:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt{display:block;margin:12px 0 0;height:4em;width:100%}.tagchecklist{margin-right:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist span,.tagchecklist span a{overflow:hidden;display:block;float:right}.tagchecklist strong{margin-right:-8px;position:absolute}.tagchecklist span{margin-left:25px;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;text-overflow:ellipsis}.tagchecklist span a{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;text-indent:0;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:right}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-right:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-left:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-right:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}.ac_results,.revisions-diff,.revisions-meta,.revisions-tickmarks{background-color:#fff}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field input[type=number],.form-field input[type=tel],.form-field input[type=url],.form-field input[type=search],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw,.ac_results{display:none}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid grey}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:right}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.imgedit-group-top h3 a,a.imgedit-help-toggle,table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}#comment-status-radio label,.links-table td,.links-table th{padding:5px 0}.comment-ays-submit .button-cancel{margin-right:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 0 1px 8px;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-left:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 0 5px 3px;vertical-align:middle}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td label{margin-left:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .update-nag,.focus-on .wrap>h1,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .update-nag,.focus-off .wrap>h1,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) left bottom no-repeat;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) left bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}.tagsdiv .newtag,ul.categorychecklist li{margin-bottom:15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:1.4}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 6px 6px 3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 7px 0 0;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 15px 0 20px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-right:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}#publishing-action .spinner{float:none;margin-top:-2px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div{position:absolute;height:100%;border-right:1px solid #a0a5aa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;left:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:right}.revisions-next{float:left}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow:after,.revisions-diff{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}.about-wrap h2 .nav-tab,.about-wrap p.wp-credits-list a,.imgedit-wrap .nowrap,.nav-menus-php .item-edit,.sidebar-name h3,.widget-title h4{white-space:nowrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:left;float:right;margin-left:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:right;margin-right:6px;margin-left:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:left;margin-right:6px;margin-left:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-left:0;margin-right:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;right:0;margin-right:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{right:20px;top:-20px;width:25px;height:25px;transform:rotate(-45deg)}.arrow:after,.revisions-tooltip-arrow>span{content:"";position:absolute;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;right:0;margin-right:-35px;bottom:90px;z-index:10000}.arrow.top{top:-16px;bottom:auto}.arrow.left{right:20%}.arrow:after{z-index:9999;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);right:20px;top:-20px;width:25px;height:25px;transform:rotate(-45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:right;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#00a0d2;border:1px solid #0073aa;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;right:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.media-item .media-item-info tr,.wp-slider .ui-slider-range{background-color:transparent}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px -1px 0 0}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';left:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-right:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{right:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{left:0}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}#media-items:empty,.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:right;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .describe td{padding:0 0 8px 8px;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 10px 0 0}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{display:inline;padding:0 23px 0 0;margin:0 3px 0 1em;font-weight:600}.media-upload-form tr.image-size label{margin:0 5px 0 0;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 5px 0 0}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:left;margin-left:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.js .html-uploader #plupload-upload-ui,.media-item .startclosed,.media-item .startopen{display:none}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}.media-item .filename{line-height:36px;overflow:hidden;margin-right:6px}.media-item .pinkynail{float:right;margin:2px 3px 0 10px;max-width:40px;max-height:32px}.media-item .original{position:relative;height:34px}.media-item .progress{float:left;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0073aa;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 14px 10px 0}.media-item .error-div a.dismiss{display:block;float:left;margin:0 15px 0 10px}.find-box{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:600px;overflow:hidden;margin-right:-300px;position:fixed;top:30px;bottom:30px;right:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;position:absolute;top:0;right:0;left:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;right:105px;position:absolute}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:right}#find-posts-input{width:140px;height:28px;margin:0 0 0 4px}.widefat .found-radio{padding-left:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;left:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#00a0d2}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;right:0;left:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #b4b9be;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#a0a5aa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title,.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border-right:4px solid #dd3d36;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);background-color:#fff}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:12px 0;padding:4px 0 0;border:none;-webkit-box-shadow:none;box-shadow:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{top:-10px;left:-14px;padding:10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f153";display:block;font:400 16px/1 dashicons;color:#bbb}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#c00}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;left:auto;right:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #b4b9be}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 0 0 10px;font-size:14px}.media-frame.mode-grid.mode-edit .media-toolbar-secondary>.select-mode-toggle-button{margin:0 0 0 8px;vertical-align:middle}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 0 0 10px}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:16px}.attachments-browser .media-toolbar-secondary>.media-button{margin-left:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;right:auto;left:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;left:0}.edit-attachment-frame .edit-media-header .left{left:102px}.edit-attachment-frame .edit-media-header .right{left:51px}.edit-attachment-frame .media-frame-title{right:0;left:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{right:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;left:0;right:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:right;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-right:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-left:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:left;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) center no-repeat #fff;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.A1B1 .button,.A1B1 .spinner,.wp_attachment_image .button,.wp_attachment_image .spinner{float:right}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.no-js .wp_attachment_image .button{display:none}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:right;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 0 0 8px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#32373c}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 0 0 8px}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 3px 0 8px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 3px 0 8px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 3px 0 8px}.imgedit-applyto img{margin:0 0 0 8px}#poststuff .imgedit-group-top h3{padding:0}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0 0}.imgedit-submit-btn{margin-right:20px}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 12px 10px 0}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;left:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{left:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{left:82px}.edit-attachment-frame .edit-media-header .right{left:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h1{float:right;margin-bottom:15px}.network-admin.themes-php .wrap h1{margin-bottom:0}.themes-php .wrap h1 .button{margin-right:20px}.themes-php .wp-filter-search{position:relative;top:-2px;right:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.notice,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:right;margin:0 0 4% 4%;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 0 4% 3%}.theme-browser .theme:nth-child(3n){margin-left:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;left:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-right:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-left:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-right:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;right:0;top:0;width:100%;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0;position:absolute;top:35%;left:25%;right:25%;background:#23282d;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme: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)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;left:0;right:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 0 0 6px;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-left:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .customize-control .theme.active .theme-name{padding-left:15px}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme a:after{display:block;content:'';background:0 0;position:absolute;top:0;right:0;left:0;bottom:0;padding:0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;right:50%;margin-right:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme a:focus .theme-screenshot,.theme-browser .theme.add-new-theme a:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{background:#fff;color:#0073aa}.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{border-color:transparent;color:#fff;background:#0073aa;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-18px;padding-top:0;padding-bottom:48px}.theme-browser .theme.add-new-theme a:focus .theme-name,.theme-browser .theme.add-new-theme a:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;right:-20px;left:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10000}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header button{padding:0}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:left;border:0;border-right:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:right;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:"\f345"}.theme-overlay .theme-header .right:before{content:"\f341"}.theme-overlay .theme-about:after,.theme-overlay .theme-wrap:after{clear:both;visibility:hidden;content:".";display:block;height:0}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;right:190px;left:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:10000;box-sizing:border-box;-webkit-overflow-scrolling:touch}.theme-overlay .theme-actions,.theme-overlay .theme-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}body.folded .theme-overlay .theme-wrap{right:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;right:0;left:0;overflow:auto;padding:2% 4%}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"],.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;right:0;left:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-left:5px;margin-bottom:5px}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;left:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot,.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;right:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;right:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #00a0d2}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:right}.theme-overlay .current-label{background:#32373c;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;user-select:none}.theme-overlay .theme-name{color:#23282d;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-right:10px}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#82878c;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-left:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-right:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#23282d;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-right:4px solid #00a0d2;font-size:14px;font-weight:400;margin-top:30px;padding:10px 20px 10px 10px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;right:auto;left:auto;top:auto;bottom:auto;z-index:10}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 0 3% 3%}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-left:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-left:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 0 3% 3%}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-left:3%}.theme-browser .theme:nth-child(4n){margin-left:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-left:0}.theme-browser .theme:nth-child(even){margin-left:0}.theme-browser .theme:nth-child(odd){margin-left:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{right:65px}}@media only screen and (max-width:780px){.theme-browser .theme.active .theme-name span,.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;left:0;bottom:0;right:0;padding:70px 20px 20px;border:none;z-index:100000;position:fixed}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:0;width:auto}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-left:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-left:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-right:0}.theme-overlay .theme-actions .delete-theme{position:relative;left:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wp-filter-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;right:50%;text-indent:0;margin-right:-40px}.single-theme .theme-wrap{margin:0 -10px 0 -12px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:right;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0073aa}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php .wp-filter{padding:0 20px}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.wp-full-overlay,.wp-full-overlay-sidebar{right:0;bottom:0;top:0;height:100%;position:fixed}.upload-plugin,body.show-upload-theme .upload-theme{display:block}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser,p.no-themes{display:none}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}p.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:right}}.theme-details .star-rating{margin:15px 0 0}.theme-details .star-rating span:before{color:#ffb900;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.star-rating.rating-10 span.one:before,.star-rating.rating-30 span.two:before,.star-rating.rating-50 span.three:before,.star-rating.rating-70 span.four:before,.star-rating.rating-90 span.five:before{content:"\f459"}.star-rating.rating-100>span:before,.star-rating.rating-20 span.one:before,.star-rating.rating-30 span.one:before,.star-rating.rating-40 span.one:before,.star-rating.rating-40 span.two:before,.star-rating.rating-50 span.one:before,.star-rating.rating-50 span.two:before,.star-rating.rating-60 span.one:before,.star-rating.rating-60 span.three:before,.star-rating.rating-60 span.two:before,.star-rating.rating-70 span.one:before,.star-rating.rating-70 span.three:before,.star-rating.rating-70 span.two:before,.star-rating.rating-80 span.four:before,.star-rating.rating-80 span.one:before,.star-rating.rating-80 span.three:before,.star-rating.rating-80 span.two:before,.star-rating.rating-90 span.four:before,.star-rating.rating-90 span.one:before,.star-rating.rating-90 span.three:before,.star-rating.rating-90 span.two:before{content:"\f155"}.theme-details .star-rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{clear:both;margin:0 0 20px 20px;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-left:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;overflow:visible;left:0;min-width:0}.wp-full-overlay-sidebar{box-sizing:border-box;width:300px;padding:0;margin:0;z-index:10;background:#eee;border-left:none}.widget,.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible;margin-right:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}#customize-preview.wp-full-overlay-main{background:url(../images/spinner.gif) center center no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-preview.wp-full-overlay-main.iframe-ready{background:0 0}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:right;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;right:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;right:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;right:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#b4b9be;background:#eee;cursor:default;pointer-events:none}.wp-core-ui .wp-full-overlay .collapse-sidebar{position:fixed;bottom:8px;right:10px;padding:0;color:#656a6f;outline:0;line-height:1;background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.wp-core-ui .wp-full-overlay .collapse-sidebar:focus,.wp-core-ui .wp-full-overlay .collapse-sidebar:hover{color:#0073aa}.wp-full-overlay .collapse-sidebar-arrow,.wp-full-overlay .collapse-sidebar-label{display:inline-block;vertical-align:middle;line-height:20px}.wp-full-overlay .collapse-sidebar-arrow{width:20px;height:20px;margin:0 2px;-webkit-border-radius:50%;border-radius:50%;overflow:hidden}.wp-full-overlay .collapse-sidebar:focus .collapse-sidebar-arrow,.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-arrow{-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)}.wp-full-overlay .collapse-sidebar-label{margin-right:3px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .collapse-sidebar-arrow:before{display:block;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180.001deg);-ms-transform:rotate(180.001deg);transform:rotate(180.001deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.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}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center no-repeat fixed #fff;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .theme-description{float:right;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;margin:8px 0 0 10px;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center no-repeat #fff;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}#customize-preview.wp-full-overlay-main,.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap .jetpack-video-wrapper{margin-bottom:0}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px no-repeat #0073aa;-webkit-background-size:85px 85px;background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap h2.nav-tab-wrapper{padding-right:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 0 -1px 3px;font-size:18px;vertical-align:top;border-width:1px}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;min-height:60px;color:#777}.about-wrap [class$=col] .col{float:right;position:relative}.about-wrap .two-col .col{margin-left:4.799999999%;width:47.6%}.about-wrap .three-col .col{margin-left:4.999999999%;width:29.95%}.about-wrap .three-col .col:nth-of-type(3n),.about-wrap .two-col .col:nth-of-type(2n){margin-left:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:50px 0 30px;font-size:2.2em;font-weight:300;line-height:1.3;text-align:right}.about-wrap .headline-feature h3{margin-top:30px;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;height:0;text-align:center}.about-wrap .feature-video embed{position:absolute;top:0;right:0;width:100%;height:100%}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:95%}.about-wrap .changelog.feature-section .col,.about-wrap .feature-section:not(.under-the-hood) .col{margin-top:40px}.about-wrap .feature-section .media-container{border:1px solid #ddd;overflow:hidden}.about-wrap .feature-section .svg-container{padding:50px 0;text-align:center;background-color:#e1e1e3}.about-wrap .feature-section .svg-container img{max-width:150px}.about-wrap .changelog{margin-bottom:40px}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -5px 0 -15px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:right;margin:0 0 10px 10px;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section{padding:0;border-bottom:none}.about-wrap [class$=col] .col{float:none;width:100%;margin:40px 0 0;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .feature-list .col{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-right:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-left:10px;border-bottom:1px solid #ccc}.about-wrap .feature-section .svg-container{padding-top:20px;padding-bottom:20px}.about-wrap .headline-feature .feature-section .col,.about-wrap .three-col .col{width:100%!important;float:none!important}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 3px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-right:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:right;margin-left:6px}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.manage-menus .submit-btn{float:right;margin-top:1px}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-right:18%}.menu-settings dd{float:right;margin:0;width:100%}.menu-settings dt{float:right;clear:both;width:21.951%;padding:3px 0 0;margin-right:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#add-custom-link .howto,#cancel-save{font-size:12px}#menu-management-liquid{float:right;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-left:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:left;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations tr+tr td{padding-top:0}.widefat .menu-locations td{vertical-align:middle}.menu-location-title label{font-weight:700}.menu-location-menus select{float:right}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:right;width:160px;margin-left:5px}.locations-row-links{float:right;margin:6px 6px 0 0}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-left:3px;border-left:1px solid #ccc}#wpbody .open-label{display:block;float:right}#wpbody .open-label span{padding-left:10px}.js .input-with-default-title{color:#a0a5aa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:left}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:left}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:right;margin:6px 6px 0 0;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:right;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;margin-right:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link label span{display:block;float:right;margin-top:5px;padding-left:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:right}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:0 5px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}#cancel-save,.item-controls a:hover,.js .sidebar-name{cursor:pointer}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper .menu-item-bar{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item .menu-item-transport:empty{display:none}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{display:inline-block;padding:12px 10px;color:#666;font-size:12px;line-height:18px}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;margin-left:0!important;text-indent:100%;outline:0;overflow:hidden}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.hidden-field,.nav-menus-php .blank-slate .menu-settings{display:none}.link-to-original a{padding-right:4px;font-style:normal}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:left;float:left;line-height:23px;margin:4px 0 1px}.nav-menus-php .delete-action{float:right;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0073aa;padding:1px 2px;color:#0073aa;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0073aa;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-right:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-right:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings dl{padding-right:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-right:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#a0a5aa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #b4b9be;margin:0 auto 10px;height:45px;width:100%;box-sizing:border-box}.sidebar-name,.widget-placeholder{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;left:0;bottom:0}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-right:7px;padding-left:7px}div.widget-liquid-left{margin:0;width:38%;float:right}div.widget-liquid-right{float:left;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 0 0 10px}div#widgets-left .sidebar-name .sidebar-name-arrow:before{left:0;top:4px;padding:4px 4px 4px 6px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{right:auto}.widget-title-action{float:left;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{left:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{float:none;position:relative;top:-2px;margin:-5px 5px}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.editwidget .widget-inside,.widget-control-edit{display:block;padding:0 15px}.widget-control-edit{color:#666;background:#EEE;line-height:43px;border-right:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-right:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget{display:none}.js .widgets-holder-wrap.closed .widget.ui-sortable-helper{display:block}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widget-description,.widget-inside,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-right:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#00a0d2}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 35px 10px 15px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;right:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#00a0d2;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;right:5px}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-left:5px}#available-widgets .widget .widget-top{cursor:pointer}#available-widgets .widget.ui-draggable-dragging .widget-top{cursor:move}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-left:none;padding-left:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-left:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:right}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:left}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:right;width:49%}#widgets-right .sidebars-column-1{margin-left:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}.site-icon-preview .favicon-preview{margin:5px 0 20px;overflow:hidden;position:relative;max-width:180px}.site-icon-preview .browser-title,.site-icon-preview .favicon{height:16px;right:88px;overflow:hidden;position:absolute;top:16px}.site-icon-preview .favicon{width:16px}.site-icon-preview .browser-title{right:109px}.site-icon-preview .app-icon-preview{background-color:#000;-webkit-border-radius:16px;border-radius:16px;height:64px;overflow:hidden;width:64px;margin-top:5px}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:700}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:0}}
\ No newline at end of file
index 13d66e20dea392f75d1d77726fc4c5d52ed27da9..14c10f9cd9ab49f7d4839ff465230dc317279e3c 100644 (file)
@@ -10,4 +10,5 @@
 @import url(about.css);
 @import url(nav-menus.css);
 @import url(widgets.css);
+@import url(site-icon.css);
 @import url(l10n.css);
index 0bc14bd1114b63a0c6941804f4ae6a7388c212ba..61f0bc17c505771a7ef37d8a84fcea84fe005ee4 100644 (file)
@@ -1,8 +1,8 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-left:20px}#wpcontent,#wpfooter{margin-left:160px}.folded #wpcontent,.folded #wpfooter{margin-left:36px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:right;clear:right;width:65%}.col-wrap{padding:0 7px}.alignleft{float:left}.alignright{float:right}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;-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)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#23282d;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#23282d;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:left;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:left;line-height:1.3em;font-size:14px}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 0 0 3px}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}.attention{color:#00a0d2}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 15px 4px 0;line-height:29px}.subtitle{color:#777;font-size:14px;padding-left:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-left:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#00a0d2;color:#fff}.wrap h2.long-header{padding-right:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alternate,.striped>tbody>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-right-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:none!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.notice-dismiss:before,.tagchecklist span a:before{background:0 0;color:#b4b9be;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#publishing-action{text-align:right;float:right;line-height:23px}#publishing-action .spinner{float:left}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}#save-post{float:left}.preview{float:right}#sticky-span{margin-left:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-left:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-items{float:left}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:right;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 5px 0 0;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#00a0d2}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin:0 1% 0 0;padding:10px;width:24%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-right:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-left:10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.wp-core-ui .notice.is-dismissible{padding-right:38px;position:relative}.notice-dismiss{position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer}.notice-dismiss:before{position:relative;top:0;left:0;line-height:20px}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss: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);color:#c00}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#00a0d2}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-left:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 20px 0 0}#screen-meta-links a{padding:3px 6px 3px 16px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 20px -1px 0;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#32373c}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{right:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 5px 0 0;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#b4b9be}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-right:6px}.metabox-prefs label input{margin:0 5px 0 2px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options{padding-top:10px}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-right:15px}.metabox-prefs .screen-options label{line-height:28px;padding-right:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 0 0 2px;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none;border:1px solid transparent;border-right:none;border-left:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #00a0d2;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widefat td,.widefat th{color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#32373c}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:right;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 4px -1px 0}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-left:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display:inline-block;visibility:hidden;float:right;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.spinner.is-active{visibility:visible}#template div{margin-right:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:left}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px;width:auto;height:auto}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-right:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:left}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;right:0;bottom:0;left:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;right:0;left:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-right:0;height:250px;bottom:250px;-webkit-background-size:cover;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 0 0 10px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:right;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;right:0;left:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:left;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;right:0;left:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;right:250px;bottom:0;left:0;margin-right:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:right;position:relative;top:0;right:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-left:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:left;margin-right:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:left}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:left}#plugin-information .counter-count{margin-left:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-right:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-right:4px}#plugin-information-footer{padding:15px 16px;position:absolute;right:0;bottom:0;left:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) center no-repeat #fcfcfc}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner-2x.gif) center/20px 20px no-repeat #fcfcfc;-webkit-background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:left;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:auto;right:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#00a0d2;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-right:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 3px 3px 12px;text-decoration:none}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{right:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#a0a5aa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 11px}.widget-top a.widget-action:focus:after{-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)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
+#ajax-loading,#screen-meta .screen-reader-text,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading,.row-actions,.spinner{visibility:hidden}.color-palette,.form-table,.media-item .describe{border-collapse:collapse}#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-left:20px}#wpcontent,#wpfooter{margin-left:160px}.folded #wpcontent,.folded #wpfooter{margin-left:36px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:right;clear:right;width:65%}.alignleft,.subsubsub{float:left}.col-wrap{padding:0 7px}.alignright{float:right}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;word-wrap:normal!important}#adminmenu .wp-submenu,#dashboard_quick_press .draft-title,#templateside,#the-comment-list td.comment,.dashboard-comment-wrap,.pre,.widefat *{word-wrap:break-word}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}body,p{font-size:13px}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#00a0d2}a:focus,a:focus .media-icon img{color:#124964;-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)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}.wrap>h1,h2{color:#23282d;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#23282d;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc}.side-info ul,ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead td,.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot td,.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat tfoot td,.widefat th,.widefat thead td{text-align:left;line-height:1.3em;font-size:14px}.widefat tfoot td input,.widefat th input,.widefat thead td input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-top:-1px}.widefat tbody th.check-column,.widefat tfoot td.check-column,.widefat thead td.check-column{padding:11px 0 0 3px}.widefat tfoot td.check-column,.widefat thead td.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}.subtitle,.wrap h1,.wrap h2{font-weight:400;margin:0}.wrap h1,.wrap h2{font-size:23px;font-weight:400;padding:9px 15px 4px 0;line-height:29px}.subtitle{color:#777;font-size:14px;padding-left:25px}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{margin-left:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover,.wrap .page-title-action:hover{background:#00a0d2;color:#fff}.wrap h1.long-header{padding-right:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alternate,.striped>tbody>:nth-child(odd),ul.striped>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-right-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot td,.widefat tfoot th,.widefat thead td,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee;user-select:none}.accordion-section-title,.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,.notice-dismiss:before,.tagchecklist span a:before,.welcome-panel .welcome-panel-close:before{background:0 0;color:#b4b9be;content:'\f153';display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:1px 0}#bulk-titles div a:hover:before,.tagchecklist span a:hover:before,.welcome-panel .welcome-panel-close:focus:before,.welcome-panel .welcome-panel-close:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap}#namediv td.first,#plugin-information-title,.no-break,.star-rating,.ui-autocomplete li{white-space:nowrap}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#publishing-action{text-align:right;float:right;line-height:23px}#publishing-action .spinner,#save-post{float:left}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}.preview{float:right}#sticky-span{margin-left:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-left:18px;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 10px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-items{float:left}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:right;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 5px 0 0;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#00a0d2}.show-filters .wp-filter .drawer-toggle:before,.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.filter-group{box-sizing:border-box;float:left;margin:0 1% 0 0;padding:10px;width:24%;box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group,.filtered-by .tag{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group,html.wp-toolbar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-right:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.spinner,input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-filter .button.clear-filters{display:none;margin-left:10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.notice-dismiss:focus,.widget-top a.widget-action:focus:after{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.wp-core-ui .notice.is-dismissible{padding-right:38px;position:relative}.notice-dismiss{position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#00a0d2}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-left:0!important}#screen-meta-links{margin:0 20px 0 0}#screen-meta{display:none;margin:0 20px -1px 0;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links .show-settings{border:0;background:0 0;-webkit-border-radius:0;border-radius:0;color:#777;line-height:1.7;padding:3px 6px 3px 16px}#screen-meta-links .show-settings:active,#screen-meta-links .show-settings:focus,#screen-meta-links .show-settings:hover{color:#32373c}#screen-meta-links .show-settings:after{right:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 5px 0 0;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#b4b9be}.hndle a,.widefat tfoot td,.widefat th,.widefat thead td{font-weight:400}#screen-meta-links .screen-meta-active:after{content:'\f142'}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-right:6px}.metabox-prefs label input{margin:0 5px 0 2px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options{padding-top:10px}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-right:15px}.metabox-prefs .screen-options label{line-height:28px;padding-right:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 0 0 2px;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none;border:1px solid transparent;border-right:none;border-left:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #00a0d2;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.nav-tab,.spinner{display:inline-block}.help-tab-content ul li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}html.wp-toolbar{padding-top:32px;box-sizing:border-box}.widefat td,.widefat th{color:#555}.widefat ol,.widefat p,.widefat tfoot tr td,.widefat tfoot tr th,.widefat thead tr td,.widefat thead tr th,.widefat ul{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}.postbox-container .meta-box-sortables{box-sizing:border-box}.postbox-container .meta-box-sortables,input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.js .accordion-section-title,.js .postbox .handlediv{cursor:pointer}.hndle a{font-size:11px}.postbox .handlediv{float:right;width:27px;height:30px}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}#templateside ul li a,.nav-tab{text-decoration:none}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;padding:4px 14px 6px;margin:-4px 4px -1px 0}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h1.nav-tab-wrapper,h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-left:10px}h1 .nav-tab,h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;float:right;vertical-align:middle;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.spinner.is-active{visibility:visible}#template div{margin-right:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:left}.attention,.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}#howto,.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}.media-icon{width:62px;text-align:center}.media-icon img{border:1px solid #e7e7e7;border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px}.post-categories,.post-categories li{display:inline}.importers td{padding-right:14px}.checkbox,.post-categories,.zerosize,fieldset{margin:0;padding:0}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}.edit-comment-author{font-size:14px;line-height:1.4;font-weight:600;color:#222;margin:2px 0 0 9px}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;border:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none}fieldset{border:0}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:left}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;right:0;bottom:0;left:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;right:0;left:0;height:56px;overflow:hidden;text-overflow:ellipsis}#plugin-information-title.with-banner{margin-right:0;height:250px;bottom:250px;-webkit-background-size:cover;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-box-sortables select,p.submit{max-width:100%}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 0 0 10px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:right;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;right:0;left:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:left;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;right:0;left:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;right:250px;bottom:0;left:0;margin-right:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:right;position:relative;top:0;right:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-left:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:left;margin-right:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:left}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:left}#plugin-information .counter-count{margin-left:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-right:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-right:4px}#plugin-information-footer{padding:15px 16px;position:absolute;right:0;bottom:0;left:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#postcustomstuff p.submit,#templateside h3,.alignleft h3{margin:0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) center no-repeat #fcfcfc}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner-2x.gif) center no-repeat #fcfcfc;-webkit-background-size:20px 20px;background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:left;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:auto;right:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#00a0d2;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-right:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;content:'\f142'}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:right;width:190px}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 3px 3px 12px;text-decoration:none}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{right:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.my-sites li a,form p.submit a.cancel:hover{text-decoration:none}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#a0a5aa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 11px}.widget-top a.widget-action:focus:after{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
  * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-left:none;border-right:none;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left/21px 37px repeat-x;-webkit-background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-left:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-right:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea: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)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#777}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:left;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-left:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#23282d}#adminmenuback{position:fixed;top:0;bottom:-120px;z-index:1}#adminmenu{clear:left;margin:12px 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:left;z-index:9990}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#b4b9be;color:rgba(240,245,250,.7)}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#00b9eb}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;left:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#32373c;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#32373c}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#191e23;color:#00b9eb}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0073aa;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;left:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:left;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6);padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6)}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before{color:#00b9eb}.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#a0a5aa}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-left:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{right:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#32373c}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 4px 8px 11px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 0 0 2px;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#00b9eb;color:#fff}#adminmenu li span.count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#a0a5aa;color:rgba(240,245,250,.6);-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#00b9eb}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:left;height:15px;margin:10px 8px 10px 11px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;left:-3px;top:-3px;color:#a0a5aa;color:rgba(240,245,250,.6);font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;left:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-right:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-left:0;padding-left:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 10px 10px 20px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-left:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;left:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;left:-1px;right:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;left:4px;padding-right:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-left:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#32373c}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:left;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;right:10px;padding:20px 15px 0 3px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;left:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 13px 3px 0;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-left:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:left}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#82878c;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 10px 0 0;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-left:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:left;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{float:right;position:relative;top:-5px;margin-left:5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#82878c}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:left;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 1px 1px 0}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:left}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:right;margin:0 12px 0 0}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:left;margin:0 5px 0 0}#dashboard-widgets #dashboard_activity h4{margin:0 0 8px 12px;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-left:12px;vertical-align:middle;position:relative;top:-1px;margin-right:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:left;margin-right:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-left:12px}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list .avatar{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-left:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{right:33px}#dashboard-widgets h4{color:#23282d;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-left:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-right:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;right:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:center -80px no-repeat;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-left:8px;border-top:5px solid #b4b9be;border-right:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#b4b9be;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#00a0d2}.post-com-count:hover:after{border-top:5px solid #00a0d2}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0073aa}strong .post-com-count:after{border-top:5px solid #0073aa}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .button{margin-right:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-left:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:left}.fixed .column-comments .vers{padding-left:3px}.fixed .column-comments a{float:left}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-left:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;left:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;left:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-left:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#82878c;content:'\f160';display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px 10px}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:left;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:0 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-right:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-left:2px}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#00a0d2}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#a0a5aa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-right:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 8px 0 0}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-right:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0073aa}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#00a0d2}.tablenav .view-switch{float:right;margin:5px 16px 0 8px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:15px 0;margin:0 20px 0 0}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#b4b9be;display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0073aa}.view-switch>a+a{margin-left:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both;line-height:2.5}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:2.5}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;line-height:2.5}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;line-height:2.5}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em}.inline-edit-row .inline-edit-or{margin:.2em 6px .2em 0;line-height:2.5}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:middle}.inline-edit-row fieldset label textarea{width:100%;height:4em;vertical-align:top}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.3em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:left}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:left;height:18px;margin:0 3px 0 -2px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 0 0 2px}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-left:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins .updated td,.plugins .updated th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.updated td,.plugins tr.active+tr.inactive.updated th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugin-update-tr.active td,.plugins .active th.check-column{border-left:4px solid #00a0d2}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second,.plugins .updated .row-actions,.plugins .updated .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 10px 8px 31px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-card .install-now:before,.plugin-card .update-now:before,.plugin-update-tr .update-message:before{color:#d54e21;display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-card .update-now:before,.plugin-update-tr .update-message:before{content:'\f463'}.plugin-update-tr .update-message:before{margin:0 8px 0 -2px}.plugin-card .install-now:before,.plugin-card .update-now:before{margin:3px 5px 0 -2px}.plugin-card .updating-message:before,.plugin-update-tr .updating-message:before{content:'\f463';-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.plugin-card .updated-message:before,.plugin-update-tr .updated-message:before{color:#79ba49;content:'\f147'}.plugins .plugin-update-tr .plugin-update{padding:0;border:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr:not(.updated) .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:left;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-left:0}.plugin-card:nth-child(even){margin-right:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-left:8px}.plugin-card:nth-child(even){margin-right:8px}.plugin-card:nth-child(3n+1){clear:both;margin-left:0}.plugin-card:nth-child(3n){margin-right:0}}@media screen and (max-width:782px){.plugin-card{margin-left:0;margin-right:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-left:148px;margin-right:120px}.plugin-card .action-links{position:absolute;top:20px;right:20px;width:120px}.plugin-action-buttons{clear:right;float:right;margin-left:2em;margin-bottom:1em;text-align:right}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:left;clear:left;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:right;float:right;clear:right;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;left:20px;width:128px;height:128px;margin:0 20px 20px 0}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table tr.site-deleted{background:#ff8573}.wp-list-table tr.site-spammed{background:#faafaa}.wp-list-table tr.site-archived{background:#ffebe8}.wp-list-table tr.site-mature{background:#fecac2}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-left:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:left}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-right:20px}.plugin-card .desc,.plugin-card .name{margin-right:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;right:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}.inline-edit-row .inline-edit-or{margin:0 6px 0 0}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;left:0;right:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-right:12px;padding-left:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;left:0;padding-left:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-left:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-left:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-left:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}@media screen and (max-width:600px){.tags .column-slug,.users .column-role{display:none}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:right;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:left}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:right}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) right bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) left bottom no-repeat}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 2px 0 0;top:0;left:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;left:50%;width:450px;margin-left:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-right:10px}#post-lock-dialog .post-locked-avatar{float:left;margin:0 20px 20px 0}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:left;margin-right:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist span a{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;display:block;float:left;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-left:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-right:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:left}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays-submit .button-cancel{margin-left:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-right:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .wrap>h2,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .wrap>h2,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) right bottom/11px 11px no-repeat;-webkit-background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) right bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 3px 6px 6px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 0 0 7px;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-left:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-left:1px solid #a0a5aa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-left:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:left}.revisions-next{float:right}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:right;float:left;margin-right:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:left;margin-left:6px;margin-right:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:right;margin-left:6px;margin-right:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-right:0;margin-left:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-left:0;margin-right:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;left:0;margin-left:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-left:0;margin-right:35px;left:auto;right:0}.revisions-tooltip-arrow>span{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:auto;right:20px}.ie8 .revisions-tooltip-arrow>span{left:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:0;margin-left:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#00a0d2;border:1px solid #0073aa;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;left:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px 0 0 -1px}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';right:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-left:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{left:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{right:0}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:600}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:right;margin-right:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-left:6px}.media-item .pinkynail{float:left;margin:2px 10px 0 3px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0073aa;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 0 10px 14px}.media-item .error-div a.dismiss{display:block;float:right;margin:0 10px 0 15px}.find-box{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:600px;overflow:hidden;margin-left:-300px;position:fixed;top:30px;bottom:30px;left:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;position:absolute;top:0;left:0;right:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;left:105px;position:absolute}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:left}#find-posts-input{width:140px;height:28px;margin:0 4px 0 0}.widefat .found-radio{padding-right:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;right:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#00a0d2}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;left:0;right:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #b4b9be;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#a0a5aa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;right:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#00a0d2}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;right:auto;left:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #b4b9be}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 10px 0 0;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 10px 0 0}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.media-button{margin-right:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;left:auto;right:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;right:0}.edit-attachment-frame .edit-media-header .left{right:102px}.edit-attachment-frame .edit-media-header .right{right:51px}.edit-attachment-frame .media-frame-title{left:0;right:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{left:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;right:0;left:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:left;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-left:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-right:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:right;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:left}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:left}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 8px 0 0;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#32373c}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 8px 0 0}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 8px 0 3px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 8px 0 3px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 8px 0 3px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-left:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 0 10px 12px}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;right:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{right:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{right:82px}.edit-attachment-frame .edit-media-header .right{right:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:left;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-left:20px}.themes-php .wp-filter-search{position:relative;top:-2px;left:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.notice,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:left;margin:0 4% 4% 0;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 3% 4% 0}.theme-browser .theme:nth-child(3n){margin-right:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;right:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-right:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-left:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;left:0;top:0;width:100%;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;right:25%;left:25%;background:#23282d;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme: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)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;right:0;left:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 6px 0 0;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-right:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .customize-control .theme.active .theme-name{padding-right:15px}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme a:after{display:block;content:'';background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;padding:0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;left:50%;margin-left:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme a:focus .theme-screenshot,.theme-browser .theme.add-new-theme a:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{background:#fff;color:#0073aa}.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{border-color:transparent;color:#fff;background:#0073aa;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-18px;padding-top:0;padding-bottom:48px}.theme-browser .theme.add-new-theme a:focus .theme-name,.theme-browser .theme.add-new-theme a:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;left:-20px;right:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header button{padding:0}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:right;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:left;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:"\f341"}.theme-overlay .theme-header .right:before{content:"\f345"}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;left:190px;right:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{left:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;left:0;right:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;left:0;right:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-right:5px;margin-bottom:5px}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"]{display:none}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;right:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;left:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;left:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #00a0d2}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:left}.theme-overlay .current-label{background:#32373c;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#23282d;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-left:10px}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#82878c;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-right:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-left:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#23282d;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-left:4px solid #00a0d2;font-size:14px;font-weight:400;margin-top:30px;padding:10px 10px 10px 20px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;left:auto;right:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 3% 3% 0}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-right:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-right:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 3% 3% 0}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-right:3%}.theme-browser .theme:nth-child(4n){margin-right:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-right:0}.theme-browser .theme:nth-child(even){margin-right:0}.theme-browser .theme:nth-child(odd){margin-right:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{left:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;right:0;bottom:0;left:0;padding:70px 20px 20px;border:none;z-index:100000;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-right:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-right:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-left:0}.theme-overlay .theme-actions .delete-theme{position:relative;right:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .wp-filter-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;left:50%;text-indent:0;margin-left:-40px}.single-theme .theme-wrap{margin:0 -12px 0 -10px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0073aa}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:left}}.rating{margin:15px 0 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;left:0;padding:0;margin:0;z-index:10;background:#eee;border-right:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}#customize-preview.wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat;-webkit-background-size:20px 20px}#customize-preview.wp-full-overlay-main.iframe-ready{background:0 0}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:left;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;left:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;left:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;left:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#b4b9be;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;left:0;z-index:50;display:block;width:19px;height:19px;margin-left:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;left:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-left:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:left;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;left:100%;line-height:20px;margin-left:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.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}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center/20px 20px no-repeat fixed #fff;-webkit-background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .star-rating{margin:7px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;margin:8px 10px 0 0;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}#customize-preview.wp-full-overlay-main,.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px/85px 85px no-repeat #0073aa;-webkit-background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap h2.nav-tab-wrapper{padding-left:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top;border-width:1px;white-space:nowrap}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;min-height:60px;color:#777}.about-wrap .two-col>div{position:relative;width:47.6%;margin-right:4.799999999%;float:left}.about-wrap .three-col>div{position:relative;width:29.95%;margin-right:4.999999999%;float:left}.about-wrap [class$=col] .last-feature{margin-right:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:50px 0 30px;font-size:2.2em;font-weight:300;line-height:1.3;text-align:left}.about-wrap .headline-feature h3{margin-top:30px;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;height:0;text-align:center}.about-wrap .feature-video embed{position:absolute;top:0;left:0;width:100%;height:100%}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:95%}.about-wrap .feature-section .col:nth-of-type(odd){float:left;margin:40px 5% 0 0;width:48%}.about-wrap .feature-section .col:nth-of-type(even){float:right;margin:40px 0 0;width:46%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.feature-section>div{margin-top:40px}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -15px 0 -5px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section{padding:0;border-bottom:none}.about-wrap .one-col>div,.about-wrap .three-col>div,.about-wrap .two-col .col:nth-of-type(n),.about-wrap .two-col>div{width:100%;margin:40px 0 0;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .two-col .col h3{margin-top:0}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .feature-list div{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-left:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-right:10px;border-bottom:1px solid #ccc}.about-wrap .headline-feature .feature-section div,.about-wrap .three-col div{width:100%!important;float:none!important}.about-wrap .dfw p{max-width:90%}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 3px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:left;margin-right:6px}.manage-menus .selected-menu{float:left;margin:5px 6px 0 0}.manage-menus .submit-btn{float:left;margin-top:1px}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-left:18%}.menu-settings dd{float:left;margin:0;width:100%}.menu-settings dt{float:left;clear:both;width:21.951%;padding:3px 0 0;margin-left:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:left;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:right;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations tr+tr td{padding-top:0}.widefat .menu-locations td{vertical-align:middle}.menu-location-title label{font-weight:700}.menu-location-menus select{float:left}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:left;width:160px;margin-right:5px}.locations-row-links{float:left;margin:6px 0 0 6px}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-right:3px;border-right:1px solid #ccc}#wpbody .open-label{display:block;float:left}#wpbody .open-label span{padding-right:10px}.js .input-with-default-title{color:#a0a5aa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:left;margin:6px 0 0 6px;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:left;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:left}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:0 5px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;margin-right:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-left:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:left;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0073aa;padding:1px 2px;color:#0073aa;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0073aa;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-left:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-left:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings dl{padding-left:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-left:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#a0a5aa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #b4b9be;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;right:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-left:7px;padding-right:7px}div.widget-liquid-left{margin:0;width:38%;float:left}div.widget-liquid-right{float:right;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 10px 0 0}div#widgets-left .sidebar-name .sidebar-name-arrow:before{right:0;top:4px;padding:4px 6px 4px 4px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{left:auto}.widget-title-action{float:right;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{right:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{float:none;position:relative;top:-2px;margin:-5px 5px}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-left:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-left:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget{display:none}.js .widgets-holder-wrap.closed .widget.ui-sortable-helper{display:block}.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-left:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#00a0d2}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 15px 10px 35px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;left:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#00a0d2;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;left:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-right:5px}#available-widgets .widget .widget-top{cursor:pointer}#available-widgets .widget.ui-draggable-dragging .widget-top{cursor:move}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-right:none;padding-right:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-right:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:left}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:right}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:left;width:49%}#widgets-right .sidebars-column-1{margin-right:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;user-select:none}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-left:none;border-right:none;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}.network-admin .edit-site-actions{margin-top:0}.my-sites{display:block;overflow:auto;zoom:1}.my-sites li{display:block;padding:8px 3%;min-height:130px;margin:0}@media only screen and (max-width:599px){.my-sites li{min-height:0}}@media only screen and (min-width:600px){.my-sites.striped li{background-color:#fff;position:relative}.my-sites.striped li:after{content:"";width:1px;height:100%;position:absolute;top:0;right:0;background:#ccc}}@media only screen and (min-width:600px) and (max-width:699px){.my-sites li{float:left;width:44%}.my-sites.striped li{background-color:#fff}.my-sites.striped li:nth-of-type(2n+1){clear:left}.my-sites.striped li:nth-of-type(2n+2):after{content:none}.my-sites li:nth-of-type(4n+1),.my-sites li:nth-of-type(4n+2){background-color:#f9f9f9}}@media only screen and (min-width:700px) and (max-width:1199px){.my-sites li{float:left;width:27.333333%;background-color:#fff}.my-sites.striped li:nth-of-type(3n+3):after{content:none}.my-sites li:nth-of-type(6n+1),.my-sites li:nth-of-type(6n+2),.my-sites li:nth-of-type(6n+3){background-color:#f9f9f9}}@media only screen and (min-width:1200px) and (max-width:1399px){.my-sites li{float:left;width:21%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(4n+1){clear:left}.my-sites.striped li:nth-of-type(4n+4):after{content:none}.my-sites li:nth-of-type(8n+1),.my-sites li:nth-of-type(8n+2),.my-sites li:nth-of-type(8n+3),.my-sites li:nth-of-type(8n+4){background-color:#f9f9f9}}@media only screen and (min-width:1400px) and (max-width:1599px){.my-sites li{float:left;width:16%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(5n+1){clear:left}.my-sites.striped li:nth-of-type(5n+5):after{content:none}.my-sites li:nth-of-type(10n+1),.my-sites li:nth-of-type(10n+2),.my-sites li:nth-of-type(10n+3),.my-sites li:nth-of-type(10n+4),.my-sites li:nth-of-type(10n+5){background-color:#f9f9f9}}@media only screen and (min-width:1600px){.my-sites li{float:left;width:12.666666%;padding:8px 2%;background-color:#fff}.my-sites.striped li:nth-of-type(6n+1){clear:left}.my-sites.striped li:nth-of-type(6n+6):after{content:none}.my-sites li:nth-of-type(12n+1),.my-sites li:nth-of-type(12n+2),.my-sites li:nth-of-type(12n+3),.my-sites li:nth-of-type(12n+4),.my-sites li:nth-of-type(12n+5),.my-sites li:nth-of-type(12n+6){background-color:#f9f9f9}}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left repeat-x;-webkit-background-size:21px 37px;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:0 0!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){#template div,#templateside{float:none;width:auto}html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active,.wrap .page-title-action,.wrap .page-title-action:active{padding:10px 15px;font-size:14px;white-space:nowrap}.wp-color-result{height:auto;padding-left:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-right:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template div{margin:0}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}.edit-comment-author{margin:2px 0 0}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open,div#post-body.metabox-holder.columns-1{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}}#pressthis-code-wrap,textarea{overflow:auto}@media screen and (max-width:320px){#network_dashboard_right_now .subsubsub{font-size:14px;text-align:left}}input,textarea{box-sizing:border-box}input[type=text],input[type=password],input[type=checkbox],input[type=color],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=radio],input[type=tel],input[type=time],input[type=url],input[type=week],input[type=search],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=text]:focus,input[type=password]:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=radio]:focus,input[type=tel]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=search]:focus,select:focus,textarea: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)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}#adminmenu,.network-admin.themes-php p.search-box{clear:left}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid input,.form-invalid input:focus,.form-invalid select,.form-invalid select:focus{border-color:#dc3232!important;-webkit-box-shadow:0 0 2px rgba(204,0,0,.8);box-shadow:0 0 2px rgba(204,0,0,.8)}.form-table .form-required.form-invalid td:after{content:'\f534';font:400 20px/1 dashicons;color:#dc3232;margin-left:-25px;vertical-align:middle}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}p.submit{text-align:left;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}button.wp-hide-pw>.dashicons{position:relative;top:3px}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass1-text,.pw-weak,.show-password #pass1{display:none}#pass-strength-result{background-color:#eee;border:1px solid #ddd;color:#23282d;margin:-2px 5px 5px 1px;padding:3px 5px;text-align:center;width:25em;box-sizing:border-box;opacity:0}#pass-strength-result,.color-option{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#pass-strength-result.short{background-color:#f1adad;border-color:#e35b5b;opacity:1}#pass-strength-result.bad{background-color:#fbc5a9;border-color:#f78b53;opacity:1}#pass-strength-result.good{background-color:#ffe399;border-color:#ffc733;opacity:1}#pass-strength-result.strong{background-color:#c1e1b9;border-color:#83c373;opacity:1}#pass1-text.short,#pass1.short{border-color:#e35b5b}#pass1-text.bad,#pass1.bad{border-color:#f78b53}#pass1-text.good,#pass1.good{border-color:#ffc733}#pass1-text.strong,#pass1.strong{border-color:#83c373}.indicator-hint{padding-top:8px}.show-password #pass1-text{display:inline-block}.form-table span.description.important{font-size:12px}p.search-box{float:right;margin:0}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading,input[type=email].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;text-align:left}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#adduser .form-field input,#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;box-sizing:border-box;margin-bottom:3px;cursor:pointer}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0}.color-palette td{height:20px;padding:0;border:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#777}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.setup-php textarea{max-width:100%}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}#search-sites,#search-users{max-width:100%}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%;max-height:85%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=text],.request-filesystem-credentials-form input[type=password]{display:block}.request-filesystem-credentials-dialog input[type=text],.request-filesystem-credentials-dialog input[type=password]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=public_key],.request-filesystem-credentials-dialog label[for=private_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:left;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-left:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=text],input[type=password],input[type=email],input[type=number],input[type=search]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat tfoot td input[type=checkbox],.widefat th input[type=checkbox],.widefat thead td input[type=checkbox]{margin-bottom:8px}.widefat tfoot td input[type=checkbox]:before,.widefat th input[type=checkbox]:before,.widefat thead td input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#adduser .form-field input,#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=text],.form-table td input[type=password],.form-table td input[type=email],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table .form-required.form-invalid td:after{float:right;margin:-30px 3px 0 0}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=text].small-text,input[type=password].small-text,input[type=number].small-text,input[type=search].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{display:inline;padding:4px 0 0;line-height:1.4em;font-size:14px}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{margin-bottom:0;padding-bottom:6px;padding-top:4px;padding-left:0}.form-table.permalink-structure td code{margin-left:32px}.form-table.permalink-structure td input[type=text]{margin-left:32px;margin-top:4px;width:96%}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}.wp-pwd{position:relative}.wp-pwd [type=text],.wp-pwd [type=password]{padding-right:40px}.wp-pwd button.button{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;line-height:2;margin:0;padding:5px 10px;position:absolute;right:0;top:0}.wp-pwd button.button:active,.wp-pwd button.button:focus,.wp-pwd button.button:hover{background:0 0}.wp-pwd .button .text{display:none}}@media only screen and (max-width:768px){.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;max-height:100%;position:fixed;top:0;margin:0;left:0}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#23282d}#adminmenuback{position:fixed;top:0;bottom:-120px;z-index:1}#adminmenu{margin:12px 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:left;z-index:9990}#adminmenu *{user-select:none}#adminmenu *,.theme-overlay .current-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#b4b9be;color:rgba(240,245,250,.7)}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#00b9eb}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;left:160px;overflow:visible}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#32373c;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#32373c}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#191e23;color:#00b9eb}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0073aa;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;left:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head{display:none}.folded #adminmenu .wp-menu-name{position:absolute;left:-999px}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:left;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6);padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6)}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before{color:#00b9eb}.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#a0a5aa}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-left:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{right:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#32373c}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#collapse-button,#collapse-button div{height:15px;width:15px}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 4px 8px 11px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 0 0 2px;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span{display:block;padding:0 6px}#adminmenu li span.count-0,.folded #collapse-menu span{display:none}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#00b9eb;color:#fff}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#a0a5aa;color:rgba(240,245,250,.6);-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#00b9eb}#collapse-button{float:left;margin:10px 8px 10px 11px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;left:-3px;top:-3px;color:#a0a5aa;color:rgba(240,245,250,.6);font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;left:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-right:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}.auto-fold #adminmenu .wp-menu-name{position:absolute;left:-999px}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #collapse-menu span,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-left:0;padding-left:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 10px 10px 20px}.auto-fold #adminmenu .wp-menu-name{position:static;margin-left:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;left:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;left:-1px;right:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;left:4px;padding-right:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-left:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#32373c}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:left;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{color:#00b9eb}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}#activity-widget #the-comment-list .comment-item:first-child,#dashboard_right_now .sub,.js #dashboard_quick_press .drafts{border-top:1px solid #eee}.activity-block,.dashboard-widget-control-form,.mu-storage,.tablenav .actions,th.sortable a,th.sorted a{overflow:hidden}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:10px;right:10px;padding:10px 15px 10px 21px;font-size:13px;line-height:1.23076923;text-decoration:none}.welcome-panel .welcome-panel-close:before{position:absolute;top:8px;left:0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 13px 3px 0;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-left:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:left}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{background:0 0!important}.welcome-panel .welcome-icon:before{color:#82878c;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 10px 0 0;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none;padding:0 0 8px}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-left:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;display:inline-block;width:100%}#dashboard_right_now li{width:50%;float:left;margin-bottom:10px}#dashboard_right_now .inside{padding:0}#dashboard_right_now .main{padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{float:right;position:relative;top:-5px;margin-left:5px}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#82878c}#dashboard_right_now .sub{color:#777;background:#f5f5f5;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_quick_press .drafts li time,#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:left;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 1px 1px 0}#dashboard_quick_press form{margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:left}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:right;margin:0 12px 0 0}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{margin:0 5px 0 0}#dashboard-widgets #dashboard_activity h4{margin:0 0 8px 12px;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-left:12px;vertical-align:middle;position:relative;top:-1px;margin-right:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{margin-bottom:8px}#future-posts ul span,#published-posts ul span{display:inline-block;margin-right:5px;min-width:150px;color:#777}.activity-block{border-bottom:1px solid #eee;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-left:12px}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list .avatar{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-left:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a,#dashboard_browser_nag a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{right:33px}#dashboard-widgets h4{color:#23282d;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-left:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container,#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-right:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:40px;white-space:nowrap;width:20px;height:20px;padding:5px;top:5px;right:5px}.welcome-panel .welcome-panel-close:before{font-size:20px;top:5px;left:-35px}}.response-links{display:block;margin-bottom:1em}.response-links a{display:block}.response-links a.comments-edit-item-link{font-weight:600}.response-links a.comments-view-item-link{font-size:12px}.post-com-count-wrapper strong{font-weight:400}.comments-view-item-link{display:inline-block;clear:both}.column-comments .post-com-count-wrapper,.column-response .post-com-count-wrapper{white-space:nowrap;word-wrap:normal}.column-comments .post-com-count,.column-response .post-com-count{display:inline-block;vertical-align:top}.column-comments .post-com-count-approved,.column-comments .post-com-count-no-comments,.column-response .post-com-count-approved,.column-response .post-com-count-no-comments{margin-top:5px}.column-comments .comment-count-approved,.column-comments .comment-count-no-comments,.column-response .comment-count-approved,.column-response .comment-count-no-comments{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;padding:0 8px;min-width:24px;height:2em;-webkit-border-radius:5px;border-radius:5px;background-color:#72777c;color:#fff;font-size:11px;line-height:21px;text-align:center}.ie8 .column-comments .comment-count-approved,.ie8 .column-comments .comment-count-no-comments,.ie8 .column-response .comment-count-approved,.ie8 .column-response .comment-count-no-comments{min-width:0}.column-comments .post-com-count-approved:after,.column-comments .post-com-count-no-comments:after,.column-response .post-com-count-approved:after,.column-response .post-com-count-no-comments:after{content:"";display:block;margin-left:8px;width:0;height:0;border-top:5px solid #72777c;border-right:5px solid transparent}.column-comments .post-com-count-approved:focus .comment-count-approved,.column-comments .post-com-count-approved:hover .comment-count-approved,.column-response .post-com-count-approved:focus .comment-count-approved,.column-response .post-com-count-approved:hover .comment-count-approved{background:#0073aa}.column-comments .post-com-count-approved:focus:after,.column-comments .post-com-count-approved:hover:after,.column-response .post-com-count-approved:focus:after,.column-response .post-com-count-approved:hover:after{border-top-color:#0073aa}.column-comments .post-com-count-pending,.column-response .post-com-count-pending{position:relative;left:-3px;padding:0 5px;min-width:7px;height:17px;border:2px solid #fff;-webkit-border-radius:11px;border-radius:11px;background:#ca4a1f;color:#fff;font-size:9px;line-height:17px;text-align:center}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .button{margin-right:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#commentsdiv #edithead .inside,#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-left:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}.sorting-indicator:before,th .comment-grey-bubble:before{speak:none;-moz-osx-font-smoothing:grayscale;position:relative;text-decoration:none!important;color:#444}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;display:inline-block;padding:0;top:4px;left:-4px;vertical-align:top;-webkit-font-smoothing:antialiased}.sorting-indicator:before,th.desc a:focus span.sorting-indicator:before,th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:5.5em;padding:8px 0;text-align:left}.fixed .column-comments .vers{padding-left:3px}td.column-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;font-size:14px}td.column-title p,td.plugin-title p{margin:6px 0}table.media .column-title .media-icon{float:left;min-height:60px;margin:0 9px 0 0}table.media .column-title .media-icon img{max-width:60px;height:auto;vertical-align:top}table.media .column-title .has-media-icon~.row-actions{margin-left:70px}table.media .column-title .filename{margin-bottom:.2em}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead td,#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv #edithead .inside input{vertical-align:middle;width:160px}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-left:7px}.sorting-indicator:before{font:400 20px/1 dashicons;display:inline-block;padding:0;top:-4px;left:-8px;line-height:10px;vertical-align:top;-webkit-font-smoothing:antialiased}.column-comments .sorting-indicator:before{top:0;left:-10px}.wp-list-table .toggle-row:before,th.asc a:focus span.sorting-indicator:before,th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}.wp-list-table .toggle-row{position:absolute;right:8px;top:10px;display:none;padding:0;width:40px;height:40px;border:none;outline:0;background:0 0}.wp-list-table .toggle-row:hover{cursor:pointer}.wp-list-table .toggle-row:focus:before{-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)}.ie8 .wp-list-table .toggle-row:focus:before{outline:#5b9dd9 solid 1px}.wp-list-table .toggle-row:active{-webkit-box-shadow:none;box-shadow:none}.wp-list-table .toggle-row:before{position:absolute;top:-5px;left:10px;-webkit-border-radius:50%;border-radius:50%;display:block;padding:1px 2px 1px 0;color:#666;font:400 20px/1 dashicons;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;speak:none}.wp-list-table .is-expanded .toggle-row:before{content:'\f142'}tr.wp-locked .locked-indicator{margin-left:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#82878c;content:'\f160';display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;padding:7px 7px 8px 10px}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:left;cursor:pointer}th.asc a:focus span.sorting-indicator,th.asc:hover span.sorting-indicator,th.desc a:focus span.sorting-indicator,th.desc:hover span.sorting-indicator,th.sorted .sorting-indicator{display:block}.tablenav-pages a,.tablenav-pages-navspan{font-weight:600;padding:0 2px}.tablenav-pages .current-page{margin:0 2px 0 0;padding-bottom:5px;font-size:13px;text-align:center}.tablenav .total-pages{margin-right:2px}.tablenav #table-paging{margin-left:2px}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:right;height:28px;margin-top:3px;cursor:default;color:#555}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a,.tablenav-pages-navspan{display:inline-block;min-width:17px;border:1px solid #d2d2d2;padding:3px 5px 7px;background:#e4e4e4;font-size:16px;line-height:1;font-weight:400;text-align:center}.tablenav-pages-navspan{height:16px;border-color:#e8e8e8;background:#ebebeb;color:#b4b4b4}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{border-color:#5b9dd9;color:#fff;background:#00a0d2;-webkit-box-shadow:none;box-shadow:none;outline:0}.tablenav .displaying-num{margin-right:7px}.tablenav .one-page .displaying-num{display:inline-block;margin-top:5px;margin-right:0}.tablenav .actions{padding:2px 8px 0 0}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-right:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0073aa}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#00a0d2}.tablenav .view-switch{float:right;margin:0 5px;padding-top:3px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:12px 0;margin:0 8px 0 2px}.media-toolbar.wp-filter .view-switch{margin:0 12px 0 2px}.view-switch a{float:left;width:28px;height:28px;text-align:center;line-height:24px;text-decoration:none}.view-switch a:before{color:#b4b9be;display:inline-block;font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch a:focus:before,.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0073aa}.view-switch .view-list:before{content:'\f163'}.view-switch .view-excerpt:before{content:'\f164'}.view-switch .view-grid:before{content:'\f509'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}.row-actions,.row-actions-visible{padding:2px 0 0}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%}#bulk-titles div a,.inline-edit-row fieldset .inline-edit-date,.plugin-card,.quick-edit-row-post fieldset label.inline-edit-status{float:left}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both;line-height:2.5}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:2.5;text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0;font-style:italic}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;line-height:2.5}.inline-edit-row fieldset.inline-edit-date label{display:inline-block;margin:0;line-height:1.5;vertical-align:baseline}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title,.inline-edit-row fieldset.inline-edit-date legend{display:block;float:left;width:6em;line-height:2.5}#posts-filter fieldset.inline-edit-date legend{padding:0}.inline-edit-row fieldset.inline-edit-date select{margin:1px;line-height:28px}.inline-edit-row fieldset .timestamp-wrap,.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:6em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em}.inline-edit-row .inline-edit-or{margin:.2em 6px .2em 0;line-height:2.5}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:middle}.inline-edit-row fieldset label textarea{width:100%;height:4em;vertical-align:top}#bulk-titles,ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.3em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{margin:0;background-color:#fff}#bulk-titles{display:block;margin:0 0 5px;line-height:140%}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;height:18px;margin:0 3px 0 -2px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 0 0 2px}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot td.check-column,.plugins thead td.check-column{padding-left:6px}#update-plugins-table tfoot td.check-column,#update-plugins-table thead td.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins .updated td,.plugins .updated th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.updated td,.plugins tr.active+tr.inactive.updated th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugin-update-tr.active td,.plugins .active th.check-column{border-left:4px solid #00a0d2}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second,.plugins .updated .row-actions,.plugins .updated .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;margin:0 10px 8px 31px;padding:6px 12px 8px 40px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-card .install-now:before,.plugin-card .update-now:before,.plugin-update-tr .update-message:before{color:#d54e21;display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-card .update-now:before,.plugin-update-tr .update-message:before{content:'\f463'}.plugin-update-tr .update-message:before{margin:0 10px 0 -30px}.plugin-card .install-now:before,.plugin-card .update-now:before{margin:3px 5px 0 -2px}.plugin-card .updating-message:before,.plugin-update-tr .updating-message:before{content:'\f463';-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.plugin-card .updated-message:before,.plugin-update-tr .updated-message:before{color:#79ba49;content:'\f147'}.wp-list-table.plugins tbody tr.plugin-update-tr td.plugin-update{overflow:hidden;padding:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr:not(.updated) .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-left:0}.plugin-card:nth-child(even){margin-right:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-left:8px}.plugin-card:nth-child(even){margin-right:8px}.plugin-card:nth-child(3n+1){clear:both;margin-left:0}.plugin-card:nth-child(3n){margin-right:0}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-left:148px;margin-right:120px}.plugin-card .action-links{position:absolute;top:20px;right:20px;width:120px}.plugin-action-buttons{clear:right;float:right;margin-left:2em;margin-bottom:1em;text-align:right}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:left;clear:left;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:right;float:right;clear:right;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-icon,.plugin-icon img{width:128px;height:128px}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;left:20px;margin:0 20px 20px 0}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table tr.site-deleted{background:#ff8573}.wp-list-table tr.site-spammed{background:#faafaa}.wp-list-table tr.site-archived{background:#ffebe8}.wp-list-table tr.site-mature{background:#fecac2}.sites.fixed .column-lastupdated,.sites.fixed .column-registered{width:20%}.sites.fixed .column-users{width:80px}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-left:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:left}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-right:20px}.plugin-card .desc,.plugin-card .name{margin-right:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.plugins #the-list tr td,.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.form-wrap>p,.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num,.tablenav.top .tablenav-pages.one-page,.wp-list-table th.column-primary~th,.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){display:none}.view-switch a{width:36px;height:36px;line-height:33px}.tablenav.bottom .displaying-num{position:absolute;right:0;top:11px;margin:0;font-size:14px}.tablenav .tablenav-pages{width:100%;height:auto;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links{font-size:16px}.tablenav-pages .pagination-links a,.tablenav-pages-navspan{padding:9px 16px 12px;font-size:18px}.tablenav-pages-navspan{height:18px}.tablenav-pages .pagination-links .current-page{padding:8px 9px 9px;font-size:16px}.comment-count{font-size:14px}.wp-list-table thead th.column-primary{width:100%}.wp-list-table tr th.check-column{display:table-cell;width:35px}.wp-list-table .column-primary .toggle-row{display:block}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){position:relative;clear:both;display:block;width:auto!important}.wp-list-table td.column-primary{padding-right:50px}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){padding:3px 8px 3px 35%}.wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before{position:absolute;left:10px;display:block;overflow:hidden;width:32%;content:attr(data-colname);white-space:nowrap;text-overflow:ellipsis}.wp-list-table .is-expanded td:not(.hidden){display:block!important;overflow:hidden}.column-posts,.widefat .num{text-align:left}#comments-form .fixed .column-author{display:none!important}.fixed .column-comment .comment-author{display:block}#the-comment-list .is-expanded td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list .is-expanded td:last-child{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.post-com-count .screen-reader-text{position:static;width:auto;height:auto;margin:0}.column-comments .post-com-count-approved:after,.column-comments .post-com-count-no-comments:after,.column-response .post-com-count-approved:after,.column-response .post-com-count-no-comments:after{content:none}.column-comments .post-com-count [aria-hidden=true],.column-response .post-com-count [aria-hidden=true]{display:none}.column-comments .post-com-count-wrapper,.column-response .post-com-count-wrapper{white-space:normal}.column-comments .post-com-count-wrapper>a,.column-response .post-com-count-wrapper>a{display:block}.column-comments .post-com-count-approved,.column-comments .post-com-count-no-comments,.column-response .post-com-count-approved,.column-response .post-com-count-no-comments{margin-top:0;margin-right:.5em}.column-comments .post-com-count-pending,.column-response .post-com-count-pending{position:static;height:auto;min-width:0;padding:0;border:none;-webkit-border-radius:0;border-radius:0;background:0 0;color:#bb2a2a;font-size:inherit;line-height:inherit;text-align:left}.column-comments .post-com-count-pending:hover,.column-response .post-com-count-pending:hover{color:#dc3232}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong,table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}.inline-edit-row fieldset label span.title,.inline-edit-row fieldset.inline-edit-date legend{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset .timestamp-wrap,.inline-edit-row fieldset label span.input-text-wrap{margin-left:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}.inline-edit-row .inline-edit-or{margin:0 6px 0 0}#bulk-titles div{margin:.8em .3em}.plugin-card,.plugin-update-tr .update-message{margin-left:0}#bulk-titles div a{height:22px}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.comments-box .toggle-row,.wp-list-table.plugins .toggle-row{display:none}#wpbody-content .wp-list-table.plugins td{display:block;width:auto;padding:10px 9px}#wpbody-content .wp-list-table.plugins .column-description{padding-top:2px}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins #the-list .update td,.plugins #the-list .update th,.plugins #the-list tr>td:not(:last-child),.wp-list-table.plugins #the-list .theme-title{-webkit-box-shadow:none;box-shadow:none;border-top:none}.plugins tbody{padding:1px 0 0}.plugins .plugin-update-tr:before,.plugins tr.active+tr.inactive td.column-description,.plugins tr.active+tr.inactive th.check-column{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .plugin-update-tr:before{content:'';display:table-cell}.plugins .active.update+.plugin-update-tr:before{border-left:4px solid #d54e21;background-color:#fef7f1}.plugins #the-list .plugin-update-tr .plugin-update{border-left:none}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-card{margin-right:0;width:100%}}#save-action .spinner,#show-comments .spinner,#show-comments a,.postarea h3 label{float:left}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#lost-connection-notice .spinner{visibility:visible;float:left;margin:0 5px 0 0}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-content-editor-container,.postbox,form#tags-filter{position:relative}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{min-width:255px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#post-status-info,.postbox{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04)}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js,.ui-tabs-hide,.wp-editor-expand #content-resize-handle,.wp-hidden-children .wp-hidden-child{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:right}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) right bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) left bottom no-repeat}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-tinymce .mce-wp-dfw,.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 2px 0 0;top:0;left:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;max-height:70%;left:50%;width:450px;margin-left:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005;overflow-y:auto}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-right:10px}#post-lock-dialog .post-locked-avatar{float:left;margin:0 20px 20px 0}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:left;margin-right:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt{display:block;margin:12px 0 0;height:4em;width:100%}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist span,.tagchecklist span a{overflow:hidden;display:block;float:left}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist span{margin-right:25px;font-size:13px;line-height:1.8em;cursor:default;max-width:100%;text-overflow:ellipsis}.tagchecklist span a{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;text-indent:0;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-left:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-right:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}.ac_results,.revisions-diff,.revisions-meta,.revisions-tickmarks{background-color:#fff}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=text],.form-field input[type=password],.form-field input[type=email],.form-field input[type=number],.form-field input[type=tel],.form-field input[type=url],.form-field input[type=search],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw,.ac_results{display:none}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid grey}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:left}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.imgedit-group-top h3 a,a.imgedit-help-toggle,table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}#comment-status-radio label,.links-table td,.links-table th{padding:5px 0}.comment-ays-submit .button-cancel{margin-left:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td label{margin-right:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .update-nag,.focus-on .wrap>h1,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .update-nag,.focus-off .wrap>h1,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) right bottom no-repeat;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) right bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}.tagsdiv .newtag,ul.categorychecklist li{margin-bottom:15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:1.4}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 3px 6px 6px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 0 0 7px;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-left:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}#publishing-action .spinner{float:none;margin-top:-2px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div{position:absolute;height:100%;border-left:1px solid #a0a5aa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-left:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:left}.revisions-next{float:right}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow:after,.revisions-diff{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}.about-wrap h2 .nav-tab,.about-wrap p.wp-credits-list a,.imgedit-wrap .nowrap,.nav-menus-php .item-edit,.sidebar-name h3,.widget-title h4{white-space:nowrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:right;float:left;margin-right:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:left;margin-left:6px;margin-right:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:right;margin-left:6px;margin-right:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-right:0;margin-left:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-left:0;margin-right:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;left:0;margin-left:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-left:0;margin-right:35px;left:auto;right:0}.revisions-tooltip-arrow>span{left:20px;top:-20px;width:25px;height:25px;transform:rotate(45deg)}.arrow:after,.revisions-tooltip-arrow>span{content:"";position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:auto;right:20px}.ie8 .revisions-tooltip-arrow>span{left:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:0;margin-left:-35px;bottom:90px;z-index:10000}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{z-index:9999;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);left:20px;top:-20px;width:25px;height:25px;transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#00a0d2;border:1px solid #0073aa;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;left:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.media-item .media-item-info tr,.wp-slider .ui-slider-range{background-color:transparent}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px 0 0 -1px}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';right:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-left:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{left:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{right:0}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}#media-items:empty,.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:600}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:right;margin-right:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.js .html-uploader #plupload-upload-ui,.media-item .startclosed,.media-item .startopen{display:none}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}.media-item .filename{line-height:36px;overflow:hidden;margin-left:6px}.media-item .pinkynail{float:left;margin:2px 10px 0 3px;max-width:40px;max-height:32px}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0073aa;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 0 10px 14px}.media-item .error-div a.dismiss{display:block;float:right;margin:0 10px 0 15px}.find-box{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:600px;overflow:hidden;margin-left:-300px;position:fixed;top:30px;bottom:30px;left:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;position:absolute;top:0;left:0;right:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;left:105px;position:absolute}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:left}#find-posts-input{width:140px;height:28px;margin:0 4px 0 0}.widefat .found-radio{padding-right:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;right:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#00a0d2}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;left:0;right:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #b4b9be;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#a0a5aa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title,.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border-left:4px solid #dd3d36;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);background-color:#fff}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:12px 0;padding:4px 0 0;border:none;-webkit-box-shadow:none;box-shadow:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{top:-10px;right:-14px;padding:10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f153";display:block;font:400 16px/1 dashicons;color:#bbb}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#c00}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;right:auto;left:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #b4b9be}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 10px 0 0;font-size:14px}.media-frame.mode-grid.mode-edit .media-toolbar-secondary>.select-mode-toggle-button{margin:0 8px 0 0;vertical-align:middle}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 10px 0 0}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:16px}.attachments-browser .media-toolbar-secondary>.media-button{margin-right:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;left:auto;right:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;right:0}.edit-attachment-frame .edit-media-header .left{right:102px}.edit-attachment-frame .edit-media-header .right{right:51px}.edit-attachment-frame .media-frame-title{left:0;right:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{left:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;right:0;left:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:left;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-left:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-right:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:right;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) center no-repeat #fff;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.A1B1 .button,.A1B1 .spinner,.wp_attachment_image .button,.wp_attachment_image .spinner{float:left}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.no-js .wp_attachment_image .button{display:none}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 8px 0 0;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#32373c}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 8px 0 0}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 8px 0 3px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 8px 0 3px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 8px 0 3px}.imgedit-applyto img{margin:0 8px 0 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0 0}.imgedit-submit-btn{margin-left:20px}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 0 10px 12px}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;right:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{right:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{right:82px}.edit-attachment-frame .edit-media-header .right{right:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h1{float:left;margin-bottom:15px}.network-admin.themes-php .wrap h1{margin-bottom:0}.themes-php .wrap h1 .button{margin-left:20px}.themes-php .wp-filter-search{position:relative;top:-2px;left:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.notice,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:left;margin:0 4% 4% 0;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 3% 4% 0}.theme-browser .theme:nth-child(3n){margin-right:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;right:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-right:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-left:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;left:0;top:0;width:100%;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0;position:absolute;top:35%;right:25%;left:25%;background:#23282d;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme: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)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;right:0;left:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 6px 0 0;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-right:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .customize-control .theme.active .theme-name{padding-right:15px}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme a:after{display:block;content:'';background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;padding:0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;left:50%;margin-left:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme a:focus .theme-screenshot,.theme-browser .theme.add-new-theme a:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{background:#fff;color:#0073aa}.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{border-color:transparent;color:#fff;background:#0073aa;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-18px;padding-top:0;padding-bottom:48px}.theme-browser .theme.add-new-theme a:focus .theme-name,.theme-browser .theme.add-new-theme a:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;left:-20px;right:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10000}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header button{padding:0}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:right;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:left;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:"\f341"}.theme-overlay .theme-header .right:before{content:"\f345"}.theme-overlay .theme-about:after,.theme-overlay .theme-wrap:after{clear:both;visibility:hidden;content:".";display:block;height:0}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;left:190px;right:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:10000;box-sizing:border-box;-webkit-overflow-scrolling:touch}.theme-overlay .theme-actions,.theme-overlay .theme-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}body.folded .theme-overlay .theme-wrap{left:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;left:0;right:0;overflow:auto;padding:2% 4%}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"],.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;left:0;right:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-right:5px;margin-bottom:5px}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;right:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot,.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;left:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;left:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #00a0d2}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:left}.theme-overlay .current-label{background:#32373c;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;user-select:none}.theme-overlay .theme-name{color:#23282d;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-left:10px}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#82878c;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-right:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-left:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#23282d;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-left:4px solid #00a0d2;font-size:14px;font-weight:400;margin-top:30px;padding:10px 10px 10px 20px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;left:auto;right:auto;top:auto;bottom:auto;z-index:10}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 3% 3% 0}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-right:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-right:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 3% 3% 0}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-right:3%}.theme-browser .theme:nth-child(4n){margin-right:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-right:0}.theme-browser .theme:nth-child(even){margin-right:0}.theme-browser .theme:nth-child(odd){margin-right:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{left:65px}}@media only screen and (max-width:780px){.theme-browser .theme.active .theme-name span,.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;right:0;bottom:0;left:0;padding:70px 20px 20px;border:none;z-index:100000;position:fixed}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:0;width:auto}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-right:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-right:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-left:0}.theme-overlay .theme-actions .delete-theme{position:relative;right:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wp-filter-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;left:50%;text-indent:0;margin-left:-40px}.single-theme .theme-wrap{margin:0 -12px 0 -10px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0073aa}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php .wp-filter{padding:0 20px}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.wp-full-overlay,.wp-full-overlay-sidebar{left:0;bottom:0;top:0;height:100%;position:fixed}.upload-plugin,body.show-upload-theme .upload-theme{display:block}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser,p.no-themes{display:none}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}p.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:left}}.theme-details .star-rating{margin:15px 0 0}.theme-details .star-rating span:before{color:#ffb900;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.star-rating.rating-10 span.one:before,.star-rating.rating-30 span.two:before,.star-rating.rating-50 span.three:before,.star-rating.rating-70 span.four:before,.star-rating.rating-90 span.five:before{content:"\f459"}.star-rating.rating-100>span:before,.star-rating.rating-20 span.one:before,.star-rating.rating-30 span.one:before,.star-rating.rating-40 span.one:before,.star-rating.rating-40 span.two:before,.star-rating.rating-50 span.one:before,.star-rating.rating-50 span.two:before,.star-rating.rating-60 span.one:before,.star-rating.rating-60 span.three:before,.star-rating.rating-60 span.two:before,.star-rating.rating-70 span.one:before,.star-rating.rating-70 span.three:before,.star-rating.rating-70 span.two:before,.star-rating.rating-80 span.four:before,.star-rating.rating-80 span.one:before,.star-rating.rating-80 span.three:before,.star-rating.rating-80 span.two:before,.star-rating.rating-90 span.four:before,.star-rating.rating-90 span.one:before,.star-rating.rating-90 span.three:before,.star-rating.rating-90 span.two:before{content:"\f155"}.theme-details .star-rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;overflow:visible;right:0;min-width:0}.wp-full-overlay-sidebar{box-sizing:border-box;width:300px;padding:0;margin:0;z-index:10;background:#eee;border-right:none}.widget,.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible;margin-left:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}#customize-preview.wp-full-overlay-main{background:url(../images/spinner.gif) center center no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-preview.wp-full-overlay-main.iframe-ready{background:0 0}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:left;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;left:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;left:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;left:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#b4b9be;background:#eee;cursor:default;pointer-events:none}.wp-core-ui .wp-full-overlay .collapse-sidebar{position:fixed;bottom:8px;left:10px;padding:0;color:#656a6f;outline:0;line-height:1;background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.wp-core-ui .wp-full-overlay .collapse-sidebar:focus,.wp-core-ui .wp-full-overlay .collapse-sidebar:hover{color:#0073aa}.wp-full-overlay .collapse-sidebar-arrow,.wp-full-overlay .collapse-sidebar-label{display:inline-block;vertical-align:middle;line-height:20px}.wp-full-overlay .collapse-sidebar-arrow{width:20px;height:20px;margin:0 2px;-webkit-border-radius:50%;border-radius:50%;overflow:hidden}.wp-full-overlay .collapse-sidebar:focus .collapse-sidebar-arrow,.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-arrow{-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)}.wp-full-overlay .collapse-sidebar-label{margin-left:3px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .collapse-sidebar-arrow:before{display:block;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180.001deg);-ms-transform:rotate(180.001deg);transform:rotate(180.001deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.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}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center no-repeat fixed #fff;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .theme-description{float:left;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;margin:8px 10px 0 0;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center no-repeat #fff;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}#customize-preview.wp-full-overlay-main,.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap .jetpack-video-wrapper{margin-bottom:0}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px no-repeat #0073aa;-webkit-background-size:85px 85px;background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap h2.nav-tab-wrapper{padding-left:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top;border-width:1px}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;min-height:60px;color:#777}.about-wrap [class$=col] .col{float:left;position:relative}.about-wrap .two-col .col{margin-right:4.799999999%;width:47.6%}.about-wrap .three-col .col{margin-right:4.999999999%;width:29.95%}.about-wrap .three-col .col:nth-of-type(3n),.about-wrap .two-col .col:nth-of-type(2n){margin-right:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:50px 0 30px;font-size:2.2em;font-weight:300;line-height:1.3;text-align:left}.about-wrap .headline-feature h3{margin-top:30px;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;height:0;text-align:center}.about-wrap .feature-video embed{position:absolute;top:0;left:0;width:100%;height:100%}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:95%}.about-wrap .changelog.feature-section .col,.about-wrap .feature-section:not(.under-the-hood) .col{margin-top:40px}.about-wrap .feature-section .media-container{border:1px solid #ddd;overflow:hidden}.about-wrap .feature-section .svg-container{padding:50px 0;text-align:center;background-color:#e1e1e3}.about-wrap .feature-section .svg-container img{max-width:150px}.about-wrap .changelog{margin-bottom:40px}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -15px 0 -5px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section{padding:0;border-bottom:none}.about-wrap [class$=col] .col{float:none;width:100%;margin:40px 0 0;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .feature-list .col{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-left:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-right:10px;border-bottom:1px solid #ccc}.about-wrap .feature-section .svg-container{padding-top:20px;padding-bottom:20px}.about-wrap .headline-feature .feature-section .col,.about-wrap .three-col .col{width:100%!important;float:none!important}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 3px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:left;margin-right:6px}.manage-menus .selected-menu{float:left;margin:5px 6px 0 0}.manage-menus .submit-btn{float:left;margin-top:1px}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-left:18%}.menu-settings dd{float:left;margin:0;width:100%}.menu-settings dt{float:left;clear:both;width:21.951%;padding:3px 0 0;margin-left:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#add-custom-link .howto,#cancel-save{font-size:12px}#menu-management-liquid{float:left;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:right;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations tr+tr td{padding-top:0}.widefat .menu-locations td{vertical-align:middle}.menu-location-title label{font-weight:700}.menu-location-menus select{float:left}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:left;width:160px;margin-right:5px}.locations-row-links{float:left;margin:6px 0 0 6px}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-right:3px;border-right:1px solid #ccc}#wpbody .open-label{display:block;float:left}#wpbody .open-label span{padding-right:10px}.js .input-with-default-title{color:#a0a5aa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:left;margin:6px 0 0 6px;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:left;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;margin-left:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:left}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:0 5px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}#cancel-save,.item-controls a:hover,.js .sidebar-name{cursor:pointer}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper .menu-item-bar{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport .menu-item-bar{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item .menu-item-transport:empty{display:none}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{display:inline-block;padding:12px 10px;color:#666;font-size:12px;line-height:18px}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;margin-right:0!important;text-indent:100%;outline:0;overflow:hidden}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.hidden-field,.nav-menus-php .blank-slate .menu-settings{display:none}.link-to-original a{padding-left:4px;font-style:normal}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:4px 0 1px}.nav-menus-php .delete-action{float:left;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0073aa;padding:1px 2px;color:#0073aa;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0073aa;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-left:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-left:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings dl{padding-left:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-left:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#a0a5aa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #b4b9be;margin:0 auto 10px;height:45px;width:100%;box-sizing:border-box}.sidebar-name,.widget-placeholder{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;right:0;bottom:0}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-left:7px;padding-right:7px}div.widget-liquid-left{margin:0;width:38%;float:left}div.widget-liquid-right{float:right;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 10px 0 0}div#widgets-left .sidebar-name .sidebar-name-arrow:before{right:0;top:4px;padding:4px 6px 4px 4px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{left:auto}.widget-title-action{float:right;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{right:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{float:none;position:relative;top:-2px;margin:-5px 5px}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.editwidget .widget-inside,.widget-control-edit{display:block;padding:0 15px}.widget-control-edit{color:#666;background:#EEE;line-height:43px;border-left:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-left:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget{display:none}.js .widgets-holder-wrap.closed .widget.ui-sortable-helper{display:block}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widget-description,.widget-inside,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-left:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#00a0d2}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 15px 10px 35px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;left:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#00a0d2;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;left:5px}.locale-he-il em,.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-right:5px}#available-widgets .widget .widget-top{cursor:pointer}#available-widgets .widget.ui-draggable-dragging .widget-top{cursor:move}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-right:none;padding-right:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-right:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}.locale-de-de #customize-header-actions .button,.locale-de-de-formal #customize-header-actions .button,.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:left}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:right}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:left;width:49%}#widgets-right .sidebars-column-1{margin-right:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}.site-icon-preview .favicon-preview{margin:5px 0 20px;overflow:hidden;position:relative;max-width:180px}.site-icon-preview .browser-title,.site-icon-preview .favicon{height:16px;left:88px;overflow:hidden;position:absolute;top:16px}.site-icon-preview .favicon{width:16px}.site-icon-preview .browser-title{left:109px}.site-icon-preview .app-icon-preview{background-color:#000;-webkit-border-radius:16px;border-radius:16px;height:64px;overflow:hidden;width:64px;margin-top:5px}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-weight:700}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de #customize-header-actions .spinner,.locale-de-de-formal #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title,.locale-ru-ru .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title,.locale-lt-lt .inline-edit-row fieldset.inline-edit-date legend{width:8em}.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}@media screen and (max-width:782px){.locale-lt-lt .inline-edit-row fieldset .timestamp-wrap,.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap,.locale-ru-ru .inline-edit-row fieldset .timestamp-wrap,.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:0}}
\ No newline at end of file
index fc320f9f416045cd8c090ce71df0226fb9d04bdb..36a5b504fad8067c0bbba7fc6d7d03a9a81d43f3 100644 (file)
@@ -108,7 +108,6 @@ class Custom_Background {
         * @since 3.0.0
         */
        public function take_action() {
-
                if ( empty($_POST) )
                        return;
 
@@ -177,7 +176,7 @@ class Custom_Background {
        public function admin_page() {
 ?>
 <div class="wrap" id="custom-background">
-<h2><?php _e( 'Custom Background' ); ?></h2>
+<h1><?php _e( 'Custom Background' ); ?></h1>
 
 <?php if ( current_user_can( 'customize' ) ) { ?>
 <div class="notice notice-info hide-if-no-customize">
@@ -260,6 +259,7 @@ class Custom_Background {
 </tr>
 <?php endif; ?>
 
+<?php if ( current_user_can( 'upload_files' ) ): ?>
 <tr>
 <th scope="row"><?php _e('Select Image'); ?></th>
 <td><form enctype="multipart/form-data" id="upload-form" class="wp-upload-form" method="post">
@@ -279,6 +279,7 @@ class Custom_Background {
        </form>
 </td>
 </tr>
+<?php endif; ?>
 </tbody>
 </table>
 
@@ -357,7 +358,6 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
         * @since 3.0.0
         */
        public function handle_upload() {
-
                if ( empty($_FILES) )
                        return;
 
@@ -434,6 +434,9 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
         *
         * @since 3.4.0
         * @deprecated 3.5.0
+        *
+        * @param array $form_fields
+        * @return array $form_fields
         */
        public function attachment_fields_to_edit( $form_fields ) {
                return $form_fields;
@@ -443,6 +446,9 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
         *
         * @since 3.4.0
         * @deprecated 3.5.0
+        *
+        * @param array $tabs
+        * @return array $tabs
         */
        public function filter_upload_tabs( $tabs ) {
                return $tabs;
index a56c7602c685d617975c9af3cd805da993cd30b9..e61feb781c3bdd7f3c452103443f44b0eaf14887 100644 (file)
@@ -228,6 +228,8 @@ class Custom_Image_Header {
         * Process the default headers
         *
         * @since 3.0.0
+        *
+        * @global array $_wp_default_headers
         */
        public function process_default_headers() {
                global $_wp_default_headers;
@@ -267,7 +269,7 @@ class Custom_Image_Header {
                if ( 1 < count( $headers ) ) {
                        echo '<div class="random-header">';
                        echo '<label><input name="default-header" type="radio" value="random-' . $type . '-image"' . checked( is_random_header_image( $type ), true, false ) . ' />';
-                       echo __( '<strong>Random:</strong> Show a different image on each page.' );
+                       _e( '<strong>Random:</strong> Show a different image on each page.' );
                        echo '</label>';
                        echo '</div>';
                }
@@ -277,12 +279,13 @@ class Custom_Image_Header {
                        $header_thumbnail = $header['thumbnail_url'];
                        $header_url = $header['url'];
                        $header_desc = empty( $header['description'] ) ? '' : $header['description'];
+                       $header_alt_text = empty( $header['alt_text'] ) ? $header_desc : $header['alt_text'];
                        echo '<div class="default-header">';
                        echo '<label><input name="default-header" type="radio" value="' . esc_attr( $header_key ) . '" ' . checked( $header_url, get_theme_mod( 'header_image' ), false ) . ' />';
                        $width = '';
                        if ( !empty( $header['attachment_id'] ) )
                                $width = ' width="230"';
-                       echo '<img src="' . set_url_scheme( $header_thumbnail ) . '" alt="' . esc_attr( $header_desc ) .'" title="' . esc_attr( $header_desc ) . '"' . $width . ' /></label>';
+                       echo '<img src="' . set_url_scheme( $header_thumbnail ) . '" alt="' . esc_attr( $header_alt_text ) .'" title="' . esc_attr( $header_desc ) . '"' . $width . ' /></label>';
                        echo '</div>';
                }
                echo '<div class="clear"></div></div>';
@@ -315,7 +318,6 @@ class Custom_Image_Header {
                        }
                }
                ?>
-
 <script type="text/javascript">
 (function($){
        var default_color = '<?php echo $default_color; ?>',
@@ -445,7 +447,7 @@ class Custom_Image_Header {
 ?>
 
 <div class="wrap">
-<h2><?php _e( 'Custom Header' ); ?></h2>
+<h1><?php _e( 'Custom Header' ); ?></h1>
 
 <?php if ( current_user_can( 'customize' ) ) { ?>
 <div class="notice notice-info hide-if-no-customize">
@@ -508,7 +510,7 @@ class Custom_Image_Header {
 </tr>
 <?php endif; ?>
 
-<?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
+<?php if ( current_user_can( 'upload_files' ) && current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
 <tr>
 <th scope="row"><?php _e( 'Select Image' ); ?></th>
 <td>
@@ -753,11 +755,11 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                ?>
 
 <div class="wrap">
-<h2><?php _e( 'Crop Header Image' ); ?></h2>
+<h1><?php _e( 'Crop Header Image' ); ?></h1>
 
 <form method="post" action="<?php echo esc_url(add_query_arg('step', 3)); ?>">
        <p class="hide-if-no-js"><?php _e('Choose the part of the image you want to use as your header.'); ?></p>
-       <p class="hide-if-js"><strong><?php _e( 'You need Javascript to choose a part of the image.'); ?></strong></p>
+       <p class="hide-if-js"><strong><?php _e( 'You need JavaScript to choose a part of the image.'); ?></strong></p>
 
        <div id="crop_image" style="position: relative">
                <img src="<?php echo esc_url( $url ); ?>" id="upload" width="<?php echo $width; ?>" height="<?php echo $height; ?>" />
@@ -923,6 +925,9 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
         * Unused since 3.5.0.
         *
         * @since 3.4.0
+        *
+        * @param array $form_fields
+        * @return array $form_fields
         */
        public function attachment_fields_to_edit( $form_fields ) {
                return $form_fields;
@@ -932,6 +937,9 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
         * Unused since 3.5.0.
         *
         * @since 3.4.0
+        *
+        * @param array $tabs
+        * @return array $tabs
         */
        public function filter_upload_tabs( $tabs ) {
                return $tabs;
@@ -948,6 +956,8 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
         *  Or an array of arguments: attachment_id, url, width, height. All are required.
         *
         * @since 3.4.0
+        *
+        * @param array|object|string $choice
         */
        final public function set_header_image( $choice ) {
                if ( is_array( $choice ) || is_object( $choice ) ) {
@@ -999,7 +1009,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
         * @since 3.4.0
         */
        final public function remove_header_image() {
-               return $this->set_header_image( 'remove-header' );
+               $this->set_header_image( 'remove-header' );
        }
 
        /**
@@ -1013,9 +1023,10 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                $this->process_default_headers();
                $default = get_theme_support( 'custom-header', 'default-image' );
 
-               if ( ! $default )
-                       return $this->remove_header_image();
-
+               if ( ! $default ) {
+                       $this->remove_header_image();
+                       return;
+               }
                $default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );
 
                $default_data = array();
@@ -1033,6 +1044,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
        /**
         * Calculate width and height based on what the currently selected theme supports.
         *
+        * @param array $dimensions
         * @return array dst_height and dst_width of header image.
         */
        final public function get_header_dimensions( $dimensions ) {
@@ -1082,8 +1094,8 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
        /**
         * Create an attachment 'object'.
         *
-        * @param string $cropped Cropped image URL.
-        * @param int $parent_attachment_id Attachment ID of parent image.
+        * @param string $cropped              Cropped image URL.
+        * @param int    $parent_attachment_id Attachment ID of parent image.
         *
         * @return array Attachment object.
         */
@@ -1110,7 +1122,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
        /**
         * Insert an attachment and its metadata.
         *
-        * @param array $object Attachment object.
+        * @param array  $object  Attachment object.
         * @param string $cropped Cropped image URL.
         *
         * @return int Attachment ID.
@@ -1238,6 +1250,10 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                wp_send_json_success();
        }
 
+       /**
+        *
+        * @param WP_Customize_Manager $wp_customize
+        */
        public function customize_set_last_used( $wp_customize ) {
                $data = $wp_customize->get_setting( 'header_image_data' )->post_value();
 
@@ -1250,6 +1266,10 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                update_post_meta( $attachment_id, $key, time() );
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_default_header_images() {
                $this->process_default_headers();
 
@@ -1283,10 +1303,13 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                );
 
                // The rest of the set comes after.
-               $header_images = array_merge( $header_images, $this->default_headers );
-               return $header_images;
+               return array_merge( $header_images, $this->default_headers );
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_uploaded_header_images() {
                $header_images = get_uploaded_header_images();
                $timestamp_key = '_wp_attachment_custom_header_last_used_' . get_stylesheet();
index c8bd6e3c2e27c59b3f75918cdf331014a54f974b..6ee2de007af3c64a6a651e9756cc908c8aecd66e 100644 (file)
@@ -33,6 +33,10 @@ if ( ! $return ) {
        }
 }
 
+/**
+ * @global WP_Scripts           $wp_scripts
+ * @global WP_Customize_Manager $wp_customize
+ */
 global $wp_scripts, $wp_customize;
 
 $registered = $wp_scripts->registered;
@@ -119,38 +123,31 @@ do_action( 'customize_controls_print_scripts' );
 <div class="wp-full-overlay expanded">
        <form id="customize-controls" class="wrap wp-full-overlay-sidebar">
                <div id="customize-header-actions" class="wp-full-overlay-header">
-                       <div class="primary-actions">
-                               <?php
-                                       $save_text = $wp_customize->is_theme_active() ? __( 'Save &amp; Publish' ) : __( 'Save &amp; Activate' );
-                                       submit_button( $save_text, 'primary save', 'save', false );
-                               ?>
-                               <span class="spinner"></span>
-                               <a class="customize-controls-preview-toggle" href="#">
-                                       <span class="controls"><?php _e( 'Customize' ); ?></span>
-                                       <span class="preview"><?php _e( 'Preview' ); ?></span>
-                               </a>
-                               <a class="customize-controls-close" href="<?php echo esc_url( $return ); ?>">
-                                       <span class="screen-reader-text"><?php _e( 'Cancel' ); ?></span>
-                               </a>
-                               <span class="control-panel-back" tabindex="-1"><span class="screen-reader-text"><?php _e( 'Back' ); ?></span></span>
-                       </div>
-                       <div class="secondary-actions">
-                               <button type="button" class="customize-overlay-close">
-                                       <span class="screen-reader-text"><?php _e( 'Close overlay' ); ?></span>
-                               </button>
-                       </div>
+                       <?php
+                       $save_text = $wp_customize->is_theme_active() ? __( 'Save &amp; Publish' ) : __( 'Save &amp; Activate' );
+                       submit_button( $save_text, 'primary save', 'save', false );
+                       ?>
+                       <span class="spinner"></span>
+                       <a class="customize-controls-preview-toggle" href="#">
+                               <span class="controls"><?php _e( 'Customize' ); ?></span>
+                               <span class="preview"><?php _e( 'Preview' ); ?></span>
+                       </a>
+                       <a class="customize-controls-close" href="<?php echo esc_url( $return ); ?>">
+                               <span class="screen-reader-text"><?php _e( 'Cancel' ); ?></span>
+                       </a>
                </div>
 
                <div id="widgets-right"><!-- For Widget Customizer, many widgets try to look for instances under div#widgets-right, so we have to add that ID to a container div in the Customizer for compat -->
                <div class="wp-full-overlay-sidebar-content" tabindex="-1">
-                       <div id="customize-info" class="accordion-section">
-                               <div class="accordion-section-title" aria-label="<?php esc_attr_e( 'Customizer Options' ); ?>" tabindex="0">
+                       <div id="customize-info" class="accordion-section customize-info">
+                               <div class="accordion-section-title" aria-label="<?php esc_attr_e( 'Customizer Options' ); ?>">
                                        <span class="preview-notice"><?php
-                                               echo sprintf( __( 'You are customizing %s' ), '<strong class="theme-name site-title">' . get_bloginfo( 'name' ) . '</strong>' );
+                                               echo sprintf( __( 'You are customizing %s' ), '<strong class="panel-title site-title">' . get_bloginfo( 'name' ) . '</strong>' );
                                        ?></span>
+                                       <button class="customize-help-toggle dashicons dashicons-editor-help" aria-expanded="false"><span class="screen-reader-text"><?php _e( 'Help' ); ?></span></button>
                                </div>
-                               <div class="accordion-section-content"><?php
-                                       echo __( 'The Customizer allows you to preview changes to your site before publishing them. You can also navigate to different pages on your site to preview them.' );
+                               <div class="customize-panel-description"><?php
+                                       _e( 'The Customizer allows you to preview changes to your site before publishing them. You can also navigate to different pages on your site to preview them.' );
                                ?></div>
                        </div>
 
@@ -161,16 +158,18 @@ do_action( 'customize_controls_print_scripts' );
                </div>
 
                <div id="customize-footer-actions" class="wp-full-overlay-footer">
-                       <a href="#" class="collapse-sidebar button-secondary" title="<?php esc_attr_e('Collapse Sidebar'); ?>">
+                       <button type="button" class="collapse-sidebar button-secondary" aria-expanded="true" aria-label="<?php esc_attr_e( 'Collapse Sidebar' ); ?>">
                                <span class="collapse-sidebar-arrow"></span>
-                               <span class="collapse-sidebar-label"><?php _e('Collapse'); ?></span>
-                       </a>
+                               <span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span>
+                       </button>
                </div>
        </form>
        <div id="customize-preview" class="wp-full-overlay-main"></div>
        <?php
 
-       // Render control templates.
+       // Render Panel, Section, and Control templates.
+       $wp_customize->render_panel_templates();
+       $wp_customize->render_section_templates();
        $wp_customize->render_control_templates();
 
        /**
@@ -206,14 +205,6 @@ do_action( 'customize_controls_print_scripts' );
         */
        $allowed_urls = array_unique( apply_filters( 'customize_allowed_urls', $allowed_urls ) );
 
-       $fallback_url = add_query_arg( array(
-               'preview'        => 1,
-               'template'       => $wp_customize->get_template(),
-               'stylesheet'     => $wp_customize->get_stylesheet(),
-               'preview_iframe' => true,
-               'TB_iframe'      => 'true'
-       ), home_url( '/' ) );
-
        $login_url = add_query_arg( array(
                'interim-login' => 1,
                'customize-login' => 1
@@ -232,7 +223,6 @@ do_action( 'customize_controls_print_scripts' );
                        'ajax'          => esc_url_raw( admin_url( 'admin-ajax.php', 'relative' ) ),
                        'allowed'       => array_map( 'esc_url_raw', $allowed_urls ),
                        'isCrossDomain' => $cross_domain,
-                       'fallback'      => esc_url_raw( $fallback_url ),
                        'home'          => esc_url_raw( home_url( '/' ) ),
                        'login'         => esc_url_raw( $login_url ),
                ),
@@ -254,28 +244,38 @@ do_action( 'customize_controls_print_scripts' );
 
        // Prepare Customize Setting objects to pass to JavaScript.
        foreach ( $wp_customize->settings() as $id => $setting ) {
-               $settings['settings'][ $id ] = array(
-                       'value'     => $setting->js_value(),
-                       'transport' => $setting->transport,
-                       'dirty'     => $setting->dirty,
-               );
+               if ( $setting->check_capabilities() ) {
+                       $settings['settings'][ $id ] = array(
+                               'value'     => $setting->js_value(),
+                               'transport' => $setting->transport,
+                               'dirty'     => $setting->dirty,
+                       );
+               }
        }
 
        // Prepare Customize Control objects to pass to JavaScript.
        foreach ( $wp_customize->controls() as $id => $control ) {
-               $settings['controls'][ $id ] = $control->json();
+               if ( $control->check_capabilities() ) {
+                       $settings['controls'][ $id ] = $control->json();
+               }
        }
 
        // Prepare Customize Section objects to pass to JavaScript.
        foreach ( $wp_customize->sections() as $id => $section ) {
-               $settings['sections'][ $id ] = $section->json();
+               if ( $section->check_capabilities() ) {
+                       $settings['sections'][ $id ] = $section->json();
+               }
        }
 
        // Prepare Customize Panel objects to pass to JavaScript.
-       foreach ( $wp_customize->panels() as $id => $panel ) {
-               $settings['panels'][ $id ] = $panel->json();
-               foreach ( $panel->sections as $section_id => $section ) {
-                       $settings['sections'][ $section_id ] = $section->json();
+       foreach ( $wp_customize->panels() as $panel_id => $panel ) {
+               if ( $panel->check_capabilities() ) {
+                       $settings['panels'][ $panel_id ] = $panel->json();
+                       foreach ( $panel->sections as $section_id => $section ) {
+                               if ( $section->check_capabilities() ) {
+                                       $settings['sections'][ $section_id ] = $section->json();
+                               }
+                       }
                }
        }
 
index bfde54eae8515aa5ad1ee6acde7a3de94dd423f7..ea5bb7624a780bd2654a214c04b7e54949ff781e 100644 (file)
@@ -124,7 +124,7 @@ get_current_screen()->add_help_tab( array(
                '<p>' . __( 'A red bar on the left means the comment is waiting for you to moderate it.' ) . '</p>' .
                '<p>' . __( 'In the <strong>Author</strong> column, in addition to the author&#8217;s name, email address, and blog URL, the commenter&#8217;s IP address is shown. Clicking on this link will show you all the comments made from this IP address.' ) . '</p>' .
                '<p>' . __( 'In the <strong>Comment</strong> column, above each comment it says &#8220;Submitted on,&#8221; followed by the date and time the comment was left on your site. Clicking on the date/time link will take you to that comment on your live site. Hovering over any comment gives you options to approve, reply (and approve), quick edit, edit, spam mark, or trash that comment.' ) . '</p>' .
-               '<p>' . __( 'In the <strong>In Response To</strong> column, there are three elements. The text is the name of the post that inspired the comment, and links to the post editor for that entry. The View Post link leads to that post on your live site. The small bubble with the number in it shows the number of approved comments that post has received. If the bubble is gray, you have moderated all comments for that post. If it is blue, there are pending comments. Clicking the bubble will filter the comments screen to show only comments on that post.' ) . '</p>' .
+               '<p>' . __( 'In the <strong>In Response To</strong> column, there are three elements. The text is the name of the post that inspired the comment, and links to the post editor for that entry. The View Post link leads to that post on your live site. The small bubble with the number in it shows the number of approved comments that post has received. If there are pending comments, a red notification circle with the number of pending comments is displayed. Clicking the notification circle will filter the comments screen to show only pending comments on that post.' ) . '</p>' .
                '<p>' . __( 'Many people take advantage of keyboard shortcuts to moderate their comments more quickly. Use the link to the side to learn more.' ) . '</p>'
 ) );
 
@@ -140,7 +140,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php
+<h1><?php
 if ( $post_id )
        echo sprintf( __( 'Comments on &#8220;%s&#8221;' ),
                sprintf( '<a href="%s">%s</a>',
@@ -149,11 +149,11 @@ if ( $post_id )
                )
        );
 else
-       echo __('Comments');
+       _e( 'Comments' );
 
 if ( isset($_REQUEST['s']) && $_REQUEST['s'] )
        echo '<span class="subtitle">' . sprintf( __( 'Search results for &#8220;%s&#8221;' ), wp_html_excerpt( esc_html( wp_unslash( $_REQUEST['s'] ) ), 50, '&hellip;' ) ) . '</span>'; ?>
-</h2>
+</h1>
 
 <?php
 if ( isset( $_REQUEST['error'] ) ) {
@@ -161,7 +161,7 @@ if ( isset( $_REQUEST['error'] ) ) {
        $error_msg = '';
        switch ( $error ) {
                case 1 :
-                       $error_msg = __( 'Oops, no comment with this ID.' );
+                       $error_msg = __( 'Invalid comment ID.' );
                        break;
                case 2 :
                        $error_msg = __( 'You are not allowed to edit comments on this post.' );
index 7679077cdb794a49f0d9f7ee67b370aaa25649d8..2a963f1c19a32c413e9d93acceace607c6a6af03 100644 (file)
 if ( !defined('ABSPATH') )
        die('-1');
 
+/**
+ * @global string  $post_type
+ * @global object  $post_type_object
+ * @global WP_Post $post
+ */
 global $post_type, $post_type_object, $post;
 
 wp_enqueue_script('post');
@@ -76,6 +81,9 @@ if ( ! $permalink ) {
 }
 
 $messages = array();
+/** This filter is documented in wp-admin/includes/meta-boxes.php */
+$post_preview_url = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $permalink ), $post );
+
 $messages['post'] = array(
         0 => '', // Unused. Messages start at index 1.
         1 => sprintf( __('Post updated. <a href="%s">View post</a>'), esc_url( $permalink ) ),
@@ -86,12 +94,16 @@ $messages['post'] = array(
         5 => isset($_GET['revision']) ? sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
         6 => sprintf( __('Post published. <a href="%s">View post</a>'), esc_url( $permalink ) ),
         7 => __('Post saved.'),
-        8 => sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
+        8 => sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), esc_url( $post_preview_url ) ),
         9 => sprintf( __('Post scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview post</a>'),
                /* translators: Publish box date format, see http://php.net/date */
                date_i18n( __( 'M j, Y @ H:i' ), strtotime( $post->post_date ) ), esc_url( $permalink ) ),
-       10 => sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
+       10 => sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), esc_url( $post_preview_url ) ),
 );
+
+/** This filter is documented in wp-admin/includes/meta-boxes.php */
+$page_preview_url = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $permalink ), $post );
+
 $messages['page'] = array(
         0 => '', // Unused. Messages start at index 1.
         1 => sprintf( __('Page updated. <a href="%s">View page</a>'), esc_url( $permalink ) ),
@@ -101,9 +113,9 @@ $messages['page'] = array(
         5 => isset($_GET['revision']) ? sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
         6 => sprintf( __('Page published. <a href="%s">View page</a>'), esc_url( $permalink ) ),
         7 => __('Page saved.'),
-        8 => sprintf( __('Page submitted. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
+        8 => sprintf( __('Page submitted. <a target="_blank" href="%s">Preview page</a>'), esc_url( $page_preview_url ) ),
         9 => sprintf( __('Page scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview page</a>'), date_i18n( __( 'M j, Y @ H:i' ), strtotime( $post->post_date ) ), esc_url( $permalink ) ),
-       10 => sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
+       10 => sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), esc_url( $page_preview_url ) ),
 );
 $messages['attachment'] = array_fill( 1, 10, __( 'Media attachment updated.' ) ); // Hack, for now.
 
@@ -208,7 +220,7 @@ if ( post_type_supports($post_type, 'page-attributes') )
        add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', null, 'side', 'core');
 
 if ( $thumbnail_support && current_user_can( 'upload_files' ) )
-       add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', null, 'side', 'low');
+       add_meta_box('postimagediv', esc_html( $post_type_object->labels->featured_image ), 'post_thumbnail_meta_box', null, 'side', 'low');
 
 if ( post_type_supports($post_type, 'excerpt') )
        add_meta_box('postexcerpt', __('Excerpt'), 'post_excerpt_meta_box', null, 'normal', 'core');
@@ -307,13 +319,13 @@ if ( 'post' == $post_type ) {
        ) );
 
        get_current_screen()->set_help_sidebar(
-                       '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' .
+                       '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'tools.php') . '</p>' .
                        '<p><strong>' . __('For more information:') . '</strong></p>' .
                        '<p>' . __('<a href="https://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' .
                        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 } elseif ( 'page' == $post_type ) {
-       $about_pages = '<p>' . __('Pages are similar to Posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest Pages under other Pages by making one the &#8220;Parent&#8221; of the other, creating a group of Pages.') . '</p>' .
+       $about_pages = '<p>' . __('Pages are similar to posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest pages under other pages by making one the &#8220;Parent&#8221; of the other, creating a group of pages.') . '</p>' .
                '<p>' . __('Creating a Page is very similar to creating a Post, and the screens can be customized in the same way using drag and drop, the Screen Options tab, and expanding/collapsing boxes as you choose. This screen also has the distraction-free writing space, available in both the Visual and Text modes via the Fullscreen buttons. The Page editor mostly works the same as the Post editor, but there are some Page-specific features in the Page Attributes box:') . '</p>';
 
        get_current_screen()->add_help_tab( array(
@@ -366,7 +378,8 @@ if ( 'post' == $post_type ) {
        }
 
        if ( current_theme_supports( 'post-thumbnails' ) && post_type_supports( 'post', 'thumbnail' ) ) {
-               $publish_box .= '<li>' . __('<strong>Featured Image</strong> - This allows you to associate an image with your post without inserting it. This is usually useful only if your theme makes use of the featured image as a post thumbnail on the home page, a custom header, etc.') . '</li>';
+               /* translators: %s: Featured Image */
+               $publish_box .= '<li>' . sprintf( __( '<strong>%s</strong> - This allows you to associate an image with your post without inserting it. This is usually useful only if your theme makes use of the image as a post thumbnail on the home page, a custom header, etc.' ), esc_html( $post_type_object->labels->featured_image ) ) . '</li>';
        }
 
        $publish_box .= '</ul>';
@@ -401,11 +414,11 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php
+<h1><?php
 echo esc_html( $title );
 if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create_posts ) )
-       echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
-?></h2>
+       echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="page-title-action">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
+?></h1>
 <?php if ( $notice ) : ?>
 <div id="notice" class="notice notice-warning"><p id="has-newer-autosave"><?php echo $notice ?></p></div>
 <?php endif; ?>
@@ -481,7 +494,7 @@ do_action( 'edit_form_top', $post ); ?>
        $title_placeholder = apply_filters( 'enter_title_here', __( 'Enter title here' ), $post );
        ?>
        <label class="screen-reader-text" id="title-prompt-text" for="title"><?php echo $title_placeholder; ?></label>
-       <input type="text" name="post_title" size="30" value="<?php echo esc_attr( htmlspecialchars( $post->post_title ) ); ?>" id="title" spellcheck="true" autocomplete="off" />
+       <input type="text" name="post_title" size="30" value="<?php echo esc_attr( $post->post_title ); ?>" id="title" spellcheck="true" autocomplete="off" />
 </div>
 <?php
 /**
index c27164ed08c3a298ef8fb136b47378dc2f6f6ed0..9b8062da121fb737b0746ca375eadc97c6717f26 100644 (file)
@@ -13,7 +13,7 @@ if ( !defined('ABSPATH') )
 <form name="post" action="comment.php" method="post" id="post">
 <?php wp_nonce_field('update-comment_' . $comment->comment_ID) ?>
 <div class="wrap">
-<h2><?php _e('Edit Comment'); ?></h2>
+<h1><?php _e( 'Edit Comment' ); ?></h1>
 
 <div id="poststuff">
 <input type="hidden" name="action" value="editedcomment" />
@@ -21,48 +21,39 @@ if ( !defined('ABSPATH') )
 <input type="hidden" name="comment_post_ID" value="<?php echo esc_attr( $comment->comment_post_ID ); ?>" />
 
 <div id="post-body" class="metabox-holder columns-2">
-<div id="post-body-content" class="edit-form-section">
+<div id="post-body-content" class="edit-form-section edit-comment-section">
 <div id="namediv" class="stuffbox">
-<h3><label for="name"><?php _e( 'Author' ) ?></label></h3>
 <div class="inside">
+<fieldset>
+<legend class="edit-comment-author"><?php _e( 'Author' ) ?></legend>
 <table class="form-table editcomment">
 <tbody>
 <tr>
-       <td class="first"><?php _e( 'Name:' ); ?></td>
+       <td class="first"><label for="name"><?php _e( 'Name:' ); ?></label></td>
        <td><input type="text" name="newcomment_author" size="30" value="<?php echo esc_attr( $comment->comment_author ); ?>" id="name" /></td>
 </tr>
 <tr>
-       <td class="first">
-       <?php
-               if ( $comment->comment_author_email ) {
-                       printf( __( 'E-mail (%s):' ), get_comment_author_email_link( __( 'send e-mail' ), '', '' ) );
-               } else {
-                       _e( 'E-mail:' );
-               }
-?></td>
-       <td><input type="text" name="newcomment_author_email" size="30" value="<?php echo $comment->comment_author_email; ?>" id="email" /></td>
+       <td class="first"><label for="email"><?php _e( 'E-mail:' ); ?></label></td>
+       <td>
+               <input type="text" name="newcomment_author_email" size="30" value="<?php echo $comment->comment_author_email; ?>" id="email" />
+       </td>
 </tr>
 <tr>
-       <td class="first">
-       <?php
-               if ( ! empty( $comment->comment_author_url ) && 'http://' != $comment->comment_author_url ) {
-                       $link = '<a href="' . $comment->comment_author_url . '" rel="external nofollow" target="_blank">' . __('visit site') . '</a>';
-                       $author = get_comment_author( $comment->comment_ID );
-                       /** This filter is documented in wp-includes/comment-template.php */
-                       printf( __( 'URL (%s):' ), apply_filters( 'get_comment_author_link', $link, $author, $comment->comment_ID ) );
-               } else {
-                       _e( 'URL:' );
-               } ?></td>
-       <td><input type="text" id="newcomment_author_url" name="newcomment_author_url" size="30" class="code" value="<?php echo esc_attr($comment->comment_author_url); ?>" /></td>
+       <td class="first"><label for="newcomment_author_url"><?php _e( 'URL:' ); ?></label></td>
+       <td>
+               <input type="text" id="newcomment_author_url" name="newcomment_author_url" size="30" class="code" value="<?php echo esc_attr($comment->comment_author_url); ?>" />
+       </td>
 </tr>
 </tbody>
 </table>
 <br />
+</fieldset>
 </div>
 </div>
 
 <div id="postdiv" class="postarea">
 <?php
+       echo '<label for="content" class="screen-reader-text">' . __( 'Comment' ) . '</label>';
        $quicktags_settings = array( 'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,close' );
        wp_editor( $comment->comment_content, 'content', array( 'media_buttons' => false, 'tinymce' => false, 'quicktags' => $quicktags_settings ) );
        wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?>
@@ -85,17 +76,12 @@ if ( !defined('ABSPATH') )
 
 <div id="misc-publishing-actions">
 
-<div class="misc-pub-section misc-pub-comment-status" id="comment-status-radio">
+<fieldset class="misc-pub-section misc-pub-comment-status" id="comment-status-radio">
+<legend class="screen-reader-text"><?php _e( 'Comment status' ); ?></legend>
 <label class="approved"><input type="radio"<?php checked( $comment->comment_approved, '1' ); ?> name="comment_status" value="1" /><?php /* translators: comment type radio button */ _ex('Approved', 'adjective') ?></label><br />
 <label class="waiting"><input type="radio"<?php checked( $comment->comment_approved, '0' ); ?> name="comment_status" value="0" /><?php /* translators: comment type radio button */ _ex('Pending', 'adjective') ?></label><br />
 <label class="spam"><input type="radio"<?php checked( $comment->comment_approved, 'spam' ); ?> name="comment_status" value="spam" /><?php /* translators: comment type radio button */ _ex('Spam', 'adjective'); ?></label>
-</div>
-
-<?php if ( $ip = get_comment_author_IP() ) : ?>
-<div class="misc-pub-section misc-pub-comment-author-ip">
-       <?php _e( 'IP address:' ); ?> <strong><a href="<?php echo esc_url( sprintf( 'http://whois.arin.net/rest/ip/%s', $ip ) ); ?>"><?php echo esc_html( $ip ); ?></a></strong>
-</div>
-<?php endif; ?>
+</fieldset>
 
 <div class="misc-pub-section curtime misc-pub-curtime">
 <?php
@@ -104,8 +90,12 @@ $datef = __( 'M j, Y @ H:i' );
 $stamp = __('Submitted on: <b>%1$s</b>');
 $date = date_i18n( $datef, strtotime( $comment->comment_date ) );
 ?>
-<span id="timestamp"><?php printf($stamp, $date); ?></span>&nbsp;<a href="#edit_timestamp" class="edit-timestamp hide-if-no-js"><?php _e('Edit') ?></a>
-<div id='timestampdiv' class='hide-if-js'><?php touch_time(('editcomment' == $action), 0); ?></div>
+<span id="timestamp"><?php printf( $stamp, $date ); ?></span>
+<a href="#edit_timestamp" class="edit-timestamp hide-if-no-js"><span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"><?php _e( 'Edit date and time' ); ?></span></a>
+<fieldset id='timestampdiv' class='hide-if-js'>
+<legend class="screen-reader-text"><?php _e( 'Date and time' ); ?></legend>
+<?php touch_time( ( 'editcomment' === $action ), 0 ); ?>
+</fieldset>
 </div>
 
 <?php
@@ -119,7 +109,11 @@ if ( current_user_can( 'edit_post', $post_id ) ) {
 ?>
 
 <div class="misc-pub-section misc-pub-response-to">
-       <?php printf( __( 'In response to: <b>%s</b>' ), $post_link ); ?>
+       <?php printf(
+               /* translators: post link */
+               __( 'In response to: %s' ),
+               '<b>' . $post_link . '</b>'
+       ); ?>
 </div>
 
 <?php
@@ -129,10 +123,26 @@ if ( $comment->comment_parent ) :
        $name        = get_comment_author( $parent->comment_ID );
 ?>
 <div class="misc-pub-section misc-pub-reply-to">
-       <?php printf( __( 'In reply to: <b><a href="%1$s">%2$s</a></b>' ), $parent_link, $name ); ?>
+       <?php printf(
+               /* translators: comment link */
+               __( 'In reply to: %s' ),
+               '<b><a href="' . $parent_link . '">' . $name . '</a></b>'
+       ); ?>
 </div>
 <?php endif; ?>
 
+<?php
+       /**
+        * Filter miscellaneous actions for the edit comment form sidebar.
+        *
+        * @since 4.3.0
+        *
+        * @param string $html    Output HTML to display miscellaneous action.
+        * @param object $comment Current comment object.
+        */
+        echo apply_filters( 'edit_comment_misc_actions', '', $comment );
+?>
+
 </div> <!-- misc actions -->
 <div class="clear"></div>
 </div>
index f326689dad20a3d037d84237a3bb232e587dcb63..943874a8e2b9f0d6258f25870630b7f5e8f3d94b 100644 (file)
@@ -70,7 +70,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?>  <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a></h2>
+<h1><?php echo esc_html( $title ); ?>  <a href="link-add.php" class="page-title-action"><?php echo esc_html_x('Add New', 'link'); ?></a></h1>
 
 <?php if ( isset( $_GET['added'] ) ) : ?>
 <div id="message" class="updated notice is-dismissible"><p><?php _e('Link added.'); ?></p></div>
index 7e2d9377854152ae56c31174708d636ac0826bad..ac5aafbf8fef26da306c8dfcbcd7f35f32e8418d 100644 (file)
@@ -62,7 +62,7 @@ if ( 'category' == $taxonomy ) {
 do_action( "{$taxonomy}_pre_edit_form", $tag, $taxonomy ); ?>
 
 <div class="wrap">
-<h2><?php echo $tax->labels->edit_item; ?></h2>
+<h1><?php echo $tax->labels->edit_item; ?></h1>
 <div id="ajax-response"></div>
 <form name="edittag" id="edittag" method="post" action="edit-tags.php" class="validate"
 <?php
index 7afbec8bcd8215234cd115322bd2a227eaec480b..db8319cdd42e2e9fd22f955010f7a997ec763f00 100644 (file)
@@ -20,7 +20,11 @@ if ( ! $tax )
 if ( ! current_user_can( $tax->cap->manage_terms ) )
        wp_die( __( 'Cheatin&#8217; uh?' ), 403 );
 
-// $post_type is set when the WP_Terms_List_Table instance is created
+/**
+ * $post_type is set when the WP_Terms_List_Table instance is created
+ *
+ * @global string $post_type
+ */
 global $post_type;
 
 $wp_list_table = _get_list_table('WP_Terms_List_Table');
@@ -298,13 +302,20 @@ if ( isset( $_REQUEST['message'] ) && ( $msg = (int) $_REQUEST['message'] ) ) {
 }
 
 $class = ( isset( $_REQUEST['error'] ) ) ? 'error' : 'updated';
+
+if ( is_plugin_active( 'wpcat2tag-importer/wpcat2tag-importer.php' ) ) {
+       $import_link = admin_url( 'admin.php?import=wpcat2tag' );
+} else {
+       $import_link = admin_url( 'import.php' );
+}
+
 ?>
 
 <div class="wrap nosubsub">
-<h2><?php echo esc_html( $title );
+<h1><?php echo esc_html( $title );
 if ( !empty($_REQUEST['s']) )
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( wp_unslash($_REQUEST['s']) ) ); ?>
-</h2>
+</h1>
 
 <?php if ( $message ) : ?>
 <div id="message" class="<?php echo $class; ?> notice is-dismissible"><p><?php echo $message; ?></p></div>
@@ -343,12 +354,12 @@ endif; ?>
        ?>
 </p>
 <?php if ( current_user_can( 'import' ) ) : ?>
-<p><?php printf(__('Categories can be selectively converted to tags using the <a href="%s">category to tag converter</a>.'), 'import.php') ?></p>
+<p><?php printf( __( 'Categories can be selectively converted to tags using the <a href="%s">category to tag converter</a>.' ), esc_url( $import_link ) ) ?></p>
 <?php endif; ?>
 </div>
 <?php elseif ( 'post_tag' == $taxonomy && current_user_can( 'import' ) ) : ?>
 <div class="form-wrap">
-<p><?php printf(__('Tags can be selectively converted to categories using the <a href="%s">tag to category converter</a>.'), 'import.php') ;?></p>
+<p><?php printf( __( 'Tags can be selectively converted to categories using the <a href="%s">tag to category converter</a>.' ), esc_url( $import_link ) ) ;?></p>
 </div>
 <?php endif;
 
index ad8c0786814cb843cf3568d3eda1f74b9a71503b..6c285d78ecf2207ba7af2c0e45141c75f59ff59c 100644 (file)
@@ -18,6 +18,10 @@ if ( 'attachment' === $typenow ) {
        }
 }
 
+/**
+ * @global string $post_type
+ * @global object $post_type_object
+ */
 global $post_type, $post_type_object;
 
 $post_type = $typenow;
@@ -279,13 +283,13 @@ $bulk_counts = array_filter( $bulk_counts );
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap">
-<h2><?php
+<h1><?php
 echo esc_html( $post_type_object->labels->name );
 if ( current_user_can( $post_type_object->cap->create_posts ) )
-       echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
+       echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="page-title-action">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
 if ( ! empty( $_REQUEST['s'] ) )
        printf( ' <span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() );
-?></h2>
+?></h1>
 
 <?php
 // If we have a bulk message to issue:
index daba6e360e2df707b04779467d8e06b8ba7bdc7b..ce5081baa9176f85d0e363b78935b1c0df2f65b1 100644 (file)
@@ -143,7 +143,7 @@ function export_date_options( $post_type = 'post' ) {
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <p><?php _e('When you click the button below WordPress will create an XML file for you to save to your computer.'); ?></p>
 <p><?php _e('This format, which we call WordPress eXtended RSS or WXR, will contain your posts, pages, comments, custom fields, categories, and tags.'); ?></p>
index 209fb5adc91c32864a4a3c6ddab57557e2c8ef0e..7788f65c5dc1908964abdcda7ca2ef9b52d5bea1 100644 (file)
@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you communicate and share, globally.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s makes it even easier to format your content and customize your site.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
diff --git a/wp-admin/images/browser.png b/wp-admin/images/browser.png
new file mode 100644 (file)
index 0000000..83ead47
Binary files /dev/null and b/wp-admin/images/browser.png differ
index 0f427760b45d0ce14f24029cb0c19afb5a2be455..e7dce2df137bd9ce12f99a85594eb71509a21905 100644 (file)
@@ -52,7 +52,7 @@ $parent_file = 'tools.php';
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 <?php if ( ! empty( $_GET['invalid'] ) ) : ?>
        <div class="error"><p><strong><?php _e('ERROR:')?></strong> <?php printf( __('The <strong>%s</strong> importer is invalid or is not installed.'), esc_html( $_GET['invalid'] ) ); ?></p></div>
 <?php endif; ?>
diff --git a/wp-admin/includes/admin-filters.php b/wp-admin/includes/admin-filters.php
new file mode 100644 (file)
index 0000000..d0709f4
--- /dev/null
@@ -0,0 +1,113 @@
+<?php
+/**
+ * Administration hooks
+ *
+ * @package WordPress
+ * @subpackage Hooks
+ *
+ * @since 4.3.0
+ */
+
+// Bookmark hooks.
+add_action( 'admin_page_access_denied', 'wp_link_manager_disabled_message' );
+
+// Dashboard hooks.
+add_action( 'activity_box_end', 'wp_dashboard_quota' );
+
+// Media hooks.
+add_action( 'attachment_submitbox_misc_actions', 'attachment_submitbox_metadata' );
+
+add_action( 'media_upload_image', 'wp_media_upload_handler' );
+add_action( 'media_upload_audio', 'wp_media_upload_handler' );
+add_action( 'media_upload_video', 'wp_media_upload_handler' );
+add_action( 'media_upload_file',  'wp_media_upload_handler' );
+
+add_action( 'post-plupload-upload-ui', 'media_upload_flash_bypass' );
+
+add_action( 'post-html-upload-ui', 'media_upload_html_bypass'  );
+
+add_filter( 'async_upload_image', 'get_media_item', 10, 2 );
+add_filter( 'async_upload_audio', 'get_media_item', 10, 2 );
+add_filter( 'async_upload_video', 'get_media_item', 10, 2 );
+add_filter( 'async_upload_file',  'get_media_item', 10, 2 );
+
+add_filter( 'attachment_fields_to_save', 'image_attachment_fields_to_save', 10, 2 );
+
+add_filter( 'media_upload_gallery', 'media_upload_gallery' );
+add_filter( 'media_upload_library', 'media_upload_library' );
+
+add_filter( 'media_upload_tabs', 'update_gallery_tab' );
+
+// Misc hooks.
+add_action( 'admin_head', 'wp_admin_canonical_url'   );
+add_action( 'admin_head', 'wp_color_scheme_settings' );
+add_action( 'admin_head', 'wp_site_icon'             );
+add_action( 'admin_head', '_ipad_meta'               );
+
+add_action( 'post_edit_form_tag', 'post_form_autocomplete_off' );
+
+add_action( 'update_option_home',          'update_home_siteurl', 10, 2 );
+add_action( 'update_option_siteurl',       'update_home_siteurl', 10, 2 );
+add_action( 'update_option_page_on_front', 'update_home_siteurl', 10, 2 );
+
+add_filter( 'heartbeat_received', 'wp_check_locked_posts',  10,  3 );
+add_filter( 'heartbeat_received', 'wp_refresh_post_lock',   10,  3 );
+add_filter( 'wp_refresh_nonces', 'wp_refresh_post_nonces', 10,  3 );
+add_filter( 'heartbeat_received', 'heartbeat_autosave',     500, 2 );
+
+add_filter( 'heartbeat_settings', 'wp_heartbeat_set_suspension' );
+
+// Nav Menu hooks.
+add_action( 'admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items' );
+
+// Plugin hooks.
+add_filter( 'whitelist_options', 'option_update_filter' );
+
+// Plugin Install hooks.
+add_action( 'install_plugins_featured',               'install_dashboard' );
+add_action( 'install_plugins_upload',                 'install_plugins_upload' );
+add_action( 'install_plugins_search',                 'display_plugins_table' );
+add_action( 'install_plugins_popular',                'display_plugins_table' );
+add_action( 'install_plugins_recommended',            'display_plugins_table' );
+add_action( 'install_plugins_new',                    'display_plugins_table' );
+add_action( 'install_plugins_beta',                   'display_plugins_table' );
+add_action( 'install_plugins_favorites',              'display_plugins_table' );
+add_action( 'install_plugins_pre_plugin-information', 'install_plugin_information' );
+
+// Template hooks.
+add_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts'                ) );
+add_action( 'user_register',         array( 'WP_Internal_Pointers', 'dismiss_pointers_for_new_users' ) );
+
+// Theme hooks.
+add_action( 'customize_controls_print_footer_scripts', 'customize_themes_print_templates' );
+
+// Theme Install hooks.
+// add_action('install_themes_dashboard', 'install_themes_dashboard');
+// add_action('install_themes_upload', 'install_themes_upload', 10, 0);
+// add_action('install_themes_search', 'display_themes');
+// add_action('install_themes_featured', 'display_themes');
+// add_action('install_themes_new', 'display_themes');
+// add_action('install_themes_updated', 'display_themes');
+add_action( 'install_themes_pre_theme-information', 'install_theme_information' );
+
+// User hooks.
+add_action( 'admin_init', 'default_password_nag_handler' );
+
+add_action( 'admin_notices', 'default_password_nag' );
+
+add_action( 'profile_update', 'default_password_nag_edit_user', 10, 2 );
+
+// Update hooks.
+add_action( 'admin_init', 'wp_plugin_update_rows' );
+add_action( 'admin_init', 'wp_theme_update_rows'  );
+
+add_action( 'admin_notices', 'update_nag',      3  );
+add_action( 'admin_notices', 'maintenance_nag', 10 );
+
+add_filter( 'update_footer', 'core_update_footer' );
+
+// Update Core hooks.
+add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );
+
+// Upgrade hooks.
+add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
index f1fc8cb003d6046903b8b8ae026ecb20fd4fd90a..64a0ded744ea672d32785d01d675c4fd66773197 100644 (file)
@@ -15,6 +15,9 @@ if ( ! defined('WP_ADMIN') ) {
        load_textdomain( 'default', WP_LANG_DIR . '/admin-' . get_locale() . '.mo' );
 }
 
+/** WordPress Administration Hooks */
+require_once(ABSPATH . 'wp-admin/includes/admin-filters.php');
+
 /** WordPress Bookmark Administration API */
 require_once(ABSPATH . 'wp-admin/includes/bookmark.php');
 
@@ -61,6 +64,9 @@ require_once(ABSPATH . 'wp-admin/includes/theme.php');
 /** WordPress User Administration API */
 require_once(ABSPATH . 'wp-admin/includes/user.php');
 
+/** WordPress Site Icon API */
+require_once(ABSPATH . 'wp-admin/includes/class-wp-site-icon.php');
+
 /** WordPress Update Administration API */
 require_once(ABSPATH . 'wp-admin/includes/update.php');
 
@@ -69,6 +75,7 @@ require_once(ABSPATH . 'wp-admin/includes/deprecated.php');
 
 /** WordPress Multisite support API */
 if ( is_multisite() ) {
+       require_once(ABSPATH . 'wp-admin/includes/ms-admin-filters.php');
        require_once(ABSPATH . 'wp-admin/includes/ms.php');
        require_once(ABSPATH . 'wp-admin/includes/ms-deprecated.php');
 }
index 696b4328c7ce97281747ea659dcee74738dc24c0..77c32b05ed6d1701d2145a112fbcdd32d007143e 100644 (file)
@@ -78,6 +78,8 @@ function wp_ajax_nopriv_heartbeat() {
  * Ajax handler for fetching a list table.
  *
  * @since 3.1.0
+ *
+ * @global WP_List_Table $wp_list_table
  */
 function wp_ajax_fetch_list() {
        global $wp_list_table;
@@ -226,6 +228,8 @@ function wp_ajax_imgedit_preview() {
  * Ajax handler for oEmbed caching.
  *
  * @since 3.1.0
+ *
+ * @global WP_Embed $wp_embed
  */
 function wp_ajax_oembed_cache() {
        $GLOBALS['wp_embed']->cache_oembed( $_GET['post'] );
@@ -334,7 +338,7 @@ function wp_ajax_logged_in() {
  * @since 2.7.0
  *
  * @param int $comment_id
- * @return die
+ * @param int $delta
  */
 function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
        $total    = isset( $_POST['_total'] )    ? (int) $_POST['_total']    : 0;
@@ -430,10 +434,13 @@ function _wp_ajax_add_hierarchical_term() {
                $checked_categories[] = $cat_id;
                if ( $parent ) // Do these all at once in a second
                        continue;
+
                ob_start();
-                       wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $cat_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids ));
-               $data = ob_get_contents();
-               ob_end_clean();
+
+               wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $cat_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids ));
+
+               $data = ob_get_clean();
+
                $add = array(
                        'what' => $taxonomy->name,
                        'id' => $cat_id,
@@ -454,9 +461,11 @@ function _wp_ajax_add_hierarchical_term() {
                }
 
                ob_start();
-                       wp_terms_checklist( 0, array('taxonomy' => $taxonomy->name, 'descendants_and_self' => $term_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids));
-               $data = ob_get_contents();
-               ob_end_clean();
+
+               wp_terms_checklist( 0, array('taxonomy' => $taxonomy->name, 'descendants_and_self' => $term_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids));
+
+               $data = ob_get_clean();
+
                $add = array(
                        'what' => $taxonomy->name,
                        'id' => $term_id,
@@ -466,12 +475,14 @@ function _wp_ajax_add_hierarchical_term() {
        }
 
        ob_start();
-               wp_dropdown_categories( array(
-                       'taxonomy' => $taxonomy->name, 'hide_empty' => 0, 'name' => 'new'.$taxonomy->name.'_parent', 'orderby' => 'name',
-                       'hierarchical' => 1, 'show_option_none' => '&mdash; '.$taxonomy->labels->parent_item.' &mdash;'
-               ) );
-       $sup = ob_get_contents();
-       ob_end_clean();
+
+       wp_dropdown_categories( array(
+               'taxonomy' => $taxonomy->name, 'hide_empty' => 0, 'name' => 'new'.$taxonomy->name.'_parent', 'orderby' => 'name',
+               'hierarchical' => 1, 'show_option_none' => '&mdash; '.$taxonomy->labels->parent_item.' &mdash;'
+       ) );
+
+       $sup = ob_get_clean();
+
        $add['supplemental'] = array( 'newcat_parent' => $sup );
 
        $x = new WP_Ajax_Response( $add );
@@ -660,6 +671,11 @@ function wp_ajax_untrash_post( $action ) {
        wp_ajax_trash_post( $action );
 }
 
+/**
+ * @since 3.1.0
+ *
+ * @param string $action
+ */
 function wp_ajax_delete_page( $action ) {
        if ( empty( $action ) )
                $action = 'delete-page';
@@ -762,6 +778,8 @@ function wp_ajax_add_link_category( $action ) {
  * Ajax handler to add a tag.
  *
  * @since 3.1.0
+ *
+ * @global WP_List_Table $wp_list_table
  */
 function wp_ajax_add_tag() {
        global $wp_list_table;
@@ -806,12 +824,12 @@ function wp_ajax_add_tag() {
        $x->add( array(
                'what' => 'taxonomy',
                'supplemental' => compact('parents', 'noparents')
-               ) );
+       ) );
        $x->add( array(
                'what' => 'term',
                'position' => $level,
                'supplemental' => (array) $tag
-               ) );
+       ) );
        $x->send();
 }
 
@@ -864,6 +882,9 @@ function wp_ajax_get_tagcloud() {
  *
  * @since 3.1.0
  *
+ * @global WP_List_Table $wp_list_table
+ * @global int           $post_id
+ *
  * @param string $action Action to perform.
  */
 function wp_ajax_get_comments( $action ) {
@@ -900,8 +921,7 @@ function wp_ajax_get_comments( $action ) {
                get_comment( $comment );
                $wp_list_table->single_row( $comment );
        }
-       $comment_list_item = ob_get_contents();
-       ob_end_clean();
+       $comment_list_item = ob_get_clean();
 
        $x->add( array(
                'what' => 'comments',
@@ -915,6 +935,8 @@ function wp_ajax_get_comments( $action ) {
  *
  * @since 3.1.0
  *
+ * @global WP_List_Table $wp_list_table
+ *
  * @param string $action Action to perform.
  */
 function wp_ajax_replyto_comment( $action ) {
@@ -1016,6 +1038,8 @@ function wp_ajax_replyto_comment( $action ) {
  * Ajax handler for editing a comment.
  *
  * @since 3.1.0
+ *
+ * @global WP_List_Table $wp_list_table
  */
 function wp_ajax_edit_comment() {
        global $wp_list_table;
@@ -1229,6 +1253,8 @@ function wp_ajax_add_meta() {
  *
  * @since 3.1.0
  *
+ * @global WP_List_Table $wp_list_table
+ *
  * @param string $action Action to perform.
  */
 function wp_ajax_add_user( $action ) {
@@ -1305,7 +1331,6 @@ function wp_ajax_closed_postboxes() {
  */
 function wp_ajax_hidden_columns() {
        check_ajax_referer( 'screen-options-nonce', 'screenoptionnonce' );
-       $hidden = explode( ',', isset( $_POST['hidden'] ) ? $_POST['hidden'] : '' );
        $page = isset( $_POST['page'] ) ? $_POST['page'] : '';
 
        if ( $page != sanitize_key( $page ) )
@@ -1314,8 +1339,8 @@ function wp_ajax_hidden_columns() {
        if ( ! $user = wp_get_current_user() )
                wp_die( -1 );
 
-       if ( is_array($hidden) )
-               update_user_option($user->ID, "manage{$page}columnshidden", $hidden, true);
+       $hidden = ! empty( $_POST['hidden'] ) ? explode( ',', $_POST['hidden'] ) : array();
+       update_user_option( $user->ID, "manage{$page}columnshidden", $hidden, true );
 
        wp_die( 1 );
 }
@@ -1499,6 +1524,8 @@ function wp_ajax_sample_permalink() {
  * Ajax handler for Quick Edit saving a post from a list table.
  *
  * @since 3.1.0
+ *
+ * @global WP_List_Table $wp_list_table
  */
 function wp_ajax_inline_save() {
        global $wp_list_table;
@@ -1593,6 +1620,8 @@ function wp_ajax_inline_save() {
  * Ajax handler for quick edit saving for a term.
  *
  * @since 3.1.0
+ *
+ * @global WP_List_Table $wp_list_table
  */
 function wp_ajax_inline_save_tax() {
        global $wp_list_table;
@@ -1745,6 +1774,10 @@ function wp_ajax_widgets_order() {
  * Ajax handler for saving a widget.
  *
  * @since 3.1.0
+ *
+ * @global array $wp_registered_widgets
+ * @global array $wp_registered_widget_controls
+ * @global array $wp_registered_widget_updates
  */
 function wp_ajax_save_widget() {
        global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates;
@@ -1834,6 +1867,8 @@ function wp_ajax_save_widget() {
  * Ajax handler for saving a widget.
  *
  * @since 3.9.0
+ *
+ * @global WP_Customize_Manager $wp_customize
  */
 function wp_ajax_update_widget() {
        global $wp_customize;
@@ -2074,6 +2109,7 @@ function wp_ajax_time_format() {
  * Ajax handler for saving posts from the fullscreen editor.
  *
  * @since 3.1.0
+ * @deprecated 4.3.0
  */
 function wp_ajax_wp_fullscreen_save_post() {
        $post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0;
@@ -2477,6 +2513,9 @@ function wp_ajax_send_attachment_to_editor() {
  * - video_send_to_editor_url
  *
  * @since 3.5.0
+ *
+ * @global WP_Post  $post
+ * @global WP_Embed $wp_embed
  */
 function wp_ajax_send_link_to_editor() {
        global $post, $wp_embed;
@@ -2532,26 +2571,35 @@ function wp_ajax_send_link_to_editor() {
  * @since 3.6.0
  */
 function wp_ajax_heartbeat() {
-       if ( empty( $_POST['_nonce'] ) )
+       if ( empty( $_POST['_nonce'] ) ) {
                wp_send_json_error();
-
-       $response = array();
-
-       if ( false === wp_verify_nonce( $_POST['_nonce'], 'heartbeat-nonce' ) ) {
-               // User is logged in but nonces have expired.
-               $response['nonces_expired'] = true;
-               wp_send_json($response);
        }
 
+       $response = $data = array();
+       $nonce_state = wp_verify_nonce( $_POST['_nonce'], 'heartbeat-nonce' );
+
        // screen_id is the same as $current_screen->id and the JS global 'pagenow'.
-       if ( ! empty($_POST['screen_id']) )
+       if ( ! empty( $_POST['screen_id'] ) ) {
                $screen_id = sanitize_key($_POST['screen_id']);
-       else
+       } else {
                $screen_id = 'front';
+       }
 
-       if ( ! empty($_POST['data']) ) {
+       if ( ! empty( $_POST['data'] ) ) {
                $data = wp_unslash( (array) $_POST['data'] );
+       }
+
+       if ( 1 !== $nonce_state ) {
+               $response = apply_filters( 'wp_refresh_nonces', $response, $data, $screen_id );
+
+               if ( false === $nonce_state ) {
+                       // User is logged in but nonces have expired.
+                       $response['nonces_expired'] = true;
+                       wp_send_json( $response );
+               }
+       }
 
+       if ( ! empty( $data ) ) {
                /**
                 * Filter the Heartbeat response received.
                 *
@@ -2589,7 +2637,7 @@ function wp_ajax_heartbeat() {
        // Send the current time according to the server
        $response['server_time'] = time();
 
-       wp_send_json($response);
+       wp_send_json( $response );
 }
 
 /**
@@ -2629,6 +2677,8 @@ function wp_ajax_get_revision_diffs() {
  * a user's own profile.
  *
  * @since 3.8.0
+ *
+ * @global array $_wp_admin_css_colors
  */
 function wp_ajax_save_user_color_scheme() {
        global $_wp_admin_css_colors;
@@ -2654,6 +2704,9 @@ function wp_ajax_save_user_color_scheme() {
  * Ajax handler for getting themes from themes_api().
  *
  * @since 3.9.0
+ *
+ * @global array $themes_allowedtags
+ * @global array $theme_field_defaults
  */
 function wp_ajax_query_themes() {
        global $themes_allowedtags, $theme_field_defaults;
@@ -2701,8 +2754,9 @@ function wp_ajax_query_themes() {
  *
  * @since 4.0.0
  *
- * @global WP_Post  $post     Global $post.
- * @global WP_Embed $wp_embed Embed API instance.
+ * @global WP_Post    $post       Global $post.
+ * @global WP_Embed   $wp_embed   Embed API instance.
+ * @global WP_Scripts $wp_scripts
  */
 function wp_ajax_parse_embed() {
        global $post, $wp_embed;
@@ -2716,14 +2770,23 @@ function wp_ajax_parse_embed() {
        }
 
        $shortcode = wp_unslash( $_POST['shortcode'] );
-       $url = str_replace( '[embed]', '', str_replace( '[/embed]', '', $shortcode ) );
+
+       preg_match( '/' . get_shortcode_regex() . '/s', $shortcode, $matches );
+       $atts = shortcode_parse_atts( $matches[3] );
+       if ( ! empty( $matches[5] ) ) {
+               $url = $matches[5];
+       } elseif ( ! empty( $atts['src'] ) ) {
+               $url = $atts['src'];
+       } else {
+               $url = '';
+       }
 
        $parsed = false;
        setup_postdata( $post );
 
        $wp_embed->return_false_on_fail = true;
 
-       if ( is_ssl() && preg_match( '%^\\[embed[^\\]]*\\]http://%i', $shortcode ) ) {
+       if ( is_ssl() && 0 === strpos( $url, 'http://' ) ) {
                // Admin is ssl and the user pasted non-ssl URL.
                // Check if the provider supports ssl embeds and use that for the preview.
                $ssl_shortcode = preg_replace( '%^(\\[embed[^\\]]*\\])http://%i', '$1https://', $shortcode );
@@ -2734,7 +2797,7 @@ function wp_ajax_parse_embed() {
                }
        }
 
-       if ( ! $parsed ) {
+       if ( $url && ! $parsed ) {
                $parsed = $wp_embed->run_shortcode( $shortcode );
        }
 
@@ -2776,10 +2839,17 @@ function wp_ajax_parse_embed() {
        }
 
        wp_send_json_success( array(
-               'body' => $parsed
+               'body' => $parsed,
+               'attr' => $wp_embed->last_attr
        ) );
 }
 
+/**
+ * @since 4.0.0
+ *
+ * @global WP_Post    $post
+ * @global WP_Scripts $wp_scripts
+ */
 function wp_ajax_parse_media_shortcode() {
        global $post, $wp_scripts;
 
@@ -2846,7 +2916,6 @@ function wp_ajax_parse_media_shortcode() {
  * @since 4.1.0
  */
 function wp_ajax_destroy_sessions() {
-
        $user = get_userdata( (int) $_POST['user_id'] );
        if ( $user ) {
                if ( ! current_user_can( 'edit_user', $user->ID ) ) {
@@ -2903,7 +2972,7 @@ function wp_ajax_update_plugin() {
        }
 
        if ( ! current_user_can( 'update_plugins' ) ) {
-               $status['error'] = __( 'You do not have sufficient permissions to update plugins on this site.' );
+               $status['error'] = __( 'You do not have sufficient permissions to update plugins for this site.' );
                wp_send_json_error( $status );
        }
 
@@ -2966,6 +3035,8 @@ function wp_ajax_update_plugin() {
  * AJAX handler for saving a post from Press This.
  *
  * @since 4.2.0
+ *
+ * @global WP_Press_This $wp_press_this
  */
 function wp_ajax_press_this_save_post() {
        if ( empty( $GLOBALS['wp_press_this'] ) ) {
@@ -2979,6 +3050,8 @@ function wp_ajax_press_this_save_post() {
  * AJAX handler for creating new category from Press This.
  *
  * @since 4.2.0
+ *
+ * @global WP_Press_This $wp_press_this
  */
 function wp_ajax_press_this_add_category() {
        if ( empty( $GLOBALS['wp_press_this'] ) ) {
@@ -2987,3 +3060,117 @@ function wp_ajax_press_this_add_category() {
 
        $GLOBALS['wp_press_this']->add_category();
 }
+
+/**
+ * AJAX handler for cropping an image.
+ *
+ * @since 4.3.0
+ *
+ * @global WP_Site_Icon $wp_site_icon
+ */
+function wp_ajax_crop_image() {
+       $attachment_id = absint( $_POST['id'] );
+
+       check_ajax_referer( 'image_editor-' . $attachment_id, 'nonce' );
+       if ( ! current_user_can( 'customize' ) ) {
+               wp_send_json_error();
+       }
+
+       $context = str_replace( '_', '-', $_POST['context'] );
+       $data    = array_map( 'absint', $_POST['cropDetails'] );
+       $cropped = wp_crop_image( $attachment_id, $data['x1'], $data['y1'], $data['width'], $data['height'], $data['dst_width'], $data['dst_height'] );
+
+       if ( ! $cropped || is_wp_error( $cropped ) ) {
+               wp_send_json_error( array( 'message' => __( 'Image could not be processed.' ) ) );
+       }
+
+       switch ( $context ) {
+               case 'site-icon':
+                       require_once ABSPATH . '/wp-admin/includes/class-wp-site-icon.php';
+                       global $wp_site_icon;
+
+                       // Skip creating a new attachment if the attachment is a Site Icon.
+                       if ( get_post_meta( $attachment_id, '_wp_attachment_context', true ) == $context ) {
+
+                               // Delete the temporary cropped file, we don't need it.
+                               wp_delete_file( $cropped );
+
+                               // Additional sizes in wp_prepare_attachment_for_js().
+                               add_filter( 'image_size_names_choose', array( $wp_site_icon, 'additional_sizes' ) );
+                               break;
+                       }
+
+                       /** This filter is documented in wp-admin/custom-header.php */
+                       $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication.
+                       $object  = $wp_site_icon->create_attachment_object( $cropped, $attachment_id );
+                       unset( $object['ID'] );
+
+                       // Update the attachment.
+                       add_filter( 'intermediate_image_sizes_advanced', array( $wp_site_icon, 'additional_sizes' ) );
+                       $attachment_id = $wp_site_icon->insert_attachment( $object, $cropped );
+                       remove_filter( 'intermediate_image_sizes_advanced', array( $wp_site_icon, 'additional_sizes' ) );
+
+                       // Additional sizes in wp_prepare_attachment_for_js().
+                       add_filter( 'image_size_names_choose', array( $wp_site_icon, 'additional_sizes' ) );
+                       break;
+
+               default:
+
+                       /**
+                        * Fires before a cropped image is saved.
+                        *
+                        * Allows to add filters to modify the way a cropped image is saved.
+                        *
+                        * @since 4.3.0
+                        *
+                        * @param string $context       The Customizer control requesting the cropped image.
+                        * @param int    $attachment_id The attachment ID of the original image.
+                        * @param string $cropped       Path to the cropped image file.
+                        */
+                       do_action( 'wp_ajax_crop_image_pre_save', $context, $attachment_id, $cropped );
+
+                       /** This filter is documented in wp-admin/custom-header.php */
+                       $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication.
+
+                       $parent_url = get_post( $attachment_id )->guid;
+                       $url        = str_replace( basename( $parent_url ), basename( $cropped ), $parent_url );
+
+                       $size       = @getimagesize( $cropped );
+                       $image_type = ( $size ) ? $size['mime'] : 'image/jpeg';
+
+                       $object = array(
+                               'post_title'     => basename( $cropped ),
+                               'post_content'   => $url,
+                               'post_mime_type' => $image_type,
+                               'guid'           => $url,
+                               'context'        => $context,
+                       );
+
+                       $attachment_id = wp_insert_attachment( $object, $cropped );
+                       $metadata = wp_generate_attachment_metadata( $attachment_id, $cropped );
+
+                       /**
+                        * Filter the cropped image attachment metadata.
+                        *
+                        * @since 4.3.0
+                        *
+                        * @see wp_generate_attachment_metadata()
+                        *
+                        * @param array $metadata Attachment metadata.
+                        */
+                       $metadata = apply_filters( 'wp_ajax_cropped_attachment_metadata', $metadata );
+                       wp_update_attachment_metadata( $attachment_id, $metadata );
+
+                       /**
+                        * Filter the attachment ID for a cropped image.
+                        *
+                        * @since 4.3.0
+                        *
+                        * @param int    $attachment_id The attachment ID of the cropped image.
+                        * @param string $context       The Customizer control requesting the cropped image.
+                        */
+                       $attachment_id = apply_filters( 'wp_ajax_cropped_attachment_id', $attachment_id, $context );
+       }
+
+       wp_send_json_success( wp_prepare_attachment_for_js( $attachment_id ) );
+}
index b73df8b8aad34220e728e8fbe132620f51f2d074..bdf1d7fa4026897e381aee4558eaba575c6ede6f 100644 (file)
@@ -74,8 +74,10 @@ function get_default_link_to_edit() {
  *
  * @since 2.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $link_id ID of the link to delete
- * @return bool True
+ * @return true
  */
 function wp_delete_link( $link_id ) {
        global $wpdb;
@@ -114,9 +116,7 @@ function wp_delete_link( $link_id ) {
  * @return array The requested link's categories
  */
 function wp_get_link_cats( $link_id = 0 ) {
-
        $cats = wp_get_object_terms( $link_id, 'link_category', array('fields' => 'ids') );
-
        return array_unique( $cats );
 }
 
@@ -137,8 +137,10 @@ function get_link_to_edit( $link_id ) {
  *
  * @since 2.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param array $linkdata Elements that make up the link to insert.
- * @param bool $wp_error Optional. If true return WP_Error object on failure.
+ * @param bool  $wp_error Optional. If true return WP_Error object on failure.
  * @return int|WP_Error Value 0 or WP_Error on failure. The link ID on success.
  */
 function wp_insert_link( $linkdata, $wp_error = false ) {
@@ -285,6 +287,8 @@ function wp_update_link( $linkdata ) {
 /**
  * @since 3.5.0
  * @access private
+ *
+ * @global string $pagenow
  */
 function wp_link_manager_disabled_message() {
        global $pagenow;
@@ -302,4 +306,3 @@ function wp_link_manager_disabled_message() {
 
        wp_die( __( 'You do not have sufficient permissions to edit the links for this site.' ) );
 }
-add_action( 'admin_page_access_denied', 'wp_link_manager_disabled_message' );
index bb7742abec9b6b186d95a4450b49ef92af1504ab..7146c9626d6ddfa754b8c7a9fbe2307182a4d908 100644 (file)
  */
 class ftp extends ftp_base {
 
-       function ftp($verb=FALSE, $le=FALSE) {
-               $this->__construct($verb, $le);
-       }
-
        function __construct($verb=FALSE, $le=FALSE) {
                parent::__construct(false, $verb, $le);
        }
 
+       function ftp($verb=FALSE, $le=FALSE) {
+               $this->__construct($verb, $le);
+       }
+
 // <!-- --------------------------------------------------------------------------------------- -->
 // <!--       Private functions                                                                 -->
 // <!-- --------------------------------------------------------------------------------------- -->
index f9ea6cd5d2a7a654a8033293f6daddc7837cbc72..6bf94ebd946d2f008908d90a4995f0fe8ce2e0fe 100644 (file)
  */
 class ftp extends ftp_base {
 
-       function ftp($verb=FALSE, $le=FALSE) {
-               $this->__construct($verb, $le);
-       }
-
        function __construct($verb=FALSE, $le=FALSE) {
                parent::__construct(true, $verb, $le);
        }
 
+       function ftp($verb=FALSE, $le=FALSE) {
+               $this->__construct($verb, $le);
+       }
+
 // <!-- --------------------------------------------------------------------------------------- -->
 // <!--       Private functions                                                                 -->
 // <!-- --------------------------------------------------------------------------------------- -->
index 01e585bf9d044ac49dcb9e7e9fe14e5a68871a16..c9d965649c3791d79323559cad2995b8df70264a 100644 (file)
@@ -121,10 +121,6 @@ class ftp_base {
        var $AutoAsciiExt;
 
        /* Constructor */
-       function ftp_base($port_mode=FALSE) {
-               $this->__construct($port_mode);
-       }
-
        function __construct($port_mode=FALSE, $verb=FALSE, $le=FALSE) {
                $this->LocalEcho=$le;
                $this->Verbose=$verb;
@@ -157,6 +153,10 @@ class ftp_base {
                elseif(strtoupper(substr(PHP_OS, 0, 3)) === 'MAC') $this->OS_local=FTP_OS_Mac;
        }
 
+       function ftp_base($port_mode=FALSE) {
+               $this->__construct($port_mode);
+       }
+
 // <!-- --------------------------------------------------------------------------------------- -->
 // <!--       Public functions                                                                  -->
 // <!-- --------------------------------------------------------------------------------------- -->
index 5e6a619bc25f5f6ba194e5e9eec671b830a6414c..f36a4a3eef06b6cf4ff1d134ba9bad184a6f0f43 100644 (file)
   //   Note that no real action is taken, if the archive does not exist it is not
   //   created. Use create() for that.
   // --------------------------------------------------------------------------------
-  function PclZip($p_zipname)
+  function __construct($p_zipname)
   {
 
     // ----- Tests the zlib
     // ----- Return
     return;
   }
+
+  public function PclZip($p_zipname) {
+    self::__construct($p_zipname);
+  }
   // --------------------------------------------------------------------------------
 
   // --------------------------------------------------------------------------------
index 863585473b8a02a8c821d9e8e666b1937eabeed0..fcfcd1e36bc6b76e2a3b355f5e3bf212a3cf5fa4 100644 (file)
@@ -33,6 +33,8 @@ class WP_Comments_List_Table extends WP_List_Table {
         *
         * @see WP_List_Table::__construct() for more information on default arguments.
         *
+        * @global int $post_id
+        *
         * @param array $args An associative array of arguments.
         */
        public function __construct( $args = array() ) {
@@ -51,10 +53,20 @@ class WP_Comments_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can('edit_posts');
        }
 
+       /**
+        *
+        * @global int    $post_id
+        * @global string $comment_status
+        * @global string $search
+        * @global string $comment_type
+        */
        public function prepare_items() {
                global $post_id, $comment_status, $search, $comment_type;
 
@@ -116,22 +128,22 @@ class WP_Comments_List_Table extends WP_List_Table {
                );
 
                $_comments = get_comments( $args );
+               if ( is_array( $_comments ) ) {
+                       update_comment_cache( $_comments );
 
-               update_comment_cache( $_comments );
-
-               $this->items = array_slice( $_comments, 0, $comments_per_page );
-               $this->extra_items = array_slice( $_comments, $comments_per_page );
+                       $this->items = array_slice( $_comments, 0, $comments_per_page );
+                       $this->extra_items = array_slice( $_comments, $comments_per_page );
 
-               $total_comments = get_comments( array_merge( $args, array('count' => true, 'offset' => 0, 'number' => 0) ) );
+                       $_comment_post_ids = array_unique( wp_list_pluck( $_comments, 'comment_post_ID' ) );
 
-               $_comment_post_ids = array();
-               foreach ( $_comments as $_c ) {
-                       $_comment_post_ids[] = $_c->comment_post_ID;
+                       $this->pending_count = get_pending_comments_num( $_comment_post_ids );
                }
 
-               $_comment_post_ids = array_unique( $_comment_post_ids );
-
-               $this->pending_count = get_pending_comments_num( $_comment_post_ids );
+               $total_comments = get_comments( array_merge( $args, array(
+                       'count' => true,
+                       'offset' => 0,
+                       'number' => 0
+               ) ) );
 
                $this->set_pagination_args( array(
                        'total_items' => $total_comments,
@@ -139,6 +151,11 @@ class WP_Comments_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @param string $comment_status
+        * @return int
+        */
        public function get_per_page( $comment_status = 'all' ) {
                $comments_per_page = $this->get_items_per_page( 'edit_comments_per_page' );
                /**
@@ -149,10 +166,13 @@ class WP_Comments_List_Table extends WP_List_Table {
                 * @param int    $comments_per_page The number of comments to list per page.
                 * @param string $comment_status    The comment status name. Default 'All'.
                 */
-               $comments_per_page = apply_filters( 'comments_per_page', $comments_per_page, $comment_status );
-               return $comments_per_page;
+               return apply_filters( 'comments_per_page', $comments_per_page, $comment_status );
        }
 
+       /**
+        *
+        * @global string $comment_status
+        */
        public function no_items() {
                global $comment_status;
 
@@ -162,6 +182,12 @@ class WP_Comments_List_Table extends WP_List_Table {
                        _e( 'No comments found.' );
        }
 
+       /**
+        *
+        * @global int $post_id
+        * @global string $comment_status
+        * @global string $comment_type
+        */
        protected function get_views() {
                global $post_id, $comment_status, $comment_type;
 
@@ -211,10 +237,15 @@ class WP_Comments_List_Table extends WP_List_Table {
                 * @param array $status_links An array of fully-formed status links. Default 'All'.
                 *                            Accepts 'All', 'Pending', 'Approved', 'Spam', and 'Trash'.
                 */
-               $status_links = apply_filters( 'comment_status_links', $status_links );
-               return $status_links;
+               return apply_filters( 'comment_status_links', $status_links );
        }
 
+       /**
+        *
+        * @global string $comment_status
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                global $comment_status;
 
@@ -239,6 +270,13 @@ class WP_Comments_List_Table extends WP_List_Table {
                return $actions;
        }
 
+       /**
+        *
+        * @global string $comment_status
+        * @global string $comment_type
+        *
+        * @param string $which
+        */
        protected function extra_tablenav( $which ) {
                global $comment_status, $comment_type;
 ?>
@@ -292,6 +330,9 @@ class WP_Comments_List_Table extends WP_List_Table {
                echo '</div>';
        }
 
+       /**
+        * @return string|false
+        */
        public function current_action() {
                if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
                        return 'delete_all';
@@ -299,6 +340,12 @@ class WP_Comments_List_Table extends WP_List_Table {
                return parent::current_action();
        }
 
+       /**
+        *
+        * @global int $post_id
+        *
+        * @return array
+        */
        public function get_columns() {
                global $post_id;
 
@@ -310,12 +357,18 @@ class WP_Comments_List_Table extends WP_List_Table {
                $columns['author'] = __( 'Author' );
                $columns['comment'] = _x( 'Comment', 'column name' );
 
-               if ( !$post_id )
-                       $columns['response'] = _x( 'In Response To', 'column name' );
+               if ( ! $post_id ) {
+                       /* translators: column name or table row header */
+                       $columns['response'] = __( 'In Response To' );
+               }
 
                return $columns;
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'author'   => 'comment_author',
@@ -323,13 +376,28 @@ class WP_Comments_List_Table extends WP_List_Table {
                );
        }
 
+       /**
+        * Get the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'comment'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'comment';
+       }
+
+       /**
+        * @access public
+        */
        public function display() {
                wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 
                $this->display_tablenav( 'top' );
 
 ?>
-<table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>">
+<table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
        <thead>
        <tr>
                <?php $this->print_column_headers(); ?>
@@ -356,6 +424,13 @@ class WP_Comments_List_Table extends WP_List_Table {
                $this->display_tablenav( 'bottom' );
        }
 
+       /**
+        *
+        * @global WP_Post $post
+        * @global object  $comment
+        *
+        * @param object $a_comment
+        */
        public function single_row( $a_comment ) {
                global $post, $comment;
 
@@ -375,6 +450,125 @@ class WP_Comments_List_Table extends WP_List_Table {
                echo "</tr>\n";
        }
 
+       /**
+        * Generate and display row actions links.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $comment     Comment being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string|void Comment row actions output.
+        */
+       protected function handle_row_actions( $comment, $column_name, $primary ) {
+               global $comment_status;
+
+               if ( $primary !== $column_name ) {
+                       return '';
+               }
+
+               if ( ! $this->user_can ) {
+                       return;
+               }
+
+               $the_comment_status = wp_get_comment_status( $comment->comment_ID );
+
+               $out = '';
+
+               $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
+               $approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );
+
+               $url = "comment.php?c=$comment->comment_ID";
+
+               $approve_url = esc_url( $url . "&action=approvecomment&$approve_nonce" );
+               $unapprove_url = esc_url( $url . "&action=unapprovecomment&$approve_nonce" );
+               $spam_url = esc_url( $url . "&action=spamcomment&$del_nonce" );
+               $unspam_url = esc_url( $url . "&action=unspamcomment&$del_nonce" );
+               $trash_url = esc_url( $url . "&action=trashcomment&$del_nonce" );
+               $untrash_url = esc_url( $url . "&action=untrashcomment&$del_nonce" );
+               $delete_url = esc_url( $url . "&action=deletecomment&$del_nonce" );
+
+               // Preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash.
+               $actions = array(
+                       'approve' => '', 'unapprove' => '',
+                       'reply' => '',
+                       'quickedit' => '',
+                       'edit' => '',
+                       'spam' => '', 'unspam' => '',
+                       'trash' => '', 'untrash' => '', 'delete' => ''
+               );
+
+               // Not looking at all comments.
+               if ( $comment_status && 'all' != $comment_status ) {
+                       if ( 'approved' == $the_comment_status ) {
+                               $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=unapproved' class='vim-u vim-destructive' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
+                       } elseif ( 'unapproved' == $the_comment_status ) {
+                               $actions['approve'] = "<a href='$approve_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=approved' class='vim-a vim-destructive' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
+                       }
+               } else {
+                       $actions['approve'] = "<a href='$approve_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' class='vim-a' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
+                       $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' class='vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
+               }
+
+               if ( 'spam' != $the_comment_status ) {
+                       $actions['spam'] = "<a href='$spam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::spam=1' class='vim-s vim-destructive' title='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';
+               } elseif ( 'spam' == $the_comment_status ) {
+                       $actions['unspam'] = "<a href='$unspam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:unspam=1' class='vim-z vim-destructive'>" . _x( 'Not Spam', 'comment' ) . '</a>';
+               }
+
+               if ( 'trash' == $the_comment_status ) {
+                       $actions['untrash'] = "<a href='$untrash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1' class='vim-z vim-destructive'>" . __( 'Restore' ) . '</a>';
+               }
+
+               if ( 'spam' == $the_comment_status || 'trash' == $the_comment_status || !EMPTY_TRASH_DAYS ) {
+                       $actions['delete'] = "<a href='$delete_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::delete=1' class='delete vim-d vim-destructive'>" . __( 'Delete Permanently' ) . '</a>';
+               } else {
+                       $actions['trash'] = "<a href='$trash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::trash=1' class='delete vim-d vim-destructive' title='" . esc_attr__( 'Move this comment to the trash' ) . "'>" . _x( 'Trash', 'verb' ) . '</a>';
+               }
+
+               if ( 'spam' != $the_comment_status && 'trash' != $the_comment_status ) {
+                       $actions['edit'] = "<a href='comment.php?action=editcomment&amp;c={$comment->comment_ID}' title='" . esc_attr__( 'Edit comment' ) . "'>". __( 'Edit' ) . '</a>';
+
+                       $format = '<a data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s" title="%s" href="#">%s</a>';
+
+                       $actions['quickedit'] = sprintf( $format, $comment->comment_ID, $comment->comment_post_ID, 'edit', 'vim-q comment-inline',esc_attr__( 'Edit this item inline' ), __( 'Quick&nbsp;Edit' ) );
+
+                       $actions['reply'] = sprintf( $format, $comment->comment_ID, $comment->comment_post_ID, 'replyto', 'vim-r comment-inline', esc_attr__( 'Reply to this comment' ), __( 'Reply' ) );
+               }
+
+               /** This filter is documented in wp-admin/includes/dashboard.php */
+               $actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment );
+
+               $i = 0;
+               $out .= '<div class="row-actions">';
+               foreach ( $actions as $action => $link ) {
+                       ++$i;
+                       ( ( ( 'approve' == $action || 'unapprove' == $action ) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
+
+                       // Reply and quickedit need a hide-if-no-js span when not added with ajax
+                       if ( ( 'reply' == $action || 'quickedit' == $action ) && ! defined('DOING_AJAX') )
+                               $action .= ' hide-if-no-js';
+                       elseif ( ( $action == 'untrash' && $the_comment_status == 'trash' ) || ( $action == 'unspam' && $the_comment_status == 'spam' ) ) {
+                               if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) )
+                                       $action .= ' approve';
+                               else
+                                       $action .= ' unapprove';
+                       }
+
+                       $out .= "<span class='$action'>$sep$link</span>";
+               }
+               $out .= '</div>';
+
+               $out .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>';
+
+               return $out;
+       }
+
+       /**
+        *
+        * @param object $comment
+        */
        public function column_cb( $comment ) {
                if ( $this->user_can ) { ?>
                <label class="screen-reader-text" for="cb-select-<?php echo $comment->comment_ID; ?>"><?php _e( 'Select comment' ); ?></label>
@@ -383,27 +577,11 @@ class WP_Comments_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        * @param object $comment
+        */
        public function column_comment( $comment ) {
-               global $comment_status;
-               $post = get_post();
-
                $comment_url = esc_url( get_comment_link( $comment->comment_ID ) );
-               $the_comment_status = wp_get_comment_status( $comment->comment_ID );
-
-               if ( $this->user_can ) {
-                       $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
-                       $approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );
-
-                       $url = "comment.php?c=$comment->comment_ID";
-
-                       $approve_url = esc_url( $url . "&action=approvecomment&$approve_nonce" );
-                       $unapprove_url = esc_url( $url . "&action=unapprovecomment&$approve_nonce" );
-                       $spam_url = esc_url( $url . "&action=spamcomment&$del_nonce" );
-                       $unspam_url = esc_url( $url . "&action=unspamcomment&$del_nonce" );
-                       $trash_url = esc_url( $url . "&action=trashcomment&$del_nonce" );
-                       $untrash_url = esc_url( $url . "&action=untrashcomment&$del_nonce" );
-                       $delete_url = esc_url( $url . "&action=deletecomment&$del_nonce" );
-               }
 
                echo '<div class="comment-author">';
                        $this->column_author( $comment );
@@ -439,81 +617,14 @@ class WP_Comments_List_Table extends WP_List_Table {
                </div>
                <?php
                }
-
-               if ( $this->user_can ) {
-                       // Preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash.
-                       $actions = array(
-                               'approve' => '', 'unapprove' => '',
-                               'reply' => '',
-                               'quickedit' => '',
-                               'edit' => '',
-                               'spam' => '', 'unspam' => '',
-                               'trash' => '', 'untrash' => '', 'delete' => ''
-                       );
-
-                       // Not looking at all comments.
-                       if ( $comment_status && 'all' != $comment_status ) {
-                               if ( 'approved' == $the_comment_status ) {
-                                       $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=unapproved' class='vim-u vim-destructive' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
-                               } elseif ( 'unapproved' == $the_comment_status ) {
-                                       $actions['approve'] = "<a href='$approve_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=approved' class='vim-a vim-destructive' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
-                               }
-                       } else {
-                               $actions['approve'] = "<a href='$approve_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' class='vim-a' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
-                               $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' class='vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
-                       }
-
-                       if ( 'spam' != $the_comment_status ) {
-                               $actions['spam'] = "<a href='$spam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::spam=1' class='vim-s vim-destructive' title='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';
-                       } elseif ( 'spam' == $the_comment_status ) {
-                               $actions['unspam'] = "<a href='$unspam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:unspam=1' class='vim-z vim-destructive'>" . _x( 'Not Spam', 'comment' ) . '</a>';
-                       }
-
-                       if ( 'trash' == $the_comment_status ) {
-                               $actions['untrash'] = "<a href='$untrash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1' class='vim-z vim-destructive'>" . __( 'Restore' ) . '</a>';
-                       }
-
-                       if ( 'spam' == $the_comment_status || 'trash' == $the_comment_status || !EMPTY_TRASH_DAYS ) {
-                               $actions['delete'] = "<a href='$delete_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::delete=1' class='delete vim-d vim-destructive'>" . __( 'Delete Permanently' ) . '</a>';
-                       } else {
-                               $actions['trash'] = "<a href='$trash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::trash=1' class='delete vim-d vim-destructive' title='" . esc_attr__( 'Move this comment to the trash' ) . "'>" . _x( 'Trash', 'verb' ) . '</a>';
-                       }
-
-                       if ( 'spam' != $the_comment_status && 'trash' != $the_comment_status ) {
-                               $actions['edit'] = "<a href='comment.php?action=editcomment&amp;c={$comment->comment_ID}' title='" . esc_attr__( 'Edit comment' ) . "'>". __( 'Edit' ) . '</a>';
-
-                               $format = '<a data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s" title="%s" href="#">%s</a>';
-
-                               $actions['quickedit'] = sprintf( $format, $comment->comment_ID, $post->ID, 'edit', 'vim-q comment-inline',esc_attr__( 'Edit this item inline' ), __( 'Quick&nbsp;Edit' ) );
-
-                               $actions['reply'] = sprintf( $format, $comment->comment_ID, $post->ID, 'replyto', 'vim-r comment-inline', esc_attr__( 'Reply to this comment' ), __( 'Reply' ) );
-                       }
-
-                       /** This filter is documented in wp-admin/includes/dashboard.php */
-                       $actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment );
-
-                       $i = 0;
-                       echo '<div class="row-actions">';
-                       foreach ( $actions as $action => $link ) {
-                               ++$i;
-                               ( ( ( 'approve' == $action || 'unapprove' == $action ) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
-
-                               // Reply and quickedit need a hide-if-no-js span when not added with ajax
-                               if ( ( 'reply' == $action || 'quickedit' == $action ) && ! defined('DOING_AJAX') )
-                                       $action .= ' hide-if-no-js';
-                               elseif ( ( $action == 'untrash' && $the_comment_status == 'trash' ) || ( $action == 'unspam' && $the_comment_status == 'spam' ) ) {
-                                       if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) )
-                                               $action .= ' approve';
-                                       else
-                                               $action .= ' unapprove';
-                               }
-
-                               echo "<span class='$action'>$sep$link</span>";
-                       }
-                       echo '</div>';
-               }
        }
 
+       /**
+        *
+        * @global string $comment_status
+        *
+        * @param object $comment
+        */
        public function column_author( $comment ) {
                global $comment_status;
 
@@ -545,13 +656,24 @@ class WP_Comments_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        *
+        * @return string
+        */
        public function column_date() {
                return get_comment_date( __( 'Y/m/d \a\t g:i a' ) );
        }
 
+       /**
+        * @access public
+        */
        public function column_response() {
                $post = get_post();
 
+               if ( ! $post ) {
+                       return;
+               }
+
                if ( isset( $this->pending_count[$post->ID] ) ) {
                        $pending_comments = $this->pending_count[$post->ID];
                } else {
@@ -560,23 +682,30 @@ class WP_Comments_List_Table extends WP_List_Table {
                }
 
                if ( current_user_can( 'edit_post', $post->ID ) ) {
-                       $post_link = "<a href='" . get_edit_post_link( $post->ID ) . "'>";
+                       $post_link = "<a href='" . get_edit_post_link( $post->ID ) . "' class='comments-edit-item-link'>";
                        $post_link .= esc_html( get_the_title( $post->ID ) ) . '</a>';
                } else {
                        $post_link = esc_html( get_the_title( $post->ID ) );
                }
 
-               echo '<div class="response-links"><span class="post-com-count-wrapper">';
-               echo $post_link . '<br />';
+               echo '<div class="response-links">';
+               if ( 'attachment' == $post->post_type && ( $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true ) ) ) {
+                       echo $thumb;
+               }
+               echo $post_link;
+               $post_type_object = get_post_type_object( $post->post_type );
+               echo "<a href='" . get_permalink( $post->ID ) . "' class='comments-view-item-link'>" . $post_type_object->labels->view_item . '</a>';
+               echo '<span class="post-com-count-wrapper">';
                $this->comments_bubble( $post->ID, $pending_comments );
                echo '</span> ';
-               $post_type_object = get_post_type_object( $post->post_type );
-               echo "<a href='" . get_permalink( $post->ID ) . "'>" . $post_type_object->labels->view_item . '</a>';
                echo '</div>';
-               if ( 'attachment' == $post->post_type && ( $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true ) ) )
-                       echo $thumb;
        }
 
+       /**
+        *
+        * @param object $comment
+        * @param string $column_name
+        */
        public function column_default( $comment, $column_name ) {
                /**
                 * Fires when the default column output is displayed for a single row.
@@ -602,6 +731,10 @@ class WP_Comments_List_Table extends WP_List_Table {
  */
 class WP_Post_Comments_List_Table extends WP_Comments_List_Table {
 
+       /**
+        *
+        * @return array
+        */
        protected function get_column_info() {
                return array(
                        array(
@@ -610,15 +743,25 @@ class WP_Post_Comments_List_Table extends WP_Comments_List_Table {
                        ),
                        array(),
                        array(),
+                       'comment',
                );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_table_classes() {
                $classes = parent::get_table_classes();
+               $classes[] = 'wp-list-table';
                $classes[] = 'comments-box';
                return $classes;
        }
 
+       /**
+        *
+        * @param bool $output_empty
+        */
        public function display( $output_empty = false ) {
                $singular = $this->_args['singular'];
 
@@ -637,6 +780,11 @@ class WP_Post_Comments_List_Table extends WP_Comments_List_Table {
 <?php
        }
 
+       /**
+        *
+        * @param bool $comment_status
+        * @return int
+        */
        public function get_per_page( $comment_status = false ) {
                return 10;
        }
index f8aeb86f8862aaf97c0188533ebddd31da59fbe7..80d92501ad6a9cb15abfe4f5d9556b8befcc135b 100644 (file)
@@ -171,7 +171,6 @@ class WP_Filesystem_Base {
         * @return string|false The location of the remote path, false on failure.
         */
        public function find_folder( $folder ) {
-
                if ( isset( $this->cache[ $folder ] ) )
                        return $this->cache[ $folder ];
 
@@ -311,7 +310,7 @@ class WP_Filesystem_Base {
         * @return string The *nix-style representation of permissions.
         */
        public function gethchmod( $file ){
-               $perms = $this->getchmod($file);
+               $perms = intval( $this->getchmod( $file ), 8 );
                if (($perms & 0xC000) == 0xC000) // Socket
                        $info = 's';
                elseif (($perms & 0xA000) == 0xA000) // Symbolic Link
@@ -352,6 +351,17 @@ class WP_Filesystem_Base {
                return $info;
        }
 
+       /**
+        * Gets the permissions of the specified file or filepath in their octal format
+        *
+        * @since 2.5.0
+        * @param string $file
+        * @return string the last 3 characters of the octal number
+        */
+       public function getchmod( $file ) {
+               return '777';
+       }
+
        /**
         * Convert *nix-style file permissions to a octal number.
         *
@@ -482,7 +492,7 @@ class WP_Filesystem_Base {
         * @since 2.5.0
         * @abstract
         * @param string $dir The new current directory.
-        * @return bool Returns true on success or false on failure.
+        * @return bool|string
         */
        public function chdir( $dir ) {
                return false;
@@ -496,7 +506,7 @@ class WP_Filesystem_Base {
         * @param string $file      Path to the file.
         * @param mixed  $group     A group name or number.
         * @param bool   $recursive Optional. If set True changes file group recursively. Defaults to False.
-        * @return bool Returns true on success or false on failure.
+        * @return bool|string
         */
        public function chgrp( $file, $group, $recursive = false ) {
                return false;
@@ -510,7 +520,7 @@ class WP_Filesystem_Base {
         * @param string $file      Path to the file.
         * @param int    $mode      Optional. The permissions as octal number, usually 0644 for files, 0755 for dirs.
         * @param bool   $recursive Optional. If set True changes file group recursively. Defaults to False.
-        * @return bool Returns true on success or false on failure.
+        * @return bool|string
         */
        public function chmod( $file, $mode = false, $recursive = false ) {
                return false;
index f9f46e7c81d003cf17db77259defdc95617ea8db..62ade49136ec5a9c6143529280811ae3a2d1a6c7 100644 (file)
 class WP_Filesystem_FTPext extends WP_Filesystem_Base {
        public $link;
 
-       public function __construct($opt='') {
+       /**
+        *
+        * @param array $opt
+        */
+       public function __construct( $opt = '' ) {
                $this->method = 'ftpext';
                $this->errors = new WP_Error();
 
@@ -58,6 +62,10 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                        $this->options['ssl'] = true;
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function connect() {
                if ( isset($this->options['ssl']) && $this->options['ssl'] && function_exists('ftp_ssl_connect') )
                        $this->link = @ftp_ssl_connect($this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT);
@@ -376,10 +384,10 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
        /**
         * @staticvar bool $is_windows
         * @param string $line
-        * @return string
+        * @return array
         */
        public function parselisting($line) {
-               static $is_windows;
+               static $is_windows = null;
                if ( is_null($is_windows) )
                        $is_windows = stripos( ftp_systype($this->link), 'win') !== false;
 
@@ -418,6 +426,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                        else
                                $b['type'] = 'f';
                        $b['perms'] = $lucifer[0];
+                       $b['permsn'] = $this->getnumchmodfromh( $b['perms'] );
                        $b['number'] = $lucifer[1];
                        $b['owner'] = $lucifer[2];
                        $b['group'] = $lucifer[3];
@@ -506,6 +515,9 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                return $ret;
        }
 
+       /**
+        * @access public
+        */
        public function __destruct() {
                if ( $this->link )
                        ftp_close($this->link);
index ec85d36b7b81ba0ee527baffc75fe8226b3e79ea..879a2e8ca8542e25d0881a4f98bbda7a26fae916 100644 (file)
@@ -20,7 +20,11 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
         */
        public $ftp;
 
-       public function __construct($opt = '') {
+       /**
+        *
+        * @param array $opt
+        */
+       public function __construct( $opt  = '' ) {
                $this->method = 'ftpsockets';
                $this->errors = new WP_Error();
 
@@ -52,6 +56,10 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                        $this->options['password'] = $opt['password'];
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function connect() {
                if ( ! $this->ftp )
                        return false;
@@ -163,6 +171,10 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                return $ret;
        }
 
+       /**
+        *
+        * @return string
+        */
        public function cwd() {
                $cwd = $this->ftp->pwd();
                if ( $cwd )
@@ -170,6 +182,11 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                return $cwd;
        }
 
+       /**
+        *
+        * @param string $file
+        * @return bool
+        */
        public function chdir($file) {
                return $this->ftp->chdir($file);
        }
@@ -226,9 +243,9 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                return $dir[$file]['group'];
        }
        /**
-        * @param string $source
-        * @param string $destination
-        * @param bool $overwrite
+        * @param string   $source
+        * @param string   $destination
+        * @param bool     $overwrite
         * @param int|bool $mode
         * @return bool
         */
@@ -245,7 +262,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
        /**
         * @param string $source
         * @param string $destination
-        * @param bool $overwrite
+        * @param bool   $overwrite
         * @return bool
         */
        public function move($source, $destination, $overwrite = false ) {
@@ -253,7 +270,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
        }
        /**
         * @param string $file
-        * @param bool $recursive
+        * @param bool   $recursive
         * @param string $type
         * @return bool
         */
@@ -359,9 +376,9 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 
        /**
         * @param string $path
-        * @param mixed $chmod
-        * @param mixed $chown
-        * @param mixed $chgrp
+        * @param mixed  $chmod
+        * @param mixed  $chown
+        * @param mixed  $chgrp
         * @return bool
         */
        public function mkdir($path, $chmod = false, $chown = false, $chgrp = false ) {
@@ -387,8 +404,8 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 
        /**
         * @param string $path
-        * @param bool $include_hidden
-        * @param bool $recursive
+        * @param bool   $include_hidden
+        * @param bool   $recursive
         * @return bool|array
         */
        public function dirlist($path = '.', $include_hidden = true, $recursive = false ) {
@@ -432,6 +449,9 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                        if ( $struc['islink'] )
                                $struc['name'] = preg_replace( '/(\s*->\s*.*)$/', '', $struc['name'] );
 
+                       // Add the Octal representation of the file permissions
+                       $struc['permsn'] = $this->getnumchmodfromh( $struc['perms'] );
+
                        $ret[ $struc['name'] ] = $struc;
                }
 
@@ -440,6 +460,9 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                return $ret;
        }
 
+       /**
+        * @access public
+        */
        public function __destruct() {
                $this->ftp->quit();
        }
index 0de635481a694154fce816c8662b00bddc0c02c1..e446656ec11f4c53448b78780eb859fdf3f91fc7 100644 (file)
@@ -42,7 +42,11 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        public $sftp_link;
        public $keys = false;
 
-       public function __construct($opt='') {
+       /**
+        *
+        * @param array $opt
+        */
+       public function __construct( $opt = '' ) {
                $this->method = 'ssh2';
                $this->errors = new WP_Error();
 
@@ -89,9 +93,12 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
                } else {
                        $this->options['password'] = $opt['password'];
                }
-
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function connect() {
                if ( ! $this->keys ) {
                        $this->link = @ssh2_connect($this->options['hostname'], $this->options['port']);
@@ -126,8 +133,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
         * @param bool $returnbool
         * @return bool|string
         */
-       public function run_command( $command, $returnbool = false) {
-
+       public function run_command( $command, $returnbool = false ) {
                if ( ! $this->link )
                        return false;
 
@@ -166,8 +172,8 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        }
 
        /**
-        * @param string $file
-        * @param string $contents
+        * @param string   $file
+        * @param string   $contents
         * @param bool|int $mode
         * @return bool
         */
@@ -182,8 +188,12 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
                return true;
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function cwd() {
-               $cwd = $this->run_command('pwd');
+               $cwd = ssh2_sftp_realpath( $this->sftp_link, '.' );
                if ( $cwd ) {
                        $cwd = trailingslashit( trim( $cwd ) );
                }
@@ -201,7 +211,9 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        /**
         * @param string $file
         * @param string $group
-        * @param bool $recursive
+        * @param bool   $recursive
+        *
+        * @return bool
         */
        public function chgrp($file, $group, $recursive = false ) {
                if ( ! $this->exists($file) )
@@ -213,8 +225,8 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
        /**
         * @param string $file
-        * @param int $mode
-        * @param bool $recursive
+        * @param int    $mode
+        * @param bool   $recursive
         * @return bool|string
         */
        public function chmod($file, $mode = false, $recursive = false) {
@@ -289,9 +301,9 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        }
 
        /**
-        * @param string $source
-        * @param string $destination
-        * @param bool $overwrite
+        * @param string   $source
+        * @param string   $destination
+        * @param bool     $overwrite
         * @param int|bool $mode
         * @return bool
         */
@@ -307,7 +319,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        /**
         * @param string $source
         * @param string $destination
-        * @param bool $overwrite
+        * @param bool   $overwrite
         * @return bool
         */
        public function move($source, $destination, $overwrite = false) {
@@ -315,8 +327,8 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        }
 
        /**
-        * @param string $file
-        * @param bool $recursive
+        * @param string      $file
+        * @param bool        $recursive
         * @param string|bool $type
         * @return bool
         */
@@ -403,8 +415,8 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
        /**
         * @param string $file
-        * @param int $time
-        * @param int $atime
+        * @param int    $time
+        * @param int    $atime
         */
        public function touch($file, $time = 0, $atime = 0) {
                //Not implemented.
@@ -412,9 +424,9 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
        /**
         * @param string $path
-        * @param mixed $chmod
-        * @param mixed $chown
-        * @param mixed $chgrp
+        * @param mixed  $chmod
+        * @param mixed  $chown
+        * @param mixed  $chgrp
         * @return bool
         */
        public function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
@@ -435,7 +447,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
        /**
         * @param string $path
-        * @param bool $recursive
+        * @param bool   $recursive
         * @return bool
         */
        public function rmdir($path, $recursive = false) {
@@ -444,8 +456,8 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
        /**
         * @param string $path
-        * @param bool $include_hidden
-        * @param bool $recursive
+        * @param bool   $include_hidden
+        * @param bool   $recursive
         * @return bool|array
         */
        public function dirlist($path, $include_hidden = true, $recursive = false) {
index ee10547deb58d45f620f4caeffec747c395b6420..fac5d40e4f78c91c6562eb4f34955f82f3904514 100644 (file)
@@ -12,6 +12,9 @@ class WP_Importer {
        /**
         * Returns array with imported permalinks from WordPress database
         *
+        * @global wpdb $wpdb
+        *
+        * @param string $importer_name
         * @param string $bid
         * @return array
         */
@@ -49,6 +52,9 @@ class WP_Importer {
        /**
         * Return count of imported permalinks from WordPress database
         *
+        * @global wpdb $wpdb
+        *
+        * @param string $importer_name
         * @param string $bid
         * @return int
         */
@@ -75,6 +81,8 @@ class WP_Importer {
        /**
         * Set array with imported comments from WordPress database
         *
+        * @global wpdb $wpdb
+        *
         * @param string $bid
         * @return array
         */
@@ -114,6 +122,11 @@ class WP_Importer {
                return $hashtable;
        }
 
+       /**
+        *
+        * @param int $blog_id
+        * @return int|void
+        */
        public function set_blog( $blog_id ) {
                if ( is_numeric( $blog_id ) ) {
                        $blog_id = (int) $blog_id;
@@ -141,6 +154,11 @@ class WP_Importer {
                return $blog_id;
        }
 
+       /**
+        *
+        * @param int $user_id
+        * @return int|void
+        */
        public function set_user( $user_id ) {
                if ( is_numeric( $user_id ) ) {
                        $user_id = (int) $user_id;
@@ -173,7 +191,7 @@ class WP_Importer {
         * @param string $url
         * @param string $username
         * @param string $password
-        * @param bool $head
+        * @param bool   $head
         * @return array
         */
        public function get_page( $url, $username = '', $password = '', $head = false ) {
@@ -210,7 +228,6 @@ class WP_Importer {
        public function is_user_over_quota() {
                if ( function_exists( 'upload_is_user_over_quota' ) ) {
                        if ( upload_is_user_over_quota() ) {
-                               echo "Sorry, you have used your upload quota.\n";
                                return true;
                        }
                }
@@ -231,7 +248,8 @@ class WP_Importer {
        /**
         * Reset global variables that grow out of control during imports
         *
-        * @return void
+        * @global wpdb  $wpdb
+        * @global array $wp_actions
         */
        public function stop_the_insanity() {
                global $wpdb, $wp_actions;
@@ -247,7 +265,7 @@ class WP_Importer {
  * Exits when a required param is not set.
  *
  * @param string $param
- * @param bool $required
+ * @param bool   $required
  * @return mixed
  */
 function get_cli_args( $param, $required = false ) {
index 88d2cc7cb1b5d72e80669801649e547204c1561c..9b917d1db48adbe7d98941b88c43a0467468d4dc 100644 (file)
@@ -26,10 +26,21 @@ class WP_Links_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can( 'manage_links' );
        }
 
+       /**
+        *
+        * @global int    $cat_id
+        * @global string $s
+        * @global string $orderby
+        * @global string $order
+        */
        public function prepare_items() {
                global $cat_id, $s, $orderby, $order;
 
@@ -49,10 +60,17 @@ class WP_Links_List_Table extends WP_List_Table {
                $this->items = get_bookmarks( $args );
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                _e( 'No links found.' );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                $actions = array();
                $actions['delete'] = __( 'Delete' );
@@ -60,6 +78,11 @@ class WP_Links_List_Table extends WP_List_Table {
                return $actions;
        }
 
+       /**
+        *
+        * @global int $cat_id
+        * @param string $which
+        */
        protected function extra_tablenav( $which ) {
                global $cat_id;
 
@@ -87,6 +110,10 @@ class WP_Links_List_Table extends WP_List_Table {
 <?php
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_columns() {
                return array(
                        'cb'         => '<input type="checkbox" />',
@@ -99,6 +126,10 @@ class WP_Links_List_Table extends WP_List_Table {
                );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'name'    => 'name',
@@ -108,101 +139,186 @@ class WP_Links_List_Table extends WP_List_Table {
                );
        }
 
-       public function display_rows() {
+       /**
+        * Get the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'name'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'name';
+       }
+
+       /**
+        * Handles the checkbox column ouput.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $link The current link object.
+        */
+       public function column_cb( $link ) {
+               ?>
+               <label class="screen-reader-text" for="cb-select-<?php echo $link->link_id; ?>"><?php echo sprintf( __( 'Select %s' ), $link->link_name ); ?></label>
+               <input type="checkbox" name="linkcheck[]" id="cb-select-<?php echo $link->link_id; ?>" value="<?php echo esc_attr( $link->link_id ); ?>" />
+               <?php
+       }
+
+       /**
+        * Handles the link name column ouput.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $link The current link object.
+        */
+       public function column_name( $link ) {
+               $edit_link = get_edit_bookmark_link( $link );
+               ?>
+               <strong><a class="row-title" href="<?php echo $edit_link ?>" title="<?php
+                       echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $link->link_name ) );
+               ?>"><?php echo $link->link_name ?></a></strong><br />
+               <?php
+       }
+
+       /**
+        * Handles the link URL column ouput.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $link The current link object.
+        */
+       public function column_url( $link ) {
+               $short_url = url_shorten( $link->link_url );
+               echo "<a href='$link->link_url' title='". esc_attr( sprintf( __( 'Visit %s' ), $link->link_name ) )."'>$short_url</a>";
+       }
+
+       /**
+        * Handles the link categories column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @global $cat_id
+        *
+        * @param object $link The current link object.
+        */
+       public function column_categories( $link ) {
                global $cat_id;
 
+               $cat_names = array();
+               foreach ( $link->link_category as $category ) {
+                       $cat = get_term( $category, 'link_category', OBJECT, 'display' );
+                       if ( is_wp_error( $cat ) ) {
+                               echo $cat->get_error_message();
+                       }
+                       $cat_name = $cat->name;
+                       if ( $cat_id != $category ) {
+                               $cat_name = "<a href='link-manager.php?cat_id=$category'>$cat_name</a>";
+                       }
+                       $cat_names[] = $cat_name;
+               }
+               echo implode( ', ', $cat_names );
+       }
+
+       /**
+        * Handles the link relation column ouput.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $link The current link object.
+        */
+       public function column_rel( $link ) {
+               echo empty( $link->link_rel ) ? '<br />' : $link->link_rel;
+       }
+
+       /**
+        * Handles the link visibility column ouput.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $link The current link object.
+        */
+       public function column_visible( $link ) {
+               if ( 'Y' === $link->link_visible ) {
+                       _e( 'Yes' );
+               } else {
+                       _e( 'No' );
+               }
+       }
+
+       /**
+        * Handles the link rating column ouput.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $link The current link object.
+        */
+       public function column_rating( $link ) {
+               echo $link->link_rating;
+       }
+
+       /**
+        * Handles the default column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $link        Link object.
+        * @param string $column_name Current column name.
+        */
+       public function column_default( $link, $column_name ) {
+               /**
+                * Fires for each registered custom link column.
+                *
+                * @since 2.1.0
+                *
+                * @param string $column_name Name of the custom column.
+                * @param int    $link_id     Link ID.
+                */
+               do_action( 'manage_link_custom_column', $column_name, $link->link_id );
+       }
+
+       public function display_rows() {
                foreach ( $this->items as $link ) {
                        $link = sanitize_bookmark( $link );
                        $link->link_name = esc_attr( $link->link_name );
                        $link->link_category = wp_get_link_cats( $link->link_id );
-
-                       $short_url = url_shorten( $link->link_url );
-
-                       $visible = ( $link->link_visible == 'Y' ) ? __( 'Yes' ) : __( 'No' );
-                       $rating  = $link->link_rating;
-
-                       $edit_link = get_edit_bookmark_link( $link );
 ?>
                <tr id="link-<?php echo $link->link_id; ?>">
-<?php
-
-                       list( $columns, $hidden ) = $this->get_column_info();
-
-                       foreach ( $columns as $column_name => $column_display_name ) {
-                               $class = "class='column-$column_name'";
-
-                               $style = '';
-                               if ( in_array( $column_name, $hidden ) )
-                                       $style = ' style="display:none;"';
-
-                               $attributes = $class . $style;
-
-                               switch ( $column_name ) {
-                                       case 'cb': ?>
-                                               <th scope="row" class="check-column">
-                                                       <label class="screen-reader-text" for="cb-select-<?php echo $link->link_id; ?>"><?php echo sprintf( __( 'Select %s' ), $link->link_name ); ?></label>
-                                                       <input type="checkbox" name="linkcheck[]" id="cb-select-<?php echo $link->link_id; ?>" value="<?php echo esc_attr( $link->link_id ); ?>" />
-                                               </th>
-                                               <?php
-                                               break;
-
-                                       case 'name':
-                                               echo "<td $attributes><strong><a class='row-title' href='$edit_link' title='" . esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $link->link_name ) ) . "'>$link->link_name</a></strong><br />";
-
-                                               $actions = array();
-                                               $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>';
-                                               $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url( "link.php?action=delete&amp;link_id=$link->link_id", 'delete-bookmark_' . $link->link_id ) . "' onclick=\"if ( confirm( '" . esc_js( sprintf( __( "You are about to delete this link '%s'\n  'Cancel' to stop, 'OK' to delete." ), $link->link_name ) ) . "' ) ) { return true;}return false;\">" . __( 'Delete' ) . "</a>";
-                                               echo $this->row_actions( $actions );
-
-                                               echo '</td>';
-                                               break;
-                                       case 'url':
-                                               echo "<td $attributes><a href='$link->link_url' title='". esc_attr( sprintf( __( 'Visit %s' ), $link->link_name ) )."'>$short_url</a></td>";
-                                               break;
-                                       case 'categories':
-                                               ?><td <?php echo $attributes ?>><?php
-                                               $cat_names = array();
-                                               foreach ( $link->link_category as $category ) {
-                                                       $cat = get_term( $category, 'link_category', OBJECT, 'display' );
-                                                       if ( is_wp_error( $cat ) )
-                                                               echo $cat->get_error_message();
-                                                       $cat_name = $cat->name;
-                                                       if ( $cat_id != $category )
-                                                               $cat_name = "<a href='link-manager.php?cat_id=$category'>$cat_name</a>";
-                                                       $cat_names[] = $cat_name;
-                                               }
-                                               echo implode( ', ', $cat_names );
-                                               ?></td><?php
-                                               break;
-                                       case 'rel':
-                                               ?><td <?php echo $attributes ?>><?php echo empty( $link->link_rel ) ? '<br />' : $link->link_rel; ?></td><?php
-                                               break;
-                                       case 'visible':
-                                               ?><td <?php echo $attributes ?>><?php echo $visible; ?></td><?php
-                                               break;
-                                       case 'rating':
-                                               ?><td <?php echo $attributes ?>><?php echo $rating; ?></td><?php
-                                               break;
-                                       default:
-                                               ?>
-                                               <td <?php echo $attributes ?>><?php
-                                                       /**
-                                                        * Fires for each registered custom link column.
-                                                        *
-                                                        * @since 2.1.0
-                                                        *
-                                                        * @param string $column_name Name of the custom column.
-                                                        * @param int    $link_id     Link ID.
-                                                        */
-                                                       do_action( 'manage_link_custom_column', $column_name, $link->link_id );
-                                               ?></td>
-                                               <?php
-                                               break;
-                               }
-                       }
-?>
+                       <?php $this->single_row_columns( $link ) ?>
                </tr>
 <?php
                }
        }
+
+       /**
+        * Generates and displays row action links.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $link        Link being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string Row action output for links.
+        */
+       protected function handle_row_actions( $link, $column_name, $primary ) {
+               if ( $primary !== $column_name ) {
+                       return '';
+               }
+
+               $edit_link = get_edit_bookmark_link( $link );
+
+               $actions = array();
+               $actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit') . '</a>';
+               $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url("link.php?action=delete&amp;link_id=$link->link_id", 'delete-bookmark_' . $link->link_id) . "' onclick=\"if ( confirm( '" . esc_js(sprintf(__("You are about to delete this link '%s'\n  'Cancel' to stop, 'OK' to delete."), $link->link_name)) . "' ) ) { return true;}return false;\">" . __('Delete') . "</a>";
+               return $this->row_actions( $actions );
+       }
 }
index aae3d697b54439adc2908870137d8f19f2203463..ad35fc670a3559f7b8a4b868810f8d2389e55dcf 100644 (file)
@@ -250,6 +250,8 @@ class WP_List_Table {
         *
         * @param array $args An associative array with information about the pagination
         * @access protected
+        *
+        * @param array|string $args
         */
        protected function set_pagination_args( $args ) {
                $args = wp_parse_args( $args, array(
@@ -455,7 +457,7 @@ class WP_List_Table {
         * @since 3.1.0
         * @access public
         *
-        * @return string|bool The action name or False if no action was selected
+        * @return string|false The action name or False if no action was selected
         */
        public function current_action() {
                if ( isset( $_REQUEST['filter_action'] ) && ! empty( $_REQUEST['filter_action'] ) )
@@ -495,6 +497,8 @@ class WP_List_Table {
                }
                $out .= '</div>';
 
+               $out .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>';
+
                return $out;
        }
 
@@ -504,6 +508,9 @@ class WP_List_Table {
         * @since 3.1.0
         * @access protected
         *
+        * @global wpdb      $wpdb
+        * @global WP_Locale $wp_locale
+        *
         * @param string $post_type
         */
        protected function months_dropdown( $post_type ) {
@@ -607,15 +614,41 @@ class WP_List_Table {
         * @param int $pending_comments Number of pending comments.
         */
        protected function comments_bubble( $post_id, $pending_comments ) {
-               $pending_phrase = sprintf( __( '%s pending' ), number_format( $pending_comments ) );
+               $approved_comments = get_comments_number();
 
-               if ( $pending_comments )
-                       echo '<strong>';
+               $approved_comments_number = number_format_i18n( $approved_comments );
+               $pending_comments_number = number_format_i18n( $pending_comments );
 
-               echo "<a href='" . esc_url( add_query_arg( 'p', $post_id, admin_url( 'edit-comments.php' ) ) ) . "' title='" . esc_attr( $pending_phrase ) . "' class='post-com-count'><span class='comment-count'>" . number_format_i18n( get_comments_number() ) . "</span></a>";
+               $approved_only_phrase = sprintf( _n( '%s comment', '%s comments', $approved_comments ), $approved_comments_number );
+               $approved_phrase = sprintf( _n( '%s approved comment', '%s approved comments', $approved_comments ), $approved_comments_number );
+               $pending_phrase = sprintf( _n( '%s pending comment', '%s pending comments', $pending_comments ), $pending_comments_number );
 
-               if ( $pending_comments )
-                       echo '</strong>';
+               // No comments at all.
+               if ( ! $approved_comments && ! $pending_comments ) {
+                       printf( '<span aria-hidden="true">—</span><span class="screen-reader-text">%s</span>',
+                               __( 'No comments' )
+                       );
+               // Approved comments have different display depending on some conditions.
+               } elseif ( $approved_comments ) {
+                       printf( '<a href="%s" class="post-com-count post-com-count-approved"><span class="comment-count-approved" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>',
+                               esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'approved' ), admin_url( 'edit-comments.php' ) ) ),
+                               $approved_comments_number,
+                               $pending_comments ? $approved_phrase : $approved_only_phrase
+                       );
+               } else {
+                       printf( '<span class="post-com-count post-com-count-no-comments"><span class="comment-count comment-count-no-comments" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></span>',
+                               $approved_comments_number,
+                               $pending_comments ? __( 'No approved comments' ) : __( 'No comments' )
+                       );
+               }
+
+               if ( $pending_comments ) {
+                       printf( '<a href="%s" class="post-com-count post-com-count-pending"><span class="comment-count-pending" aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>',
+                               esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'moderated' ), admin_url( 'edit-comments.php' ) ) ),
+                               $pending_comments_number,
+                               $pending_phrase
+                       );
+               }
        }
 
        /**
@@ -629,7 +662,7 @@ class WP_List_Table {
        public function get_pagenum() {
                $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0;
 
-               if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] )
+               if ( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] )
                        $pagenum = $this->_pagination_args['total_pages'];
 
                return max( 1, $pagenum );
@@ -686,7 +719,7 @@ class WP_List_Table {
                        $infinite_scroll = $this->_pagination_args['infinite_scroll'];
                }
 
-               $output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
+               $output = '<span class="displaying-num">' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
 
                $current = $this->get_pagenum();
 
@@ -696,53 +729,78 @@ class WP_List_Table {
 
                $page_links = array();
 
-               $disable_first = $disable_last = '';
-               if ( $current == 1 ) {
-                       $disable_first = ' disabled';
+               $total_pages_before = '<span class="paging-input">';
+               $total_pages_after  = '</span>';
+
+               $disable_first = $disable_last = $disable_prev = $disable_next = false;
+
+               if ( $current == 1 ) {
+                       $disable_first = true;
+                       $disable_prev = true;
+               }
+               if ( $current == 2 ) {
+                       $disable_first = true;
                }
-               if ( $current == $total_pages ) {
-                       $disable_last = ' disabled';
+               if ( $current == $total_pages ) {
+                       $disable_last = true;
+                       $disable_next = true;
+               }
+               if ( $current == $total_pages - 1 ) {
+                       $disable_last = true;
                }
-               $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
-                       'first-page' . $disable_first,
-                       esc_attr__( 'Go to the first page' ),
-                       esc_url( remove_query_arg( 'paged', $current_url ) ),
-                       '&laquo;'
-               );
 
-               $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
-                       'prev-page' . $disable_first,
-                       esc_attr__( 'Go to the previous page' ),
-                       esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ),
-                       '&lsaquo;'
-               );
+               if ( $disable_first ) {
+                       $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&laquo;</span>';
+               } else {
+                       $page_links[] = sprintf( "<a class='first-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
+                               esc_url( remove_query_arg( 'paged', $current_url ) ),
+                               __( 'First page' ),
+                               '&laquo;'
+                       );
+               }
+
+               if ( $disable_prev ) {
+                       $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&lsaquo;</span>';
+               } else {
+                       $page_links[] = sprintf( "<a class='prev-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
+                               esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ),
+                               __( 'Previous page' ),
+                               '&lsaquo;'
+                       );
+               }
 
                if ( 'bottom' == $which ) {
-                       $html_current_page = $current;
+                       $html_current_page  = $current;
+                       $total_pages_before = '<span class="screen-reader-text">' . __( 'Current Page' ) . '</span><span id="table-paging" class="paging-input">';
                } else {
-                       $html_current_page = sprintf( "%s<input class='current-page' id='current-page-selector' title='%s' type='text' name='paged' value='%s' size='%d' />",
-                               '<label for="current-page-selector" class="screen-reader-text">' . __( 'Select Page' ) . '</label>',
-                               esc_attr__( 'Current page' ),
+                       $html_current_page = sprintf( "%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' />",
+                               '<label for="current-page-selector" class="screen-reader-text">' . __( 'Current Page' ) . '</label>',
                                $current,
                                strlen( $total_pages )
                        );
                }
                $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
-               $page_links[] = '<span class="paging-input">' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . '</span>';
+               $page_links[] = $total_pages_before . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after;
 
-               $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
-                       'next-page' . $disable_last,
-                       esc_attr__( 'Go to the next page' ),
-                       esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ),
-                       '&rsaquo;'
-               );
+               if ( $disable_next ) {
+                       $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&rsaquo;</span>';
+               } else {
+                       $page_links[] = sprintf( "<a class='next-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
+                               esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ),
+                               __( 'Next page' ),
+                               '&rsaquo;'
+                       );
+               }
 
-               $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
-                       'last-page' . $disable_last,
-                       esc_attr__( 'Go to the last page' ),
-                       esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ),
-                       '&raquo;'
-               );
+               if ( $disable_last ) {
+                       $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&raquo;</span>';
+               } else {
+                       $page_links[] = sprintf( "<a class='last-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
+                               esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ),
+                               __( 'Last page' ),
+                               '&raquo;'
+                       );
+               }
 
                $pagination_links_class = 'pagination-links';
                if ( ! empty( $infinite_scroll ) ) {
@@ -791,6 +849,67 @@ class WP_List_Table {
                return array();
        }
 
+       /**
+        * Gets the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, an empty string.
+        */
+       protected function get_default_primary_column_name() {
+               $columns = $this->get_columns();
+               $column = '';
+
+               // We need a primary defined so responsive views show something,
+               // so let's fall back to the first non-checkbox column.
+               foreach( $columns as $col => $column_name ) {
+                       if ( 'cb' === $col ) {
+                               continue;
+                       }
+
+                       $column = $col;
+                       break;
+               }
+
+               return $column;
+       }
+
+       /**
+        * Gets the name of the primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string The name of the primary column.
+        */
+       protected function get_primary_column_name() {
+               $columns = $this->get_columns();
+               $default = $this->get_default_primary_column_name();
+
+               // If the primary column doesn't exist fall back to the
+               // first non-checkbox column.
+               if ( ! isset( $columns[ $default ] ) ) {
+                       $default = WP_List_Table::get_default_primary_column_name();
+               }
+
+               /**
+                * Filter the name of the primary column for the current list table.
+                *
+                * @since 4.3.0
+                *
+                * @param string $default Column name default for the specific list table, e.g. 'name'.
+                * @param string $context Screen ID for specific list table, e.g. 'plugins'.
+                */
+               $column  = apply_filters( 'list_table_primary_column', $default, $this->screen->id );
+
+               if ( empty( $column ) || ! isset( $columns[ $column ] ) ) {
+                       $column = $default;
+               }
+
+               return $column;
+       }
+
        /**
         * Get a list of all, hidden and sortable columns, with filter applied
         *
@@ -800,8 +919,17 @@ class WP_List_Table {
         * @return array
         */
        protected function get_column_info() {
-               if ( isset( $this->_column_headers ) )
-                       return $this->_column_headers;
+               // $_column_headers is already set / cached
+               if ( isset( $this->_column_headers ) && is_array( $this->_column_headers ) ) {
+                       // Back-compat for list tables that have been manually setting $_column_headers for horse reasons.
+                       // In 4.3, we added a fourth argument for primary column.
+                       $column_headers = array( array(), array(), array(), $this->get_primary_column_name() );
+                       foreach ( $this->_column_headers as $key => $value ) {
+                               $column_headers[ $key ] = $value;
+                       }
+
+                       return $column_headers;
+               }
 
                $columns = get_column_headers( $this->screen );
                $hidden = get_hidden_columns( $this->screen );
@@ -831,7 +959,8 @@ class WP_List_Table {
                        $sortable[$id] = $data;
                }
 
-               $this->_column_headers = array( $columns, $hidden, $sortable );
+               $primary = $this->get_primary_column_name();
+               $this->_column_headers = array( $columns, $hidden, $sortable, $primary );
 
                return $this->_column_headers;
        }
@@ -856,10 +985,12 @@ class WP_List_Table {
         * @since 3.1.0
         * @access public
         *
+        * @staticvar int $cb_counter
+        *
         * @param bool $with_id Whether to set the id attribute or not
         */
        public function print_column_headers( $with_id = true ) {
-               list( $columns, $hidden, $sortable ) = $this->get_column_info();
+               list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
 
                $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
                $current_url = remove_query_arg( 'paged', $current_url );
@@ -884,17 +1015,19 @@ class WP_List_Table {
                foreach ( $columns as $column_key => $column_display_name ) {
                        $class = array( 'manage-column', "column-$column_key" );
 
-                       $style = '';
-                       if ( in_array( $column_key, $hidden ) )
-                               $style = 'display:none;';
-
-                       $style = ' style="' . $style . '"';
+                       if ( in_array( $column_key, $hidden ) ) {
+                               $class[] = 'hidden';
+                       }
 
                        if ( 'cb' == $column_key )
                                $class[] = 'check-column';
                        elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) )
                                $class[] = 'num';
 
+                       if ( $column_key === $primary ) {
+                               $class[] = 'column-primary';
+                       }
+
                        if ( isset( $sortable[$column_key] ) ) {
                                list( $orderby, $desc_first ) = $sortable[$column_key];
 
@@ -911,12 +1044,14 @@ class WP_List_Table {
                                $column_display_name = '<a href="' . esc_url( add_query_arg( compact( 'orderby', 'order' ), $current_url ) ) . '"><span>' . $column_display_name . '</span><span class="sorting-indicator"></span></a>';
                        }
 
+                       $tag = ( 'cb' === $column_key ) ? 'td' : 'th';
+                       $scope = ( 'th' === $tag ) ? 'scope="col"' : '';
                        $id = $with_id ? "id='$column_key'" : '';
 
                        if ( !empty( $class ) )
                                $class = "class='" . join( ' ', $class ) . "'";
 
-                       echo "<th scope='col' $id $class $style>$column_display_name</th>";
+                       echo "<$tag $scope $id $class>$column_display_name</$tag>";
                }
        }
 
@@ -930,7 +1065,6 @@ class WP_List_Table {
                $singular = $this->_args['singular'];
 
                $this->display_tablenav( 'top' );
-
 ?>
 <table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
        <thead>
@@ -1046,8 +1180,17 @@ class WP_List_Table {
                echo '</tr>';
        }
 
+       /**
+        *
+        * @param object $item
+        * @param string $column_name
+        */
        protected function column_default( $item, $column_name ) {}
 
+       /**
+        *
+        * @param object $item
+        */
        protected function column_cb( $item ) {}
 
        /**
@@ -1059,35 +1202,65 @@ class WP_List_Table {
         * @param object $item The current item
         */
        protected function single_row_columns( $item ) {
-               list( $columns, $hidden ) = $this->get_column_info();
+               list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
 
                foreach ( $columns as $column_name => $column_display_name ) {
-                       $class = "class='$column_name column-$column_name'";
+                       $classes = "$column_name column-$column_name";
+                       if ( $primary === $column_name ) {
+                               $classes .= ' has-row-actions column-primary';
+                       }
 
-                       $style = '';
-                       if ( in_array( $column_name, $hidden ) )
-                               $style = ' style="display:none;"';
+                       if ( in_array( $column_name, $hidden ) ) {
+                               $classes .= ' hidden';
+                       }
 
-                       $attributes = "$class$style";
+                       // Comments column uses HTML in the display name with screen reader text.
+                       // Instead of using esc_attr(), we strip tags to get closer to a user-friendly string.
+                       $data = 'data-colname="' . wp_strip_all_tags( $column_display_name ) . '"';
+
+                       $attributes = "class='$classes' $data";
 
                        if ( 'cb' == $column_name ) {
                                echo '<th scope="row" class="check-column">';
                                echo $this->column_cb( $item );
                                echo '</th>';
-                       }
-                       elseif ( method_exists( $this, 'column_' . $column_name ) ) {
+                       } elseif ( method_exists( $this, '_column_' . $column_name ) ) {
+                               echo call_user_func(
+                                       array( $this, '_column_' . $column_name ),
+                                       $item,
+                                       $classes,
+                                       $data,
+                                       $primary
+                               );
+                       } elseif ( method_exists( $this, 'column_' . $column_name ) ) {
                                echo "<td $attributes>";
                                echo call_user_func( array( $this, 'column_' . $column_name ), $item );
+                               echo $this->handle_row_actions( $item, $column_name, $primary );
                                echo "</td>";
-                       }
-                       else {
+                       } else {
                                echo "<td $attributes>";
                                echo $this->column_default( $item, $column_name );
+                               echo $this->handle_row_actions( $item, $column_name, $primary );
                                echo "</td>";
                        }
                }
        }
 
+       /**
+        * Generates and display row actions links for the list table.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $item        The item being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string The row actions output. In this case, an empty string.
+        */
+       protected function handle_row_actions( $item, $column_name, $primary ) {
+               return $column_name == $primary ? '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>' : '';
+       }
+
        /**
         * Handle an incoming ajax request (called from admin-ajax.php)
         *
@@ -1110,7 +1283,7 @@ class WP_List_Table {
 
                if ( isset( $this->_pagination_args['total_items'] ) ) {
                        $response['total_items_i18n'] = sprintf(
-                               _n( '1 item', '%s items', $this->_pagination_args['total_items'] ),
+                               _n( '%s item', '%s items', $this->_pagination_args['total_items'] ),
                                number_format_i18n( $this->_pagination_args['total_items'] )
                        );
                }
index 9ebd5c0c7f6b0152a9627635784fe0b690483abc..9c61fc28ef6da6c612d0ad3948d65e0e3e45b09c 100644 (file)
@@ -37,10 +37,21 @@ class WP_Media_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can('upload_files');
        }
 
+       /**
+        *
+        * @global WP_Query $wp_query
+        * @global array    $post_mime_types
+        * @global array    $avail_post_mime_types
+        * @global string   $mode
+        */
        public function prepare_items() {
                global $wp_query, $post_mime_types, $avail_post_mime_types, $mode;
 
@@ -57,6 +68,13 @@ class WP_Media_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @global wpdb  $wpdb
+        * @global array $post_mime_types
+        * @global array $avail_post_mime_types
+        * @return array
+        */
        protected function get_views() {
                global $wpdb, $post_mime_types, $avail_post_mime_types;
 
@@ -65,10 +83,12 @@ class WP_Media_List_Table extends WP_List_Table {
                $_total_posts = array_sum($_num_posts) - $_num_posts['trash'];
                $total_orphans = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent < 1" );
                $matches = wp_match_mime_types(array_keys($post_mime_types), array_keys($_num_posts));
-               foreach ( $matches as $type => $reals )
-                       foreach ( $reals as $real )
+               $num_posts = array();
+               foreach ( $matches as $type => $reals ) {
+                       foreach ( $reals as $real ) {
                                $num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real];
-
+                       }
+               }
                $selected = empty( $_GET['attachment-filter'] ) ? ' selected="selected"' : '';
                $type_links['all'] = "<option value=''$selected>" . sprintf( _nx( 'All (%s)', 'All (%s)', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . '</option>';
                foreach ( $post_mime_types as $mime_type => $label ) {
@@ -89,6 +109,10 @@ class WP_Media_List_Table extends WP_List_Table {
                return $type_links;
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                $actions = array();
                if ( MEDIA_TRASH ) {
@@ -135,6 +159,10 @@ class WP_Media_List_Table extends WP_List_Table {
 <?php
        }
 
+       /**
+        *
+        * @return string
+        */
        public function current_action() {
                if ( isset( $_REQUEST['found_post_id'] ) && isset( $_REQUEST['media'] ) )
                        return 'attach';
@@ -148,16 +176,25 @@ class WP_Media_List_Table extends WP_List_Table {
                return parent::current_action();
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function has_items() {
                return have_posts();
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                _e( 'No media attachments found.' );
        }
 
        /**
         * Override parent views so we can use the filter bar display.
+        *
+        * @global string $mode
         */
        public function views() {
                global $mode;
@@ -203,10 +240,13 @@ class WP_Media_List_Table extends WP_List_Table {
        <?php
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_columns() {
                $posts_columns = array();
                $posts_columns['cb'] = '<input type="checkbox" />';
-               $posts_columns['icon'] = '';
                /* translators: column name */
                $posts_columns['title'] = _x( 'File', 'column name' );
                $posts_columns['author'] = __( 'Author' );
@@ -240,7 +280,7 @@ class WP_Media_List_Table extends WP_List_Table {
                if ( !$this->detached ) {
                        $posts_columns['parent'] = _x( 'Uploaded to', 'column name' );
                        if ( post_type_supports( 'attachment', 'comments' ) )
-                               $posts_columns['comments'] = '<span class="vers"><span title="' . esc_attr__( 'Comments' ) . '" class="comment-grey-bubble"></span></span>';
+                               $posts_columns['comments'] = '<span class="vers comment-grey-bubble" title="' . esc_attr__( 'Comments' ) . '"><span class="screen-reader-text">' . __( 'Comments' ) . '</span></span>';
                }
                /* translators: column name */
                $posts_columns['date'] = _x( 'Date', 'column name' );
@@ -253,11 +293,13 @@ class WP_Media_List_Table extends WP_List_Table {
                 * @param bool  $detached      Whether the list table contains media not attached
                 *                             to any posts. Default true.
                 */
-               $posts_columns = apply_filters( 'manage_media_columns', $posts_columns, $this->detached );
-
-               return $posts_columns;
+               return apply_filters( 'manage_media_columns', $posts_columns, $this->detached );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'title'    => 'title',
@@ -268,194 +310,205 @@ class WP_Media_List_Table extends WP_List_Table {
                );
        }
 
-       public function display_rows() {
-               global $post;
-
-               add_filter( 'the_title','esc_html' );
-
-               while ( have_posts() ) : the_post();
-                       $user_can_edit = current_user_can( 'edit_post', $post->ID );
-
-                       if ( $this->is_trash && $post->post_status != 'trash'
-                       ||  !$this->is_trash && $post->post_status == 'trash' )
-                               continue;
-
-                       $post_owner = ( get_current_user_id() == $post->post_author ) ? 'self' : 'other';
-                       $att_title = _draft_or_post_title();
-?>
-       <tr id="post-<?php echo $post->ID; ?>" class="<?php echo trim( ' author-' . $post_owner . ' status-' . $post->post_status ); ?>">
-<?php
-
-list( $columns, $hidden ) = $this->get_column_info();
-foreach ( $columns as $column_name => $column_display_name ) {
-       $class = "class='$column_name column-$column_name'";
-
-       $style = '';
-       if ( in_array( $column_name, $hidden ) )
-               $style = ' style="display:none;"';
+       /**
+        * Handles the checkbox column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_cb( $post ) {
+               if ( current_user_can( 'edit_post', $post->ID ) ) { ?>
+                       <label class="screen-reader-text" for="cb-select-<?php echo $post->ID; ?>"><?php
+                               echo sprintf( __( 'Select %s' ), _draft_or_post_title() );
+                       ?></label>
+                       <input type="checkbox" name="media[]" id="cb-select-<?php echo $post->ID; ?>" value="<?php echo $post->ID; ?>" />
+               <?php }
+       }
 
-       $attributes = $class . $style;
+       /**
+        * Handles the title column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_title( $post ) {
+               list( $mime ) = explode( '/', $post->post_mime_type );
 
-       switch ( $column_name ) {
+               $title = _draft_or_post_title();
+               $thumb = wp_get_attachment_image( $post->ID, array( 60, 60 ), true, array( 'alt' => '' ) );
+               $link_start = $link_end = '';
 
-       case 'cb':
-?>
-               <th scope="row" class="check-column">
-                       <?php if ( $user_can_edit ) { ?>
-                               <label class="screen-reader-text" for="cb-select-<?php the_ID(); ?>"><?php echo sprintf( __( 'Select %s' ), $att_title );?></label>
-                               <input type="checkbox" name="media[]" id="cb-select-<?php the_ID(); ?>" value="<?php the_ID(); ?>" />
-                       <?php } ?>
-               </th>
-<?php
-               break;
+               if ( current_user_can( 'edit_post', $post->ID ) && ! $this->is_trash ) {
+                       $link_start = '<a href="' . get_edit_post_link( $post->ID ) . '">';
+                       $link_end = '</a>';
+               }
 
-       case 'icon':
-               list( $mime ) = explode( '/', $post->post_mime_type );
-               $attributes = 'class="column-icon media-icon ' . $mime . '-icon"' . $style;
-?>
-               <td <?php echo $attributes ?>><?php
-                       if ( $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true ) ) {
-                               if ( $this->is_trash || ! $user_can_edit ) {
-                                       echo $thumb;
-                               } else {
-?>
-                               <a href="<?php echo get_edit_post_link( $post->ID ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $att_title ) ); ?>">
-                                       <?php echo $thumb; ?>
-                               </a>
+               $class = $thumb ? ' class="has-media-icon"' : '';
 
-<?php                  }
-                       }
-?>
-               </td>
-<?php
-               break;
+               ?>
+               <strong<?php echo $class; ?>>
+                       <?php echo $link_start; ?>
+                               <?php if ( $thumb ) : ?>
+                               <span class="media-icon <?php echo sanitize_html_class( $mime . '-icon' ); ?>"><?php echo $thumb; ?></span>
+                               <?php endif; ?>
 
-       case 'title':
-?>
-               <td <?php echo $attributes ?>><strong>
-                       <?php if ( $this->is_trash || ! $user_can_edit ) {
-                               echo $att_title;
-                       } else { ?>
-                       <a href="<?php echo get_edit_post_link( $post->ID ); ?>"
-                               title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $att_title ) ); ?>">
-                               <?php echo $att_title; ?></a>
-                       <?php };
-                       _media_states( $post ); ?></strong>
-                       <p class="filename"><?php echo wp_basename( $post->guid ); ?></p>
-<?php
-               echo $this->row_actions( $this->_get_row_actions( $post, $att_title ) );
-?>
-               </td>
-<?php
-               break;
+                               <span aria-hidden="true"><?php echo $title; ?></span>
+                               <span class="screen-reader-text"><?php printf( __( 'Edit &#8220;%s&#8221;' ), $title ); ?></span>
+                       <?php echo $link_end; ?>
+                       <?php _media_states( $post ); ?>
+               </strong>
+               <p class="filename"><span class="screen-reader-text"><?php _e( 'File name:' ); ?> </span><?php echo wp_basename( $post->guid ); ?></p>
+               <?php
+       }
 
-       case 'author':
-?>
-               <td <?php echo $attributes ?>><?php
-                       printf( '<a href="%s">%s</a>',
-                               esc_url( add_query_arg( array( 'author' => get_the_author_meta('ID') ), 'upload.php' ) ),
-                               get_the_author()
-                       );
-               ?></td>
-<?php
-               break;
+       /**
+        * Handles the author column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_author( $post ) {
+               printf( '<a href="%s">%s</a>',
+                       esc_url( add_query_arg( array( 'author' => get_the_author_meta('ID') ), 'upload.php' ) ),
+                       get_the_author()
+               );
+       }
 
-       case 'desc':
-?>
-               <td <?php echo $attributes ?>><?php echo has_excerpt() ? $post->post_excerpt : ''; ?></td>
-<?php
-               break;
+       /**
+        * Handles the description column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_desc( $post ) {
+               echo has_excerpt() ? $post->post_excerpt : '';
+       }
 
-       case 'date':
+       /**
+        * Handles the date column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_date( $post ) {
                if ( '0000-00-00 00:00:00' == $post->post_date ) {
                        $h_time = __( 'Unpublished' );
                } else {
                        $m_time = $post->post_date;
                        $time = get_post_time( 'G', true, $post, false );
                        if ( ( abs( $t_diff = time() - $time ) ) < DAY_IN_SECONDS ) {
-                               if ( $t_diff < 0 )
+                               if ( $t_diff < 0 ) {
                                        $h_time = sprintf( __( '%s from now' ), human_time_diff( $time ) );
-                               else
+                               } else {
                                        $h_time = sprintf( __( '%s ago' ), human_time_diff( $time ) );
+                               }
                        } else {
                                $h_time = mysql2date( __( 'Y/m/d' ), $m_time );
                        }
                }
-?>
-               <td <?php echo $attributes ?>><?php echo $h_time ?></td>
-<?php
-               break;
 
-       case 'parent':
-               if ( $post->post_parent > 0 )
+               echo $h_time;
+       }
+
+       /**
+        * Handles the parent column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_parent( $post ) {
+               $user_can_edit = current_user_can( 'edit_post', $post->ID );
+
+               if ( $post->post_parent > 0 ) {
                        $parent = get_post( $post->post_parent );
-               else
+               } else {
                        $parent = false;
+               }
 
                if ( $parent ) {
                        $title = _draft_or_post_title( $post->post_parent );
                        $parent_type = get_post_type_object( $parent->post_type );
 ?>
-                       <td <?php echo $attributes ?>><strong>
-                               <?php if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $post->post_parent ) ) { ?>
-                                       <a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
-                                               <?php echo $title ?></a><?php
-                               } else {
-                                       echo $title;
-                               } ?></strong>,
-                               <?php echo get_the_time( __( 'Y/m/d' ) ); ?><br />
-                               <?php
-                               if ( $user_can_edit ):
-                                       $detach_url = add_query_arg( array(
-                                               'parent_post_id' => $post->post_parent,
-                                               'media[]' => $post->ID,
-                                               '_wpnonce' => wp_create_nonce( 'bulk-' . $this->_args['plural'] )
-                                       ), 'upload.php' ); ?>
-                               <a class="hide-if-no-js detach-from-parent" href="<?php echo $detach_url ?>"><?php _e( 'Detach' ); ?></a>
-                               <?php endif; ?>
-                       </td>
-<?php
+                       <strong>
+                       <?php if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $post->post_parent ) ) { ?>
+                               <a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
+                                       <?php echo $title ?></a><?php
+                       } else {
+                               echo $title;
+                       } ?></strong>,
+                       <?php echo get_the_time( __( 'Y/m/d' ) ); ?><br />
+                       <?php
+                       if ( $user_can_edit ):
+                               $detach_url = add_query_arg( array(
+                                       'parent_post_id' => $post->post_parent,
+                                       'media[]' => $post->ID,
+                                       '_wpnonce' => wp_create_nonce( 'bulk-' . $this->_args['plural'] )
+                               ), 'upload.php' ); ?>
+                       <a class="hide-if-no-js detach-from-parent" href="<?php echo $detach_url ?>"><?php _e( 'Detach' ); ?></a>
+                       <?php endif;
                } else {
-?>
-                       <td <?php echo $attributes ?>><?php _e( '(Unattached)' ); ?><br />
+                       _e( '(Unattached)' ); ?><br />
                        <?php if ( $user_can_edit ) { ?>
                                <a class="hide-if-no-js"
                                        onclick="findPosts.open( 'media[]','<?php echo $post->ID ?>' ); return false;"
                                        href="#the-list">
                                        <?php _e( 'Attach' ); ?></a>
-                       <?php } ?></td>
-<?php
+                       <?php }
                }
-               break;
+       }
 
-       case 'comments':
-               $attributes = 'class="comments column-comments num"' . $style;
-?>
-               <td <?php echo $attributes ?>>
-                       <div class="post-com-count-wrapper">
-<?php
-               $pending_comments = get_pending_comments_num( $post->ID );
+       /**
+        * Handles the comments column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_comments( $post ) {
+               echo '<div class="post-com-count-wrapper">';
 
+               $pending_comments = get_pending_comments_num( $post->ID );
                $this->comments_bubble( $post->ID, $pending_comments );
-?>
-                       </div>
-               </td>
-<?php
-               break;
 
-       default:
-               if ( 'categories' == $column_name )
+               echo '</div>';
+       }
+
+       /**
+        * Handles output for the default column.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post        The current WP_Post object.
+        * @param string  $column_name Current column name.
+        */
+       public function column_default( $post, $column_name ) {
+               if ( 'categories' == $column_name ) {
                        $taxonomy = 'category';
-               elseif ( 'tags' == $column_name )
+               } elseif ( 'tags' == $column_name ) {
                        $taxonomy = 'post_tag';
-               elseif ( 0 === strpos( $column_name, 'taxonomy-' ) )
+               } elseif ( 0 === strpos( $column_name, 'taxonomy-' ) ) {
                        $taxonomy = substr( $column_name, 9 );
-               else
+               } else {
                        $taxonomy = false;
+               }
 
                if ( $taxonomy ) {
-                       echo '<td ' . $attributes . '>';
-                       if ( $terms = get_the_terms( $post->ID, $taxonomy ) ) {
+                       $terms = get_the_terms( $post->ID, $taxonomy );
+                       if ( is_array( $terms ) ) {
                                $out = array();
                                foreach ( $terms as $t ) {
                                        $posts_in_term_qv = array();
@@ -470,37 +523,67 @@ foreach ( $columns as $column_name => $column_display_name ) {
                                /* translators: used between list items, there is a space after the comma */
                                echo join( __( ', ' ), $out );
                        } else {
-                               echo '&#8212;';
+                               echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">' . get_taxonomy( $taxonomy )->labels->no_terms . '</span>';
                        }
-                       echo '</td>';
-                       break;
+
+                       return;
                }
-?>
-               <td <?php echo $attributes ?>><?php
-                       /**
-                        * Fires for each custom column in the Media list table.
-                        *
-                        * Custom columns are registered using the 'manage_media_columns' filter.
-                        *
-                        * @since 2.5.0
-                        *
-                        * @param string $column_name Name of the custom column.
-                        * @param int    $post_id     Attachment ID.
-                        */
-                       do_action( 'manage_media_custom_column', $column_name, $post->ID );
-               ?></td>
-<?php
-               break;
+
+               /**
+                * Fires for each custom column in the Media list table.
+                *
+                * Custom columns are registered using the {@see 'manage_media_columns'} filter.
+                *
+                * @since 2.5.0
+                *
+                * @param string $column_name Name of the custom column.
+                * @param int    $post_id     Attachment ID.
+                */
+               do_action( 'manage_media_custom_column', $column_name, $post->ID );
        }
-}
-?>
-       </tr>
-<?php endwhile;
+
+       /**
+        *
+        * @global WP_Post $post
+        */
+       public function display_rows() {
+               global $post;
+
+               add_filter( 'the_title','esc_html' );
+
+               while ( have_posts() ) : the_post();
+                       if (
+                               ( $this->is_trash && $post->post_status != 'trash' )
+                               || ( ! $this->is_trash && $post->post_status == 'trash' )
+                       ) {
+                               continue;
+                       }
+                       $post_owner = ( get_current_user_id() == $post->post_author ) ? 'self' : 'other';
+               ?>
+                       <tr id="post-<?php echo $post->ID; ?>" class="<?php echo trim( ' author-' . $post_owner . ' status-' . $post->post_status ); ?>">
+                               <?php $this->single_row_columns( $post ); ?>
+                       </tr>
+               <?php
+               endwhile;
+       }
+
+       /**
+        * Gets the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'title'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'title';
        }
 
        /**
         * @param WP_Post $post
         * @param string  $att_title
+        *
+        * @return array
         */
        private function _get_row_actions( $post, $att_title ) {
                $actions = array();
@@ -549,8 +632,26 @@ foreach ( $columns as $column_name => $column_display_name ) {
                 * @param bool    $detached Whether the list table contains media not attached
                 *                          to any posts. Default true.
                 */
-               $actions = apply_filters( 'media_row_actions', $actions, $post, $this->detached );
+               return apply_filters( 'media_row_actions', $actions, $post, $this->detached );
+       }
 
-               return $actions;
+       /**
+        * Generates and displays row action links.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $post        Attachment being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string Row actions output for media attachments.
+        */
+       protected function handle_row_actions( $post, $column_name, $primary ) {
+               if ( $primary !== $column_name ) {
+                       return '';
+               }
+
+               $att_title = _draft_or_post_title();
+               return $this->row_actions( $this->_get_row_actions( $post, $att_title ) );
        }
 }
index 54a08f9cbe54d7d458966ecc33ac21318e0f9b3c..9fe3f482d40bd72007592a29a90a26837082a1cc 100644 (file)
@@ -9,6 +9,15 @@
  */
 class WP_MS_Sites_List_Table extends WP_List_Table {
 
+       /**
+        * Site status list.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var array
+        */
+       public $status_list;
+
        /**
         * Constructor.
         *
@@ -20,16 +29,33 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
         * @param array $args An associative array of arguments.
         */
        public function __construct( $args = array() ) {
+               $this->status_list = array(
+                       'archived' => array( 'site-archived', __( 'Archived' ) ),
+                       'spam'     => array( 'site-spammed', _x( 'Spam', 'site' ) ),
+                       'deleted'  => array( 'site-deleted', __( 'Deleted' ) ),
+                       'mature'   => array( 'site-mature', __( 'Mature' ) )
+               );
+
                parent::__construct( array(
                        'plural' => 'sites',
                        'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
                ) );
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can( 'manage_sites' );
        }
 
+       /**
+        *
+        * @global string $s
+        * @global string $mode
+        * @global wpdb   $wpdb
+        */
        public function prepare_items() {
                global $s, $mode, $wpdb;
 
@@ -101,10 +127,11 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                } elseif ( $order_by == 'lastupdated' ) {
                        $query .= ' ORDER BY last_updated ';
                } elseif ( $order_by == 'blogname' ) {
-                       if ( is_subdomain_install() )
+                       if ( is_subdomain_install() ) {
                                $query .= ' ORDER BY domain ';
-                       else
+                       } else {
                                $query .= ' ORDER BY path ';
+                       }
                } elseif ( $order_by == 'blog_id' ) {
                        $query .= ' ORDER BY blog_id ';
                } else {
@@ -132,10 +159,17 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                _e( 'No sites found.' );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                $actions = array();
                if ( current_user_can( 'delete_sites' ) )
@@ -147,6 +181,8 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
        }
 
        /**
+        * @global string $mode
+        *
         * @param string $which
         */
        protected function pagination( $which ) {
@@ -158,18 +194,21 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                        $this->view_switcher( $mode );
        }
 
+       /**
+        * @return array
+        */
        public function get_columns() {
-               $blogname_columns = ( is_subdomain_install() ) ? __( 'Domain' ) : __( 'Path' );
                $sites_columns = array(
                        'cb'          => '<input type="checkbox" />',
-                       'blogname'    => $blogname_columns,
+                       'blogname'    => __( 'URL' ),
                        'lastupdated' => __( 'Last Updated' ),
                        'registered'  => _x( 'Registered', 'site' ),
-                       'users'       => __( 'Users' )
+                       'users'       => __( 'Users' ),
                );
 
-               if ( has_filter( 'wpmublogsaction' ) )
+               if ( has_filter( 'wpmublogsaction' ) ) {
                        $sites_columns['plugins'] = __( 'Actions' );
+               }
 
                /**
                 * Filter the displayed site columns in Sites list table.
@@ -179,11 +218,12 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                 * @param array $sites_columns An array of displayed site columns. Default 'cb',
                 *                             'blogname', 'lastupdated', 'registered', 'users'.
                 */
-               $sites_columns = apply_filters( 'wpmu_blogs_columns', $sites_columns );
-
-               return $sites_columns;
+               return apply_filters( 'wpmu_blogs_columns', $sites_columns );
        }
 
+       /**
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'blogname'    => 'blogname',
@@ -192,15 +232,80 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                );
        }
 
-       public function display_rows() {
+       /**
+        * Handles the checkbox column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $blog Current site.
+        */
+       public function column_cb( $blog ) {
+               if ( ! is_main_site( $blog['blog_id'] ) ) :
+                       $blogname = untrailingslashit( $blog['domain'] . $blog['path'] );
+               ?>
+                       <label class="screen-reader-text" for="blog_<?php echo $blog['blog_id']; ?>"><?php
+                               printf( __( 'Select %s' ), $blogname );
+                       ?></label>
+                       <input type="checkbox" id="blog_<?php echo $blog['blog_id'] ?>" name="allblogs[]" value="<?php echo esc_attr( $blog['blog_id'] ) ?>" />
+               <?php endif;
+       }
+
+       /**
+        * Handles the blogname column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @global string $mode
+        *
+        * @param array $blog Current blog.
+        */
+       public function column_blogname( $blog ) {
                global $mode;
 
-               $status_list = array(
-                       'archived' => array( 'site-archived', __( 'Archived' ) ),
-                       'spam'     => array( 'site-spammed', _x( 'Spam', 'site' ) ),
-                       'deleted'  => array( 'site-deleted', __( 'Deleted' ) ),
-                       'mature'   => array( 'site-mature', __( 'Mature' ) )
-               );
+               $blogname = untrailingslashit( $blog['domain'] . $blog['path'] );
+               $blog_states = array();
+               reset( $this->status_list );
+
+               foreach ( $this->status_list as $status => $col ) {
+                       if ( $blog[ $status ] == 1 ) {
+                               $blog_states[] = $col[1];
+                       }
+               }
+               $blog_state = '';
+               if ( ! empty( $blog_states ) ) {
+                       $state_count = count( $blog_states );
+                       $i = 0;
+                       $blog_state .= ' - ';
+                       foreach ( $blog_states as $state ) {
+                               ++$i;
+                               $sep = ( $i == $state_count ) ? '' : ', ';
+                               $blog_state .= "<span class='post-state'>$state$sep</span>";
+                       }
+               }
+
+               ?>
+               <a href="<?php echo esc_url( network_admin_url( 'site-info.php?id=' . $blog['blog_id'] ) ); ?>" class="edit"><?php echo $blogname . $blog_state; ?></a>
+               <?php
+               if ( 'list' !== $mode ) {
+                       switch_to_blog( $blog['blog_id'] );
+                       /* translators: 1: site name, 2: site tagline. */
+                       echo '<p>' . sprintf( __( '%1$s &#8211; <em>%2$s</em>' ), get_option( 'blogname' ), get_option( 'blogdescription ' ) ) . '</p>';
+                       restore_current_blog();
+               }
+       }
+
+       /**
+        * Handles the lastupdated column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $blog Current site.
+        */
+       public function column_lastupdated( $blog ) {
+               global $mode;
 
                if ( 'list' == $mode ) {
                        $date = __( 'Y/m/d' );
@@ -208,197 +313,208 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                        $date = __( 'Y/m/d g:i:s a' );
                }
 
+               echo ( $blog['last_updated'] == '0000-00-00 00:00:00' ) ? __( 'Never' ) : mysql2date( $date, $blog['last_updated'] );
+       }
+
+       /**
+        * Handles the registered column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $blog Current site.
+        */
+       public function column_registered( $blog ) {
+               global $mode;
+
+               if ( 'list' == $mode ) {
+                       $date = __( 'Y/m/d' );
+               } else {
+                       $date = __( 'Y/m/d g:i:s a' );
+               }
+
+               if ( $blog['registered'] == '0000-00-00 00:00:00' ) {
+                       echo '&#x2014;';
+               } else {
+                       echo mysql2date( $date, $blog['registered'] );
+               }
+       }
+
+       /**
+        * Handles the users column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $blog Current site.
+        */
+       public function column_users( $blog ) {
+               $user_count = wp_cache_get( $blog['blog_id'] . '_user_count', 'blog-details' );
+               if ( ! $user_count ) {
+                       $blog_users = get_users( array( 'blog_id' => $blog['blog_id'], 'fields' => 'ID' ) );
+                       $user_count = count( $blog_users );
+                       unset( $blog_users );
+                       wp_cache_set( $blog['blog_id'] . '_user_count', $user_count, 'blog-details', 12 * HOUR_IN_SECONDS );
+               }
+
+               printf(
+                       '<a href="%s">%s</a>',
+                       esc_url( network_admin_url( 'site-users.php?id=' . $blog['blog_id'] ) ),
+                       number_format_i18n( $user_count )
+               );
+       }
+
+       /**
+        * Handles the plugins column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $blog Current site.
+        */
+       public function column_plugins( $blog ) {
+               if ( has_filter( 'wpmublogsaction' ) ) {
+                       /**
+                        * Fires inside the auxiliary 'Actions' column of the Sites list table.
+                        *
+                        * By default this column is hidden unless something is hooked to the action.
+                        *
+                        * @since MU
+                        *
+                        * @param int $blog_id The site ID.
+                        */
+                       do_action( 'wpmublogsaction', $blog['blog_id'] );
+               }
+       }
+
+       /**
+        * Handles output for the default column.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array  $blog        Current site.
+        * @param string $column_name Current column name.
+        */
+       public function column_default( $blog, $column_name ) {
+               /**
+                * Fires for each registered custom column in the Sites list table.
+                *
+                * @since 3.1.0
+                *
+                * @param string $column_name The name of the column to display.
+                * @param int    $blog_id     The site ID.
+                */
+               do_action( 'manage_sites_custom_column', $column_name, $blog['blog_id'] );
+       }
+
+       /**
+        *
+        * @global string $mode
+        */
+       public function display_rows() {
                foreach ( $this->items as $blog ) {
                        $class = '';
-                       reset( $status_list );
+                       reset( $this->status_list );
 
-                       $blog_states = array();
-                       foreach ( $status_list as $status => $col ) {
-                               if ( get_blog_status( $blog['blog_id'], $status ) == 1 ) {
+                       foreach ( $this->status_list as $status => $col ) {
+                               if ( $blog[ $status ] == 1 ) {
                                        $class = " class='{$col[0]}'";
-                                       $blog_states[] = $col[1];
-                               }
-                       }
-                       $blog_state = '';
-                       if ( ! empty( $blog_states ) ) {
-                               $state_count = count( $blog_states );
-                               $i = 0;
-                               $blog_state .= ' - ';
-                               foreach ( $blog_states as $state ) {
-                                       ++$i;
-                                       ( $i == $state_count ) ? $sep = '' : $sep = ', ';
-                                       $blog_state .= "<span class='post-state'>$state$sep</span>";
                                }
                        }
+
                        echo "<tr{$class}>";
 
-                       $blogname = ( is_subdomain_install() ) ? str_replace( '.' . get_current_site()->domain, '', $blog['domain'] ) : $blog['path'];
-
-                       list( $columns, $hidden ) = $this->get_column_info();
-
-                       foreach ( $columns as $column_name => $column_display_name ) {
-                               $style = '';
-                               if ( in_array( $column_name, $hidden ) )
-                                       $style = ' style="display:none;"';
-
-                               switch ( $column_name ) {
-                                       case 'cb': ?>
-                                               <th scope="row" class="check-column">
-                                                       <?php if ( ! is_main_site( $blog['blog_id'] ) ) : ?>
-                                                       <label class="screen-reader-text" for="blog_<?php echo $blog['blog_id']; ?>"><?php printf( __( 'Select %s' ), $blogname ); ?></label>
-                                                       <input type="checkbox" id="blog_<?php echo $blog['blog_id'] ?>" name="allblogs[]" value="<?php echo esc_attr( $blog['blog_id'] ) ?>" />
-                                                       <?php endif; ?>
-                                               </th>
-                                       <?php
-                                       break;
-
-                                       case 'id':?>
-                                               <th scope="row">
-                                                       <?php echo $blog['blog_id'] ?>
-                                               </th>
-                                       <?php
-                                       break;
-
-                                       case 'blogname':
-                                               echo "<td class='column-$column_name $column_name'$style>"; ?>
-                                                       <a href="<?php echo esc_url( network_admin_url( 'site-info.php?id=' . $blog['blog_id'] ) ); ?>" class="edit"><?php echo $blogname . $blog_state; ?></a>
-                                                       <?php
-                                                       if ( 'list' != $mode ) {
-                                                               switch_to_blog( $blog['blog_id'] );
-                                                               echo '<p>' . sprintf( _x( '%1$s &#8211; <em>%2$s</em>', '%1$s: site name. %2$s: site tagline.' ), get_option( 'blogname' ), get_option( 'blogdescription ' ) ) . '</p>';
-                                                               restore_current_blog();
-                                                       }
-
-                                                       // Preordered.
-                                                       $actions = array(
-                                                               'edit' => '', 'backend' => '',
-                                                               'activate' => '', 'deactivate' => '',
-                                                               'archive' => '', 'unarchive' => '',
-                                                               'spam' => '', 'unspam' => '',
-                                                               'delete' => '',
-                                                               'visit' => '',
-                                                       );
-
-                                                       $actions['edit']        = '<span class="edit"><a href="' . esc_url( network_admin_url( 'site-info.php?id=' . $blog['blog_id'] ) ) . '">' . __( 'Edit' ) . '</a></span>';
-                                                       $actions['backend']     = "<span class='backend'><a href='" . esc_url( get_admin_url( $blog['blog_id'] ) ) . "' class='edit'>" . __( 'Dashboard' ) . '</a></span>';
-                                                       if ( get_current_site()->blog_id != $blog['blog_id'] ) {
-                                                               if ( get_blog_status( $blog['blog_id'], 'deleted' ) == '1' )
-                                                                       $actions['activate']    = '<span class="activate"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=activateblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to activate the site %s' ), $blogname ) ) ), 'confirm' ) ) . '">' . __( 'Activate' ) . '</a></span>';
-                                                               else
-                                                                       $actions['deactivate']  = '<span class="activate"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=deactivateblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to deactivate the site %s' ), $blogname ) ) ), 'confirm') ) . '">' . __( 'Deactivate' ) . '</a></span>';
-
-                                                               if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' )
-                                                                       $actions['unarchive']   = '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=unarchiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to unarchive the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . __( 'Unarchive' ) . '</a></span>';
-                                                               else
-                                                                       $actions['archive']     = '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=archiveblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to archive the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . _x( 'Archive', 'verb; site' ) . '</a></span>';
-
-                                                               if ( get_blog_status( $blog['blog_id'], 'spam' ) == '1' )
-                                                                       $actions['unspam']      = '<span class="spam"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=unspamblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to unspam the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . _x( 'Not Spam', 'site' ) . '</a></span>';
-                                                               else
-                                                                       $actions['spam']        = '<span class="spam"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=spamblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to mark the site %s as spam.' ), $blogname ) ) ), 'confirm') ) . '">' . _x( 'Spam', 'site' ) . '</a></span>';
-
-                                                               if ( current_user_can( 'delete_site', $blog['blog_id'] ) )
-                                                                       $actions['delete']      = '<span class="delete"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=deleteblog&amp;id=' . $blog['blog_id'] . '&amp;msg=' . urlencode( sprintf( __( 'You are about to delete the site %s.' ), $blogname ) ) ), 'confirm') ) . '">' . __( 'Delete' ) . '</a></span>';
-                                                       }
-
-                                                       $actions['visit']       = "<span class='view'><a href='" . esc_url( get_home_url( $blog['blog_id'], '/' ) ) . "' rel='permalink'>" . __( 'Visit' ) . '</a></span>';
-
-                                                       /**
-                                                        * Filter the action links displayed for each site in the Sites list table.
-                                                        *
-                                                        * The 'Edit', 'Dashboard', 'Delete', and 'Visit' links are displayed by
-                                                        * default for each site. The site's status determines whether to show the
-                                                        * 'Activate' or 'Deactivate' link, 'Unarchive' or 'Archive' links, and
-                                                        * 'Not Spam' or 'Spam' link for each site.
-                                                        *
-                                                        * @since 3.1.0
-                                                        *
-                                                        * @param array  $actions  An array of action links to be displayed.
-                                                        * @param int    $blog_id  The site ID.
-                                                        * @param string $blogname Site path, formatted depending on whether it is a sub-domain
-                                                        *                         or subdirectory multisite install.
-                                                        */
-                                                       $actions = apply_filters( 'manage_sites_action_links', array_filter( $actions ), $blog['blog_id'], $blogname );
-                                                       echo $this->row_actions( $actions );
-                                       ?>
-                                               </td>
-                                       <?php
-                                       break;
-
-                                       case 'lastupdated':
-                                               echo "<td class='$column_name column-$column_name'$style>";
-                                                       echo ( $blog['last_updated'] == '0000-00-00 00:00:00' ) ? __( 'Never' ) : mysql2date( $date, $blog['last_updated'] ); ?>
-                                               </td>
-                                       <?php
-                                       break;
-                               case 'registered':
-                                               echo "<td class='$column_name column-$column_name'$style>";
-                                               if ( $blog['registered'] == '0000-00-00 00:00:00' )
-                                                       echo '&#x2014;';
-                                               else
-                                                       echo mysql2date( $date, $blog['registered'] );
-                                               ?>
-                                               </td>
-                                       <?php
-                                       break;
-                               case 'users':
-                                               echo "<td class='$column_name column-$column_name'$style>";
-                                                       $blogusers = get_users( array( 'blog_id' => $blog['blog_id'], 'number' => 6) );
-                                                       if ( is_array( $blogusers ) ) {
-                                                               $blogusers_warning = '';
-                                                               if ( count( $blogusers ) > 5 ) {
-                                                                       $blogusers = array_slice( $blogusers, 0, 5 );
-                                                                       $blogusers_warning = __( 'Only showing first 5 users.' ) . ' <a href="' . esc_url( network_admin_url( 'site-users.php?id=' . $blog['blog_id'] ) ) . '">' . __( 'More' ) . '</a>';
-                                                               }
-                                                               foreach ( $blogusers as $user_object ) {
-                                                                       echo '<a href="' . esc_url( network_admin_url( 'user-edit.php?user_id=' . $user_object->ID ) ) . '">' . esc_html( $user_object->user_login ) . '</a> ';
-                                                                       if ( 'list' != $mode )
-                                                                               echo '( ' . $user_object->user_email . ' )';
-                                                                       echo '<br />';
-                                                               }
-                                                               if ( $blogusers_warning != '' )
-                                                                       echo '<strong>' . $blogusers_warning . '</strong><br />';
-                                                       }
-                                                       ?>
-                                               </td>
-                                       <?php
-                                       break;
-
-                               case 'plugins': ?>
-                                       <?php if ( has_filter( 'wpmublogsaction' ) ) {
-                                       echo "<td class='$column_name column-$column_name'$style>";
-                                               /**
-                                                * Fires inside the auxiliary 'Actions' column of the Sites list table.
-                                                *
-                                                * By default this column is hidden unless something is hooked to the action.
-                                                *
-                                                * @since MU
-                                                *
-                                                * @param int $blog_id The site ID.
-                                                */
-                                               do_action( 'wpmublogsaction', $blog['blog_id'] ); ?>
-                                       </td>
-                                       <?php }
-                                       break;
-
-                               default:
-                                       echo "<td class='$column_name column-$column_name'$style>";
-                                       /**
-                                        * Fires for each registered custom column in the Sites list table.
-                                        *
-                                        * @since 3.1.0
-                                        *
-                                        * @param string $column_name The name of the column to display.
-                                        * @param int    $blog_id     The site ID.
-                                        */
-                                       do_action( 'manage_sites_custom_column', $column_name, $blog['blog_id'] );
-                                       echo "</td>";
-                                       break;
-                               }
+                       $this->single_row_columns( $blog );
+
+                       echo '</tr>';
+               }
+       }
+
+       /**
+        * Gets the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'blogname'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'blogname';
+       }
+
+       /**
+        * Generates and displays row action links.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $blog        Blog being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string Row actions output.
+        */
+       protected function handle_row_actions( $blog, $column_name, $primary ) {
+               if ( $primary !== $column_name ) {
+                       return;
+               }
+
+               $blogname = untrailingslashit( $blog['domain'] . $blog['path'] );
+
+               // Preordered.
+               $actions = array(
+                       'edit' => '', 'backend' => '',
+                       'activate' => '', 'deactivate' => '',
+                       'archive' => '', 'unarchive' => '',
+                       'spam' => '', 'unspam' => '',
+                       'delete' => '',
+                       'visit' => '',
+               );
+
+               $actions['edit']        = '<span class="edit"><a href="' . esc_url( network_admin_url( 'site-info.php?id=' . $blog['blog_id'] ) ) . '">' . __( 'Edit' ) . '</a></span>';
+               $actions['backend']     = "<span class='backend'><a href='" . esc_url( get_admin_url( $blog['blog_id'] ) ) . "' class='edit'>" . __( 'Dashboard' ) . '</a></span>';
+               if ( get_current_site()->blog_id != $blog['blog_id'] ) {
+                       if ( $blog['deleted'] == '1' ) {
+                               $actions['activate']   = '<span class="activate"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=activateblog&amp;id=' . $blog['blog_id'] ), 'activateblog_' . $blog['blog_id'] ) ) . '">' . __( 'Activate' ) . '</a></span>';
+                       } else {
+                               $actions['deactivate'] = '<span class="activate"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=deactivateblog&amp;id=' . $blog['blog_id'] ), 'deactivateblog_' . $blog['blog_id'] ) ) . '">' . __( 'Deactivate' ) . '</a></span>';
+                       }
+
+                       if ( $blog['archived'] == '1' ) {
+                               $actions['unarchive'] = '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=unarchiveblog&amp;id=' . $blog['blog_id'] ), 'unarchiveblog_' . $blog['blog_id'] ) ) . '">' . __( 'Unarchive' ) . '</a></span>';
+                       } else {
+                               $actions['archive']   = '<span class="archive"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=archiveblog&amp;id=' . $blog['blog_id'] ), 'archiveblog_' . $blog['blog_id'] ) ) . '">' . _x( 'Archive', 'verb; site' ) . '</a></span>';
+                       }
+
+                       if ( $blog['spam'] == '1' ) {
+                               $actions['unspam'] = '<span class="spam"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=unspamblog&amp;id=' . $blog['blog_id'] ), 'unspamblog_' . $blog['blog_id'] ) ) . '">' . _x( 'Not Spam', 'site' ) . '</a></span>';
+                       } else {
+                               $actions['spam']   = '<span class="spam"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=spamblog&amp;id=' . $blog['blog_id'] ), 'spamblog_' . $blog['blog_id'] ) ) . '">' . _x( 'Spam', 'site' ) . '</a></span>';
+                       }
+
+                       if ( current_user_can( 'delete_site', $blog['blog_id'] ) ) {
+                               $actions['delete'] = '<span class="delete"><a href="' . esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&amp;action2=deleteblog&amp;id=' . $blog['blog_id'] ), 'deleteblog_' . $blog['blog_id'] ) ) . '">' . __( 'Delete' ) . '</a></span>';
                        }
-                       ?>
-                       </tr>
-                       <?php
                }
+
+               $actions['visit']       = "<span class='view'><a href='" . esc_url( get_home_url( $blog['blog_id'], '/' ) ) . "' rel='permalink'>" . __( 'Visit' ) . '</a></span>';
+
+               /**
+                * Filter the action links displayed for each site in the Sites list table.
+                *
+                * The 'Edit', 'Dashboard', 'Delete', and 'Visit' links are displayed by
+                * default for each site. The site's status determines whether to show the
+                * 'Activate' or 'Deactivate' link, 'Unarchive' or 'Archive' links, and
+                * 'Not Spam' or 'Spam' link for each site.
+                *
+                * @since 3.1.0
+                *
+                * @param array  $actions  An array of action links to be displayed.
+                * @param int    $blog_id  The site ID.
+                * @param string $blogname Site path, formatted depending on whether it is a sub-domain
+                *                         or subdirectory multisite install.
+                */
+               $actions = apply_filters( 'manage_sites_action_links', array_filter( $actions ), $blog['blog_id'], $blogname );
+               return $this->row_actions( $actions );
        }
 }
index d3b484fe030170e9cb1a19ea732f235c61129036..991a07749a4c7151cf61fc502eae643d89f59539 100644 (file)
@@ -22,6 +22,9 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
         *
         * @see WP_List_Table::__construct() for more information on default arguments.
         *
+        * @global string $status
+        * @global int    $page
+        *
         * @param array $args An associative array of arguments.
         */
        public function __construct( $args = array() ) {
@@ -44,11 +47,19 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                        $this->site_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_table_classes() {
                // todo: remove and add CSS for .themes
                return array( 'widefat', 'plugins' );
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                if ( $this->is_site_themes )
                        return current_user_can( 'manage_sites' );
@@ -56,6 +67,15 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                        return current_user_can( 'manage_network_themes' );
        }
 
+       /**
+        *
+        * @global string $status
+        * @global array $totals
+        * @global int $page
+        * @global string $orderby
+        * @global string $order
+        * @global string $s
+        */
        public function prepare_items() {
                global $status, $totals, $page, $orderby, $order, $s;
 
@@ -150,7 +170,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
         * @return bool
         */
        public function _search_callback( $theme ) {
-               static $term;
+               static $term = null;
                if ( is_null( $term ) )
                        $term = wp_unslash( $_REQUEST['s'] );
 
@@ -192,6 +212,9 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                        return ( $a < $b ) ? -1 : 1;
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                if ( ! $this->has_items )
                        _e( 'No themes found.' );
@@ -199,9 +222,11 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                        _e( 'You do not appear to have any themes available at this time.' );
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_columns() {
-               global $status;
-
                return array(
                        'cb'          => '<input type="checkbox" />',
                        'name'        => __( 'Theme' ),
@@ -209,12 +234,34 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'name'         => 'name',
                );
        }
 
+       /**
+        * Gets the name of the primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Unalterable name of the primary column name, in this case, 'name'.
+        */
+       protected function get_primary_column_name() {
+               return 'name';
+       }
+
+       /**
+        *
+        * @global array $totals
+        * @global string $status
+        * @return array
+        */
        protected function get_views() {
                global $totals, $status;
 
@@ -258,6 +305,11 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                return $status_links;
        }
 
+       /**
+        * @global string $status
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                global $status;
 
@@ -275,20 +327,44 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                return $actions;
        }
 
+       /**
+        * @access public
+        */
        public function display_rows() {
                foreach ( $this->items as $theme )
                        $this->single_row( $theme );
        }
 
        /**
+        * Handles the checkbox column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Theme $theme The current WP_Theme object.
+        */
+       public function column_cb( $theme ) {
+               $checkbox_id = 'checkbox_' . md5( $theme->get('Name') );
+               ?>
+               <input type="checkbox" name="checked[]" value="<?php echo esc_attr( $theme->get_stylesheet() ) ?>" id="<?php echo $checkbox_id ?>" />
+               <label class="screen-reader-text" for="<?php echo $checkbox_id ?>" ><?php _e( 'Select' ) ?>  <?php echo $theme->display( 'Name' ) ?></label>
+               <?php
+       }
+
+       /**
+        * Handles the name column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
         * @global string $status
-        * @global int $page
+        * @global int    $page
         * @global string $s
-        * @global array $totals
-        * @param WP_Theme $theme
+        *
+        * @param WP_Theme $theme The current WP_Theme object.
         */
-       public function single_row( $theme ) {
-               global $status, $page, $s, $totals;
+       public function column_name( $theme ) {
+               global $status, $page, $s;
 
                $context = $status;
 
@@ -312,18 +388,20 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                $theme_key = urlencode( $stylesheet );
 
                if ( ! $allowed ) {
-                       if ( ! $theme->errors() )
+                       if ( ! $theme->errors() ) {
                                $actions['enable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=enable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'enable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__('Enable this theme') . '" class="edit">' . ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) . '</a>';
+                       }
                } else {
                        $actions['disable'] = '<a href="' . esc_url( wp_nonce_url($url . 'action=disable&amp;theme=' . $theme_key . '&amp;paged=' . $page . '&amp;s=' . $s, 'disable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__('Disable this theme') . '">' . ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) . '</a>';
                }
 
-               if ( current_user_can('edit_themes') )
+               if ( current_user_can('edit_themes') ) {
                        $actions['edit'] = '<a href="' . esc_url('theme-editor.php?theme=' . $theme_key ) . '" title="' . esc_attr__('Open this theme in the Theme Editor') . '" class="edit">' . __('Edit') . '</a>';
+               }
 
-               if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $stylesheet != get_option( 'stylesheet' ) && $stylesheet != get_option( 'template' ) )
+               if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $stylesheet != get_option( 'stylesheet' ) && $stylesheet != get_option( 'template' ) ) {
                        $actions['delete'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=delete-selected&amp;checked[]=' . $theme_key . '&amp;theme_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-themes' ) ) . '" title="' . esc_attr__( 'Delete this theme' ) . '" class="delete">' . __( 'Delete' ) . '</a>';
-
+               }
                /**
                 * Filter the action links displayed for each theme in the Multisite
                 * themes list table.
@@ -364,87 +442,175 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                 */
                $actions = apply_filters( "theme_action_links_$stylesheet", $actions, $theme, $context );
 
-               $class = ! $allowed ? 'inactive' : 'active';
-               $checkbox_id = "checkbox_" . md5( $theme->get('Name') );
-               $checkbox = "<input type='checkbox' name='checked[]' value='" . esc_attr( $stylesheet ) . "' id='" . $checkbox_id . "' /><label class='screen-reader-text' for='" . $checkbox_id . "' >" . __('Select') . " " . $theme->display('Name') . "</label>";
+               echo $this->row_actions( $actions, true );
+       }
 
-               $id = sanitize_html_class( $theme->get_stylesheet() );
+       /**
+        * Handles the description column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @global string $status
+        * @global array  $totals
+        *
+        * @param WP_Theme $theme The current WP_Theme object.
+        */
+       public function column_description( $theme ) {
+               global $status, $totals;
+               if ( $theme->errors() ) {
+                       $pre = $status == 'broken' ? __( 'Broken Theme:' ) . ' ' : '';
+                       echo '<p><strong class="error-message">' . $pre . $theme->errors()->get_error_message() . '</strong></p>';
+               }
+
+               if ( $this->is_site_themes ) {
+                       $allowed = $theme->is_allowed( 'site', $this->site_id );
+               } else {
+                       $allowed = $theme->is_allowed( 'network' );
+               }
 
+               $class = ! $allowed ? 'inactive' : 'active';
                if ( ! empty( $totals['upgrade'] ) && ! empty( $theme->update ) )
                        $class .= ' update';
 
-               echo "<tr id='$id' class='$class'>";
+               echo "<div class='theme-description'><p>" . $theme->display( 'Description' ) . "</p></div>
+                       <div class='$class second theme-version-author-uri'>";
+
+               $stylesheet = $theme->get_stylesheet();
+               $theme_meta = array();
+
+               if ( $theme->get('Version') ) {
+                       $theme_meta[] = sprintf( __( 'Version %s' ), $theme->display('Version') );
+               }
+               $theme_meta[] = sprintf( __( 'By %s' ), $theme->display('Author') );
+
+               if ( $theme->get('ThemeURI') ) {
+                       $theme_meta[] = '<a href="' . $theme->display('ThemeURI') . '" title="' . esc_attr__( 'Visit theme homepage' ) . '">' . __( 'Visit Theme Site' ) . '</a>';
+               }
+               /**
+                * Filter the array of row meta for each theme in the Multisite themes
+                * list table.
+                *
+                * @since 3.1.0
+                *
+                * @param array    $theme_meta An array of the theme's metadata,
+                *                             including the version, author, and
+                *                             theme URI.
+                * @param string   $stylesheet Directory name of the theme.
+                * @param WP_Theme $theme      WP_Theme object.
+                * @param string   $status     Status of the theme.
+                */
+               $theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $stylesheet, $theme, $status );
+               echo implode( ' | ', $theme_meta );
 
-               list( $columns, $hidden ) = $this->get_column_info();
+               echo '</div>';
+       }
+
+       /**
+        * Handles default column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Theme $theme       The current WP_Theme object.
+        * @param string   $column_name The current column name.
+        */
+       public function column_default( $theme, $column_name ) {
+               $stylesheet = $theme->get_stylesheet();
+
+               /**
+                * Fires inside each custom column of the Multisite themes list table.
+                *
+                * @since 3.1.0
+                *
+                * @param string   $column_name Name of the column.
+                * @param string   $stylesheet  Directory name of the theme.
+                * @param WP_Theme $theme       Current WP_Theme object.
+                */
+               do_action( 'manage_themes_custom_column', $column_name, $stylesheet, $theme );
+       }
+
+       /**
+        * Handles the output for a single table row.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Theme $item The current WP_Theme object.
+        */
+       public function single_row_columns( $item ) {
+               list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
 
                foreach ( $columns as $column_name => $column_display_name ) {
-                       $style = '';
-                       if ( in_array( $column_name, $hidden ) )
-                               $style = ' style="display:none;"';
+                       $extra_classes = '';
+                       if ( in_array( $column_name, $hidden ) ) {
+                               $extra_classes .= ' hidden';
+                       }
 
                        switch ( $column_name ) {
                                case 'cb':
-                                       echo "<th scope='row' class='check-column'>$checkbox</th>";
+                                       echo '<th scope="row" class="check-column">';
+
+                                       $this->column_cb( $item );
+
+                                       echo '</th>';
                                        break;
+
                                case 'name':
-                                       echo "<td class='theme-title'$style><strong>" . $theme->display('Name') . "</strong>";
-                                       echo $this->row_actions( $actions, true );
+                                       echo "<td class='theme-title column-primary{$extra_classes}'><strong>" . $item->display('Name') . "</strong>";
+
+                                       $this->column_name( $item );
+
                                        echo "</td>";
                                        break;
+
                                case 'description':
-                                       echo "<td class='column-description desc'$style>";
-                                       if ( $theme->errors() ) {
-                                               $pre = $status == 'broken' ? __( 'Broken Theme:' ) . ' ' : '';
-                                               echo '<p><strong class="attention">' . $pre . $theme->errors()->get_error_message() . '</strong></p>';
-                                       }
-                                       echo "<div class='theme-description'><p>" . $theme->display( 'Description' ) . "</p></div>
-                                               <div class='$class second theme-version-author-uri'>";
-
-                                       $theme_meta = array();
-
-                                       if ( $theme->get('Version') )
-                                               $theme_meta[] = sprintf( __( 'Version %s' ), $theme->display('Version') );
-
-                                       $theme_meta[] = sprintf( __( 'By %s' ), $theme->display('Author') );
-
-                                       if ( $theme->get('ThemeURI') )
-                                               $theme_meta[] = '<a href="' . $theme->display('ThemeURI') . '" title="' . esc_attr__( 'Visit theme homepage' ) . '">' . __( 'Visit Theme Site' ) . '</a>';
-
-                                       /**
-                                        * Filter the array of row meta for each theme in the Multisite themes
-                                        * list table.
-                                        *
-                                        * @since 3.1.0
-                                        *
-                                        * @param array    $theme_meta An array of the theme's metadata,
-                                        *                             including the version, author, and
-                                        *                             theme URI.
-                                        * @param string   $stylesheet Directory name of the theme.
-                                        * @param WP_Theme $theme      WP_Theme object.
-                                        * @param string   $status     Status of the theme.
-                                        */
-                                       $theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $stylesheet, $theme, $status );
-                                       echo implode( ' | ', $theme_meta );
-
-                                       echo "</div></td>";
+                                       echo "<td class='column-description desc{$extra_classes}'>";
+
+                                       $this->column_description( $item );
+
+                                       echo '</td>';
                                        break;
 
                                default:
-                                       echo "<td class='$column_name column-$column_name'$style>";
-
-                                       /**
-                                        * Fires inside each custom column of the Multisite themes list table.
-                                        *
-                                        * @since 3.1.0
-                                        *
-                                        * @param string   $column_name Name of the column.
-                                        * @param string   $stylesheet  Directory name of the theme.
-                                        * @param WP_Theme $theme       Current WP_Theme object.
-                                        */
-                                       do_action( 'manage_themes_custom_column', $column_name, $stylesheet, $theme );
+                                       echo "<td class='$column_name column-$column_name{$extra_classes}'>";
+
+                                       $this->column_default( $item, $column_name );
+
                                        echo "</td>";
+                                       break;
                        }
                }
+       }
+
+       /**
+        * @global string $status
+        * @global array  $totals
+        *
+        * @param WP_Theme $theme
+        */
+       public function single_row( $theme ) {
+               global $status, $totals;
+
+               if ( $this->is_site_themes ) {
+                       $allowed = $theme->is_allowed( 'site', $this->site_id );
+               } else {
+                       $allowed = $theme->is_allowed( 'network' );
+               }
+
+               $stylesheet = $theme->get_stylesheet();
+
+               $class = ! $allowed ? 'inactive' : 'active';
+
+               $id = sanitize_html_class( $theme->get_stylesheet() );
+
+               if ( ! empty( $totals['upgrade'] ) && ! empty( $theme->update ) ) {
+                       $class .= ' update';
+               }
+
+               echo "<tr id='$id' class='$class'>";
+
+               $this->single_row_columns( $theme );
 
                echo "</tr>";
 
index c70636f6d979f1498fa82df6bde64ea62987fcb6..39dadc788a9d0fbf5bacc43088df39271b3d0996 100644 (file)
@@ -8,11 +8,21 @@
  * @access private
  */
 class WP_MS_Users_List_Table extends WP_List_Table {
-
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can( 'manage_network_users' );
        }
 
+       /**
+        *
+        * @global string $usersearch
+        * @global string $role
+        * @global wpdb   $wpdb
+        * @global string $mode
+        */
        public function prepare_items() {
                global $usersearch, $role, $wpdb, $mode;
 
@@ -72,6 +82,10 @@ class WP_MS_Users_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                $actions = array();
                if ( current_user_can( 'delete_users' ) )
@@ -82,10 +96,18 @@ class WP_MS_Users_List_Table extends WP_List_Table {
                return $actions;
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                _e( 'No users found.' );
        }
 
+       /**
+        *
+        * @global string $role
+        * @return array
+        */
        protected function get_views() {
                global $role;
 
@@ -115,6 +137,10 @@ class WP_MS_Users_List_Table extends WP_List_Table {
                        $this->view_switcher( $mode );
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_columns() {
                $users_columns = array(
                        'cb'         => '<input type="checkbox" />',
@@ -132,11 +158,13 @@ class WP_MS_Users_List_Table extends WP_List_Table {
                 * @param array $users_columns An array of user columns. Default 'cb', 'username',
                 *                             'name', 'email', 'registered', 'blogs'.
                 */
-               $users_columns = apply_filters( 'wpmu_users_columns', $users_columns );
-
-               return $users_columns;
+               return apply_filters( 'wpmu_users_columns', $users_columns );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'username'   => 'login',
@@ -146,161 +174,251 @@ class WP_MS_Users_List_Table extends WP_List_Table {
                );
        }
 
-       public function display_rows() {
-               global $mode;
+       /**
+        * Handles the checkbox column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_User $user The current WP_User object.
+        */
+       public function column_cb( $user ) {
+               ?>
+               <label class="screen-reader-text" for="blog_<?php echo $user->ID; ?>"><?php echo sprintf( __( 'Select %s' ), $user->user_login ); ?></label>
+               <input type="checkbox" id="blog_<?php echo $user->ID ?>" name="allusers[]" value="<?php echo esc_attr( $user->ID ) ?>" />
+               <?php
+       }
 
+       /**
+        * Handles the username column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_User $user The current WP_User object.
+        */
+       public function column_username( $user ) {
                $super_admins = get_super_admins();
+               $avatar = get_avatar( $user->user_email, 32 );
+               $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user->ID ) ) );
+
+               echo $avatar;
+
+               ?><strong><a href="<?php echo $edit_link; ?>" class="edit"><?php echo $user->user_login; ?></a><?php
+               if ( in_array( $user->user_login, $super_admins ) ) {
+                       echo ' - ' . __( 'Super Admin' );
+               }
+               ?></strong>
+       <?php
+       }
+
+       /**
+        * Handles the name column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_User $user The current WP_User object.
+        */
+       public function column_name( $user ) {
+               echo "$user->first_name $user->last_name";
+       }
+
+       /**
+        * Handles the email column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_User $user The current WP_User object.
+        */
+       public function column_email( $user ) {
+               echo "<a href='mailto:$user->user_email'>$user->user_email</a>";
+       }
+
+       /**
+        * Handles the registered date column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @global string $mode
+        *
+        * @param WP_User $user The current WP_User object.
+        */
+       public function column_registered( $user ) {
+               global $mode;
+               if ( 'list' == $mode ) {
+                       $date = __( 'Y/m/d' );
+               } else {
+                       $date = __( 'Y/m/d g:i:s a' );
+               }
+               echo mysql2date( $date, $user->user_registered );
+       }
+
+       /**
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param WP_User $user
+        * @param string  $classes
+        * @param string  $data
+        * @param string  $primary
+        */
+       protected function _column_blogs( $user, $classes, $data, $primary ) {
+               echo '<td class="', $classes, ' has-row-actions" ', $data, '>';
+               echo $this->column_blogs( $user );
+               echo $this->handle_row_actions( $user, 'blogs', $primary );
+               echo '</td>';
+       }
+
+       /**
+        * Handles the blogs/sites column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_User $user The current WP_User object.
+        */
+       public function column_blogs( $user ) {
+               $blogs = get_blogs_of_user( $user->ID, true );
+               if ( ! is_array( $blogs ) ) {
+                       return;
+               }
+
+               foreach ( $blogs as $val ) {
+                       if ( ! can_edit_network( $val->site_id ) ) {
+                               continue;
+                       }
+
+                       $path   = ( $val->path == '/' ) ? '' : $val->path;
+                       echo '<span class="site-' . $val->site_id . '" >';
+                       echo '<a href="'. esc_url( network_admin_url( 'site-info.php?id=' . $val->userblog_id ) ) .'">' . str_replace( '.' . get_current_site()->domain, '', $val->domain . $path ) . '</a>';
+                       echo ' <small class="row-actions">';
+                       $actions = array();
+                       $actions['edit'] = '<a href="'. esc_url( network_admin_url( 'site-info.php?id=' . $val->userblog_id ) ) .'">' . __( 'Edit' ) . '</a>';
+
+                       $class = '';
+                       if ( $val->spam == 1 ) {
+                               $class .= 'site-spammed ';
+                       }
+                       if ( $val->mature == 1 ) {
+                               $class .= 'site-mature ';
+                       }
+                       if ( $val->deleted == 1 ) {
+                               $class .= 'site-deleted ';
+                       }
+                       if ( $val->archived == 1 ) {
+                               $class .= 'site-archived ';
+                       }
+
+                       $actions['view'] = '<a class="' . $class . '" href="' . esc_url( get_home_url( $val->userblog_id ) ) . '">' . __( 'View' ) . '</a>';
+
+                       /**
+                        * Filter the action links displayed next the sites a user belongs to
+                        * in the Network Admin Users list table.
+                        *
+                        * @since 3.1.0
+                        *
+                        * @param array $actions     An array of action links to be displayed.
+                        *                           Default 'Edit', 'View'.
+                        * @param int   $userblog_id The site ID.
+                        */
+                       $actions = apply_filters( 'ms_user_list_site_actions', $actions, $val->userblog_id );
+
+                       $i=0;
+                       $action_count = count( $actions );
+                       foreach ( $actions as $action => $link ) {
+                               ++$i;
+                               $sep = ( $i == $action_count ) ? '' : ' | ';
+                               echo "<span class='$action'>$link$sep</span>";
+                       }
+                       echo '</small></span><br/>';
+               }
+       }
+
+       /**
+        * Handles the default column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_User $user       The current WP_User object.
+        * @param string $column_name The current column name.
+        */
+       public function column_default( $user, $column_name ) {
+               /** This filter is documented in wp-admin/includes/class-wp-users-list-table.php */
+               echo apply_filters( 'manage_users_custom_column', '', $column_name, $user->ID );
+       }
+
+       public function display_rows() {
                foreach ( $this->items as $user ) {
                        $class = '';
 
                        $status_list = array( 'spam' => 'site-spammed', 'deleted' => 'site-deleted' );
 
                        foreach ( $status_list as $status => $col ) {
-                               if ( $user->$status )
+                               if ( $user->$status ) {
                                        $class .= " $col";
+                               }
                        }
 
                        ?>
                        <tr class="<?php echo trim( $class ); ?>">
-                       <?php
-
-                       list( $columns, $hidden ) = $this->get_column_info();
-
-                       foreach ( $columns as $column_name => $column_display_name ) :
-                               $class = "class='$column_name column-$column_name'";
-
-                               $style = '';
-                               if ( in_array( $column_name, $hidden ) )
-                                       $style = ' style="display:none;"';
-
-                               $attributes = "$class$style";
-
-                               switch ( $column_name ) {
-                                       case 'cb': ?>
-                                               <th scope="row" class="check-column">
-                                                       <label class="screen-reader-text" for="blog_<?php echo $user->ID; ?>"><?php echo sprintf( __( 'Select %s' ), $user->user_login ); ?></label>
-                                                       <input type="checkbox" id="blog_<?php echo $user->ID ?>" name="allusers[]" value="<?php echo esc_attr( $user->ID ) ?>" />
-                                               </th>
-                                       <?php
-                                       break;
-
-                                       case 'username':
-                                               $avatar = get_avatar( $user->user_email, 32 );
-                                               $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user->ID ) ) );
-
-                                               echo "<td $attributes>"; ?>
-                                                       <?php echo $avatar; ?><strong><a href="<?php echo $edit_link; ?>" class="edit"><?php echo $user->user_login; ?></a><?php
-                                                       if ( in_array( $user->user_login, $super_admins ) )
-                                                               echo ' - ' . __( 'Super Admin' );
-                                                       ?></strong>
-                                                       <br/>
-                                                       <?php
-                                                               $actions = array();
-                                                               $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>';
-
-                                                               if ( current_user_can( 'delete_user', $user->ID ) && ! in_array( $user->user_login, $super_admins ) ) {
-                                                                       $actions['delete'] = '<a href="' . $delete = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'users.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user->ID ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>';
-                                                               }
-
-                                                               /**
-                                                                * Filter the action links displayed under each user
-                                                                * in the Network Admin Users list table.
-                                                                *
-                                                                * @since 3.2.0
-                                                                *
-                                                                * @param array   $actions An array of action links to be displayed.
-                                                                *                         Default 'Edit', 'Delete'.
-                                                                * @param WP_User $user    WP_User object.
-                                                                */
-                                                               $actions = apply_filters( 'ms_user_row_actions', $actions, $user );
-                                                               echo $this->row_actions( $actions );
-                                                       ?>
-                                               </td>
-                                       <?php
-                                       break;
-
-                                       case 'name':
-                                               echo "<td $attributes>$user->first_name $user->last_name</td>";
-                                       break;
-
-                                       case 'email':
-                                               echo "<td $attributes><a href='" . esc_url( "mailto:$user->user_email" ) . "'>$user->user_email</a></td>";
-                                       break;
-
-                                       case 'registered':
-                                               if ( 'list' == $mode )
-                                                       $date = __( 'Y/m/d' );
-                                               else
-                                                       $date = __( 'Y/m/d g:i:s a' );
-
-                                               echo "<td $attributes>" . mysql2date( $date, $user->user_registered ) . "</td>";
-                                       break;
-
-                                       case 'blogs':
-                                               $blogs = get_blogs_of_user( $user->ID, true );
-                                               echo "<td $attributes>";
-                                                       if ( is_array( $blogs ) ) {
-                                                               foreach ( (array) $blogs as $key => $val ) {
-                                                                       if ( !can_edit_network( $val->site_id ) )
-                                                                               continue;
-
-                                                                       $path   = ( $val->path == '/' ) ? '' : $val->path;
-                                                                       echo '<span class="site-' . $val->site_id . '" >';
-                                                                       echo '<a href="'. esc_url( network_admin_url( 'site-info.php?id=' . $val->userblog_id ) ) .'">' . str_replace( '.' . get_current_site()->domain, '', $val->domain . $path ) . '</a>';
-                                                                       echo ' <small class="row-actions">';
-                                                                       $actions = array();
-                                                                       $actions['edit'] = '<a href="'. esc_url( network_admin_url( 'site-info.php?id=' . $val->userblog_id ) ) .'">' . __( 'Edit' ) . '</a>';
-
-                                                                       $class = '';
-                                                                       if ( get_blog_status( $val->userblog_id, 'spam' ) == 1 )
-                                                                               $class .= 'site-spammed ';
-                                                                       if ( get_blog_status( $val->userblog_id, 'mature' ) == 1 )
-                                                                               $class .= 'site-mature ';
-                                                                       if ( get_blog_status( $val->userblog_id, 'deleted' ) == 1 )
-                                                                               $class .= 'site-deleted ';
-                                                                       if ( get_blog_status( $val->userblog_id, 'archived' ) == 1 )
-                                                                               $class .= 'site-archived ';
-
-                                                                       $actions['view'] = '<a class="' . $class . '" href="' . esc_url( get_home_url( $val->userblog_id ) ) . '">' . __( 'View' ) . '</a>';
-
-                                                                       /**
-                                                                        * Filter the action links displayed next the sites a user belongs to
-                                                                        * in the Network Admin Users list table.
-                                                                        *
-                                                                        * @since 3.1.0
-                                                                        *
-                                                                        * @param array $actions     An array of action links to be displayed.
-                                                                        *                           Default 'Edit', 'View'.
-                                                                        * @param int   $userblog_id The site ID.
-                                                                        */
-                                                                       $actions = apply_filters( 'ms_user_list_site_actions', $actions, $val->userblog_id );
-
-                                                                       $i=0;
-                                                                       $action_count = count( $actions );
-                                                                       foreach ( $actions as $action => $link ) {
-                                                                               ++$i;
-                                                                               ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
-                                                                               echo "<span class='$action'>$link$sep</span>";
-                                                                       }
-                                                                       echo '</small></span><br/>';
-                                                               }
-                                                       }
-                                                       ?>
-                                               </td>
-                                       <?php
-                                       break;
-
-                                       default:
-                                               echo "<td $attributes>";
-                                               /** This filter is documented in wp-admin/includes/class-wp-users-list-table.php */
-                                               echo apply_filters( 'manage_users_custom_column', '', $column_name, $user->ID );
-                                               echo "</td>";
-                                       break;
-                               }
-                       endforeach
-                       ?>
+                               <?php $this->single_row_columns( $user ); ?>
                        </tr>
                        <?php
                }
        }
+
+       /**
+        * Gets the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'username'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'username';
+       }
+
+       /**
+        * Generates and displays row action links.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $user        User being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string Row actions output for users in Multisite.
+        */
+       protected function handle_row_actions( $user, $column_name, $primary ) {
+               if ( $primary !== $column_name ) {
+                       return '';
+               }
+
+               $super_admins = get_super_admins();
+               $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user->ID ) ) );
+
+               $actions = array();
+               $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>';
+
+               if ( current_user_can( 'delete_user', $user->ID ) && ! in_array( $user->user_login, $super_admins ) ) {
+                       $actions['delete'] = '<a href="' . $delete = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'users.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user->ID ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>';
+               }
+
+               /**
+                * Filter the action links displayed under each user in the Network Admin Users list table.
+                *
+                * @since 3.2.0
+                *
+                * @param array   $actions An array of action links to be displayed.
+                *                         Default 'Edit', 'Delete'.
+                * @param WP_User $user    WP_User object.
+                */
+               $actions = apply_filters( 'ms_user_row_actions', $actions, $user );
+               return $this->row_actions( $actions );
+       }
 }
index e1a730610ba11fe7b484c07c4cec1a2e66c2874b..45a525128573a080272744892d17d61a2c4a6d2a 100644 (file)
@@ -15,6 +15,10 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 
        private $error;
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can('install_plugins');
        }
@@ -28,6 +32,8 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
         *
         * @since 4.0.0
         * @access protected
+        *
+        * @return array
         */
        protected function get_installed_plugin_slugs() {
                $slugs = array();
@@ -48,6 +54,15 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                return $slugs;
        }
 
+       /**
+        *
+        * @global array  $tabs
+        * @global string $tab
+        * @global int    $paged
+        * @global string $type
+        * @global string $term
+        * @global string $wp_version
+        */
        public function prepare_items() {
                include( ABSPATH . 'wp-admin/includes/plugin-install.php' );
 
@@ -199,6 +214,9 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                if ( isset( $this->error ) ) {
                        $message = $this->error->get_error_message() . '<p class="hide-if-no-js"><a href="#" class="button" onclick="document.location.reload(); return false;">' . __( 'Try again' ) . '</a></p>';
@@ -208,6 +226,13 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                echo '<div class="no-plugin-results">' . $message . '</div>';
        }
 
+       /**
+        *
+        * @global array $tabs
+        * @global string $tab
+        *
+        * @return array
+        */
        protected function get_views() {
                global $tabs, $tab;
 
@@ -276,6 +301,8 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
        }
 
        /**
+        * @global string $tab
+        *
         * @param string $which
         */
        protected function display_tablenav( $which ) {
@@ -308,10 +335,16 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        * @return array
+        */
        protected function get_table_classes() {
                return array( 'widefat', $this->_args['plural'] );
        }
 
+       /**
+        * @return array
+        */
        public function get_columns() {
                return array();
        }
@@ -341,6 +374,9 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        * @global string $wp_version
+        */
        public function display_rows() {
                $plugins_allowedtags = array(
                        'a' => array( 'href' => array(),'title' => array(), 'target' => array() ),
index 8ee85ba03664afd9aaf9cf945ca4765a7a2a0ee5..781330cbdf3f9175e95756a7a85a90b4984ad70c 100644 (file)
@@ -17,6 +17,9 @@ class WP_Plugins_List_Table extends WP_List_Table {
         *
         * @see WP_List_Table::__construct() for more information on default arguments.
         *
+        * @global string $status
+        * @global int    $page
+        *
         * @param array $args An associative array of arguments.
         */
        public function __construct( $args = array() ) {
@@ -37,14 +40,30 @@ class WP_Plugins_List_Table extends WP_List_Table {
                $page = $this->get_pagenum();
        }
 
+       /**
+        * @return array
+        */
        protected function get_table_classes() {
                return array( 'widefat', $this->_args['plural'] );
        }
 
+       /**
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can('activate_plugins');
        }
 
+       /**
+        *
+        * @global string $status
+        * @global type   $plugins
+        * @global array  $totals
+        * @global int    $page
+        * @global string $orderby
+        * @global string $order
+        * @global string $s
+        */
        public function prepare_items() {
                global $status, $plugins, $totals, $page, $orderby, $order, $s;
 
@@ -180,13 +199,16 @@ class WP_Plugins_List_Table extends WP_List_Table {
 
                $total_this_page = $totals[ $status ];
 
-               if ( $orderby ) {
+               if ( ! $orderby ) {
+                       $orderby = 'Name';
+               } else {
                        $orderby = ucfirst( $orderby );
-                       $order = strtoupper( $order );
-
-                       uasort( $this->items, array( $this, '_order_callback' ) );
                }
 
+               $order = strtoupper( $order );
+
+               uasort( $this->items, array( $this, '_order_callback' ) );
+
                $plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 );
 
                $start = ( $page - 1 ) * $plugins_per_page;
@@ -203,10 +225,10 @@ class WP_Plugins_List_Table extends WP_List_Table {
        /**
         * @staticvar string $term
         * @param array $plugin
-        * @return boolean
+        * @return bool
         */
        public function _search_callback( $plugin ) {
-               static $term;
+               static $term = null;
                if ( is_null( $term ) )
                        $term = wp_unslash( $_REQUEST['s'] );
 
@@ -235,12 +257,17 @@ class WP_Plugins_List_Table extends WP_List_Table {
                if ( $a == $b )
                        return 0;
 
-               if ( 'DESC' == $order )
-                       return ( $a < $b ) ? 1 : -1;
-               else
-                       return ( $a < $b ) ? -1 : 1;
+               if ( 'DESC' == $order ) {
+                       return strcasecmp( $b, $a );
+               } else {
+                       return strcasecmp( $a, $b );
+               }
        }
 
+       /**
+        *
+        * @global array $plugins
+        */
        public function no_items() {
                global $plugins;
 
@@ -250,6 +277,11 @@ class WP_Plugins_List_Table extends WP_List_Table {
                        _e( 'You do not appear to have any plugins available at this time.' );
        }
 
+       /**
+        *
+        * @global string $status
+        * @return array
+        */
        public function get_columns() {
                global $status;
 
@@ -260,10 +292,19 @@ class WP_Plugins_List_Table extends WP_List_Table {
                );
        }
 
+       /**
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array();
        }
 
+       /**
+        *
+        * @global array $totals
+        * @global string $status
+        * @return array
+        */
        protected function get_views() {
                global $totals, $status;
 
@@ -308,6 +349,11 @@ class WP_Plugins_List_Table extends WP_List_Table {
                return $status_links;
        }
 
+       /**
+        *
+        * @global string $status
+        * @return array
+        */
        protected function get_bulk_actions() {
                global $status;
 
@@ -332,7 +378,6 @@ class WP_Plugins_List_Table extends WP_List_Table {
        /**
         * @global string $status
         * @param string $which
-        * @return null
         */
        public function bulk_actions( $which = '' ) {
                global $status;
@@ -346,7 +391,6 @@ class WP_Plugins_List_Table extends WP_List_Table {
        /**
         * @global string $status
         * @param string $which
-        * @return null
         */
        protected function extra_tablenav( $which ) {
                global $status;
@@ -366,6 +410,9 @@ class WP_Plugins_List_Table extends WP_List_Table {
                echo '</div>';
        }
 
+       /**
+        * @return string
+        */
        public function current_action() {
                if ( isset($_POST['clear-recent-list']) )
                        return 'clear-recent-list';
@@ -373,6 +420,10 @@ class WP_Plugins_List_Table extends WP_List_Table {
                return parent::current_action();
        }
 
+       /**
+        *
+        * @global string $status
+        */
        public function display_rows() {
                global $status;
 
@@ -388,6 +439,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
         * @global int $page
         * @global string $s
         * @global array $totals
+        *
         * @param array $item
         */
        public function single_row( $item ) {
@@ -421,7 +473,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
                                $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';
                        } else {
                                $is_active = false;
-                               $description = '<p><strong>' . $dropins[ $plugin_file ][0] . ' <span class="attention">' . __('Inactive:') . '</span></strong> ' . sprintf( __( 'Requires <code>%s</code> in <code>wp-config.php</code>.' ), "define('" . $dropins[ $plugin_file ][1] . "', true);" ) . '</p>';
+                               $description = '<p><strong>' . $dropins[ $plugin_file ][0] . ' <span class="error-message">' . __('Inactive:') . '</span></strong> ' . sprintf( __( 'Requires <code>%s</code> in <code>wp-config.php</code>.' ), "define('" . $dropins[ $plugin_file ][1] . "', true);" ) . '</p>';
                        }
                        if ( $plugin_data['Description'] )
                                $description .= '<p>' . $plugin_data['Description'] . '</p>';
@@ -433,28 +485,40 @@ class WP_Plugins_List_Table extends WP_List_Table {
 
                        if ( $screen->in_admin( 'network' ) ) {
                                if ( $is_active ) {
-                                       if ( current_user_can( 'manage_network_plugins' ) )
-                                               $actions['deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Network Deactivate') . '</a>';
+                                       if ( current_user_can( 'manage_network_plugins' ) ) {
+                                               /* translators: %s: plugin name */
+                                               $actions['deactivate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file ) . '" aria-label="' . esc_attr( sprintf( __( 'Network deactivate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Deactivate' ) . '</a>';
+                                               }
                                } else {
-                                       if ( current_user_can( 'manage_network_plugins' ) )
-                                               $actions['activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin for all sites in this network') . '" class="edit">' . __('Network Activate') . '</a>';
-                                       if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) )
-                                               $actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . esc_attr__('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
+                                       if ( current_user_can( 'manage_network_plugins' ) ) {
+                                               /* translators: %s: plugin name */
+                                               $actions['activate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file ) . '" class="edit" aria-label="' . esc_attr( sprintf( __( 'Network Activate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Network Activate' ) . '</a>';
+                                       }
+                                       if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) ) {
+                                               /* translators: %s: plugin name */
+                                               $actions['delete'] = '<a href="' . wp_nonce_url( 'plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins' ) . '" class="delete" aria-label="' . esc_attr( sprintf( __( 'Delete %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Delete' ) . '</a>';
+                                       }
                                }
                        } else {
                                if ( $is_active ) {
-                                       $actions['deactivate'] = '<a href="' . wp_nonce_url('plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Deactivate this plugin') . '">' . __('Deactivate') . '</a>';
+                                       /* translators: %s: plugin name */
+                                       $actions['deactivate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=deactivate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'deactivate-plugin_' . $plugin_file ) . '" aria-label="' . esc_attr( sprintf( __( 'Deactivate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Deactivate' ) . '</a>';
                                } else {
-                                       $actions['activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" class="edit">' . __('Activate') . '</a>';
+                                       /* translators: %s: plugin name */
+                                       $actions['activate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'activate-plugin_' . $plugin_file ) . '" class="edit" aria-label="' . esc_attr( sprintf( __( 'Activate %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Activate' ) . '</a>';
 
-                                       if ( ! is_multisite() && current_user_can('delete_plugins') )
-                                               $actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . esc_attr__('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
+                                       if ( ! is_multisite() && current_user_can( 'delete_plugins' ) ) {
+                                               /* translators: %s: plugin name */
+                                               $actions['delete'] = '<a href="' . wp_nonce_url( 'plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins' ) . '" class="delete" aria-label="' . esc_attr( sprintf( __( 'Delete %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Delete' ) . '</a>';
+                                       }
                                } // end if $is_active
 
                         } // end if $screen->in_admin( 'network' )
 
-                       if ( ( ! is_multisite() || $screen->in_admin( 'network' ) ) && current_user_can('edit_plugins') && is_writable(WP_PLUGIN_DIR . '/' . $plugin_file) )
-                               $actions['edit'] = '<a href="plugin-editor.php?file=' . $plugin_file . '" title="' . esc_attr__('Open this file in the Plugin Editor') . '" class="edit">' . __('Edit') . '</a>';
+                       if ( ( ! is_multisite() || $screen->in_admin( 'network' ) ) && current_user_can( 'edit_plugins' ) && is_writable( WP_PLUGIN_DIR . '/' . $plugin_file ) ) {
+                               /* translators: %s: plugin name */
+                               $actions['edit'] = '<a href="plugin-editor.php?file=' . $plugin_file . '" class="edit" aria-label="' . esc_attr( sprintf( __( 'Edit %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Edit' ) . '</a>';
+                       }
                } // end if $context
 
                $prefix = $screen->in_admin( 'network' ) ? 'network_admin_' : '';
@@ -531,24 +595,27 @@ class WP_Plugins_List_Table extends WP_List_Table {
                        $plugin_slug
                );
 
-               list( $columns, $hidden ) = $this->get_column_info();
+               list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
 
                foreach ( $columns as $column_name => $column_display_name ) {
-                       $style = '';
-                       if ( in_array( $column_name, $hidden ) )
-                               $style = ' style="display:none;"';
+                       $extra_classes = '';
+                       if ( in_array( $column_name, $hidden ) ) {
+                               $extra_classes = ' hidden';
+                       }
 
                        switch ( $column_name ) {
                                case 'cb':
                                        echo "<th scope='row' class='check-column'>$checkbox</th>";
                                        break;
                                case 'name':
-                                       echo "<td class='plugin-title'$style><strong>$plugin_name</strong>";
+                                       echo "<td class='plugin-title column-primary'><strong>$plugin_name</strong>";
                                        echo $this->row_actions( $actions, true );
                                        echo "</td>";
                                        break;
                                case 'description':
-                                       echo "<td class='column-description desc'$style>
+                                       $classes = 'column-description desc';
+
+                                       echo "<td class='$classes{$extra_classes}'>
                                                <div class='plugin-description'>$description</div>
                                                <div class='$class second plugin-version-author-uri'>";
 
@@ -598,7 +665,9 @@ class WP_Plugins_List_Table extends WP_List_Table {
                                        echo "</div></td>";
                                        break;
                                default:
-                                       echo "<td class='$column_name column-$column_name'$style>";
+                                       $classes = "$column_name column-$column_name$class";
+
+                                       echo "<td class='$classes{$extra_classes}'>";
 
                                        /**
                                         * Fires inside each custom column of the Plugins list table.
@@ -610,6 +679,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
                                         * @param array  $plugin_data An array of plugin data.
                                         */
                                        do_action( 'manage_plugins_custom_column', $column_name, $plugin_file, $plugin_data );
+
                                        echo "</td>";
                        }
                }
@@ -645,4 +715,16 @@ class WP_Plugins_List_Table extends WP_List_Table {
                 */
                do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $status );
        }
+
+       /**
+        * Gets the name of the primary column for this specific list table.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Unalterable name for the primary column, in this case, 'name'.
+        */
+       protected function get_primary_column_name() {
+               return 'name';
+       }
 }
index e6260394d8d8c286cd68ca816b905f3520c55be2..04639347d2aedb2a9d8194114da571b37bc16e84 100644 (file)
@@ -47,6 +47,15 @@ class WP_Posts_List_Table extends WP_List_Table {
 
        private $is_trash;
 
+       /**
+        * Current level for output.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var int
+        */
+       protected $current_level = 0;
+
        /**
         * Constructor.
         *
@@ -55,6 +64,9 @@ class WP_Posts_List_Table extends WP_List_Table {
         *
         * @see WP_List_Table::__construct() for more information on default arguments.
         *
+        * @global object $post_type_object
+        * @global wpdb   $wpdb
+        *
         * @param array $args An associative array of arguments.
         */
        public function __construct( $args = array() ) {
@@ -97,10 +109,21 @@ class WP_Posts_List_Table extends WP_List_Table {
                $this->hierarchical_display = $display;
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_posts );
        }
 
+       /**
+        *
+        * @global array    $avail_post_stati
+        * @global WP_Query $wp_query
+        * @global int      $per_page
+        * @global string   $mode
+        */
        public function prepare_items() {
                global $avail_post_stati, $wp_query, $per_page, $mode;
 
@@ -137,10 +160,17 @@ class WP_Posts_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function has_items() {
                return have_posts();
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                if ( isset( $_REQUEST['post_status'] ) && 'trash' == $_REQUEST['post_status'] )
                        echo get_post_type_object( $this->screen->post_type )->labels->not_found_in_trash;
@@ -153,7 +183,7 @@ class WP_Posts_List_Table extends WP_List_Table {
         *
         * @since 4.2.0
         *
-        * @return bool Whether the current ivew is the "All" view.
+        * @return bool Whether the current view is the "All" view.
         */
        protected function is_base_request() {
                if ( empty( $_GET ) ) {
@@ -163,6 +193,12 @@ class WP_Posts_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        *
+        * @global array $locked_post_status This seems to be deprecated.
+        * @global array $avail_post_stati
+        * @return array
+        */
        protected function get_views() {
                global $locked_post_status, $avail_post_stati;
 
@@ -192,7 +228,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                foreach ( get_post_stati( array('show_in_admin_all_list' => false) ) as $state )
                        $total_posts -= $num_posts->$state;
 
-               if ( empty( $class ) && $this->is_base_request() && ! $this->user_posts_count ) {
+               if ( empty( $class ) && ( ( $this->is_base_request() && ! $this->user_posts_count ) || isset( $_REQUEST['all_posts'] ) ) ) {
                        $class =  ' class="current"';
                }
 
@@ -238,6 +274,10 @@ class WP_Posts_List_Table extends WP_List_Table {
                return $status_links;
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                $actions = array();
                $post_type_obj = get_post_type_object( $this->screen->post_type );
@@ -307,6 +347,10 @@ class WP_Posts_List_Table extends WP_List_Table {
 <?php
        }
 
+       /**
+        *
+        * @return string
+        */
        public function current_action() {
                if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
                        return 'delete_all';
@@ -327,10 +371,18 @@ class WP_Posts_List_Table extends WP_List_Table {
                        $this->view_switcher( $mode );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_table_classes() {
                return array( 'widefat', 'fixed', 'striped', is_post_type_hierarchical( $this->screen->post_type ) ? 'pages' : 'posts' );
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_columns() {
                $post_type = $this->screen->post_type;
 
@@ -411,11 +463,13 @@ class WP_Posts_List_Table extends WP_List_Table {
                 *
                 * @param array $post_columns An array of column names.
                 */
-               $posts_columns = apply_filters( "manage_{$post_type}_posts_columns", $posts_columns );
-
-               return $posts_columns;
+               return apply_filters( "manage_{$post_type}_posts_columns", $posts_columns );
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'title'    => 'title',
@@ -467,11 +521,11 @@ class WP_Posts_List_Table extends WP_List_Table {
        }
 
        /**
-        * @global wpdb $wpdb
+        * @global wpdb    $wpdb
+        * @global WP_Post $post
         * @param array $pages
         * @param int $pagenum
         * @param int $per_page
-        * @return false|null
         */
        private function _display_rows_hierarchical( $pages, $pagenum = 1, $per_page = 20 ) {
                global $wpdb;
@@ -482,7 +536,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                        $pages = get_pages( array( 'sort_column' => 'menu_order' ) );
 
                        if ( ! $pages )
-                               return false;
+                               return;
                }
 
                /*
@@ -579,7 +633,6 @@ class WP_Posts_List_Table extends WP_List_Table {
         * @param array $to_display List of pages to be displayed. Passed by reference.
         */
        private function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page, &$to_display ) {
-
                if ( ! isset( $children_pages[$parent] ) )
                        return;
 
@@ -587,7 +640,6 @@ class WP_Posts_List_Table extends WP_List_Table {
                $end = $start + $per_page;
 
                foreach ( $children_pages[$parent] as $page ) {
-
                        if ( $count >= $end )
                                break;
 
@@ -628,369 +680,451 @@ class WP_Posts_List_Table extends WP_List_Table {
        }
 
        /**
-        * @global string $mode
+        * Handles the checkbox column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_cb( $post ) {
+               if ( current_user_can( 'edit_post', $post->ID ) ): ?>
+                       <label class="screen-reader-text" for="cb-select-<?php the_ID(); ?>"><?php
+                               printf( __( 'Select %s' ), _draft_or_post_title() );
+                       ?></label>
+                       <input id="cb-select-<?php the_ID(); ?>" type="checkbox" name="post[]" value="<?php the_ID(); ?>" />
+                       <div class="locked-indicator"></div>
+               <?php endif;
+       }
+
+       /**
+        * @since 4.3.0
+        * @access protected
+        *
         * @param WP_Post $post
-        * @param int $level
+        * @param string  $classes
+        * @param string  $data
+        * @param string  $primary
         */
-       public function single_row( $post, $level = 0 ) {
+       protected function _column_title( $post, $classes, $data, $primary ) {
+               echo '<td class="' . $classes . ' page-title" ', $data, '>';
+               echo $this->column_title( $post );
+               echo $this->handle_row_actions( $post, 'title', $primary );
+               echo '</td>';
+       }
+
+       /**
+        * Handles the title column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @global string $mode
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_title( $post ) {
                global $mode;
 
-               $global_post = get_post();
+               if ( $this->hierarchical_display ) {
+                       if ( 0 === $this->current_level && (int) $post->post_parent > 0 ) {
+                               // Sent level 0 by accident, by default, or because we don't know the actual level.
+                               $find_main_page = (int) $post->post_parent;
+                               while ( $find_main_page > 0 ) {
+                                       $parent = get_post( $find_main_page );
 
-               $post = get_post( $post );
+                                       if ( is_null( $parent ) ) {
+                                               break;
+                                       }
 
-               $GLOBALS['post'] = $post;
-               setup_postdata( $post );
+                                       $this->current_level++;
+                                       $find_main_page = (int) $parent->post_parent;
 
-               $edit_link = get_edit_post_link( $post->ID );
-               $title = _draft_or_post_title();
-               $post_type_object = get_post_type_object( $post->post_type );
-               $can_edit_post = current_user_can( 'edit_post', $post->ID );
+                                       if ( ! isset( $parent_name ) ) {
+                                               /** This filter is documented in wp-includes/post-template.php */
+                                               $parent_name = apply_filters( 'the_title', $parent->post_title, $parent->ID );
+                                       }
+                               }
+                       }
+               }
 
-               $classes = 'iedit author-' . ( get_current_user_id() == $post->post_author ? 'self' : 'other' );
+               $pad = str_repeat( '&#8212; ', $this->current_level );
+               echo "<strong>";
 
-               $lock_holder = wp_check_post_lock( $post->ID );
-               if ( $lock_holder ) {
-                       $classes .= ' wp-locked';
-                       $lock_holder = get_userdata( $lock_holder );
+               $format = get_post_format( $post->ID );
+               if ( $format ) {
+                       $label = get_post_format_string( $format );
+
+                       echo '<a href="' . esc_url( add_query_arg( array( 'post_format' => $format, 'post_type' => $post->post_type ), 'edit.php' ) ) . '" class="post-state-format post-format-icon post-format-' . $format . '" title="' . $label . '">' . $label . ":</a> ";
                }
 
-               if ( $post->post_parent ) {
-                   $count = count( get_post_ancestors( $post->ID ) );
-                   $classes .= ' level-'. $count;
+               $can_edit_post = current_user_can( 'edit_post', $post->ID );
+               $title = _draft_or_post_title();
+
+               if ( $can_edit_post && $post->post_status != 'trash' ) {
+                       $edit_link = get_edit_post_link( $post->ID );
+                       echo '<a class="row-title" href="' . $edit_link . '" title="' . esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $title ) ) . '">' . $pad . $title . '</a>';
                } else {
-                   $classes .= ' level-0';
+                       echo $pad . $title;
                }
-       ?>
-               <tr id="post-<?php echo $post->ID; ?>" class="<?php echo implode( ' ', get_post_class( $classes, $post->ID ) ); ?>">
-       <?php
-
-               list( $columns, $hidden ) = $this->get_column_info();
+               _post_states( $post );
 
-               foreach ( $columns as $column_name => $column_display_name ) {
-                       $class = "class=\"$column_name column-$column_name\"";
+               if ( isset( $parent_name ) ) {
+                       $post_type_object = get_post_type_object( $post->post_type );
+                       echo ' | ' . $post_type_object->labels->parent_item_colon . ' ' . esc_html( $parent_name );
+               }
+               echo "</strong>\n";
 
-                       $style = '';
-                       if ( in_array( $column_name, $hidden ) )
-                               $style = ' style="display:none;"';
+               if ( $can_edit_post && $post->post_status != 'trash' ) {
+                       $lock_holder = wp_check_post_lock( $post->ID );
 
-                       $attributes = "$class$style";
+                       if ( $lock_holder ) {
+                               $lock_holder = get_userdata( $lock_holder );
+                               $locked_avatar = get_avatar( $lock_holder->ID, 18 );
+                               $locked_text = esc_html( sprintf( __( '%s is currently editing' ), $lock_holder->display_name ) );
+                       } else {
+                               $locked_avatar = $locked_text = '';
+                       }
 
-                       switch ( $column_name ) {
+                       echo '<div class="locked-info"><span class="locked-avatar">' . $locked_avatar . '</span> <span class="locked-text">' . $locked_text . "</span></div>\n";
+               }
 
-                       case 'cb':
-                       ?>
-                       <th scope="row" class="check-column">
-                               <?php
-                               if ( $can_edit_post ) {
+               if ( ! is_post_type_hierarchical( $this->screen->post_type ) && 'excerpt' == $mode && current_user_can( 'read_post', $post->ID ) ) {
+                       the_excerpt();
+               }
 
-                               ?>
-                               <label class="screen-reader-text" for="cb-select-<?php the_ID(); ?>"><?php printf( __( 'Select %s' ), $title ); ?></label>
-                               <input id="cb-select-<?php the_ID(); ?>" type="checkbox" name="post[]" value="<?php the_ID(); ?>" />
-                               <div class="locked-indicator"></div>
-                               <?php
-                               }
-                               ?>
-                       </th>
-                       <?php
-                       break;
-
-                       case 'title':
-                               $attributes = 'class="post-title page-title column-title"' . $style;
-                               if ( $this->hierarchical_display ) {
-                                       if ( 0 == $level && (int) $post->post_parent > 0 ) {
-                                               // Sent level 0 by accident, by default, or because we don't know the actual level.
-                                               $find_main_page = (int) $post->post_parent;
-                                               while ( $find_main_page > 0 ) {
-                                                       $parent = get_post( $find_main_page );
-
-                                                       if ( is_null( $parent ) )
-                                                               break;
-
-                                                       $level++;
-                                                       $find_main_page = (int) $parent->post_parent;
-
-                                                       if ( !isset( $parent_name ) ) {
-                                                               /** This filter is documented in wp-includes/post-template.php */
-                                                               $parent_name = apply_filters( 'the_title', $parent->post_title, $parent->ID );
-                                                       }
-                                               }
-                                       }
-                               }
+               get_inline_data( $post );
+       }
 
-                               $pad = str_repeat( '&#8212; ', $level );
-                               echo "<td $attributes><strong>";
+       /**
+        * Handles the post date column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @global string $mode
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_date( $post ) {
+               global $mode;
 
-                               if ( $format = get_post_format( $post->ID ) ) {
-                                       $label = get_post_format_string( $format );
+               if ( '0000-00-00 00:00:00' == $post->post_date ) {
+                       $t_time = $h_time = __( 'Unpublished' );
+                       $time_diff = 0;
+               } else {
+                       $t_time = get_the_time( __( 'Y/m/d g:i:s a' ) );
+                       $m_time = $post->post_date;
+                       $time = get_post_time( 'G', true, $post );
 
-                                       echo '<a href="' . esc_url( add_query_arg( array( 'post_format' => $format, 'post_type' => $post->post_type ), 'edit.php' ) ) . '" class="post-state-format post-format-icon post-format-' . $format . '" title="' . $label . '">' . $label . ":</a> ";
-                               }
+                       $time_diff = time() - $time;
 
-                               if ( $can_edit_post && $post->post_status != 'trash' ) {
-                                       echo '<a class="row-title" href="' . $edit_link . '" title="' . esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $title ) ) . '">' . $pad . $title . '</a>';
-                               } else {
-                                       echo $pad . $title;
-                               }
-                               _post_states( $post );
+                       if ( $time_diff > 0 && $time_diff < DAY_IN_SECONDS ) {
+                               $h_time = sprintf( __( '%s ago' ), human_time_diff( $time ) );
+                       } else {
+                               $h_time = mysql2date( __( 'Y/m/d' ), $m_time );
+                       }
+               }
 
-                               if ( isset( $parent_name ) )
-                                       echo ' | ' . $post_type_object->labels->parent_item_colon . ' ' . esc_html( $parent_name );
+               if ( 'excerpt' == $mode ) {
+                       /**
+                        * Filter the published time of the post.
+                        *
+                        * If $mode equals 'excerpt', the published time and date are both displayed.
+                        * If $mode equals 'list' (default), the publish date is displayed, with the
+                        * time and date together available as an abbreviation definition.
+                        *
+                        * @since 2.5.1
+                        *
+                        * @param array   $t_time      The published time.
+                        * @param WP_Post $post        Post object.
+                        * @param string  $column_name The column name.
+                        * @param string  $mode        The list display mode ('excerpt' or 'list').
+                        */
+                       echo apply_filters( 'post_date_column_time', $t_time, $post, 'date', $mode );
+               } else {
 
-                               echo "</strong>\n";
+                       /** This filter is documented in wp-admin/includes/class-wp-posts-list-table.php */
+                       echo '<abbr title="' . $t_time . '">' . apply_filters( 'post_date_column_time', $h_time, $post, 'date', $mode ) . '</abbr>';
+               }
+               echo '<br />';
+               if ( 'publish' == $post->post_status ) {
+                       _e( 'Published' );
+               } elseif ( 'future' == $post->post_status ) {
+                       if ( $time_diff > 0 ) {
+                               echo '<strong class="error-message">' . __( 'Missed schedule' ) . '</strong>';
+                       } else {
+                               _e( 'Scheduled' );
+                       }
+               } else {
+                       _e( 'Last Modified' );
+               }
+       }
 
-                               if ( $can_edit_post && $post->post_status != 'trash' ) {
-                                       if ( $lock_holder ) {
-                                               $locked_avatar = get_avatar( $lock_holder->ID, 18 );
-                                               $locked_text = esc_html( sprintf( __( '%s is currently editing' ), $lock_holder->display_name ) );
-                                       } else {
-                                               $locked_avatar = $locked_text = '';
-                                       }
+       /**
+        * Handles the comments column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_comments( $post ) {
+               ?>
+               <div class="post-com-count-wrapper">
+               <?php
+                       $pending_comments = isset( $this->comment_pending_count[$post->ID] ) ? $this->comment_pending_count[$post->ID] : 0;
 
-                                       echo '<div class="locked-info"><span class="locked-avatar">' . $locked_avatar . '</span> <span class="locked-text">' . $locked_text . "</span></div>\n";
-                               }
+                       $this->comments_bubble( $post->ID, $pending_comments );
+               ?>
+               </div>
+               <?php
+       }
 
-                               if ( ! $this->hierarchical_display && 'excerpt' == $mode && current_user_can( 'read_post', $post->ID ) )
-                                               the_excerpt();
+       /**
+        * Handles the post author column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post The current WP_Post object.
+        */
+       public function column_author( $post ) {
+               printf( '<a href="%s">%s</a>',
+                       esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'author' => get_the_author_meta( 'ID' ) ), 'edit.php' )),
+                       get_the_author()
+               );
+       }
 
-                               $actions = array();
-                               if ( $can_edit_post && 'trash' != $post->post_status ) {
-                                       $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '" title="' . esc_attr__( 'Edit this item' ) . '">' . __( 'Edit' ) . '</a>';
-                                       $actions['inline hide-if-no-js'] = '<a href="#" class="editinline" title="' . esc_attr__( 'Edit this item inline' ) . '">' . __( 'Quick&nbsp;Edit' ) . '</a>';
-                               }
-                               if ( current_user_can( 'delete_post', $post->ID ) ) {
-                                       if ( 'trash' == $post->post_status )
-                                               $actions['untrash'] = "<a title='" . esc_attr__( 'Restore this item from the Trash' ) . "' href='" . wp_nonce_url( admin_url( sprintf( $post_type_object->_edit_link . '&amp;action=untrash', $post->ID ) ), 'untrash-post_' . $post->ID ) . "'>" . __( 'Restore' ) . "</a>";
-                                       elseif ( EMPTY_TRASH_DAYS )
-                                               $actions['trash'] = "<a class='submitdelete' title='" . esc_attr__( 'Move this item to the Trash' ) . "' href='" . get_delete_post_link( $post->ID ) . "'>" . __( 'Trash' ) . "</a>";
-                                       if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS )
-                                               $actions['delete'] = "<a class='submitdelete' title='" . esc_attr__( 'Delete this item permanently' ) . "' href='" . get_delete_post_link( $post->ID, '', true ) . "'>" . __( 'Delete Permanently' ) . "</a>";
-                               }
-                               if ( $post_type_object->public ) {
-                                       if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ) ) ) {
-                                               if ( $can_edit_post ) {
-                                                       $preview_link = set_url_scheme( get_permalink( $post->ID ) );
-                                                       /** This filter is documented in wp-admin/includes/meta-boxes.php */
-                                                       $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
-                                                       $actions['view'] = '<a href="' . esc_url( $preview_link ) . '" title="' . esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $title ) ) . '" rel="permalink">' . __( 'Preview' ) . '</a>';
-                                               }
-                                       } elseif ( 'trash' != $post->post_status ) {
-                                               $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View &#8220;%s&#8221;' ), $title ) ) . '" rel="permalink">' . __( 'View' ) . '</a>';
+       /**
+        * Handles the default column output.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Post $post        The current WP_Post object.
+        * @param string  $column_name The current column name.
+        */
+       public function column_default( $post, $column_name ) {
+               if ( 'categories' == $column_name ) {
+                       $taxonomy = 'category';
+               } elseif ( 'tags' == $column_name ) {
+                       $taxonomy = 'post_tag';
+               } elseif ( 0 === strpos( $column_name, 'taxonomy-' ) ) {
+                       $taxonomy = substr( $column_name, 9 );
+               } else {
+                       $taxonomy = false;
+               }
+               if ( $taxonomy ) {
+                       $taxonomy_object = get_taxonomy( $taxonomy );
+                       $terms = get_the_terms( $post->ID, $taxonomy );
+                       if ( is_array( $terms ) ) {
+                               $out = array();
+                               foreach ( $terms as $t ) {
+                                       $posts_in_term_qv = array();
+                                       if ( 'post' != $post->post_type ) {
+                                               $posts_in_term_qv['post_type'] = $post->post_type;
+                                       }
+                                       if ( $taxonomy_object->query_var ) {
+                                               $posts_in_term_qv[ $taxonomy_object->query_var ] = $t->slug;
+                                       } else {
+                                               $posts_in_term_qv['taxonomy'] = $taxonomy;
+                                               $posts_in_term_qv['term'] = $t->slug;
                                        }
-                               }
 
-                               if ( is_post_type_hierarchical( $post->post_type ) ) {
-
-                                       /**
-                                        * Filter the array of row action links on the Pages list table.
-                                        *
-                                        * The filter is evaluated only for hierarchical post types.
-                                        *
-                                        * @since 2.8.0
-                                        *
-                                        * @param array   $actions An array of row action links. Defaults are
-                                        *                         'Edit', 'Quick Edit', 'Restore, 'Trash',
-                                        *                         'Delete Permanently', 'Preview', and 'View'.
-                                        * @param WP_Post $post    The post object.
-                                        */
-                                       $actions = apply_filters( 'page_row_actions', $actions, $post );
-                               } else {
-
-                                       /**
-                                        * Filter the array of row action links on the Posts list table.
-                                        *
-                                        * The filter is evaluated only for non-hierarchical post types.
-                                        *
-                                        * @since 2.8.0
-                                        *
-                                        * @param array   $actions An array of row action links. Defaults are
-                                        *                         'Edit', 'Quick Edit', 'Restore, 'Trash',
-                                        *                         'Delete Permanently', 'Preview', and 'View'.
-                                        * @param WP_Post $post    The post object.
-                                        */
-                                       $actions = apply_filters( 'post_row_actions', $actions, $post );
+                                       $out[] = sprintf( '<a href="%s">%s</a>',
+                                               esc_url( add_query_arg( $posts_in_term_qv, 'edit.php' ) ),
+                                               esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) )
+                                       );
                                }
+                               /* translators: used between list items, there is a space after the comma */
+                               echo join( __( ', ' ), $out );
+                       } else {
+                               echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">' . $taxonomy_object->labels->no_terms . '</span>';
+                       }
+                       return;
+               }
 
-                               echo $this->row_actions( $actions );
+               if ( is_post_type_hierarchical( $post->post_type ) ) {
 
-                               get_inline_data( $post );
-                               echo '</td>';
-                       break;
+                       /**
+                        * Fires in each custom column on the Posts list table.
+                        *
+                        * This hook only fires if the current post type is hierarchical,
+                        * such as pages.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string $column_name The name of the column to display.
+                        * @param int    $post_id     The current post ID.
+                        */
+                       do_action( 'manage_pages_custom_column', $column_name, $post->ID );
+               } else {
 
-                       case 'date':
-                               if ( '0000-00-00 00:00:00' == $post->post_date ) {
-                                       $t_time = $h_time = __( 'Unpublished' );
-                                       $time_diff = 0;
-                               } else {
-                                       $t_time = get_the_time( __( 'Y/m/d g:i:s a' ) );
-                                       $m_time = $post->post_date;
-                                       $time = get_post_time( 'G', true, $post );
+                       /**
+                        * Fires in each custom column in the Posts list table.
+                        *
+                        * This hook only fires if the current post type is non-hierarchical,
+                        * such as posts.
+                        *
+                        * @since 1.5.0
+                        *
+                        * @param string $column_name The name of the column to display.
+                        * @param int    $post_id     The current post ID.
+                        */
+                       do_action( 'manage_posts_custom_column', $column_name, $post->ID );
+               }
 
-                                       $time_diff = time() - $time;
+               /**
+                * Fires for each custom column of a specific post type in the Posts list table.
+                *
+                * The dynamic portion of the hook name, `$post->post_type`, refers to the post type.
+                *
+                * @since 3.1.0
+                *
+                * @param string $column_name The name of the column to display.
+                * @param int    $post_id     The current post ID.
+                */
+               do_action( "manage_{$post->post_type}_posts_custom_column", $column_name, $post->ID );
+       }
 
-                                       if ( $time_diff > 0 && $time_diff < DAY_IN_SECONDS )
-                                               $h_time = sprintf( __( '%s ago' ), human_time_diff( $time ) );
-                                       else
-                                               $h_time = mysql2date( __( 'Y/m/d' ), $m_time );
-                               }
+       /**
+        * @global WP_Post $post
+        *
+        * @param int|WP_Post $post
+        * @param int         $level
+        */
+       public function single_row( $post, $level = 0 ) {
+               $global_post = get_post();
 
-                               echo '<td ' . $attributes . '>';
-                               if ( 'excerpt' == $mode ) {
-
-                                       /**
-                                        * Filter the published time of the post.
-                                        *
-                                        * If $mode equals 'excerpt', the published time and date are both displayed.
-                                        * If $mode equals 'list' (default), the publish date is displayed, with the
-                                        * time and date together available as an abbreviation definition.
-                                        *
-                                        * @since 2.5.1
-                                        *
-                                        * @param array   $t_time      The published time.
-                                        * @param WP_Post $post        Post object.
-                                        * @param string  $column_name The column name.
-                                        * @param string  $mode        The list display mode ('excerpt' or 'list').
-                                        */
-                                       echo apply_filters( 'post_date_column_time', $t_time, $post, $column_name, $mode );
-                               } else {
-
-                                       /** This filter is documented in wp-admin/includes/class-wp-posts-list-table.php */
-                                       echo '<abbr title="' . $t_time . '">' . apply_filters( 'post_date_column_time', $h_time, $post, $column_name, $mode ) . '</abbr>';
-                               }
-                               echo '<br />';
-                               if ( 'publish' == $post->post_status ) {
-                                       _e( 'Published' );
-                               } elseif ( 'future' == $post->post_status ) {
-                                       if ( $time_diff > 0 )
-                                               echo '<strong class="attention">' . __( 'Missed schedule' ) . '</strong>';
-                                       else
-                                               _e( 'Scheduled' );
-                               } else {
-                                       _e( 'Last Modified' );
-                               }
-                               echo '</td>';
-                       break;
+               $post = get_post( $post );
+               $this->current_level = $level;
 
-                       case 'comments':
-                       ?>
-                       <td <?php echo $attributes ?>><div class="post-com-count-wrapper">
-                       <?php
-                               $pending_comments = isset( $this->comment_pending_count[$post->ID] ) ? $this->comment_pending_count[$post->ID] : 0;
+               $GLOBALS['post'] = $post;
+               setup_postdata( $post );
 
-                               $this->comments_bubble( $post->ID, $pending_comments );
-                       ?>
-                       </div></td>
-                       <?php
-                       break;
+               $classes = 'iedit author-' . ( get_current_user_id() == $post->post_author ? 'self' : 'other' );
 
-                       case 'author':
-                       ?>
-                       <td <?php echo $attributes ?>><?php
-                               printf( '<a href="%s">%s</a>',
-                                       esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'author' => get_the_author_meta( 'ID' ) ), 'edit.php' )),
-                                       get_the_author()
-                               );
-                       ?></td>
-                       <?php
-                       break;
-
-                       default:
-                               if ( 'categories' == $column_name )
-                                       $taxonomy = 'category';
-                               elseif ( 'tags' == $column_name )
-                                       $taxonomy = 'post_tag';
-                               elseif ( 0 === strpos( $column_name, 'taxonomy-' ) )
-                                       $taxonomy = substr( $column_name, 9 );
-                               else
-                                       $taxonomy = false;
-
-                               if ( $taxonomy ) {
-                                       $taxonomy_object = get_taxonomy( $taxonomy );
-                                       echo '<td ' . $attributes . '>';
-                                       if ( $terms = get_the_terms( $post->ID, $taxonomy ) ) {
-                                               $out = array();
-                                               foreach ( $terms as $t ) {
-                                                       $posts_in_term_qv = array();
-                                                       if ( 'post' != $post->post_type )
-                                                               $posts_in_term_qv['post_type'] = $post->post_type;
-                                                       if ( $taxonomy_object->query_var ) {
-                                                               $posts_in_term_qv[ $taxonomy_object->query_var ] = $t->slug;
-                                                       } else {
-                                                               $posts_in_term_qv['taxonomy'] = $taxonomy;
-                                                               $posts_in_term_qv['term'] = $t->slug;
-                                                       }
-
-                                                       $out[] = sprintf( '<a href="%s">%s</a>',
-                                                               esc_url( add_query_arg( $posts_in_term_qv, 'edit.php' ) ),
-                                                               esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) )
-                                                       );
-                                               }
-                                               /* translators: used between list items, there is a space after the comma */
-                                               echo join( __( ', ' ), $out );
-                                       } else {
-                                               echo '&#8212;';
-                                       }
-                                       echo '</td>';
-                                       break;
-                               }
-                       ?>
-                       <td <?php echo $attributes ?>><?php
-                               if ( is_post_type_hierarchical( $post->post_type ) ) {
-
-                                       /**
-                                        * Fires in each custom column on the Posts list table.
-                                        *
-                                        * This hook only fires if the current post type is hierarchical,
-                                        * such as pages.
-                                        *
-                                        * @since 2.5.0
-                                        *
-                                        * @param string $column_name The name of the column to display.
-                                        * @param int    $post_id     The current post ID.
-                                        */
-                                       do_action( 'manage_pages_custom_column', $column_name, $post->ID );
-                               } else {
-
-                                       /**
-                                        * Fires in each custom column in the Posts list table.
-                                        *
-                                        * This hook only fires if the current post type is non-hierarchical,
-                                        * such as posts.
-                                        *
-                                        * @since 1.5.0
-                                        *
-                                        * @param string $column_name The name of the column to display.
-                                        * @param int    $post_id     The current post ID.
-                                        */
-                                       do_action( 'manage_posts_custom_column', $column_name, $post->ID );
-                               }
+               $lock_holder = wp_check_post_lock( $post->ID );
+               if ( $lock_holder ) {
+                       $classes .= ' wp-locked';
+               }
 
-                               /**
-                                * Fires for each custom column of a specific post type in the Posts list table.
-                                *
-                                * The dynamic portion of the hook name, `$post->post_type`, refers to the post type.
-                                *
-                                * @since 3.1.0
-                                *
-                                * @param string $column_name The name of the column to display.
-                                * @param int    $post_id     The current post ID.
-                                */
-                               do_action( "manage_{$post->post_type}_posts_custom_column", $column_name, $post->ID );
-                       ?></td>
-                       <?php
-                       break;
-                       }
+               if ( $post->post_parent ) {
+                   $count = count( get_post_ancestors( $post->ID ) );
+                   $classes .= ' level-'. $count;
+               } else {
+                   $classes .= ' level-0';
                }
        ?>
+               <tr id="post-<?php echo $post->ID; ?>" class="<?php echo implode( ' ', get_post_class( $classes, $post->ID ) ); ?>">
+                       <?php $this->single_row_columns( $post ); ?>
                </tr>
        <?php
                $GLOBALS['post'] = $global_post;
        }
 
+       /**
+        * Gets the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'title'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'title';
+       }
+
+       /**
+        * Generates and displays row action links.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $post        Post being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string Row actions output for posts.
+        */
+       protected function handle_row_actions( $post, $column_name, $primary ) {
+               if ( $primary !== $column_name ) {
+                       return '';
+               }
+
+               $post_type_object = get_post_type_object( $post->post_type );
+               $can_edit_post = current_user_can( 'edit_post', $post->ID );
+               $actions = array();
+
+               if ( $can_edit_post && 'trash' != $post->post_status ) {
+                       $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '" title="' . esc_attr__( 'Edit this item' ) . '">' . __( 'Edit' ) . '</a>';
+                       $actions['inline hide-if-no-js'] = '<a href="#" class="editinline" title="' . esc_attr__( 'Edit this item inline' ) . '">' . __( 'Quick&nbsp;Edit' ) . '</a>';
+               }
+
+               if ( current_user_can( 'delete_post', $post->ID ) ) {
+                       if ( 'trash' == $post->post_status )
+                               $actions['untrash'] = "<a title='" . esc_attr__( 'Restore this item from the Trash' ) . "' href='" . wp_nonce_url( admin_url( sprintf( $post_type_object->_edit_link . '&amp;action=untrash', $post->ID ) ), 'untrash-post_' . $post->ID ) . "'>" . __( 'Restore' ) . "</a>";
+                       elseif ( EMPTY_TRASH_DAYS )
+                               $actions['trash'] = "<a class='submitdelete' title='" . esc_attr__( 'Move this item to the Trash' ) . "' href='" . get_delete_post_link( $post->ID ) . "'>" . __( 'Trash' ) . "</a>";
+                       if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS )
+                               $actions['delete'] = "<a class='submitdelete' title='" . esc_attr__( 'Delete this item permanently' ) . "' href='" . get_delete_post_link( $post->ID, '', true ) . "'>" . __( 'Delete Permanently' ) . "</a>";
+               }
+
+               if ( $post_type_object->public ) {
+                       $title = _draft_or_post_title();
+                       if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ) ) ) {
+                               if ( $can_edit_post ) {
+                                       $preview_link = set_url_scheme( get_permalink( $post->ID ) );
+                                       /** This filter is documented in wp-admin/includes/meta-boxes.php */
+                                       $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
+                                       $actions['view'] = '<a href="' . esc_url( $preview_link ) . '" title="' . esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $title ) ) . '" rel="permalink">' . __( 'Preview' ) . '</a>';
+                               }
+                       } elseif ( 'trash' != $post->post_status ) {
+                               $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View &#8220;%s&#8221;' ), $title ) ) . '" rel="permalink">' . __( 'View' ) . '</a>';
+                       }
+               }
+
+               if ( is_post_type_hierarchical( $post->post_type ) ) {
+
+                       /**
+                        * Filter the array of row action links on the Pages list table.
+                        *
+                        * The filter is evaluated only for hierarchical post types.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param array $actions An array of row action links. Defaults are
+                        *                         'Edit', 'Quick Edit', 'Restore, 'Trash',
+                        *                         'Delete Permanently', 'Preview', and 'View'.
+                        * @param WP_Post $post The post object.
+                        */
+                       $actions = apply_filters( 'page_row_actions', $actions, $post );
+               } else {
+
+                       /**
+                        * Filter the array of row action links on the Posts list table.
+                        *
+                        * The filter is evaluated only for non-hierarchical post types.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param array $actions An array of row action links. Defaults are
+                        *                         'Edit', 'Quick Edit', 'Restore, 'Trash',
+                        *                         'Delete Permanently', 'Preview', and 'View'.
+                        * @param WP_Post $post The post object.
+                        */
+                       $actions = apply_filters( 'post_row_actions', $actions, $post );
+               }
+
+               return $this->row_actions( $actions );
+       }
+
        /**
         * Outputs the hidden row displayed when inline editing
         *
         * @since 3.1.0
+        *
+        * @global string $mode
         */
        public function inline_edit() {
                global $mode;
@@ -1070,10 +1204,10 @@ class WP_Posts_List_Table extends WP_List_Table {
        endif; // post_type_supports title ?>
 
        <?php if ( !$bulk ) : ?>
-                       <label><span class="title"><?php _e( 'Date' ); ?></span></label>
-                       <div class="inline-edit-date">
+                       <fieldset class="inline-edit-date">
+                       <legend><span class="title"><?php _e( 'Date' ); ?></span></legend>
                                <?php touch_time( 1, 1, 0, 1 ); ?>
-                       </div>
+                       </fieldset>
                        <br class="clear" />
        <?php endif; // $bulk
 
@@ -1116,12 +1250,12 @@ class WP_Posts_List_Table extends WP_List_Table {
                                <em class="alignleft inline-edit-or">
                                        <?php
                                        /* translators: Between password field and private checkbox on post quick edit interface */
-                                       echo __( '&ndash;OR&ndash;' );
+                                       _e( '&ndash;OR&ndash;' );
                                        ?>
                                </em>
                                <label class="alignleft inline-edit-private">
                                        <input type="checkbox" name="keep_private" value="private" />
-                                       <span class="checkbox-title"><?php echo __( 'Private' ); ?></span>
+                                       <span class="checkbox-title"><?php _e( 'Private' ); ?></span>
                                </label>
                        </div>
 
@@ -1331,7 +1465,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                $post_formats = get_theme_support( 'post-formats' );
 
                ?>
-               <label class="alignleft" for="post_format">
+               <label class="alignleft">
                <span class="title"><?php _ex( 'Format', 'post format' ); ?></span>
                <select name="post_format">
                        <option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option>
@@ -1388,11 +1522,11 @@ class WP_Posts_List_Table extends WP_List_Table {
                }
        ?>
                <p class="submit inline-edit-save">
-                       <a href="#inline-edit" class="button-secondary cancel alignleft"><?php _e( 'Cancel' ); ?></a>
+                       <button type="button" class="button-secondary cancel alignleft"><?php _e( 'Cancel' ); ?></button>
                        <?php if ( ! $bulk ) {
                                wp_nonce_field( 'inlineeditnonce', '_inline_edit', false );
                                ?>
-                               <a href="#inline-edit" class="button-primary save alignright"><?php _e( 'Update' ); ?></a>
+                               <button type="button" class="button-primary save alignright"><?php _e( 'Update' ); ?></button>
                                <span class="spinner"></span>
                        <?php } else {
                                submit_button( __( 'Update' ), 'button-primary alignright', 'bulk_edit', false );
index 257c76dc9c820af8a233a45553934ce53d6df146..58ed28661a6a3bf1613ddfabd9390a0c8a0dd860 100644 (file)
@@ -146,8 +146,13 @@ class WP_Press_This {
                                }
                        }
 
+                       $forceRedirect = false;
+
                        if ( 'publish' === get_post_status( $post_id ) ) {
                                $redirect = get_post_permalink( $post_id );
+                       } elseif ( isset( $_POST['pt-force-redirect'] ) && $_POST['pt-force-redirect'] === 'true' ) {
+                               $forceRedirect = true;
+                               $redirect = get_edit_post_link( $post_id, 'js' );
                        } else {
                                $redirect = false;
                        }
@@ -165,7 +170,7 @@ class WP_Press_This {
                        $redirect = apply_filters( 'press_this_save_redirect', $redirect, $post_id, $post['post_status'] );
 
                        if ( $redirect ) {
-                               wp_send_json_success( array( 'redirect' => $redirect ) );
+                               wp_send_json_success( array( 'redirect' => $redirect, 'force' => $forceRedirect ) );
                        } else {
                                wp_send_json_success( array( 'postSaved' => true ) );
                        }
@@ -201,11 +206,17 @@ class WP_Press_This {
                                continue;
                        }
 
-                       // @todo Find a more performant to check existence, maybe get_term() with a separate parent check.
-                       if ( ! $cat_id = term_exists( $cat_name, $taxonomy->name, $parent ) ) {
-                               $cat_id = wp_insert_term( $cat_name, $taxonomy->name, array( 'parent' => $parent ) );
+                       // @todo Find a more performant way to check existence, maybe get_term() with a separate parent check.
+                       if ( term_exists( $cat_name, $taxonomy->name, $parent ) ) {
+                               if ( count( $names ) === 1 ) {
+                                       wp_send_json_error( array( 'errorMessage' => __( 'This category already exists.' ) ) );
+                               } else {
+                                       continue;
+                               }
                        }
 
+                       $cat_id = wp_insert_term( $cat_name, $taxonomy->name, array( 'parent' => $parent ) );
+
                        if ( is_wp_error( $cat_id ) ) {
                                continue;
                        } elseif ( is_array( $cat_id ) ) {
@@ -245,46 +256,46 @@ class WP_Press_This {
         * @return string Source's HTML sanitized markup
         */
        public function fetch_source_html( $url ) {
-               // Download source page to tmp file.
-               $source_tmp_file = ( ! empty( $url ) ) ? download_url( $url, 30 ) : '';
-               $source_content  = '';
-
-               if ( ! is_wp_error( $source_tmp_file ) && file_exists( $source_tmp_file ) ) {
-
-                       // Get the content of the source page from the tmp file..
-                       $source_content = wp_kses(
-                               @file_get_contents( $source_tmp_file ),
-                               array(
-                                       'img' => array(
-                                               'src'      => array(),
-                                               'width'    => array(),
-                                               'height'   => array(),
-                                       ),
-                                       'iframe' => array(
-                                               'src'      => array(),
-                                       ),
-                                       'link' => array(
-                                               'rel'      => array(),
-                                               'itemprop' => array(),
-                                               'href'     => array(),
-                                       ),
-                                       'meta' => array(
-                                               'property' => array(),
-                                               'name'     => array(),
-                                               'content'  => array(),
-                                       )
-                               )
-                       );
+               global $wp_version;
+
+               if ( empty( $url ) ) {
+                       return new WP_Error( 'invalid-url', __( 'A valid URL was not provided.' ) );
+               }
 
-                       // All done with backward compatibility. Let's do some cleanup, for good measure :)
-                       unlink( $source_tmp_file );
+               $remote_url = wp_safe_remote_get( $url, array(
+                       'timeout' => 30,
+                       // Use an explicit user-agent for Press This
+                       'user-agent' => 'Press This (WordPress/' . $wp_version . '); ' . get_bloginfo( 'url' )
+               ) );
 
-               } else if ( is_wp_error( $source_tmp_file ) ) {
-                       $source_content = new WP_Error( 'upload-error',  sprintf( __( 'Error: %s' ), sprintf( __( 'Could not download the source URL (native error: %s).' ), $source_tmp_file->get_error_message() ) ) );
-               } else if ( ! file_exists( $source_tmp_file ) ) {
-                       $source_content = new WP_Error( 'no-local-file',  sprintf( __( 'Error: %s' ), __( 'Could not save or locate the temporary download file for the source URL.' ) ) );
+               if ( is_wp_error( $remote_url ) ) {
+                       return $remote_url;
                }
 
+               $useful_html_elements = array(
+                       'img' => array(
+                               'src'      => true,
+                               'width'    => true,
+                               'height'   => true,
+                       ),
+                       'iframe' => array(
+                               'src'      => true,
+                       ),
+                       'link' => array(
+                               'rel'      => true,
+                               'itemprop' => true,
+                               'href'     => true,
+                       ),
+                       'meta' => array(
+                               'property' => true,
+                               'name'     => true,
+                               'content'  => true,
+                       )
+               );
+
+               $source_content = wp_remote_retrieve_body( $remote_url );
+               $source_content = wp_kses( $source_content, $useful_html_elements );
+
                return $source_content;
        }
 
@@ -438,6 +449,9 @@ class WP_Press_This {
        private function _limit_embed( $src ) {
                $src = $this->_limit_url( $src );
 
+               if ( empty( $src ) )
+                       return '';
+
                if ( preg_match( '/\/\/(m|www)\.youtube\.com\/(embed|v)\/([^\?]+)\?.+$/', $src, $src_matches ) ) {
                        // Embedded Youtube videos (www or mobile)
                        $src = 'https://www.youtube.com/watch?v=' . $src_matches[3];
@@ -453,14 +467,13 @@ class WP_Press_This {
                } else if ( preg_match( '/\/\/(www\.)?dailymotion\.com\/embed\/video\/([^\/\?]+)([\/\?]{1}.+)?/', $src, $src_matches ) ) {
                        // Embedded Daily Motion videos
                        $src = 'https://www.dailymotion.com/video/' . $src_matches[2];
-               } else if ( ! preg_match( '/\/\/(m|www)\.youtube\.com\/watch\?/', $src )          // Youtube video page (www or mobile)
-                           && ! preg_match( '/\/youtu\.be\/.+$/', $src )                         // Youtu.be video page
-                           && ! preg_match( '/\/\/vimeo\.com\/[\d]+$/', $src )                   // Vimeo video page
-                           && ! preg_match( '/\/\/(www\.)?dailymotion\.com\/video\/.+$/', $src ) // Daily Motion video page
-                           && ! preg_match( '/\/\/soundcloud\.com\/.+$/', $src )                 // SoundCloud audio page
-                           && ! preg_match( '/\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/', $src ) // Twitter status page
-                           && ! preg_match( '/\/\/vine\.co\/v\/[^\/]+/', $src ) ) {              // Vine video page
-                       $src = '';
+               } else {
+                       require_once( ABSPATH . WPINC . '/class-oembed.php' );
+                       $oembed = _wp_oembed_get_object();
+
+                       if ( ! $oembed->get_provider( $src, array( 'discover' => false ) ) ) {
+                               $src = '';
+                       }
                }
 
                return $src;
@@ -730,6 +743,15 @@ class WP_Press_This {
                                        }
                                }
                        }
+
+                       // Support passing a single image src as `i`
+                       if ( ! empty( $_REQUEST['i'] ) && ( $img_src = $this->_limit_img( wp_unslash( $_REQUEST['i'] ) ) ) ) {
+                               if ( empty( $data['_images'] ) ) {
+                                       $data['_images'] = array( $img_src );
+                               } elseif ( ! in_array( $img_src, $data['_images'], true ) ) {
+                                       array_unshift( $data['_images'], $img_src );
+                               }
+                       }
                }
 
                /**
@@ -761,7 +783,36 @@ class WP_Press_This {
                        $press_this = str_replace( '.css', '-rtl.css', $press_this );
                }
 
-               return $styles . $press_this;
+               $open_sans_font_url = '';
+
+               /* translators: If there are characters in your language that are not supported
+                * by Open Sans, translate this to 'off'. Do not translate into your own language.
+                */
+               if ( 'off' !== _x( 'on', 'Open Sans font: on or off' ) ) {
+                       $subsets = 'latin,latin-ext';
+
+                       /* translators: To add an additional Open Sans character subset specific to your language,
+                        * translate this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your own language.
+                        */
+                       $subset = _x( 'no-subset', 'Open Sans font: add new subset (greek, cyrillic, vietnamese)' );
+
+                       if ( 'cyrillic' == $subset ) {
+                               $subsets .= ',cyrillic,cyrillic-ext';
+                       } elseif ( 'greek' == $subset ) {
+                               $subsets .= ',greek,greek-ext';
+                       } elseif ( 'vietnamese' == $subset ) {
+                               $subsets .= ',vietnamese';
+                       }
+
+                       $query_args = array(
+                               'family' => urlencode( 'Open Sans:400italic,700italic,400,600,700' ),
+                               'subset' => urlencode( $subsets ),
+                       );
+
+                       $open_sans_font_url = ',' . add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
+               }
+
+               return $styles . $press_this . $open_sans_font_url;
        }
 
        /**
@@ -790,7 +841,7 @@ class WP_Press_This {
 
                                ?>
                                <div id="post-formats-select">
-                               <fieldset><legend class="screen-reader-text"><?php _e( 'Post formats' ); ?></legend>
+                               <fieldset><legend class="screen-reader-text"><?php _e( 'Post Formats' ); ?></legend>
                                        <input type="radio" name="post_format" class="post-format" id="post-format-0" value="0" <?php checked( $post_format, '0' ); ?> />
                                        <label for="post-format-0" class="post-format-icon post-format-standard"><?php echo get_post_format_string( 'standard' ); ?></label>
                                        <?php
@@ -922,11 +973,16 @@ class WP_Press_This {
         * @access public
         *
         * @param array $data The site's data.
-        * @returns array Embeds selected to be available.
+        * @return array Embeds selected to be available.
         */
        public function get_embeds( $data ) {
                $selected_embeds = array();
 
+               // Make sure to add the Pressed page if it's a valid oembed itself
+               if ( ! empty ( $data['u'] ) && $this->_limit_embed( $data['u'] ) ) {
+                       $data['_embeds'][] = $data['u'];
+               }
+
                if ( ! empty( $data['_embeds'] ) ) {
                        foreach( $data['_embeds'] as $src ) {
                                $prot_relative_src = preg_replace( '/^https?:/', '', $src );
@@ -950,7 +1006,7 @@ class WP_Press_This {
         * @access public
         *
         * @param array $data The site's data.
-        * @returns array
+        * @return array
         */
        public function get_images( $data ) {
                $selected_images = array();
@@ -984,7 +1040,7 @@ class WP_Press_This {
         * @access public
         *
         * @param array $data The site's data.
-        * @returns string Discovered canonical URL, or empty
+        * @return string Discovered canonical URL, or empty
         */
        public function get_canonical_link( $data ) {
                $link = '';
@@ -1015,7 +1071,7 @@ class WP_Press_This {
         * @access public
         *
         * @param array $data The site's data.
-        * @returns string Discovered site name, or empty
+        * @return string Discovered site name, or empty
         */
        public function get_source_site_name( $data ) {
                $name = '';
@@ -1038,14 +1094,14 @@ class WP_Press_This {
         * @access public
         *
         * @param array $data The site's data.
-        * @returns string Discovered page title, or empty
+        * @return string Discovered page title, or empty
         */
        public function get_suggested_title( $data ) {
                $title = '';
 
                if ( ! empty( $data['t'] ) ) {
                        $title = $data['t'];
-               } elseif( ! empty( $data['_meta'] ) ) {
+               } elseif ( ! empty( $data['_meta'] ) ) {
                        if ( ! empty( $data['_meta']['twitter:title'] ) ) {
                                $title = $data['_meta']['twitter:title'];
                        } else if ( ! empty( $data['_meta']['og:title'] ) ) {
@@ -1067,7 +1123,7 @@ class WP_Press_This {
         * @access public
         *
         * @param array $data The site's data.
-        * @returns string Discovered content, or empty
+        * @return string Discovered content, or empty
         */
        public function get_suggested_content( $data ) {
                $content = $text = '';
@@ -1091,10 +1147,7 @@ class WP_Press_This {
 
                $default_html = array( 'quote' => '', 'link' => '', 'embed' => '' );
 
-               require_once( ABSPATH . WPINC . '/class-oembed.php' );
-               $oembed = _wp_oembed_get_object();
-
-               if ( ! empty( $data['u'] ) && $oembed->get_provider( $data['u'], array( 'discover' => false ) ) ) {
+               if ( ! empty( $data['u'] ) && $this->_limit_embed( $data['u'] ) ) {
                        $default_html['embed'] = '<p>[embed]' . $data['u'] . '[/embed]</p>';
 
                        if ( ! empty( $data['s'] ) ) {
@@ -1148,6 +1201,10 @@ class WP_Press_This {
         *
         * @since 4.2.0
         * @access public
+        *
+        * @global WP_Locale $wp_locale
+        * @global string    $wp_version
+        * @global bool      $is_IE
         */
        public function html() {
                global $wp_locale, $wp_version;
@@ -1157,10 +1214,6 @@ class WP_Press_This {
 
                $post_title = $this->get_suggested_title( $data );
 
-               if ( empty( $title ) ) {
-                       $title = __( 'New Post' );
-               }
-
                $post_content = $this->get_suggested_content( $data );
 
                // Get site settings array/data.
@@ -1310,6 +1363,7 @@ class WP_Press_This {
                <input type="hidden" name="post_status" id="post_status" value="draft" />
                <input type="hidden" name="wp-preview" id="wp-preview" value="" />
                <input type="hidden" name="post_title" id="post_title" value="" />
+               <input type="hidden" name="pt-force-redirect" id="pt-force-redirect" value="" />
                <?php
 
                wp_nonce_field( 'update-post_' . $post_ID, '_wpnonce', false );
@@ -1358,11 +1412,13 @@ class WP_Press_This {
                                                'statusbar'             => false,
                                                'autoresize_min_height' => 600,
                                                'wp_autoresize_on'      => true,
-                                               'plugins'               => 'lists,media,paste,tabfocus,fullscreen,wordpress,wpautoresize,wpeditimage,wpgallery,wplink,wpview',
+                                               'plugins'               => 'lists,media,paste,tabfocus,fullscreen,wordpress,wpautoresize,wpeditimage,wpgallery,wplink,wptextpattern,wpview',
                                                'toolbar1'              => 'bold,italic,bullist,numlist,blockquote,link,unlink',
                                                'toolbar2'              => 'undo,redo',
                                        ),
-                                       'quicktags' => false,
+                                       'quicktags' => array(
+                                               'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,more',
+                                       ),
                                ) );
 
                                ?>
@@ -1435,13 +1491,22 @@ class WP_Press_This {
                </div>
                <div class="post-actions">
                        <span class="spinner">&nbsp;</span>
-                       <button type="button" class="button-subtle draft-button" aria-live="polite">
-                               <span class="save-draft"><?php _e( 'Save Draft' ); ?></span>
-                               <span class="saving-draft"><?php _e( 'Saving...' ); ?></span>
-                       </button>
-                       <a href="<?php echo esc_url( get_edit_post_link( $post_ID ) ); ?>" class="edit-post-link" style="display: none;" target="_blank"><?php _e( 'Standard Editor' ); ?></a>
-                       <button type="button" class="button-subtle preview-button"><?php _e( 'Preview' ); ?></button>
-                       <button type="button" class="button-primary publish-button"><?php echo ( current_user_can( 'publish_posts' ) ) ? __( 'Publish' ) : __( 'Submit for Review' ); ?></button>
+                       <div class="split-button">
+                               <div class="split-button-head">
+                                       <button type="button" class="publish-button split-button-primary" aria-live="polite">
+                                               <span class="publish"><?php echo ( current_user_can( 'publish_posts' ) ) ? __( 'Publish' ) : __( 'Submit for Review' ); ?></span>
+                                               <span class="saving-draft"><?php _e( 'Saving...' ); ?></span>
+                                       </button><button type="button" class="split-button-toggle" aria-haspopup="true" aria-expanded="false">
+                                               <i class="dashicons dashicons-arrow-down-alt2"></i>
+                                               <span class="screen-reader-text"><?php _e('More actions'); ?></span>
+                                       </button>
+                               </div>
+                               <ul class="split-button-body">
+                                       <li><button type="button" class="button-subtle draft-button split-button-option"><?php _e( 'Save Draft' ); ?></button></li>
+                                       <li><button type="button" class="button-subtle standard-editor-button split-button-option"><?php _e( 'Standard Editor' ); ?></button></li>
+                                       <li><button type="button" class="button-subtle preview-button split-button-option"><?php _e( 'Preview' ); ?></button></li>
+                               </ul>
+                       </div>
                </div>
        </div>
        </form>
@@ -1463,4 +1528,8 @@ class WP_Press_This {
        }
 }
 
+/**
+ *
+ * @global WP_Press_This $wp_press_this
+ */
 $GLOBALS['wp_press_this'] = new WP_Press_This;
diff --git a/wp-admin/includes/class-wp-site-icon.php b/wp-admin/includes/class-wp-site-icon.php
new file mode 100644 (file)
index 0000000..c718459
--- /dev/null
@@ -0,0 +1,237 @@
+<?php
+/**
+ * Class for implementing site icon functionality.
+ *
+ * @since 4.3.0
+ */
+class WP_Site_Icon {
+
+       /**
+        * The minimum size of the site icon.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $min_size  = 512;
+
+       /**
+        * The size to which to crop the image so that we can display it in the UI nicely.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $page_crop = 512;
+
+       /**
+        * List of site icon sizes.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var array
+        */
+       public $site_icon_sizes = array(
+               /*
+                * Square, medium sized tiles for IE11+.
+                *
+                * See https://msdn.microsoft.com/library/dn455106(v=vs.85).aspx
+                */
+               270,
+
+               /*
+                * App icon for Android/Chrome.
+                *
+                * @link https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
+                * @link https://developer.chrome.com/multidevice/android/installtohomescreen
+                */
+               192,
+
+               /*
+                * App icons up to iPhone 6 Plus.
+                *
+                * See https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html
+                */
+               180,
+
+               // Our regular Favicon.
+               32,
+       );
+
+       /**
+        * Registers actions and filters.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function __construct() {
+               add_action( 'delete_attachment', array( $this, 'delete_attachment_data' ) );
+               add_filter( 'get_post_metadata', array( $this, 'get_post_metadata' ), 10, 4 );
+       }
+
+       /**
+        * Creates an attachment 'object'.
+        *
+        * @since 4.3.0
+        *
+        * @param string $cropped              Cropped image URL.
+        * @param int    $parent_attachment_id Attachment ID of parent image.
+        * @return array Attachment object.
+        */
+       public function create_attachment_object( $cropped, $parent_attachment_id ) {
+               $parent     = get_post( $parent_attachment_id );
+               $parent_url = $parent->guid;
+               $url        = str_replace( basename( $parent_url ), basename( $cropped ), $parent_url );
+
+               $size       = @getimagesize( $cropped );
+               $image_type = ( $size ) ? $size['mime'] : 'image/jpeg';
+
+               $object = array(
+                       'ID'             => $parent_attachment_id,
+                       'post_title'     => basename( $cropped ),
+                       'post_content'   => $url,
+                       'post_mime_type' => $image_type,
+                       'guid'           => $url,
+                       'context'        => 'site-icon'
+               );
+
+               return $object;
+       }
+
+       /**
+        * Inserts an attachment.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array  $object Attachment object.
+        * @param string $file   File path of the attached image.
+        * @return int           Attachment ID
+        */
+       public function insert_attachment( $object, $file ) {
+               $attachment_id = wp_insert_attachment( $object, $file );
+               $metadata      = wp_generate_attachment_metadata( $attachment_id, $file );
+
+               /**
+                * Filter the site icon attachment metadata.
+                *
+                * @since 4.3.0
+                *
+                * @see wp_generate_attachment_metadata()
+                *
+                * @param array $metadata Attachment metadata.
+                */
+               $metadata = apply_filters( 'site_icon_attachment_metadata', $metadata );
+               wp_update_attachment_metadata( $attachment_id, $metadata );
+
+               return $attachment_id;
+       }
+
+       /**
+        * Adds additional sizes to be made when creating the site_icon images.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $sizes List of additional sizes.
+        * @return array Additional image sizes.
+        */
+       public function additional_sizes( $sizes = array() ) {
+               $only_crop_sizes = array();
+
+               /**
+                * Filter the different dimensions that a site icon is saved in.
+                *
+                * @since 4.3.0
+                *
+                * @param array $site_icon_sizes Sizes available for the Site Icon.
+                */
+               $this->site_icon_sizes = apply_filters( 'site_icon_image_sizes', $this->site_icon_sizes );
+
+               // Use a natural sort of numbers.
+               natsort( $this->site_icon_sizes );
+               $this->site_icon_sizes = array_reverse( $this->site_icon_sizes );
+
+               // ensure that we only resize the image into
+               foreach ( $sizes as $name => $size_array ) {
+                       if ( isset( $size_array['crop'] ) ) {
+                               $only_crop_sizes[ $name ] = $size_array;
+                       }
+               }
+
+               foreach ( $this->site_icon_sizes as $size ) {
+                       if ( $size < $this->min_size ) {
+                               $only_crop_sizes[ 'site_icon-' . $size ] = array(
+                                       'width ' => $size,
+                                       'height' => $size,
+                                       'crop'   => true,
+                               );
+                       }
+               }
+
+               return $only_crop_sizes;
+       }
+
+       /**
+        * Adds Site Icon sizes to the array of image sizes on demand.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $sizes List of image sizes.
+        * @return array List of intermediate image sizes.
+        */
+       public function intermediate_image_sizes( $sizes = array() ) {
+               /** This filter is documented in wp-admin/includes/class-wp-site-icon.php */
+               $this->site_icon_sizes = apply_filters( 'site_icon_image_sizes', $this->site_icon_sizes );
+               foreach ( $this->site_icon_sizes as $size ) {
+                       $sizes[] = 'site_icon-' . $size;
+               }
+
+               return $sizes;
+       }
+
+       /**
+        * Deletes the Site Icon when the image file is deleted.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param int $post_id Attachment ID.
+        */
+       public function delete_attachment_data( $post_id ) {
+               $site_icon_id = get_option( 'site_icon' );
+
+               if ( $site_icon_id && $post_id == $site_icon_id ) {
+                       delete_option( 'site_icon' );
+               }
+       }
+
+       /**
+        * Adds custom image sizes when meta data for an image is requested, that happens to be used as Site Icon.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param null|array|string $value    The value get_metadata() should return a single metadata value, or an
+        *                                    array of values.
+        * @param int               $post_id  Post ID.
+        * @param string            $meta_key Meta key.
+        * @param string|array      $single   Meta value, or an array of values.
+        * @return array|null|string The attachment metadata value, array of values, or null.
+        */
+       public function get_post_metadata( $value, $post_id, $meta_key, $single ) {
+               $site_icon_id = get_option( 'site_icon' );
+
+               if ( $post_id == $site_icon_id && '_wp_attachment_backup_sizes' == $meta_key && $single ) {
+                       add_filter( 'intermediate_image_sizes', array( $this, 'intermediate_image_sizes' ) );
+               }
+
+               return $value;
+       }
+}
+
+/**
+ * @global WP_Site_Icon $wp_site_icon
+ */
+$GLOBALS['wp_site_icon'] = new WP_Site_Icon;
index 5eda18691c326f13e499f8cfae6b1e052b1b3c31..a4c81afbe71f4e45ad0219ffd5dfcafc73e1059a 100644 (file)
@@ -21,6 +21,11 @@ class WP_Terms_List_Table extends WP_List_Table {
         *
         * @see WP_List_Table::__construct() for more information on default arguments.
         *
+        * @global string $post_type
+        * @global string $taxonomy
+        * @global string $action
+        * @global object $tax
+        *
         * @param array $args An associative array of arguments.
         */
        public function __construct( $args = array() ) {
@@ -50,10 +55,17 @@ class WP_Terms_List_Table extends WP_List_Table {
 
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can( get_taxonomy( $this->screen->taxonomy )->cap->manage_terms );
        }
 
+       /**
+        * @access public
+        */
        public function prepare_items() {
                $tags_per_page = $this->get_items_per_page( 'edit_' . $this->screen->taxonomy . '_per_page' );
 
@@ -109,15 +121,26 @@ class WP_Terms_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function has_items() {
                // todo: populate $this->items in prepare_items()
                return true;
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                echo get_taxonomy( $this->screen->taxonomy )->labels->not_found;
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_bulk_actions() {
                $actions = array();
                $actions['delete'] = __( 'Delete' );
@@ -125,6 +148,10 @@ class WP_Terms_List_Table extends WP_List_Table {
                return $actions;
        }
 
+       /**
+        *
+        * @return string
+        */
        public function current_action() {
                if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['delete_tags'] ) && ( 'delete' == $_REQUEST['action'] || 'delete' == $_REQUEST['action2'] ) )
                        return 'bulk-delete';
@@ -132,6 +159,10 @@ class WP_Terms_List_Table extends WP_List_Table {
                return parent::current_action();
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_columns() {
                $columns = array(
                        'cb'          => '<input type="checkbox" />',
@@ -149,6 +180,10 @@ class WP_Terms_List_Table extends WP_List_Table {
                return $columns;
        }
 
+       /**
+        *
+        * @return array
+        */
        protected function get_sortable_columns() {
                return array(
                        'name'        => 'name',
@@ -159,6 +194,9 @@ class WP_Terms_List_Table extends WP_List_Table {
                );
        }
 
+       /**
+        * @access public
+        */
        public function display_rows_or_placeholder() {
                $taxonomy = $this->screen->taxonomy;
 
@@ -185,7 +223,7 @@ class WP_Terms_List_Table extends WP_List_Table {
                }
                $terms = get_terms( $taxonomy, $args );
 
-               if ( empty( $terms ) ) {
+               if ( empty( $terms ) || ! is_array( $terms ) ) {
                        echo '<tr class="no-items"><td class="colspanchange" colspan="' . $this->get_column_count() . '">';
                        $this->no_items();
                        echo '</td></tr>';
@@ -201,7 +239,6 @@ class WP_Terms_List_Table extends WP_List_Table {
                        // Some funky recursion to get the job done( Paging & parents mainly ) is contained within, Skip it for non-hierarchical taxonomies for performance sake
                        $this->_rows( $taxonomy, $terms, $children, $offset, $number, $count );
                } else {
-                       $terms = get_terms( $taxonomy, $args );
                        foreach ( $terms as $term ) {
                                $this->single_row( $term );
                        }
@@ -212,11 +249,11 @@ class WP_Terms_List_Table extends WP_List_Table {
         * @param string $taxonomy
         * @param array $terms
         * @param array $children
-        * @param int $start
-        * @param int $per_page
-        * @param int $count
-        * @param int $parent
-        * @param int $level
+        * @param int   $start
+        * @param int   $per_page
+        * @param int   $count
+        * @param int   $parent
+        * @param int   $level
         */
        private function _rows( $taxonomy, $terms, &$children, $start, $per_page, &$count, $parent = 0, $level = 0 ) {
 
@@ -302,9 +339,6 @@ class WP_Terms_List_Table extends WP_List_Table {
         */
        public function column_name( $tag ) {
                $taxonomy = $this->screen->taxonomy;
-               $tax = get_taxonomy( $taxonomy );
-
-               $default_term = get_option( 'default_' . $taxonomy );
 
                $pad = str_repeat( '&#8212; ', max( 0, $this->level ) );
 
@@ -328,6 +362,50 @@ class WP_Terms_List_Table extends WP_List_Table {
 
                $out = '<strong><a class="row-title" href="' . $edit_link . '" title="' . esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $name ) ) . '">' . $name . '</a></strong><br />';
 
+               $out .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';
+               $out .= '<div class="name">' . $qe_data->name . '</div>';
+
+               /** This filter is documented in wp-admin/edit-tag-form.php */
+               $out .= '<div class="slug">' . apply_filters( 'editable_slug', $qe_data->slug ) . '</div>';
+               $out .= '<div class="parent">' . $qe_data->parent . '</div></div>';
+
+               return $out;
+       }
+
+       /**
+        * Gets the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'name'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'name';
+       }
+
+       /**
+        * Generates and displays row action links.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @param object $tag         Tag being acted upon.
+        * @param string $column_name Current column name.
+        * @param string $primary     Primary column name.
+        * @return string Row actions output for terms.
+        */
+       protected function handle_row_actions( $tag, $column_name, $primary ) {
+               if ( $primary !== $column_name ) {
+                       return '';
+               }
+
+               $taxonomy = $this->screen->taxonomy;
+               $tax = get_taxonomy( $taxonomy );
+               $default_term = get_option( 'default_' . $taxonomy );
+
+               $edit_link = esc_url( get_edit_term_link( $tag->term_id, $taxonomy, $this->screen->post_type ) );
+
                $actions = array();
                if ( current_user_can( $tax->cap->edit_terms ) ) {
                        $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>';
@@ -363,15 +441,7 @@ class WP_Terms_List_Table extends WP_List_Table {
                 */
                $actions = apply_filters( "{$taxonomy}_row_actions", $actions, $tag );
 
-               $out .= $this->row_actions( $actions );
-               $out .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">';
-               $out .= '<div class="name">' . $qe_data->name . '</div>';
-
-               /** This filter is documented in wp-admin/edit-tag-form.php */
-               $out .= '<div class="slug">' . apply_filters( 'editable_slug', $qe_data->slug ) . '</div>';
-               $out .= '<div class="parent">' . $qe_data->parent . '</div></div>';
-
-               return $out;
+               return $this->row_actions( $actions );
        }
 
        /**
index e90f144d779d8cdc088e53271c17a2062e818ed1..427c5391489953005444823e43370dc588e50e7d 100644 (file)
@@ -11,10 +11,22 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 
        public $features = array();
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                return current_user_can( 'install_themes' );
        }
 
+       /**
+        *
+        * @global array  $tabs
+        * @global string $tab
+        * @global int    $paged
+        * @global string $type
+        * @global array  $theme_field_defaults
+        */
        public function prepare_items() {
                include( ABSPATH . 'wp-admin/includes/theme-install.php' );
 
@@ -133,10 +145,19 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
                ) );
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                _e( 'No themes match your request.' );
        }
 
+       /**
+        *
+        * @global array $tabs
+        * @global string $tab
+        * @return array
+        */
        protected function get_views() {
                global $tabs, $tab;
 
@@ -150,6 +171,9 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
                return $display_tabs;
        }
 
+       /**
+        * @access public
+        */
        public function display() {
                wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 ?>
@@ -176,6 +200,9 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
                $this->tablenav( 'bottom' );
        }
 
+       /**
+        * @access public
+        */
        public function display_rows() {
                $themes = $this->items;
                foreach ( $themes as $theme ) {
@@ -191,6 +218,8 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
        /**
         * Prints a theme from the WordPress.org API.
         *
+        * @global array $themes_allowedtags
+        *
         * @param object $theme An object that contains theme data returned by the WordPress.org API.
         *
         * Example theme data:
@@ -299,10 +328,10 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
                                        <div class="install-theme-info"></div>
                                </div>
                                <div class="wp-full-overlay-footer">
-                                       <a href="#" class="collapse-sidebar" title="<?php esc_attr_e('Collapse Sidebar'); ?>">
-                                               <span class="collapse-sidebar-label"><?php _e('Collapse'); ?></span>
+                                       <button type="button" class="collapse-sidebar button-secondary" aria-expanded="true" aria-label="<?php esc_attr_e( 'Collapse Sidebar' ); ?>">
                                                <span class="collapse-sidebar-arrow"></span>
-                                       </a>
+                                               <span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span>
+                                       </button>
                                </div>
                        </div>
                        <div class="wp-full-overlay-main"></div>
@@ -332,6 +361,8 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
        /**
         * Prints the info for a theme (to be used in the theme installer modal).
         *
+        * @global array $themes_allowedtags
+        *
         * @param object $theme - A WordPress.org Theme API object.
         */
        public function install_theme_info( $theme ) {
@@ -396,8 +427,10 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
         * @since 3.4.0
         * @access public
         *
-        * @uses $tab Global; current tab within Themes->Install screen
-        * @uses $type Global; type of search.
+        * @global string $tab  Current tab within Themes->Install screen
+        * @global string $type Type of search.
+        *
+        * @param array $extra_args Unused.
         */
        public function _js_vars( $extra_args = array() ) {
                global $tab, $type;
index 84acfed20e3a799c97b10dae90066be77e50136e..e01e3d463686d88c0fe4fc8b651e0405c4e2e453 100644 (file)
@@ -29,11 +29,18 @@ class WP_Themes_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        *
+        * @return bool
+        */
        public function ajax_user_can() {
                // Do not check edit_theme_options here. AJAX calls for available themes require switch_themes.
                return current_user_can( 'switch_themes' );
        }
 
+       /**
+        * @access public
+        */
        public function prepare_items() {
                $themes = wp_get_themes( array( 'allowed' => true ) );
 
@@ -67,6 +74,9 @@ class WP_Themes_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        * @access public
+        */
        public function no_items() {
                if ( $this->search_terms || $this->features ) {
                        _e( 'No items found.' );
@@ -97,7 +107,6 @@ class WP_Themes_List_Table extends WP_List_Table {
 
        /**
         * @param string $which
-        * @return null
         */
        public function tablenav( $which = 'top' ) {
                if ( $this->get_pagination_arg( 'total_pages' ) <= 1 )
@@ -111,6 +120,9 @@ class WP_Themes_List_Table extends WP_List_Table {
                <?php
        }
 
+       /**
+        * @access public
+        */
        public function display() {
                wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 ?>
@@ -124,10 +136,17 @@ class WP_Themes_List_Table extends WP_List_Table {
 <?php
        }
 
+       /**
+        *
+        * @return array
+        */
        public function get_columns() {
                return array();
        }
 
+       /**
+        * @access public
+        */
        public function display_rows_or_placeholder() {
                if ( $this->has_items() ) {
                        $this->display_rows();
@@ -138,6 +157,9 @@ class WP_Themes_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        * @access public
+        */
        public function display_rows() {
                $themes = $this->items;
 
@@ -152,17 +174,10 @@ class WP_Themes_List_Table extends WP_List_Table {
 
                        $activate_link = wp_nonce_url( "themes.php?action=activate&amp;template=" . urlencode( $template ) . "&amp;stylesheet=" . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet );
 
-                       $preview_link = esc_url( add_query_arg(
-                               array( 'preview' => 1, 'template' => urlencode( $template ), 'stylesheet' => urlencode( $stylesheet ), 'preview_iframe' => true, 'TB_iframe' => 'true' ),
-                               home_url( '/' ) ) );
-
                        $actions = array();
                        $actions['activate'] = '<a href="' . $activate_link . '" class="activatelink" title="'
                                . esc_attr( sprintf( __( 'Activate &#8220;%s&#8221;' ), $title ) ) . '">' . __( 'Activate' ) . '</a>';
 
-                       $actions['preview'] = '<a href="' . $preview_link . '" class="hide-if-customize" title="'
-                               . esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $title ) ) . '">' . __( 'Preview' ) . '</a>';
-
                        if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
                                $actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="load-customize hide-if-no-customize">'
                                        . __( 'Live Preview' ) . '</a>';
@@ -183,11 +198,11 @@ class WP_Themes_List_Table extends WP_List_Table {
 
                        ?>
 
-                       <a href="<?php echo $preview_link; ?>" class="screenshot hide-if-customize">
+                       <span class="screenshot hide-if-customize">
                                <?php if ( $screenshot = $theme->get_screenshot() ) : ?>
                                        <img src="<?php echo esc_url( $screenshot ); ?>" alt="" />
                                <?php endif; ?>
-                       </a>
+                       </span>
                        <a href="<?php echo wp_customize_url( $stylesheet ); ?>" class="screenshot load-customize hide-if-no-customize">
                                <?php if ( $screenshot = $theme->get_screenshot() ) : ?>
                                        <img src="<?php echo esc_url( $screenshot ); ?>" alt="" />
index 942542e08f01f30aaa0117d74e70e141aa928c98..3e9a5556b63d0a4325e85c0d510010f98097c494 100644 (file)
@@ -22,6 +22,10 @@ class WP_Upgrader_Skin {
        public $result = false;
        public $options = array();
 
+       /**
+        *
+        * @param array $args
+        */
        public function __construct($args = array()) {
                $defaults = array( 'url' => '', 'nonce' => '', 'title' => '', 'context' => false );
                $this->options = wp_parse_args($args, $defaults);
@@ -36,13 +40,27 @@ class WP_Upgrader_Skin {
                $this->add_strings();
        }
 
+       /**
+        * @access public
+        */
        public function add_strings() {
        }
 
+       /**
+        *
+        * @param string|false|WP_Error $result
+        */
        public function set_result($result) {
                $this->result = $result;
        }
 
+       /**
+        *
+        * @param bool   $error
+        * @param string $context
+        * @param bool   $allow_relaxed_file_ownership
+        * @return type
+        */
        public function request_filesystem_credentials( $error = false, $context = false, $allow_relaxed_file_ownership = false ) {
                $url = $this->options['url'];
                if ( ! $context ) {
@@ -57,14 +75,21 @@ class WP_Upgrader_Skin {
                return request_filesystem_credentials( $url, '', $error, $context, $extra_fields, $allow_relaxed_file_ownership );
        }
 
+       /**
+        * @access public
+        */
        public function header() {
                if ( $this->done_header ) {
                        return;
                }
                $this->done_header = true;
                echo '<div class="wrap">';
-               echo '<h2>' . $this->options['title'] . '</h2>';
+               echo '<h1>' . $this->options['title'] . '</h1>';
        }
+
+       /**
+        * @access public
+        */
        public function footer() {
                if ( $this->done_footer ) {
                        return;
@@ -73,6 +98,10 @@ class WP_Upgrader_Skin {
                echo '</div>';
        }
 
+       /**
+        *
+        * @param string|WP_Error $errors
+        */
        public function error($errors) {
                if ( ! $this->done_header )
                        $this->header();
@@ -88,6 +117,10 @@ class WP_Upgrader_Skin {
                }
        }
 
+       /**
+        *
+        * @param string $string
+        */
        public function feedback($string) {
                if ( isset( $this->upgrader->strings[$string] ) )
                        $string = $this->upgrader->strings[$string];
@@ -105,7 +138,15 @@ class WP_Upgrader_Skin {
                        return;
                show_message($string);
        }
+
+       /**
+        * @access public
+        */
        public function before() {}
+
+       /**
+        * @access public
+        */
        public function after() {}
 
        /**
@@ -138,7 +179,14 @@ class WP_Upgrader_Skin {
                }
        }
 
+       /**
+        * @access public
+        */
        public function bulk_header() {}
+
+       /**
+        * @access public
+        */
        public function bulk_footer() {}
 }
 
@@ -154,7 +202,11 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
        public $plugin_active = false;
        public $plugin_network_active = false;
 
-       public function __construct($args = array()) {
+       /**
+        *
+        * @param array $args
+        */
+       public function __construct( $args = array() ) {
                $defaults = array( 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => __('Update Plugin') );
                $args = wp_parse_args($args, $defaults);
 
@@ -166,6 +218,9 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
                parent::__construct($args);
        }
 
+       /**
+        * @access public
+        */
        public function after() {
                $this->plugin = $this->upgrader->plugin_info();
                if ( !empty($this->plugin) && !is_wp_error($this->result) && $this->plugin_active ){
@@ -175,8 +230,8 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
                $this->decrement_update_count( 'plugin' );
 
                $update_actions =  array(
-                       'activate_plugin' => '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin') . '</a>',
-                       'plugins_page' => '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Go to plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>'
+                       'activate_plugin' => '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) . '" target="_parent">' . __( 'Activate Plugin' ) . '</a>',
+                       'plugins_page' => '<a href="' . self_admin_url( 'plugins.php' ) . '" target="_parent">' . __( 'Return to Plugins page' ) . '</a>'
                );
                if ( $this->plugin_active || ! $this->result || is_wp_error( $this->result ) || ! current_user_can( 'activate_plugins' ) )
                        unset( $update_actions['activate_plugin'] );
@@ -210,6 +265,10 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
         */
        public $error = false;
 
+       /**
+        *
+        * @param array $args
+        */
        public function __construct($args = array()) {
                $defaults = array( 'url' => '', 'nonce' => '' );
                $args = wp_parse_args($args, $defaults);
@@ -217,6 +276,9 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                parent::__construct($args);
        }
 
+       /**
+        * @access public
+        */
        public function add_strings() {
                $this->upgrader->strings['skin_upgrade_start'] = __('The update process is starting. This process may take a while on some hosts, so please be patient.');
                $this->upgrader->strings['skin_update_failed_error'] = __('An error occurred while updating %1$s: <strong>%2$s</strong>');
@@ -249,13 +311,24 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                        echo "<p>$string</p>\n";
        }
 
+       /**
+        * @access public
+        */
        public function header() {
                // Nothing, This will be displayed within a iframe.
        }
 
+       /**
+        * @access public
+        */
        public function footer() {
                // Nothing, This will be displayed within a iframe.
        }
+
+       /**
+        *
+        * @param string|WP_Error $error
+        */
        public function error($error) {
                if ( is_string($error) && isset( $this->upgrader->strings[$error] ) )
                        $this->error = $this->upgrader->strings[$error];
@@ -273,14 +346,24 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
        }
 
+       /**
+        * @access public
+        */
        public function bulk_header() {
                $this->feedback('skin_upgrade_start');
        }
 
+       /**
+        * @access public
+        */
        public function bulk_footer() {
                $this->feedback('skin_upgrade_end');
        }
 
+       /**
+        *
+        * @param string $title
+        */
        public function before($title = '') {
                $this->in_loop = true;
                printf( '<h4>' . $this->upgrader->strings['skin_before_update_header'] . ' <span class="spinner waiting-' . $this->upgrader->update_current . '"></span></h4>',  $title, $this->upgrader->update_current, $this->upgrader->update_count);
@@ -289,6 +372,10 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                $this->flush_output();
        }
 
+       /**
+        *
+        * @param string $title
+        */
        public function after($title = '') {
                echo '</p></div>';
                if ( $this->error || ! $this->result ) {
@@ -309,11 +396,17 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                $this->flush_output();
        }
 
+       /**
+        * @access public
+        */
        public function reset() {
                $this->in_loop = false;
                $this->error = false;
        }
 
+       /**
+        * @access public
+        */
        public function flush_output() {
                wp_ob_end_flush_all();
                flush();
@@ -328,19 +421,31 @@ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
                $this->upgrader->strings['skin_before_update_header'] = __('Updating Plugin %1$s (%2$d/%3$d)');
        }
 
+       /**
+        *
+        * @param string $title
+        */
        public function before($title = '') {
                parent::before($this->plugin_info['Title']);
        }
 
+       /**
+        *
+        * @param string $title
+        */
        public function after($title = '') {
                parent::after($this->plugin_info['Title']);
                $this->decrement_update_count( 'plugin' );
        }
+
+       /**
+        * @access public
+        */
        public function bulk_footer() {
                parent::bulk_footer();
                $update_actions =  array(
-                       'plugins_page' => '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Go to plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>',
-                       'updates_page' => '<a href="' . self_admin_url('update-core.php') . '" title="' . esc_attr__('Go to WordPress Updates page') . '" target="_parent">' . __('Return to WordPress Updates') . '</a>'
+                       'plugins_page' => '<a href="' . self_admin_url( 'plugins.php' ) . '" target="_parent">' . __( 'Return to Plugins page' ) . '</a>',
+                       'updates_page' => '<a href="' . self_admin_url( 'update-core.php' ) . '" target="_parent">' . __( 'Return to WordPress Updates page' ) . '</a>'
                );
                if ( ! current_user_can( 'activate_plugins' ) )
                        unset( $update_actions['plugins_page'] );
@@ -368,20 +473,31 @@ class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
                $this->upgrader->strings['skin_before_update_header'] = __('Updating Theme %1$s (%2$d/%3$d)');
        }
 
+       /**
+        *
+        * @param string $title
+        */
        public function before($title = '') {
                parent::before( $this->theme_info->display('Name') );
        }
 
+       /**
+        *
+        * @param string $title
+        */
        public function after($title = '') {
                parent::after( $this->theme_info->display('Name') );
                $this->decrement_update_count( 'theme' );
        }
 
+       /**
+        * @access public
+        */
        public function bulk_footer() {
                parent::bulk_footer();
                $update_actions =  array(
-                       'themes_page' => '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Go to themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>',
-                       'updates_page' => '<a href="' . self_admin_url('update-core.php') . '" title="' . esc_attr__('Go to WordPress Updates page') . '" target="_parent">' . __('Return to WordPress Updates') . '</a>'
+                       'themes_page' => '<a href="' . self_admin_url( 'themes.php' ) . '" target="_parent">' . __( 'Return to Themes page' ) . '</a>',
+                       'updates_page' => '<a href="' . self_admin_url( 'update-core.php' ) . '" target="_parent">' . __( 'Return to WordPress Updates page' ) . '</a>'
                );
                if ( ! current_user_can( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) )
                        unset( $update_actions['themes_page'] );
@@ -412,6 +528,10 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
        public $api;
        public $type;
 
+       /**
+        *
+        * @param array $args
+        */
        public function __construct($args = array()) {
                $defaults = array( 'type' => 'web', 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => '' );
                $args = wp_parse_args($args, $defaults);
@@ -422,13 +542,18 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
                parent::__construct($args);
        }
 
+       /**
+        * @access public
+        */
        public function before() {
                if ( !empty($this->api) )
                        $this->upgrader->strings['process_success'] = sprintf( __('Successfully installed the plugin <strong>%s %s</strong>.'), $this->api->name, $this->api->version);
        }
 
+       /**
+        * @access public
+        */
        public function after() {
-
                $plugin_file = $this->upgrader->plugin_info();
 
                $install_actions = array();
@@ -436,21 +561,21 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
                $from = isset($_GET['from']) ? wp_unslash( $_GET['from'] ) : 'plugins';
 
                if ( 'import' == $from )
-                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;from=import&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin &amp; Run Importer') . '</a>';
+                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;from=import&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ) . '" target="_parent">' . __( 'Activate Plugin &amp; Run Importer' ) . '</a>';
                else
-                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin') . '</a>';
+                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ) . '" target="_parent">' . __( 'Activate Plugin' ) . '</a>';
 
                if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) {
-                       $install_actions['network_activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;networkwide=1&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin for all sites in this network') . '" target="_parent">' . __('Network Activate') . '</a>';
+                       $install_actions['network_activate'] = '<a href="' . wp_nonce_url( 'plugins.php?action=activate&amp;networkwide=1&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ) . '" target="_parent">' . __( 'Network Activate' ) . '</a>';
                        unset( $install_actions['activate_plugin'] );
                }
 
                if ( 'import' == $from ) {
-                       $install_actions['importers_page'] = '<a href="' . admin_url('import.php') . '" title="' . esc_attr__('Return to Importers') . '" target="_parent">' . __('Return to Importers') . '</a>';
+                       $install_actions['importers_page'] = '<a href="' . admin_url( 'import.php' ) . '" target="_parent">' . __( 'Return to Importers' ) . '</a>';
                } elseif ( $this->type == 'web' ) {
-                       $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugin-install.php') . '" title="' . esc_attr__('Return to Plugin Installer') . '" target="_parent">' . __('Return to Plugin Installer') . '</a>';
+                       $install_actions['plugins_page'] = '<a href="' . self_admin_url( 'plugin-install.php' ) . '" target="_parent">' . __( 'Return to Plugin Installer' ) . '</a>';
                } else {
-                       $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Return to Plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>';
+                       $install_actions['plugins_page'] = '<a href="' . self_admin_url( 'plugins.php' ) . '" target="_parent">' . __( 'Return to Plugins page' ) . '</a>';
                }
 
                if ( ! $this->result || is_wp_error($this->result) ) {
@@ -488,6 +613,10 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
        public $api;
        public $type;
 
+       /**
+        *
+        * @param array $args
+        */
        public function __construct($args = array()) {
                $defaults = array( 'type' => 'web', 'url' => '', 'theme' => '', 'nonce' => '', 'title' => '' );
                $args = wp_parse_args($args, $defaults);
@@ -498,11 +627,17 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
                parent::__construct($args);
        }
 
+       /**
+        * @access public
+        */
        public function before() {
                if ( !empty($this->api) )
                        $this->upgrader->strings['process_success'] = sprintf( $this->upgrader->strings['process_success_specific'], $this->api->name, $this->api->version);
        }
 
+       /**
+        * @access public
+        */
        public function after() {
                if ( empty($this->upgrader->result['destination_name']) )
                        return;
@@ -515,12 +650,6 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
                $stylesheet = $this->upgrader->result['destination_name'];
                $template   = $theme_info->get_template();
 
-               $preview_link = add_query_arg( array(
-                       'preview'    => 1,
-                       'template'   => urlencode( $template ),
-                       'stylesheet' => urlencode( $stylesheet ),
-               ), trailingslashit( home_url() ) );
-
                $activate_link = add_query_arg( array(
                        'action'     => 'activate',
                        'template'   => urlencode( $template ),
@@ -529,19 +658,19 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
                $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
 
                $install_actions = array();
-               $install_actions['preview']  = '<a href="' . esc_url( $preview_link ) . '" class="hide-if-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Preview') . '</a>';
+
                if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
-                       $install_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
+                       $install_actions['preview'] = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize"><span aria-hidden="true">' . __( 'Live Preview' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Live Preview &#8220;%s&#8221;' ), $name ) . '</span></a>';
                }
-               $install_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
+               $install_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink"><span aria-hidden="true">' . __( 'Activate' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Activate &#8220;%s&#8221;' ), $name ) . '</span></a>';
 
                if ( is_network_admin() && current_user_can( 'manage_network_themes' ) )
-                       $install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . urlencode( $stylesheet ), 'enable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__( 'Enable this theme for all sites in this network' ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>';
+                       $install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . urlencode( $stylesheet ), 'enable-theme_' . $stylesheet ) ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>';
 
                if ( $this->type == 'web' )
-                       $install_actions['themes_page'] = '<a href="' . self_admin_url('theme-install.php') . '" title="' . esc_attr__('Return to Theme Installer') . '" target="_parent">' . __('Return to Theme Installer') . '</a>';
+                       $install_actions['themes_page'] = '<a href="' . self_admin_url( 'theme-install.php' ) . '" target="_parent">' . __( 'Return to Theme Installer' ) . '</a>';
                elseif ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) )
-                       $install_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
+                       $install_actions['themes_page'] = '<a href="' . self_admin_url( 'themes.php' ) . '" target="_parent">' . __( 'Return to Themes page' ) . '</a>';
 
                if ( ! $this->result || is_wp_error($this->result) || is_network_admin() || ! current_user_can( 'switch_themes' ) )
                        unset( $install_actions['activate'], $install_actions['preview'] );
@@ -572,6 +701,10 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
 class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
        public $theme = '';
 
+       /**
+        *
+        * @param array $args
+        */
        public function __construct($args = array()) {
                $defaults = array( 'url' => '', 'theme' => '', 'nonce' => '', 'title' => __('Update Theme') );
                $args = wp_parse_args($args, $defaults);
@@ -581,6 +714,9 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
                parent::__construct($args);
        }
 
+       /**
+        * @access public
+        */
        public function after() {
                $this->decrement_update_count( 'theme' );
 
@@ -590,12 +726,6 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
                        $stylesheet = $this->upgrader->result['destination_name'];
                        $template   = $theme_info->get_template();
 
-                       $preview_link = add_query_arg( array(
-                               'preview'    => 1,
-                               'template'   => urlencode( $template ),
-                               'stylesheet' => urlencode( $stylesheet ),
-                       ), trailingslashit( home_url() ) );
-
                        $activate_link = add_query_arg( array(
                                'action'     => 'activate',
                                'template'   => urlencode( $template ),
@@ -605,21 +735,20 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
 
                        if ( get_stylesheet() == $stylesheet ) {
                                if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
-                                       $update_actions['preview']  = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Customize &#8220;%s&#8221;'), $name ) ) . '">' . __('Customize') . '</a>';
+                                       $update_actions['preview']  = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize"><span aria-hidden="true">' . __( 'Customize' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Customize &#8220;%s&#8221;' ), $name ) . '</span></a>';
                                }
                        } elseif ( current_user_can( 'switch_themes' ) ) {
-                               $update_actions['preview']  = '<a href="' . esc_url( $preview_link ) . '" class="hide-if-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Preview') . '</a>';
                                if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
-                                       $update_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
+                                       $update_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize"><span aria-hidden="true">' . __( 'Live Preview' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Live Preview &#8220;%s&#8221;' ), $name ) . '</span></a>';
                                }
-                               $update_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
+                               $update_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink"><span aria-hidden="true">' . __( 'Activate' ) . '</span><span class="screen-reader-text">' . sprintf( __( 'Activate &#8220;%s&#8221;' ), $name ) . '</span></a>';
                        }
 
                        if ( ! $this->result || is_wp_error( $this->result ) || is_network_admin() )
                                unset( $update_actions['preview'], $update_actions['activate'] );
                }
 
-               $update_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Return to Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
+               $update_actions['themes_page'] = '<a href="' . self_admin_url( 'themes.php' ) . '" target="_parent">' . __( 'Return to Themes page' ) . '</a>';
 
                /**
                 * Filter the list of action links available following a single theme update.
@@ -649,6 +778,10 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
        public $done_footer = false;
        public $display_footer_actions = true;
 
+       /**
+        *
+        * @param array $args
+        */
        public function __construct( $args = array() ) {
                $defaults = array( 'url' => '', 'nonce' => '', 'title' => __( 'Update Translations' ), 'skip_header_footer' => false );
                $args = wp_parse_args( $args, $defaults );
@@ -660,6 +793,9 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
                parent::__construct( $args );
        }
 
+       /**
+        * @access public
+        */
        public function before() {
                $name = $this->upgrader->get_name_for_update( $this->language_update );
 
@@ -668,20 +804,30 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
                printf( '<h4>' . __( 'Updating translations for %1$s (%2$s)&#8230;' ) . '</h4>', $name, $this->language_update->language );
        }
 
+       /**
+        *
+        * @param string|WP_Error $error
+        */
        public function error( $error ) {
                echo '<div class="lp-error">';
                parent::error( $error );
                echo '</div>';
        }
 
+       /**
+        * @access public
+        */
        public function after() {
                echo '</div>';
        }
 
+       /**
+        * @access public
+        */
        public function bulk_footer() {
                $this->decrement_update_count( 'translation' );
                $update_actions = array();
-               $update_actions['updates_page'] = '<a href="' . self_admin_url( 'update-core.php' ) . '" title="' . esc_attr__( 'Go to WordPress Updates page' ) . '" target="_parent">' . __( 'Return to WordPress Updates' ) . '</a>';
+               $update_actions['updates_page'] = '<a href="' . self_admin_url( 'update-core.php' ) . '" target="_parent">' . __( 'Return to WordPress Updates page' ) . '</a>';
 
                /**
                 * Filter the list of action links available following a translations update.
@@ -710,6 +856,13 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
 class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
        protected $messages = array();
 
+       /**
+        *
+        * @param bool   $error
+        * @param string $context
+        * @param bool   $allow_relaxed_file_ownership
+        * @return bool
+        */
        public function request_filesystem_credentials( $error = false, $context = '', $allow_relaxed_file_ownership = false ) {
                if ( $context ) {
                        $this->options['context'] = $context;
@@ -722,6 +875,11 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
                return $result;
        }
 
+       /**
+        * @access public
+        *
+        * @return array
+        */
        public function get_upgrade_messages() {
                return $this->messages;
        }
@@ -765,19 +923,19 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
                $this->messages[] = $string;
        }
 
+       /**
+        * @access public
+        */
        public function header() {
                ob_start();
        }
 
+       /**
+        * @access public
+        */
        public function footer() {
-               $output = ob_get_contents();
+               $output = ob_get_clean();
                if ( ! empty( $output ) )
                        $this->feedback( $output );
-               ob_end_clean();
        }
-
-       public function bulk_header() {}
-       public function bulk_footer() {}
-       public function before() {}
-       public function after() {}
 }
index 5d2370d090f732a37ba2205a5ad1022ea2961e94..235df514c1716888f480c0c59f8f5702ab33c007 100644 (file)
@@ -132,6 +132,7 @@ class WP_Upgrader {
                $this->strings['folder_exists'] = __('Destination folder already exists.');
                $this->strings['mkdir_failed'] = __('Could not create directory.');
                $this->strings['incompatible_archive'] = __('The package could not be installed.');
+               $this->strings['files_not_writable'] = __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' );
 
                $this->strings['maintenance_start'] = __('Enabling Maintenance mode&#8230;');
                $this->strings['maintenance_end'] = __('Disabling Maintenance mode&#8230;');
@@ -142,6 +143,8 @@ class WP_Upgrader {
         *
         * @since 2.8.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
         * @param array $directories                  Optional. A list of directories. If any of these do
         *                                            not exist, a {@see WP_Error} object will be returned.
         *                                            Default empty array.
@@ -244,6 +247,8 @@ class WP_Upgrader {
         *
         * @since 2.8.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
         * @param string $package        Full path to the package file.
         * @param bool   $delete_package Optional. Whether to delete the package file after attempting
         *                               to unpack it. Default true.
@@ -288,6 +293,65 @@ class WP_Upgrader {
                return $working_dir;
        }
 
+       /**
+        * Clears the directory where this item is going to be installed into.
+        *
+        * @since 4.3.0
+        *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
+        * @param string $remote_destination The location on the remote filesystem to be cleared
+        * @return bool|WP_Error True upon success, WP_Error on failure.
+        */
+       public function clear_destination( $remote_destination ) {
+               global $wp_filesystem;
+
+               if ( ! $wp_filesystem->exists( $remote_destination ) ) {
+                       return true;
+               }
+
+               // Check all files are writable before attempting to clear the destination.
+               $unwritable_files = array();
+
+               $_files = $wp_filesystem->dirlist( $remote_destination, true, true );
+
+               // Flatten the resulting array, iterate using each as we append to the array during iteration.
+               while ( $f = each( $_files ) ) {
+                       $file = $f['value'];
+                       $name = $f['key'];
+
+                       if ( ! isset( $file['files'] ) ) {
+                               continue;
+                       }
+
+                       foreach ( $file['files'] as $filename => $details ) {
+                               $_files[ $name . '/' . $filename ] = $details;
+                       }
+               }
+
+               // Check writability.
+               foreach ( $_files as $filename => $file_details ) {
+                       if ( ! $wp_filesystem->is_writable( $remote_destination . $filename ) ) {
+
+                               // Attempt to alter permissions to allow writes and try again.
+                               $wp_filesystem->chmod( $remote_destination . $filename, ( 'd' == $file_details['type'] ? FS_CHMOD_DIR : FS_CHMOD_FILE ) );
+                               if ( ! $wp_filesystem->is_writable( $remote_destination . $filename ) ) {
+                                       $unwritable_files[] = $filename;
+                               }
+                       }
+               }
+
+               if ( ! empty( $unwritable_files ) ) {
+                       return new WP_Error( 'files_not_writable', $this->strings['files_not_writable'], implode( ', ', $unwritable_files ) );
+               }
+
+               if ( ! $wp_filesystem->delete( $remote_destination, true ) ) {
+                       return new WP_Error( 'remove_old_failed', $this->strings['remove_old_failed'] );
+               }
+
+               return true;
+       }
+
        /**
         * Install a package.
         *
@@ -297,6 +361,9 @@ class WP_Upgrader {
         *
         * @since 2.8.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        * @global array              $wp_theme_directories
+        *
         * @param array|string $args {
         *     Optional. Array or string of arguments for installing a package. Default empty array.
         *
@@ -410,29 +477,25 @@ class WP_Upgrader {
                }
 
                if ( $clear_destination ) {
-                       //We're going to clear the destination if there's something there
+                       // We're going to clear the destination if there's something there
                        $this->skin->feedback('remove_old');
-                       $removed = true;
-                       if ( $wp_filesystem->exists( $remote_destination ) ) {
-                               $removed = $wp_filesystem->delete( $remote_destination, true );
-                       }
+
+                       $removed = $this->clear_destination( $remote_destination );
 
                        /**
                         * Filter whether the upgrader cleared the destination.
                         *
                         * @since 2.8.0
                         *
-                        * @param bool   $removed            Whether the destination was cleared.
+                        * @param mixed  $removed            Whether the destination was cleared. true on success, WP_Error on failure
                         * @param string $local_destination  The local package destination.
                         * @param string $remote_destination The remote package destination.
                         * @param array  $hook_extra         Extra arguments passed to hooked filters.
                         */
                        $removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $args['hook_extra'] );
 
-                       if ( is_wp_error($removed) ) {
+                       if ( is_wp_error( $removed ) ) {
                                return $removed;
-                       } elseif ( ! $removed ) {
-                               return new WP_Error('remove_old_failed', $this->strings['remove_old_failed']);
                        }
                } elseif ( $args['abort_if_destination_exists'] && $wp_filesystem->exists($remote_destination) ) {
                        //If we're not clearing the destination folder and something exists there already, Bail.
@@ -539,6 +602,25 @@ class WP_Upgrader {
 
                $options = wp_parse_args( $options, $defaults );
 
+               /**
+                * Filter the package options before running an update.
+                *
+                * @since 4.3.0
+                *
+                * @param array $options {
+                *     Options used by the upgrader.
+                *
+                *     @type string $package                     Package for update.
+                *     @type string $destination                 Update location.
+                *     @type bool   $clear_destination           Clear the destination resource.
+                *     @type bool   $clear_working               Clear the working resource.
+                *     @type bool   $abort_if_destination_exists Abort if the Destination directory exists.
+                *     @type bool   $is_multi                    Whether the upgrader is running multiple times.
+                *     @type array  $hook_extra                  Extra hook arguments.
+                * }
+                */
+               $options = apply_filters( 'upgrader_package_options', $options );
+
                if ( ! $options['is_multi'] ) { // call $this->header separately if running multiple times
                        $this->skin->header();
                }
@@ -626,6 +708,8 @@ class WP_Upgrader {
         *
         * @since 2.8.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
         * @param bool $enable True to enable maintenance mode, false to disable.
         */
        public function maintenance_mode( $enable = false ) {
@@ -957,6 +1041,8 @@ class Plugin_Upgrader extends WP_Upgrader {
         *
         * @since 3.3.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
         * @param string $source The path to the downloaded package source.
         * @return string|WP_Error The source as passed, or a {@see WP_Error} object if no plugins were found.
         */
@@ -1053,6 +1139,14 @@ class Plugin_Upgrader extends WP_Upgrader {
         * {@see Plugin_Upgrader::upgrade()} and {@see Plugin_Upgrader::bulk_upgrade()}.
         *
         * @since 2.8.0
+        *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+     *
+        * @param bool|WP_Error $removed
+        * @param string        $local_destination
+        * @param string        $remote_destination
+        * @param array         $plugin
+        * @return WP_Error|bool
         */
        public function delete_old_plugin($removed, $local_destination, $remote_destination, $plugin) {
                global $wp_filesystem;
@@ -1156,6 +1250,11 @@ class Theme_Upgrader extends WP_Upgrader {
         * Hooked to the {@see 'upgrader_post_install'} filter by {@see Theme_Upgrader::install()}.
         *
         * @since 3.4.0
+        *
+        * @param bool  $install_result
+        * @param array $hook_extra
+        * @param array $child_result
+        * @return type
         */
        public function check_parent_theme_filter( $install_result, $hook_extra, $child_result ) {
                // Check to see if we need to install a parent theme
@@ -1226,6 +1325,7 @@ class Theme_Upgrader extends WP_Upgrader {
         * @since 3.4.0
         *
         * @param array $actions Preview actions.
+        * @return array
         */
        public function hide_activate_preview_actions( $actions ) {
                unset($actions['activate'], $actions['preview']);
@@ -1475,6 +1575,8 @@ class Theme_Upgrader extends WP_Upgrader {
         *
         * @since 3.3.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
         * @param string $source The full path to the package source.
         * @return string|WP_Error The source or a WP_Error.
         */
@@ -1512,9 +1614,12 @@ class Theme_Upgrader extends WP_Upgrader {
         * {@see Theme_Upgrader::bulk_upgrade()}.
         *
         * @since 2.8.0
+        *
+        * @param bool|WP_Error  $return
+        * @param array          $theme
+        * @return bool|WP_Error
         */
        public function current_before($return, $theme) {
-
                if ( is_wp_error($return) )
                        return $return;
 
@@ -1536,6 +1641,10 @@ class Theme_Upgrader extends WP_Upgrader {
         * and {@see Theme_Upgrader::bulk_upgrade()}.
         *
         * @since 2.8.0
+        *
+        * @param bool|WP_Error  $return
+        * @param array          $theme
+        * @return bool|WP_Error
         */
        public function current_after($return, $theme) {
                if ( is_wp_error($return) )
@@ -1566,6 +1675,14 @@ class Theme_Upgrader extends WP_Upgrader {
         * and {@see Theme_Upgrader::bulk_upgrade()}.
         *
         * @since 2.8.0
+        *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
+        * @param bool   $removed
+        * @param string $local_destination
+        * @param string $remote_destination
+        * @param array  $theme
+        * @return bool
         */
        public function delete_old_theme( $removed, $local_destination, $remote_destination, $theme ) {
                global $wp_filesystem;
@@ -1610,8 +1727,6 @@ class Theme_Upgrader extends WP_Upgrader {
 
 }
 
-add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
-
 /**
  * Language pack upgrader, for updating translations of plugins, themes, and core.
  *
@@ -1644,6 +1759,10 @@ class Language_Pack_Upgrader extends WP_Upgrader {
         * Hooked to the {@see 'upgrader_process_complete'} action by default.
         *
         * @since 3.7.0
+        *
+        * @static
+        *
+        * @param false|WP_Upgrader $upgrader
         */
        public static function async_upgrade( $upgrader = false ) {
                // Avoid recursion.
@@ -1717,7 +1836,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
         * @param string|false $update Optional. Whether an update offer is available. Default false.
         * @param array        $args   Optional. Other optional arguments, see
         *                             {@see Language_Pack_Upgrader::bulk_upgrade()}. Default empty array.
-        * @return array|WP_Error The result of the upgrade, or a {@see wP_Error} object instead.
+        * @return array|bool|WP_Error The result of the upgrade, or a {@see wP_Error} object instead.
         */
        public function upgrade( $update = false, $args = array() ) {
                if ( $update ) {
@@ -1738,6 +1857,8 @@ class Language_Pack_Upgrader extends WP_Upgrader {
         *
         * @since 3.7.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
         * @param array $language_updates Optional. Language pack updates. Default empty array.
         * @param array $args {
         *     Optional. Other arguments for upgrading multiple language packs. Default empty array
@@ -1745,7 +1866,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
         *     @type bool $clear_update_cache Whether to clear the update cache when done.
         *                                    Default true.
         * }
-        * @return array|true|false|WP_Error Will return an array of results, or true if there are no updates,
+        * @return array|bool|WP_Error Will return an array of results, or true if there are no updates,
         *                                   false or WP_Error for initial errors.
         */
        public function bulk_upgrade( $language_updates = array(), $args = array() ) {
@@ -1779,7 +1900,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
                // Remove any existing upgrade filters from the plugin/theme upgraders #WP29425 & #WP29230
                remove_all_filters( 'upgrader_pre_install' );
                remove_all_filters( 'upgrader_clear_destination' );
-               remove_all_filterS( 'upgrader_post_install' );
+               remove_all_filters( 'upgrader_post_install' );
                remove_all_filters( 'upgrader_source_selection' );
 
                add_filter( 'upgrader_source_selection', array( $this, 'check_package' ), 10, 2 );
@@ -1862,6 +1983,11 @@ class Language_Pack_Upgrader extends WP_Upgrader {
         * {@see Language_Pack_Upgrader::bulk_upgrade()}.
         *
         * @since 3.7.0
+        *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        *
+        * @param string|WP_Error $source
+        * @param string          $remote_source
         */
        public function check_package( $source, $remote_source ) {
                global $wp_filesystem;
@@ -1893,7 +2019,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
         *
         * @since 3.7.0
         *
-        * @param object The data for an update.
+        * @param object $update The data for an update.
         * @return string The name of the item being updated.
         */
        public function get_name_for_update( $update ) {
@@ -1948,6 +2074,9 @@ class Core_Upgrader extends WP_Upgrader {
         *
         * @since 2.8.0
         *
+        * @global WP_Filesystem_Base $wp_filesystem Subclass
+        * @global callback           $_wp_filesystem_direct_method
+        *
         * @param object $current Response object for whether WordPress is current.
         * @param array  $args {
         *        Optional. Arguments for upgrading WordPress core. Default empty array.
@@ -2115,6 +2244,8 @@ class Core_Upgrader extends WP_Upgrader {
         *
         * @since 3.7.0
         *
+        * @static
+        *
         * @param string $offered_ver The offered version, of the format x.y.z.
         * @return bool True if we should update to the offered version, otherwise false.
         */
@@ -2221,6 +2352,9 @@ class Core_Upgrader extends WP_Upgrader {
         *
         * @since 3.7.0
         *
+        * @global string $wp_version
+        * @global string $wp_local_package
+        *
         * @return bool True if the checksums match, otherwise false.
         */
        public function check_files() {
@@ -2466,6 +2600,8 @@ class WP_Automatic_Updater {
         *
         * @since 3.7.0
         *
+        * @global wpdb $wpdb
+        *
         * @param string $type    The type of update being checked: 'core', 'theme',
         *                        'plugin', 'translation'.
         * @param object $item    The update offer.
@@ -2592,6 +2728,8 @@ class WP_Automatic_Updater {
         *
         * @param string $type The type of update being checked: 'core', 'theme', 'plugin', 'translation'.
         * @param object $item The update offer.
+        *
+        * @return null|WP_Error
         */
        public function update( $type, $item ) {
                $skin = new Automatic_Upgrader_Skin;
@@ -2690,6 +2828,9 @@ class WP_Automatic_Updater {
         * Kicks off the background update process, looping through all pending updates.
         *
         * @since 3.7.0
+        *
+        * @global wpdb   $wpdb
+        * @global string $wp_version
         */
        public function run() {
                global $wpdb, $wp_version;
@@ -2825,7 +2966,9 @@ class WP_Automatic_Updater {
         * If we tried to perform a core update, check if we should send an email,
         * and if we need to avoid processing future updates.
         *
-        * @param object $update_result The result of the core update. Includes the update offer and result.
+        * @global string $wp_version
+        *
+        * @param object|WP_Error $update_result The result of the core update. Includes the update offer and result.
         */
        protected function after_core_update( $update_result ) {
                global $wp_version;
@@ -2912,6 +3055,8 @@ class WP_Automatic_Updater {
         *
         * @since 3.7.0
         *
+        * @global string $wp_version
+        *
         * @param string $type        The type of email to send. Can be one of 'success', 'fail', 'manual', 'critical'.
         * @param object $core_update The update offer that was attempted.
         * @param mixed  $result      Optional. The result for the core update. Can be WP_Error.
index 07aab5b1b78a886bf113eedd5e9e25d9e6f807d1..4035c58cb6e103234e6d8a54dcb7636c7d98b572 100644 (file)
@@ -56,6 +56,8 @@ class WP_Users_List_Table extends WP_List_Table {
         *
         * @since 3.1.0
         * @access public
+        *
+        * @return bool
         */
        public function ajax_user_can() {
                if ( $this->is_site_users )
@@ -69,6 +71,9 @@ class WP_Users_List_Table extends WP_List_Table {
         *
         * @since 3.1.0
         * @access public
+        *
+        * @global string $role
+        * @global string $usersearch
         */
        public function prepare_items() {
                global $role, $usersearch;
@@ -133,10 +138,14 @@ class WP_Users_List_Table extends WP_List_Table {
         * @since  3.1.0
         * @access protected
         *
+        * @global string $role
+        *
         * @return array An array of HTML links, one for each view.
         */
        protected function get_views() {
-               global $wp_roles, $role;
+               global $role;
+
+               $wp_roles = wp_roles();
 
                if ( $this->is_site_users ) {
                        $url = 'site-users.php?id=' . $this->site_id;
@@ -329,8 +338,6 @@ class WP_Users_List_Table extends WP_List_Table {
         * @since 4.2.0 The `$style` argument was deprecated.
         * @access public
         *
-        * @global WP_Roles $wp_roles User roles object.
-        *
         * @param object $user_object The current user object.
         * @param string $style       Deprecated. Not used.
         * @param string $role        Optional. Key for the $wp_roles array. Default empty.
@@ -339,7 +346,7 @@ class WP_Users_List_Table extends WP_List_Table {
         * @return string Output for a single row.
         */
        public function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
-               global $wp_roles;
+               $wp_roles = wp_roles();
 
                if ( ! ( $user_object instanceof WP_User ) ) {
                        $user_object = get_userdata( (int) $user_object );
@@ -384,7 +391,6 @@ class WP_Users_List_Table extends WP_List_Table {
                         * @param WP_User $user_object WP_User object for the currently-listed user.
                         */
                        $actions = apply_filters( 'user_row_actions', $actions, $user_object );
-                       $edit .= $this->row_actions( $actions );
 
                        // Set up the checkbox ( because the user is editable, otherwise it's empty )
                        $checkbox = '<label class="screen-reader-text" for="user_' . $user_object->ID . '">' . sprintf( __( 'Select %s' ), $user_object->user_login ) . '</label>'
@@ -398,63 +404,85 @@ class WP_Users_List_Table extends WP_List_Table {
 
                $r = "<tr id='user-$user_object->ID'>";
 
-               list( $columns, $hidden ) = $this->get_column_info();
+               list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
 
                foreach ( $columns as $column_name => $column_display_name ) {
-                       $class = "class=\"$column_name column-$column_name\"";
-
-                       $style = '';
-                       if ( in_array( $column_name, $hidden ) )
-                               $style = ' style="display:none;"';
-
-                       $attributes = "$class$style";
-
-                       switch ( $column_name ) {
-                               case 'cb':
-                                       $r .= "<th scope='row' class='check-column'>$checkbox</th>";
-                                       break;
-                               case 'username':
-                                       $r .= "<td $attributes>$avatar $edit</td>";
-                                       break;
-                               case 'name':
-                                       $r .= "<td $attributes>$user_object->first_name $user_object->last_name</td>";
-                                       break;
-                               case 'email':
-                                       $r .= "<td $attributes><a href='" . esc_url( "mailto:$email" ) . "' title='" . esc_attr( sprintf( __( 'E-mail: %s' ), $email ) ) . "'>$email</a></td>";
-                                       break;
-                               case 'role':
-                                       $r .= "<td $attributes>$role_name</td>";
-                                       break;
-                               case 'posts':
-                                       $attributes = 'class="posts column-posts num"' . $style;
-                                       $r .= "<td $attributes>";
-                                       if ( $numposts > 0 ) {
-                                               $r .= "<a href='edit.php?author=$user_object->ID' title='" . esc_attr__( 'View posts by this author' ) . "' class='edit'>";
-                                               $r .= $numposts;
-                                               $r .= '</a>';
-                                       } else {
-                                               $r .= 0;
-                                       }
-                                       $r .= "</td>";
-                                       break;
-                               default:
-                                       $r .= "<td $attributes>";
-
-                                       /**
-                                        * Filter the display output of custom columns in the Users list table.
-                                        *
-                                        * @since 2.8.0
-                                        *
-                                        * @param string $output      Custom column output. Default empty.
-                                        * @param string $column_name Column name.
-                                        * @param int    $user_id     ID of the currently-listed user.
-                                        */
-                                       $r .= apply_filters( 'manage_users_custom_column', '', $column_name, $user_object->ID );
-                                       $r .= "</td>";
+                       $classes = "$column_name column-$column_name";
+                       if ( $primary === $column_name ) {
+                               $classes .= ' has-row-actions column-primary';
+                       }
+                       if ( 'posts' === $column_name ) {
+                               $classes .= ' num'; // Special case for that column
+                       }
+
+                       if ( in_array( $column_name, $hidden ) ) {
+                               $classes .= ' hidden';
+                       }
+
+                       $data = 'data-colname="' . wp_strip_all_tags( $column_display_name ) . '"';
+
+                       $attributes = "class='$classes' $data";
+
+                       if ( 'cb' === $column_name ) {
+                               $r .= "<th scope='row' class='check-column'>$checkbox</th>";
+                       } else {
+                               $r .= "<td $attributes>";
+                               switch ( $column_name ) {
+                                       case 'username':
+                                               $r .= "$avatar $edit";
+                                               break;
+                                       case 'name':
+                                               $r .= "$user_object->first_name $user_object->last_name";
+                                               break;
+                                       case 'email':
+                                               $r .= "<a href='mailto:$email'>$email</a>";
+                                               break;
+                                       case 'role':
+                                               $r .= $role_name;
+                                               break;
+                                       case 'posts':
+                                               if ( $numposts > 0 ) {
+                                                       $r .= "<a href='edit.php?author=$user_object->ID' class='edit'>";
+                                                       $r .= '<span aria-hidden="true">' . $numposts . '</span>';
+                                                       $r .= '<span class="screen-reader-text">' . sprintf( _n( '%s post by this author', '%s posts by this author', $numposts ), number_format_i18n( $numposts ) ) . '</span>';
+                                                       $r .= '</a>';
+                                               } else {
+                                                       $r .= 0;
+                                               }
+                                               break;
+                                       default:
+                                               /**
+                                                * Filter the display output of custom columns in the Users list table.
+                                                *
+                                                * @since 2.8.0
+                                                *
+                                                * @param string $output      Custom column output. Default empty.
+                                                * @param string $column_name Column name.
+                                                * @param int    $user_id     ID of the currently-listed user.
+                                                */
+                                               $r .= apply_filters( 'manage_users_custom_column', '', $column_name, $user_object->ID );
+                               }
+
+                               if ( $primary === $column_name ) {
+                                       $r .= $this->row_actions( $actions );
+                               }
+                               $r .= "</td>";
                        }
                }
                $r .= '</tr>';
 
                return $r;
        }
+
+       /**
+        * Gets the name of the default primary column.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @return string Name of the default primary column, in this case, 'username'.
+        */
+       protected function get_default_primary_column_name() {
+               return 'username';
+       }
 }
index 06447d41d05465efe8785fbe78cf44362df9f5b9..36954b231c6e70c4b096882395ef4555981f95cc 100644 (file)
 function comment_exists($comment_author, $comment_date) {
        global $wpdb;
 
-       $comment_author = stripslashes($comment_author);
-       $comment_date = stripslashes($comment_date);
-
        return $wpdb->get_var( $wpdb->prepare("SELECT comment_post_ID FROM $wpdb->comments
-                       WHERE comment_author = %s AND comment_date = %s", $comment_author, $comment_date) );
+                       WHERE comment_author = %s AND comment_date = %s",
+                       stripslashes( $comment_author ),
+                       stripslashes( $comment_date )
+       ) );
 }
 
 /**
@@ -33,7 +33,6 @@ function comment_exists($comment_author, $comment_date) {
  * @since 2.0.0
  */
 function edit_comment() {
-
        if ( ! current_user_can( 'edit_comment', (int) $_POST['comment_ID'] ) )
                wp_die ( __( 'You are not allowed to edit comments on this post.' ) );
 
@@ -80,7 +79,7 @@ function edit_comment() {
  * @since 2.0.0
  *
  * @param int $id ID of comment to retrieve.
- * @return bool|object Comment if found. False on failure.
+ * @return object|false Comment if found. False on failure.
  */
 function get_comment_to_edit( $id ) {
        if ( !$comment = get_comment($id) )
@@ -156,7 +155,8 @@ function get_pending_comments_num( $post_id ) {
  * Add avatars to relevant places in admin, or try to.
  *
  * @since 2.5.0
- * @uses $comment
+ *
+ * @global object $comment
  *
  * @param string $name User name.
  * @return string Avatar with Admin name.
@@ -167,6 +167,9 @@ function floated_admin_avatar( $name ) {
        return "$avatar $name";
 }
 
+/**
+ * @since 2.7.0
+ */
 function enqueue_comment_hotkeys_js() {
        if ( 'true' == get_user_option( 'comment_shortcuts' ) )
                wp_enqueue_script( 'jquery-table-hotkeys' );
index b7dda1323dc7c59814292369e57802737c0a8d31..49fcdd926b7db0112d781f2da5737353face1510 100644 (file)
  * Handles POST data, sets up filters.
  *
  * @since 2.5.0
+ *
+ * @global array $wp_registered_widgets
+ * @global array $wp_registered_widget_controls
+ * @global array $wp_dashboard_control_callbacks
  */
 function wp_dashboard_setup() {
        global $wp_registered_widgets, $wp_registered_widget_controls, $wp_dashboard_control_callbacks;
@@ -125,6 +129,16 @@ function wp_dashboard_setup() {
        do_action( 'do_meta_boxes', $screen->id, 'side', '' );
 }
 
+/**
+ *
+ * @global array   $wp_dashboard_control_callbacks
+ *
+ * @param string   $widget_id
+ * @param string   $widget_name
+ * @param callback $callback
+ * @param callback $control_callback
+ * @param array    $callback_args
+ */
 function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null, $callback_args = null ) {
        $screen = get_current_screen();
        global $wp_dashboard_control_callbacks;
@@ -154,6 +168,11 @@ function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_
        add_meta_box( $widget_id, $widget_name, $callback, $screen, $location, $priority, $callback_args );
 }
 
+/**
+ *
+ * @param type $dashboard
+ * @param type $meta_box
+ */
 function _wp_dashboard_control_callback( $dashboard, $meta_box ) {
        echo '<form method="post" class="dashboard-widget-control-form">';
        wp_dashboard_trigger_widget_control( $meta_box['id'] );
@@ -336,6 +355,9 @@ function wp_dashboard_right_now() {
        <?php endif;
 }
 
+/**
+ * @since 3.1.0
+ */
 function wp_network_dashboard_right_now() {
        $actions = array();
        if ( current_user_can('create_sites') )
@@ -413,6 +435,8 @@ function wp_network_dashboard_right_now() {
  *
  * @since 3.8.0
  *
+ * @global int $post_ID
+ *
  * @param string $error_msg Optional. Error message. Default false.
  */
 function wp_dashboard_quick_press( $error_msg = false ) {
@@ -483,6 +507,8 @@ function wp_dashboard_quick_press( $error_msg = false ) {
  * Show recent drafts of the user on the dashboard.
  *
  * @since 2.7.0
+ *
+ * @param array $drafts
  */
 function wp_dashboard_recent_drafts( $drafts = false ) {
        if ( ! $drafts ) {
@@ -521,6 +547,12 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
        echo "</ul>\n</div>";
 }
 
+/**
+ * @global object $comment
+ *
+ * @param object $comment
+ * @param bool   $show_date
+ */
 function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
        $GLOBALS['comment'] =& $comment;
 
@@ -599,7 +631,7 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
 
                        <?php if ( !$comment->comment_type || 'comment' == $comment->comment_type ) : ?>
 
-                       <div class="dashboard-comment-wrap">
+                       <div class="dashboard-comment-wrap has-row-actions">
                        <h4 class="comment-meta">
                                <?php printf( /* translators: 1: comment author, 2: post link, 3: notification if the comment is pending */__( 'From %1$s on %2$s%3$s' ),
                                        '<cite class="comment-author">' . get_comment_author_link() . '</cite>', $comment_post_link.' '.$comment_link, ' <span class="approve">' . __( '[Pending]' ) . '</span>' ); ?>
@@ -619,7 +651,7 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
                                }
                                $type = esc_html( $type );
                        ?>
-                       <div class="dashboard-comment-wrap">
+                       <div class="dashboard-comment-wrap has-row-actions">
                        <?php /* translators: %1$s is type of comment, %2$s is link to the post */ ?>
                        <h4 class="comment-meta"><?php printf( _x( '%1$s on %2$s', 'dashboard' ), "<strong>$type</strong>", $comment_post_link." ".$comment_link ); ?></h4>
                        <p class="comment-author"><?php comment_author_link(); ?></p>
@@ -770,6 +802,9 @@ function wp_dashboard_recent_comments( $total_items = 5 ) {
                $comments_query['status'] = 'approve';
 
        while ( count( $comments ) < $total_items && $possible = get_comments( $comments_query ) ) {
+               if ( ! is_array( $possible ) ) {
+                       break;
+               }
                foreach ( $possible as $comment ) {
                        if ( ! current_user_can( 'read_post', $comment->comment_post_ID ) )
                                continue;
@@ -845,7 +880,8 @@ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = ar
                $check_urls = array( $widgets[$widget_id]['url'] );
        }
 
-       $cache_key = 'dash_' . md5( $widget_id );
+       $locale = get_locale();
+       $cache_key = 'dash_' . md5( $widget_id . '_' . $locale );
        if ( false !== ( $output = get_transient( $cache_key ) ) ) {
                echo $output;
                return true;
@@ -875,6 +911,8 @@ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = ar
  *
  * @since 2.5.0
  *
+ * @global array $wp_dashboard_control_callbacks
+ *
  * @param int $widget_control_id Registered Widget ID.
  */
 function wp_dashboard_trigger_widget_control( $widget_control_id = false ) {
@@ -1174,7 +1212,6 @@ function wp_dashboard_quota() {
        </div>
        <?php
 }
-add_action( 'activity_box_end', 'wp_dashboard_quota' );
 
 // Display Browser Nag Meta Box
 function wp_dashboard_browser_nag() {
@@ -1218,6 +1255,12 @@ function wp_dashboard_browser_nag() {
        echo apply_filters( 'browse-happy-notice', $notice, $response );
 }
 
+/**
+ * @since 3.2.0
+ *
+ * @param array $classes
+ * @return array
+ */
 function dashboard_browser_nag_class( $classes ) {
        $response = wp_check_browser_version();
 
@@ -1232,6 +1275,8 @@ function dashboard_browser_nag_class( $classes ) {
  *
  * @since 3.2.0
  *
+ * @global string $wp_version
+ *
  * @return array|bool False on failure, array of browser data on success.
  */
 function wp_check_browser_version() {
index 59140b730496600b71da45a4555e3c52bf1e5f9c..e12547e90b6d61acb655240b15cade889317e618 100644 (file)
@@ -470,7 +470,7 @@ class WP_User_Search {
        var $paging_text;
 
        /**
-        * PHP4 Constructor - Sets up the object properties.
+        * PHP5 Constructor - Sets up the object properties.
         *
         * @since 2.1.0
         *
@@ -479,7 +479,7 @@ class WP_User_Search {
         * @param string $role Role name.
         * @return WP_User_Search
         */
-       function WP_User_Search ($search_term = '', $page = '', $role = '') {
+       function __construct( $search_term = '', $page = '', $role = '' ) {
                _deprecated_function( __FUNCTION__, '3.1', 'WP_User_Query' );
 
                $this->search_term = wp_unslash( $search_term );
@@ -492,6 +492,20 @@ class WP_User_Search {
                $this->do_paging();
        }
 
+       /**
+        * PHP4 Constructor - Sets up the object properties.
+        *
+        * @since 2.1.0
+        *
+        * @param string $search_term Search terms string.
+        * @param int $page Optional. Page ID.
+        * @param string $role Role name.
+        * @return WP_User_Search
+        */
+       public function WP_User_Search( $search_term = '', $page = '', $role = '' ) {
+               self::__construct( $search_term, $page, $role );
+       }
+
        /**
         * {@internal Missing Short Description}}
         *
@@ -572,9 +586,9 @@ class WP_User_Search {
        function do_paging() {
                if ( $this->total_users_for_query > $this->users_per_page ) { // have to page the results
                        $args = array();
-                       if( ! empty($this->search_term) )
+                       if ( ! empty($this->search_term) )
                                $args['usersearch'] = urlencode($this->search_term);
-                       if( ! empty($this->role) )
+                       if ( ! empty($this->role) )
                                $args['role'] = urlencode($this->role);
 
                        $this->paging_text = paginate_links( array(
@@ -732,6 +746,8 @@ function wp_dashboard_quick_press_output() {
  * @deprecated 3.3.0
  * @deprecated Use wp_editor()
  * @see wp_editor()
+ *
+ * @staticvar int $num
  */
 function wp_tiny_mce( $teeny = false, $settings = false ) {
        _deprecated_function( __FUNCTION__, '3.3', 'wp_editor()' );
index cd50e61bb196b654d7767377ebdf30f034a1c331..98989324e1a0d22f2931100688b8e7f606af52c1 100644 (file)
@@ -20,6 +20,9 @@ define( 'WXR_VERSION', '1.2' );
  *
  * @since 2.1.0
  *
+ * @global wpdb    $wpdb
+ * @global WP_Post $post
+ *
  * @param array $args Filters defining what should be included in the export.
  */
 function export_wp( $args = array() ) {
@@ -130,9 +133,9 @@ function export_wp( $args = array() ) {
         * @return string
         */
        function wxr_cdata( $str ) {
-               if ( seems_utf8( $str ) == false )
+               if ( ! seems_utf8( $str ) ) {
                        $str = utf8_encode( $str );
-
+               }
                // $str = ent2ncr(esc_html($str));
                $str = '<![CDATA[' . str_replace( ']]>', ']]]]><![CDATA[>', $str ) . ']]>';
 
@@ -244,6 +247,8 @@ function export_wp( $args = array() ) {
         *
         * @since 3.1.0
         *
+        * @global wpdb $wpdb
+        *
         * @param array $post_ids Array of post IDs to filter the query by. Optional.
         */
        function wxr_authors_list( array $post_ids = null ) {
@@ -310,6 +315,12 @@ function export_wp( $args = array() ) {
                }
        }
 
+       /**
+        *
+        * @param bool   $return_me
+        * @param string $meta_key
+        * @return bool
+        */
        function wxr_filter_postmeta( $return_me, $meta_key ) {
                if ( '_edit_lock' == $meta_key )
                        $return_me = true;
@@ -375,6 +386,9 @@ function export_wp( $args = array() ) {
        ?>
 
 <?php if ( $post_ids ) {
+       /**
+        * @global WP_Query $wp_query
+        */
        global $wp_query;
 
        // Fake being in the loop.
index 6c12b3f37a9e1bb13c77fc792352daf532b3e5c6..df489491e6391356f1aca3904a0709dbe343082d 100644 (file)
@@ -50,7 +50,7 @@ $wp_file_descriptions = array(
  *
  * @since 1.5.0
  *
- * @uses $wp_file_descriptions
+ * @global array $wp_file_descriptions
  * @param string $file Filesystem path or filename
  * @return string Description of file from $wp_file_descriptions or basename of $file if description doesn't exist
  */
@@ -516,6 +516,8 @@ function verify_file_md5( $filename, $expected_md5 ) {
  *
  * @since 2.5.0
  *
+ * @global WP_Filesystem_Base $wp_filesystem Subclass
+ *
  * @param string $file Full path and filename of zip archive
  * @param string $to Full path on the filesystem to extract archive to
  * @return mixed WP_Error on failure, True on success
@@ -579,6 +581,8 @@ function unzip_file($file, $to) {
  * @see unzip_file
  * @access private
  *
+ * @global WP_Filesystem_Base $wp_filesystem Subclass
+ *
  * @param string $file Full path and filename of zip archive
  * @param string $to Full path on the filesystem to extract archive to
  * @param array $needed_dirs A partial list of required folders needed to be created.
@@ -677,6 +681,8 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) {
  * @see unzip_file
  * @access private
  *
+ * @global WP_Filesystem_Base $wp_filesystem Subclass
+ *
  * @param string $file Full path and filename of zip archive
  * @param string $to Full path on the filesystem to extract archive to
  * @param array $needed_dirs A partial list of required folders needed to be created.
@@ -769,6 +775,8 @@ function _unzip_file_pclzip($file, $to, $needed_dirs = array()) {
  *
  * @since 2.5.0
  *
+ * @global WP_Filesystem_Base $wp_filesystem Subclass
+ *
  * @param string $from source directory
  * @param string $to destination directory
  * @param array $skip_list a list of files/folders to skip copying
@@ -823,13 +831,13 @@ function copy_dir($from, $to, $skip_list = array() ) {
  *
  * @since 2.5.0
  *
- * @param array  $args                         Optional. Connection args, These are passed directly to
- *                                             the `WP_Filesystem_*()` classes. Default false.
- * @param string $context                      Optional. Context for {@see get_filesystem_method()}.
- *                                             Default false.
- * @param bool   $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable.
- *                                             Default false.
- * @return null|boolean false on failure, true on success.
+ * @global WP_Filesystem_Base $wp_filesystem Subclass
+ *
+ * @param array|false  $args                         Optional. Connection args, These are passed directly to
+ *                                                   the `WP_Filesystem_*()` classes. Default false.
+ * @param string|false $context                      Optional. Context for get_filesystem_method(). Default false.
+ * @param bool         $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. Default false.
+ * @return null|bool false on failure, true on success.
  */
 function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_ownership = false ) {
        global $wp_filesystem;
@@ -902,6 +910,8 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own
  *
  * @since 2.5.0
  *
+ * @global callback $_wp_filesystem_direct_method
+ *
  * @param array  $args                         Optional. Connection details. Default empty array.
  * @param string $context                      Optional. Full path to the directory that is tested
  *                                             for being writable. Default false.
@@ -986,13 +996,13 @@ function get_filesystem_method( $args = array(), $context = false, $allow_relaxe
  *
  * @todo Properly mark optional arguments as such
  *
- * @param string $form_post the URL to post the form to
- * @param string $type the chosen Filesystem method in use
- * @param boolean $error if the current request has failed to connect
- * @param string $context The directory which is needed access to, The write-test will be performed on this directory by get_filesystem_method()
- * @param array $extra_fields Extra POST fields which should be checked for to be included in the post.
- * @param bool $allow_relaxed_file_ownership Whether to allow Group/World writable.
- * @return boolean False on failure. True on success.
+ * @param string $form_post    the URL to post the form to
+ * @param string $type         the chosen Filesystem method in use
+ * @param bool   $error        if the current request has failed to connect
+ * @param string $context      The directory which is needed access to, The write-test will be performed on this directory by get_filesystem_method()
+ * @param array  $extra_fields Extra POST fields which should be checked for to be included in the post.
+ * @param bool   $allow_relaxed_file_ownership Whether to allow Group/World writable.
+ * @return bool False on failure. True on success.
  */
 function request_filesystem_credentials($form_post, $type = '', $error = false, $context = false, $extra_fields = null, $allow_relaxed_file_ownership = false ) {
 
index 5a82b4155f3769c220efff1d92d8a718afd16d66..c15562f3108ed99653947f687d6dc65b8b3cf54f 100644 (file)
@@ -208,7 +208,7 @@ function wp_image_editor($post_id, $msg = false) {
  * @param WP_Image_Editor $image
  * @param string $mime_type
  * @param int $post_id
- * @return boolean
+ * @return bool
  */
 function wp_stream_image( $image, $mime_type, $post_id ) {
        if ( $image instanceof WP_Image_Editor ) {
@@ -264,7 +264,7 @@ function wp_stream_image( $image, $mime_type, $post_id ) {
  * @param WP_Image_Editor $image
  * @param string $mime_type
  * @param int $post_id
- * @return boolean
+ * @return bool
  */
 function wp_save_image_file( $filename, $image, $mime_type, $post_id ) {
        if ( $image instanceof WP_Image_Editor ) {
@@ -552,7 +552,7 @@ function image_edit_apply_changes( $image, $changes ) {
  * in $_REQUEST['history']
  *
  * @param int $post_id
- * @return boolean
+ * @return bool
  */
 function stream_preview_image( $post_id ) {
        $post = get_post( $post_id );
@@ -672,6 +672,8 @@ function wp_restore_image($post_id) {
  * Saves image to post along with enqueued changes
  * in $_REQUEST['history']
  *
+ * @global array $_wp_additional_image_sizes
+ *
  * @param int $post_id
  * @return \stdClass
  */
index 355a63d737f4e09a596b03288fcfee8f0d6bbe16..be023e23f9fc0a15279a71456a8e1b3046d05ee3 100644 (file)
@@ -67,6 +67,8 @@ function wp_crop_image( $src, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $s
  *
  * @since 2.1.0
  *
+ * @global array $_wp_additional_image_sizes
+ *
  * @param int $attachment_id Attachment Id to process.
  * @param string $file Filepath of the Attached image.
  * @return mixed Metadata for attachment.
@@ -190,8 +192,7 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
        }
 
        // Remove the blob of binary data from the array.
-       if ( isset( $metadata['image']['data'] ) )
-               unset( $metadata['image']['data'] );
+       unset( $metadata['image']['data'] );
 
        /**
         * Filter the generated attachment meta data.
index 55c6e78bb95f099d371c5d5764b363f8b449d9c1..8b6737437ad705ad3b5862962a2a2225ef8175f3 100644 (file)
@@ -11,6 +11,7 @@
  *
  * @since 2.0.0
  *
+ * @global array $wp_importers
  * @return array
  */
 function get_importers() {
@@ -42,10 +43,12 @@ function _usort_by_first_member( $a, $b ) {
  *
  * @since 2.0.0
  *
- * @param string $id Importer tag. Used to uniquely identify importer.
- * @param string $name Importer name and title.
- * @param string $description Importer description.
- * @param callback $callback Callback to run.
+ * @global array $wp_importers
+ *
+ * @param string   $id          Importer tag. Used to uniquely identify importer.
+ * @param string   $name        Importer name and title.
+ * @param string   $description Importer description.
+ * @param callback $callback    Callback to run.
  * @return WP_Error Returns WP_Error when $callback is WP_Error.
  */
 function register_importer( $id, $name, $description, $callback ) {
index 04b552f1b3ef805d2129e45e93d57e3b40607b8f..97b4077e76b3cffc92a74402eabfd9e03d215821 100644 (file)
@@ -13,6 +13,8 @@
  * @access private
  * @since 3.1.0
  *
+ * @global string $hook_suffix
+ *
  * @param string $class The type of the list table, which is the class name.
  * @param array $args Optional. Arguments to pass to the class. Accepts 'screen'.
  * @return object|bool Object on success, false if the class does not exist.
@@ -99,6 +101,11 @@ class _WP_List_Table_Compat extends WP_List_Table {
                }
        }
 
+       /**
+        * @access protected
+        *
+        * @return array
+        */
        protected function get_column_info() {
                $columns = get_column_headers( $this->_screen );
                $hidden = get_hidden_columns( $this->_screen );
@@ -107,6 +114,11 @@ class _WP_List_Table_Compat extends WP_List_Table {
                return array( $columns, $hidden, $sortable );
        }
 
+       /**
+        * @access public
+        *
+        * @return array
+        */
        public function get_columns() {
                return $this->_columns;
        }
index 75811962f96617ac8bb59acc1b3644800f265964..fc8ce0fe97a654d81f8495a92a68a4d6c845e989 100644 (file)
@@ -36,6 +36,8 @@ function media_upload_tabs() {
  *
  * @since 2.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param array $tabs
  * @return array $tabs with gallery if post has image attachment
  */
@@ -61,12 +63,13 @@ function update_gallery_tab($tabs) {
 
        return $tabs;
 }
-add_filter('media_upload_tabs', 'update_gallery_tab');
 
 /**
  * {@internal Missing Short Description}}
  *
  * @since 2.5.0
+ *
+ * @global string $redir_tab
  */
 function the_media_upload_tabs() {
        global $redir_tab;
@@ -216,7 +219,6 @@ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $
         */
        return apply_filters( 'image_add_caption_shortcode', $shcode, $html );
 }
-add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );
 
 /**
  * Private preg_replace callback used in image_add_caption()
@@ -355,8 +357,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
        ), $post_data );
 
        // This should never be set as it would then overwrite an existing attachment.
-       if ( isset( $attachment['ID'] ) )
-               unset( $attachment['ID'] );
+       unset( $attachment['ID'] );
 
        // Save the data
        $id = wp_insert_attachment($attachment, $file, $post_id);
@@ -419,8 +420,7 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data =
        ), $post_data );
 
        // This should never be set as it would then overwrite an existing attachment.
-       if ( isset( $attachment['ID'] ) )
-               unset( $attachment['ID'] );
+       unset( $attachment['ID'] );
 
        // Save the attachment metadata
        $id = wp_insert_attachment($attachment, $file, $post_id);
@@ -435,6 +435,8 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data =
  *
  * @since 2.5.0
  *
+ * @global int $body_id
+ *
  * @param string|callable $content_func
  */
 function wp_iframe($content_func /* ... */) {
@@ -529,6 +531,10 @@ document.body.className = document.body.className.replace('no-js', 'js');
  *
  * @since 2.5.0
  *
+ * @global int $post_ID
+ *
+ * @staticvar int $instance
+ *
  * @param string $editor_id
  */
 function media_buttons($editor_id = 'content') {
@@ -546,10 +552,9 @@ function media_buttons($editor_id = 'content') {
        $img = '<span class="wp-media-buttons-icon"></span> ';
 
        $id_attribute = $instance === 1 ? ' id="insert-media-button"' : '';
-       printf( '<a href="#"%s class="button insert-media add_media" data-editor="%s" title="%s">%s</a>',
+       printf( '<button type="button"%s class="button insert-media add_media" data-editor="%s">%s</button>',
                $id_attribute,
                esc_attr( $editor_id ),
-               esc_attr__( 'Add Media' ),
                $img . __( 'Add Media' )
        );
        /**
@@ -569,7 +574,6 @@ function media_buttons($editor_id = 'content') {
                echo $legacy_filter;
        }
 }
-add_action( 'media_buttons', 'media_buttons' );
 
 /**
  *
@@ -822,18 +826,20 @@ function wp_media_upload_handler() {
 }
 
 /**
- * Download an image from the specified URL and attach it to a post.
+ * Downloads an image from the specified URL and attaches it to a post.
  *
  * @since 2.6.0
+ * @since 4.2.0 Introduced the `$return` parameter.
  *
- * @param string $file The URL of the image to download
- * @param int $post_id The post ID the media is to be associated with
- * @param string $desc Optional. Description of the image
- * @param string $return Optional. What to return: an image tag (default) or only the src.
- * @return string|WP_Error Populated HTML img tag on success
+ * @param string $file    The URL of the image to download.
+ * @param int    $post_id The post ID the media is to be associated with.
+ * @param string $desc    Optional. Description of the image.
+ * @param string $return  Optional. Accepts 'html' (image tag html) or 'src' (URL). Default 'html'.
+ * @return string|WP_Error Populated HTML img tag on success, WP_Error object otherwise.
  */
 function media_sideload_image( $file, $post_id, $desc = null, $return = 'html' ) {
        if ( ! empty( $file ) ) {
+
                // Set variables for storage, fix file filename for query strings.
                preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches );
                $file_array = array();
@@ -859,7 +865,7 @@ function media_sideload_image( $file, $post_id, $desc = null, $return = 'html' )
                $src = wp_get_attachment_url( $id );
        }
 
-       // Finally check to make sure the file has been saved, then return the HTML.
+       // Finally, check to make sure the file has been saved, then return the HTML.
        if ( ! empty( $src ) ) {
                if ( $return === 'src' ) {
                        return $src;
@@ -1050,6 +1056,14 @@ function image_link_input_fields($post, $url_type = '') {
 ";
 }
 
+/**
+ * Output a textarea element for inputting an attachment caption.
+ *
+ * @since 3.4.0
+ *
+ * @param WP_Post $edit_post Attachment WP_Post object.
+ * @return string HTML markup for the textarea element.
+ */
 function wp_caption_input_textarea($edit_post) {
        // Post data is already escaped.
        $name = "attachments[{$edit_post->ID}][post_excerpt]";
@@ -1123,8 +1137,6 @@ function image_attachment_fields_to_save( $post, $attachment ) {
        return $post;
 }
 
-add_filter( 'attachment_fields_to_save', 'image_attachment_fields_to_save', 10, 2 );
-
 /**
  * {@internal Missing Short Description}}
  *
@@ -1150,8 +1162,6 @@ function image_media_send_to_editor($html, $attachment_id, $attachment) {
        return $html;
 }
 
-add_filter('media_send_to_editor', 'image_media_send_to_editor', 10, 3);
-
 /**
  * {@internal Missing Short Description}}
  *
@@ -1280,6 +1290,8 @@ function get_attachment_fields_to_edit($post, $errors = null) {
  *
  * @since 2.5.0
  *
+ * @global WP_Query $wp_the_query
+ *
  * @param int $post_id Optional. Post ID.
  * @param array $errors Errors for attachment, if any.
  * @return string
@@ -1314,6 +1326,8 @@ function get_media_items( $post_id, $errors ) {
  *
  * @since 2.5.0
  *
+ * @global string $redir_tab
+ *
  * @param int $attachment_id Attachment ID for modification.
  * @param string|array $args Optional. Override defaults.
  * @return string HTML form for attachment.
@@ -1478,8 +1492,12 @@ function get_media_item( $attachment_id, $args = null ) {
        }
        if ( 'image' == $type && $calling_post_id && current_theme_supports( 'post-thumbnails', get_post_type( $calling_post_id ) )
                && post_type_supports( get_post_type( $calling_post_id ), 'thumbnail' ) && get_post_thumbnail_id( $calling_post_id ) != $attachment_id ) {
+
+               $calling_post = get_post( $calling_post_id );
+               $calling_post_type_object = get_post_type_object( $calling_post->post_type );
+
                $ajax_nonce = wp_create_nonce( "set_post_thumbnail-$calling_post_id" );
-               $thumbnail = "<a class='wp-post-thumbnail' id='wp-post-thumbnail-" . $attachment_id . "' href='#' onclick='WPSetAsThumbnail(\"$attachment_id\", \"$ajax_nonce\");return false;'>" . esc_html__( "Use as featured image" ) . "</a>";
+               $thumbnail = "<a class='wp-post-thumbnail' id='wp-post-thumbnail-" . $attachment_id . "' href='#' onclick='WPSetAsThumbnail(\"$attachment_id\", \"$ajax_nonce\");return false;'>" . esc_html( $calling_post_type_object->labels->use_featured_image ) . "</a>";
        }
 
        if ( ( $r['send'] || $thumbnail || $delete ) && !isset( $form_fields['buttons'] ) ) {
@@ -1559,6 +1577,13 @@ function get_media_item( $attachment_id, $args = null ) {
        return $item;
 }
 
+/**
+ * @since 3.5.0
+ *
+ * @param int   $attachment_id
+ * @param array $args
+ * @return array
+ */
 function get_compat_media_markup( $attachment_id, $args = null ) {
        $post = get_post( $attachment_id );
 
@@ -1715,7 +1740,8 @@ function get_compat_media_markup( $attachment_id, $args = null ) {
  */
 function media_upload_header() {
        $post_id = isset( $_REQUEST['post_id'] ) ? intval( $_REQUEST['post_id'] ) : 0;
-       echo '<script type="text/javascript">post_id = ' . $post_id . ";</script>\n";
+
+       echo '<script type="text/javascript">post_id = ' . $post_id . ';</script>';
        if ( empty( $_GET['chromeless'] ) ) {
                echo '<div id="media-upload-header">';
                the_media_upload_tabs();
@@ -1728,6 +1754,11 @@ function media_upload_header() {
  *
  * @since 2.5.0
  *
+ * @global string $type
+ * @global string $tab
+ * @global bool   $is_IE
+ * @global bool   $is_opera
+ *
  * @param array $errors
  */
 function media_upload_form( $errors = null ) {
@@ -2127,6 +2158,10 @@ echo apply_filters( 'type_url_form_media', wp_media_insert_url_form( $type ) );
  *
  * @since 2.5.0
  *
+ * @global string $redir_tab
+ * @global string $type
+ * @global string $tab
+ *
  * @param array $errors
  */
 function media_upload_gallery_form($errors) {
@@ -2272,6 +2307,13 @@ jQuery(function($){
  *
  * @since 2.5.0
  *
+ * @global wpdb      $wpdb
+ * @global WP_Query  $wp_query
+ * @global WP_Locale $wp_locale
+ * @global string    $type
+ * @global string    $tab
+ * @global array     $post_mime_types
+ *
  * @param array $errors
  */
 function media_upload_library_form($errors) {
@@ -2556,6 +2598,8 @@ function wp_media_insert_url_form( $default_view = 'image' ) {
  * Displays the multi-file uploader message.
  *
  * @since 2.6.0
+ *
+ * @global int $post_ID
  */
 function media_upload_flash_bypass() {
        $browser_uploader = admin_url( 'media-new.php?browser-uploader' );
@@ -2571,7 +2615,6 @@ function media_upload_flash_bypass() {
        </p>
        <?php
 }
-add_action('post-plupload-upload-ui', 'media_upload_flash_bypass');
 
 /**
  * Displays the browser's built-in uploader message.
@@ -2585,7 +2628,6 @@ function media_upload_html_bypass() {
        </p>
        <?php
 }
-add_action('post-html-upload-ui', 'media_upload_html_bypass');
 
 /**
  * Used to display a "After a file has been uploaded..." help message.
@@ -2868,21 +2910,6 @@ function attachment_submitbox_metadata() {
        endif;
 }
 
-add_filter( 'async_upload_image', 'get_media_item', 10, 2 );
-add_filter( 'async_upload_audio', 'get_media_item', 10, 2 );
-add_filter( 'async_upload_video', 'get_media_item', 10, 2 );
-add_filter( 'async_upload_file',  'get_media_item', 10, 2 );
-
-add_action( 'media_upload_image', 'wp_media_upload_handler' );
-add_action( 'media_upload_audio', 'wp_media_upload_handler' );
-add_action( 'media_upload_video', 'wp_media_upload_handler' );
-add_action( 'media_upload_file',  'wp_media_upload_handler' );
-
-add_filter( 'media_upload_gallery', 'media_upload_gallery' );
-add_filter( 'media_upload_library', 'media_upload_library' );
-
-add_action( 'attachment_submitbox_misc_actions', 'attachment_submitbox_metadata' );
-
 /**
  * Parse ID3v2, ID3v1, and getID3 comments to extract usable data
  *
@@ -2989,7 +3016,7 @@ function wp_read_video_metadata( $file ) {
  * @since 3.6.0
  *
  * @param string $file Path to file.
- * @return array|boolean Returns array of metadata, if found.
+ * @return array|bool Returns array of metadata, if found.
  */
 function wp_read_audio_metadata( $file ) {
        if ( ! file_exists( $file ) )
index ce90c1ba3c103e1ab24064523c6e98d9736a51c9..accc04b1b0b46d59857b9ee7677a1cc930e00562 100644 (file)
@@ -182,7 +182,7 @@ unset($id, $data, $subs, $first_sub);
 $separator_found = false;
 foreach ( $menu as $id => $data ) {
        if ( 0 == strcmp('wp-menu-separator', $data[4] ) ) {
-               if (false == $separator_found) {
+               if ( ! $separator_found ) {
                        $separator_found = true;
                } else {
                        unset($menu[$id]);
@@ -194,13 +194,23 @@ foreach ( $menu as $id => $data ) {
 }
 unset($id, $data);
 
+/**
+ *
+ * @param string $add
+ * @param string $class
+ * @return string
+ */
 function add_cssclass($add, $class) {
        $class = empty($class) ? $add : $class .= ' ' . $add;
        return $class;
 }
 
+/**
+ *
+ * @param array $menu
+ * @return array
+ */
 function add_menu_classes($menu) {
-
        $first = $lastorder = false;
        $i = 0;
        $mc = count($menu);
@@ -279,6 +289,15 @@ if ( apply_filters( 'custom_menu_order', false ) ) {
        $menu_order = array_flip($menu_order);
        $default_menu_order = array_flip($default_menu_order);
 
+       /**
+        *
+        * @global array $menu_order
+        * @global array $default_menu_order
+        *
+        * @param array $a
+        * @param array $b
+        * @return int
+        */
        function sort_menu($a, $b) {
                global $menu_order, $default_menu_order;
                $a = $a[2];
index 7005753406eebbf4b64fa2f5a37949de5e7768c3..a7a895a1947c5447a007a74d9d8bace112ca8da1 100644 (file)
@@ -7,6 +7,8 @@
  *
  * @since 2.7.0
  *
+ * @global string $action
+ *
  * @param object $post
  */
 function post_submit_meta_box($post, $args = array() ) {
@@ -204,7 +206,10 @@ if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
        <span id="timestamp">
        <?php printf($stamp, $date); ?></span>
        <a href="#edit_timestamp" class="edit-timestamp hide-if-no-js"><span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"><?php _e( 'Edit date and time' ); ?></span></a>
-       <div id="timestampdiv" class="hide-if-js"><?php touch_time(($action == 'edit'), 1); ?></div>
+       <fieldset id="timestampdiv" class="hide-if-js">
+       <legend class="screen-reader-text"><?php _e( 'Date and time' ); ?></legend>
+       <?php touch_time( ( $action === 'edit' ), 1 ); ?>
+       </fieldset>
 </div><?php // /misc-pub-section ?>
 <?php endif; ?>
 
@@ -368,10 +373,13 @@ function post_format_meta_box( $post, $box ) {
                        $post_formats[0][] = $post_format;
        ?>
        <div id="post-formats-select">
-               <input type="radio" name="post_format" class="post-format" id="post-format-0" value="0" <?php checked( $post_format, '0' ); ?> /> <label for="post-format-0" class="post-format-icon post-format-standard"><?php echo get_post_format_string( 'standard' ); ?></label>
-               <?php foreach ( $post_formats[0] as $format ) : ?>
-               <br /><input type="radio" name="post_format" class="post-format" id="post-format-<?php echo esc_attr( $format ); ?>" value="<?php echo esc_attr( $format ); ?>" <?php checked( $post_format, $format ); ?> /> <label for="post-format-<?php echo esc_attr( $format ); ?>" class="post-format-icon post-format-<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></label>
-               <?php endforeach; ?><br />
+               <fieldset>
+                       <legend class="screen-reader-text"><?php _e( 'Post Formats' ); ?></legend>
+                       <input type="radio" name="post_format" class="post-format" id="post-format-0" value="0" <?php checked( $post_format, '0' ); ?> /> <label for="post-format-0" class="post-format-icon post-format-standard"><?php echo get_post_format_string( 'standard' ); ?></label>
+                       <?php foreach ( $post_formats[0] as $format ) : ?>
+                       <br /><input type="radio" name="post_format" class="post-format" id="post-format-<?php echo esc_attr( $format ); ?>" value="<?php echo esc_attr( $format ); ?>" <?php checked( $post_format, $format ); ?> /> <label for="post-format-<?php echo esc_attr( $format ); ?>" class="post-format-icon post-format-<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></label>
+                       <?php endforeach; ?>
+               </fieldset>
        </div>
        <?php endif; endif;
 }
@@ -670,6 +678,8 @@ function post_slug_meta_box($post) {
  *
  * @since 2.6.0
  *
+ * @global int $user_ID
+ *
  * @param object $post
  */
 function post_author_meta_box($post) {
@@ -813,7 +823,7 @@ do_action( 'post_submitbox_start' );
 <div id="delete-action">
 <?php
 if ( !empty($_GET['action']) && 'edit' == $_GET['action'] && current_user_can('manage_links') ) { ?>
-       <a class="submitdelete deletion" href="<?php echo wp_nonce_url("link.php?action=delete&amp;link_id=$link->link_id", 'delete-bookmark_' . $link->link_id); ?>" onclick="if ( confirm('<?php echo esc_js(sprintf(__("You are about to delete this link '%s'\n 'Cancel' to stop, 'OK' to delete."), $link->link_name )); ?>') ) {return true;}return false;"><?php _e('Delete'); ?></a>
+       <a class="submitdelete deletion" href="<?php echo wp_nonce_url("link.php?action=delete&amp;link_id=$link->link_id", 'delete-bookmark_' . $link->link_id); ?>" onclick="if ( confirm('<?php echo esc_js(sprintf(__("You are about to delete this link '%s'\n  'Cancel' to stop, 'OK' to delete."), $link->link_name )); ?>') ) {return true;}return false;"><?php _e('Delete'); ?></a>
 <?php } ?>
 </div>
 
@@ -913,6 +923,8 @@ function link_target_meta_box($link) { ?>
  *
  * @since 1.0.1
  *
+ * @global object $link
+ *
  * @param string $class
  * @param string $value
  * @param mixed $deprecated Never used.
index 367611b075711847d567c2fd9112b6017b3f6d57..3b6f0504162da8fbfc4ad75b561aa485c35afbc4 100644 (file)
@@ -38,6 +38,8 @@ function got_mod_rewrite() {
  *
  * @since 3.7.0
  *
+ * @global bool $is_nginx
+ *
  * @return bool Whether the server supports URL rewriting.
  */
 function got_url_rewrite() {
@@ -153,6 +155,8 @@ function insert_with_markers( $filename, $marker, $insertion ) {
  * blank out old rules.
  *
  * @since 1.5.0
+ *
+ * @global WP_Rewrite $wp_rewrite
  */
 function save_mod_rewrite_rules() {
        if ( is_multisite() )
@@ -183,6 +187,8 @@ function save_mod_rewrite_rules() {
  *
  * @since 2.8.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @return bool True if web.config was updated successfully
  */
 function iis7_save_url_rewrite_rules(){
@@ -244,10 +250,6 @@ function update_home_siteurl( $old_value, $value ) {
        flush_rewrite_rules();
 }
 
-add_action( 'update_option_home', 'update_home_siteurl', 10, 2 );
-add_action( 'update_option_siteurl', 'update_home_siteurl', 10, 2 );
-add_action( 'update_option_page_on_front', 'update_home_siteurl', 10, 2 );
-
 /**
  * Shorten an URL, to be used as link text
  *
@@ -308,6 +310,12 @@ function show_message($message) {
        flush();
 }
 
+/**
+ * @since 2.8.0
+ *
+ * @param string $content
+ * @return array
+ */
 function wp_doc_link_parse( $content ) {
        if ( !is_string( $content ) || empty( $content ) )
                return array();
@@ -593,6 +601,8 @@ function saveDomDocument($doc, $filename) {
  * Display the default admin color scheme picker (Used in user-edit.php)
  *
  * @since 3.0.0
+ *
+ * @global array $_wp_admin_css_colors
  */
 function admin_color_scheme_picker( $user_id ) {
        global $_wp_admin_css_colors;
@@ -646,6 +656,10 @@ function admin_color_scheme_picker( $user_id ) {
        <?php
 }
 
+/**
+ *
+ * @global array $_wp_admin_css_colors
+ */
 function wp_color_scheme_settings() {
        global $_wp_admin_css_colors;
 
@@ -667,8 +681,10 @@ function wp_color_scheme_settings() {
 
        echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode( array( 'icons' => $icon_colors ) ) . ";</script>\n";
 }
-add_action( 'admin_head', 'wp_color_scheme_settings' );
 
+/**
+ * @since 3.3.0
+ */
 function _ipad_meta() {
        if ( wp_is_mobile() ) {
                ?>
@@ -676,7 +692,6 @@ function _ipad_meta() {
                <?php
        }
 }
-add_action('admin_head', '_ipad_meta');
 
 /**
  * Check lock status for posts displayed on the Posts screen
@@ -707,7 +722,6 @@ function wp_check_locked_posts( $response, $data, $screen_id ) {
 
        return $response;
 }
-add_filter( 'heartbeat_received', 'wp_check_locked_posts', 10, 3 );
 
 /**
  * Check lock status on the New/Edit Post screen and refresh the lock
@@ -746,7 +760,6 @@ function wp_refresh_post_lock( $response, $data, $screen_id ) {
 
        return $response;
 }
-add_filter( 'heartbeat_received', 'wp_refresh_post_lock', 10, 3 );
 
 /**
  * Check nonce expiration on the New/Edit Post screen and refresh if needed
@@ -758,35 +771,36 @@ function wp_refresh_post_nonces( $response, $data, $screen_id ) {
                $received = $data['wp-refresh-post-nonces'];
                $response['wp-refresh-post-nonces'] = array( 'check' => 1 );
 
-               if ( ! $post_id = absint( $received['post_id'] ) )
+               if ( ! $post_id = absint( $received['post_id'] ) ) {
                        return $response;
+               }
 
-               if ( ! current_user_can( 'edit_post', $post_id ) || empty( $received['post_nonce'] ) )
+               if ( ! current_user_can( 'edit_post', $post_id ) ) {
                        return $response;
-
-               if ( 2 === wp_verify_nonce( $received['post_nonce'], 'update-post_' . $post_id ) ) {
-                       $response['wp-refresh-post-nonces'] = array(
-                               'replace' => array(
-                                       'getpermalinknonce' => wp_create_nonce('getpermalink'),
-                                       'samplepermalinknonce' => wp_create_nonce('samplepermalink'),
-                                       'closedpostboxesnonce' => wp_create_nonce('closedpostboxes'),
-                                       '_ajax_linking_nonce' => wp_create_nonce( 'internal-linking' ),
-                                       '_wpnonce' => wp_create_nonce( 'update-post_' . $post_id ),
-                               ),
-                               'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ),
-                       );
                }
+
+               $response['wp-refresh-post-nonces'] = array(
+                       'replace' => array(
+                               'getpermalinknonce' => wp_create_nonce('getpermalink'),
+                               'samplepermalinknonce' => wp_create_nonce('samplepermalink'),
+                               'closedpostboxesnonce' => wp_create_nonce('closedpostboxes'),
+                               '_ajax_linking_nonce' => wp_create_nonce( 'internal-linking' ),
+                               '_wpnonce' => wp_create_nonce( 'update-post_' . $post_id ),
+                       ),
+                       'heartbeatNonce' => wp_create_nonce( 'heartbeat-nonce' ),
+               );
        }
 
        return $response;
 }
-add_filter( 'heartbeat_received', 'wp_refresh_post_nonces', 10, 3 );
 
 /**
  * Disable suspension of Heartbeat on the Add/Edit Post screens.
  *
  * @since 3.8.0
  *
+ * @global string $pagenow
+ *
  * @param array $settings An array of Heartbeat settings.
  * @return array Filtered Heartbeat settings.
  */
@@ -799,7 +813,6 @@ function wp_heartbeat_set_suspension( $settings ) {
 
        return $settings;
 }
-add_filter( 'heartbeat_settings', 'wp_heartbeat_set_suspension' );
 
 /**
  * Autosave with heartbeat
@@ -824,8 +837,6 @@ function heartbeat_autosave( $response, $data ) {
 
        return $response;
 }
-// Run later as we have to set DOING_AUTOSAVE for back-compat
-add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 );
 
 /**
  * Disables autocomplete on the 'post' form (Add/Edit Post screens) for WebKit browsers,
@@ -833,6 +844,9 @@ add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 );
  * when the user navigates to it with the browser's Back button. See #28037
  *
  * @since 4.0
+ *
+ * @global bool $is_safari
+ * @global bool $is_chrome
  */
 function post_form_autocomplete_off() {
        global $is_safari, $is_chrome;
@@ -841,7 +855,6 @@ function post_form_autocomplete_off() {
                echo ' autocomplete="off"';
        }
 }
-add_action( 'post_edit_form_tag', 'post_form_autocomplete_off' );
 
 /**
  * Remove single-use URL parameters and create canonical link based on new URL.
@@ -886,4 +899,3 @@ function wp_admin_canonical_url() {
        </script>
 <?php
 }
-add_action( 'admin_head', 'wp_admin_canonical_url' );
diff --git a/wp-admin/includes/ms-admin-filters.php b/wp-admin/includes/ms-admin-filters.php
new file mode 100644 (file)
index 0000000..b49490e
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Multisite Administration hooks
+ *
+ * @package WordPress
+ *
+ * @since 4.3.0
+ */
+
+// Media Hooks.
+add_filter( 'wp_handle_upload_prefilter', 'check_upload_size' );
+
+// User Hooks
+add_action( 'admin_notices', 'new_user_email_admin_notice' );
+
+add_action( 'admin_page_access_denied', '_access_denied_splash', 99 );
+
+add_action( 'add_option_new_admin_email', 'update_option_new_admin_email', 10, 2 );
+
+add_action( 'personal_options_update', 'send_confirmation_on_profile_email' );
+
+add_action( 'update_option_new_admin_email', 'update_option_new_admin_email', 10, 2 );
+
+// Site Hooks.
+add_action( 'wpmueditblogaction', 'upload_space_setting' );
+
+// Taxonomy Hooks
+add_filter( 'get_term', 'sync_category_tag_slugs', 10, 2 );
+
+// Post Hooks.
+add_filter( 'wp_insert_post_data', 'avoid_blog_page_permalink_collision', 10, 2 );
+
+// Tools Hooks.
+add_filter( 'import_allow_create_users', 'check_import_new_users' );
+
+// Notices Hooks
+add_action( 'admin_notices',         'site_admin_notice' );
+add_action( 'network_admin_notices', 'site_admin_notice' );
+
+// Update Hooks
+add_action( 'network_admin_notices', 'update_nag',      3  );
+add_action( 'network_admin_notices', 'maintenance_nag', 10 );
index 6a443dee61b59d5ac31d15ccb94319b4e31c0d63..5038ad376f3f05e330e39f4c6c3f7d14b569534a 100644 (file)
@@ -64,14 +64,25 @@ function is_wpmu_sitewide_plugin( $file ) {
        return is_network_only_plugin( $file );
 }
 
+/**
+ * @deprecated 3.4.0
+ * @see WP_Theme::get_allowed_on_network()
+ */
 function get_site_allowed_themes() {
        _deprecated_function( __FUNCTION__, '3.4', 'WP_Theme::get_allowed_on_network()' );
        return array_map( 'intval', WP_Theme::get_allowed_on_network() );
 }
 
+/**
+ * @deprecated 3.4.0
+ * @see WP_Theme::get_allowed_on_site()
+ */
 function wpmu_get_blog_allowedthemes( $blog_id = 0 ) {
        _deprecated_function( __FUNCTION__, '3.4', 'WP_Theme::get_allowed_on_site()' );
        return array_map( 'intval', WP_Theme::get_allowed_on_site( $blog_id ) );
 }
 
+/**
+ * @deprecated
+ */
 function ms_deprecated_blogs_file() {}
\ No newline at end of file
index ecc9f51f0ac20b3d94e17ab300b2645174a29065..ffed184b217e3c2dcbb25646fdbf63a1f4dda9df 100644 (file)
@@ -41,13 +41,14 @@ function check_upload_size( $file ) {
 
        return $file;
 }
-add_filter( 'wp_handle_upload_prefilter', 'check_upload_size' );
 
 /**
  * Delete a blog.
  *
  * @since 3.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int  $blog_id Blog ID.
  * @param bool $drop    True if blog's table should be dropped. Default is false.
  */
@@ -176,6 +177,8 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
  *
  * @todo Merge with wp_delete_user() ?
  *
+ * @global wpdb $wpdb
+ *
  * @param int $id The user ID.
  * @return bool True if the user was deleted, otherwise false.
  */
@@ -187,6 +190,13 @@ function wpmu_delete_user( $id ) {
 
        if ( !$user->exists() )
                return false;
+
+       // Global super-administrators are protected, and cannot be deleted.
+       $_super_admins = get_super_admins();
+       if ( in_array( $user->user_login, $_super_admins, true ) ) {
+               return false;
+       }
+
        /**
         * Fires before a user is deleted from the network.
         *
@@ -253,6 +263,7 @@ function update_option_new_admin_email( $old_value, $value ) {
        );
        update_option( 'adminhash', $new_admin_email );
 
+       /* translators: Do not translate USERNAME, ADMIN_URL, EMAIL, SITENAME, SITEURL: those are placeholders. */
        $email_text = __( 'Howdy ###USERNAME###,
 
 You recently requested to have the administration email address on
@@ -287,6 +298,7 @@ All at ###SITENAME###
         */
        $content = apply_filters( 'new_admin_email_content', $email_text, $new_admin_email );
 
+       $current_user = wp_get_current_user();
        $content = str_replace( '###USERNAME###', $current_user->user_login, $content );
        $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'options.php?adminhash='.$hash ) ), $content );
        $content = str_replace( '###EMAIL###', $value, $content );
@@ -295,8 +307,6 @@ All at ###SITENAME###
 
        wp_mail( $value, sprintf( __( '[%s] New Admin Email Address' ), wp_specialchars_decode( get_option( 'blogname' ) ) ), $content );
 }
-add_action( 'update_option_new_admin_email', 'update_option_new_admin_email', 10, 2 );
-add_action( 'add_option_new_admin_email', 'update_option_new_admin_email', 10, 2 );
 
 /**
  * Sends an email when an email address change is requested.
@@ -334,6 +344,7 @@ function send_confirmation_on_profile_email() {
                                );
                update_option( $current_user->ID . '_new_email', $new_user_email );
 
+               /* translators: Do not translate USERNAME, ADMIN_URL, EMAIL, SITENAME, SITEURL: those are placeholders. */
                $email_text = __( 'Howdy ###USERNAME###,
 
 You recently requested to have the email address on your account changed.
@@ -377,7 +388,6 @@ All at ###SITENAME###
                $_POST['email'] = $current_user->user_email;
        }
 }
-add_action( 'personal_options_update', 'send_confirmation_on_profile_email' );
 
 /**
  * Adds an admin notice alerting the user to check for confirmation email
@@ -389,7 +399,6 @@ function new_user_email_admin_notice() {
        if ( strpos( $_SERVER['PHP_SELF'], 'profile.php' ) && isset( $_GET['updated'] ) && $email = get_option( get_current_user_id() . '_new_email' ) )
                echo "<div class='update-nag'>" . sprintf( __( "Your email address has not been updated yet. Please check your inbox at %s for a confirmation email." ), $email['newemail'] ) . "</div>";
 }
-add_action( 'admin_notices', 'new_user_email_admin_notice' );
 
 /**
  * Check whether a blog has used its allotted upload space.
@@ -452,9 +461,9 @@ function display_space_usage() {
  * @return int Max size in bytes
  */
 function fix_import_form_size( $size ) {
-       if ( upload_is_user_over_quota( false ) == true )
+       if ( upload_is_user_over_quota( false ) ) {
                return 0;
-
+       }
        $available = get_upload_space_available();
        return min( $size, $available );
 }
@@ -484,7 +493,6 @@ function upload_space_setting( $id ) {
        </tr>
        <?php
 }
-add_action( 'wpmueditblogaction', 'upload_space_setting' );
 
 /**
  * Update the status of a user in the database.
@@ -493,6 +501,8 @@ add_action( 'wpmueditblogaction', 'upload_space_setting' );
  *
  * @since 3.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int    $id         The user ID.
  * @param string $pref       The column in the wp_users table to update the user's status
  *                           in (presumably user_status, spam, or deleted).
@@ -613,7 +623,6 @@ function sync_category_tag_slugs( $term, $taxonomy ) {
        }
        return $term;
 }
-add_filter( 'get_term', 'sync_category_tag_slugs', 10, 2 );
 
 /**
  * Displays an access denied message when a user tries to view a site's dashboard they
@@ -654,7 +663,6 @@ function _access_denied_splash() {
 
        wp_die( $output, 403 );
 }
-add_action( 'admin_page_access_denied', '_access_denied_splash', 99 );
 
 /**
  * Checks if the current user has permissions to import new users.
@@ -669,7 +677,6 @@ function check_import_new_users( $permission ) {
                return false;
        return true;
 }
-add_filter( 'import_allow_create_users', 'check_import_new_users' );
 // See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too.
 
 /**
@@ -728,6 +735,8 @@ function mu_dropdown_languages( $lang_files = array(), $current = '' ) {
  * @since 3.0.0
  *
  * @global int $wp_db_version The version number of the database.
+ *
+ * @return false False if the current user is not a super admin.
  */
 function site_admin_notice() {
        global $wp_db_version;
@@ -736,8 +745,6 @@ function site_admin_notice() {
        if ( get_site_option( 'wpmu_upgrade_site' ) != $wp_db_version )
                echo "<div class='update-nag'>" . sprintf( __( 'Thank you for Updating! Please visit the <a href="%s">Upgrade Network</a> page to update all your sites.' ), esc_url( network_admin_url( 'upgrade.php' ) ) ) . "</div>";
 }
-add_action( 'admin_notices', 'site_admin_notice' );
-add_action( 'network_admin_notices', 'site_admin_notice' );
 
 /**
  * Avoids a collision between a site slug and a permalink slug.
@@ -772,7 +779,6 @@ function avoid_blog_page_permalink_collision( $data, $postarr ) {
        }
        return $data;
 }
-add_filter( 'wp_insert_post_data', 'avoid_blog_page_permalink_collision', 10, 2 );
 
 /**
  * Handles the display of choosing a user's primary site.
@@ -809,7 +815,7 @@ function choose_primary_blog() {
                        }
                } elseif ( count( $all_blogs ) == 1 ) {
                        $blog = reset( $all_blogs );
-                       echo $blog->domain;
+                       echo esc_url( get_home_url( $blog->userblog_id ) );
                        if ( $primary_blog != $blog->userblog_id ) // Set the primary blog again if it's out of sync with blog list.
                                update_user_meta( get_current_user_id(), 'primary_blog', $blog->userblog_id );
                } else {
@@ -838,6 +844,8 @@ function choose_primary_blog() {
  *
  * @since 3.0.0
  *
+ * @global array $super_admins
+ *
  * @param int $user_id ID of the user to be granted Super Admin privileges.
  * @return bool True on success, false on failure. This can fail when the user is
  *              already a super admin or when the `$super_admins` global is defined.
@@ -883,6 +891,8 @@ function grant_super_admin( $user_id ) {
  *
  * @since 3.0.0
  *
+ * @global array $super_admins
+ *
  * @param int $user_id ID of the user Super Admin privileges to be revoked from.
  * @return bool True on success, false on failure. This can fail when the user's email
  *              is the network admin email or when the `$super_admins` global is defined.
@@ -933,6 +943,8 @@ function revoke_super_admin( $user_id ) {
  *
  * @since 3.1.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $site_id The network/site ID to check.
  * @return bool True if network can be edited, otherwise false.
  */
index 9575297463c7ca61df7c10bf1a051c4c023c5e79..43a807c8b141415935c9234ff2d13cad1786a6c4 100644 (file)
@@ -40,6 +40,8 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
         * @see Walker_Nav_Menu::start_el()
         * @since 3.0.0
         *
+        * @global int $_wp_nav_menu_max_depth
+        *
         * @param string $output Passed by reference. Used to append additional content.
         * @param object $item   Menu item data object.
         * @param int    $depth  Depth of menu item. Used for padding.
@@ -97,8 +99,8 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
 
                ?>
                <li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode(' ', $classes ); ?>">
-                       <dl class="menu-item-bar">
-                               <dt class="menu-item-handle">
+                       <div class="menu-item-bar">
+                               <div class="menu-item-handle">
                                        <span class="item-title"><span class="menu-item-title"><?php echo esc_html( $title ); ?></span> <span class="is-submenu" <?php echo $submenu_text; ?>><?php _e( 'sub item' ); ?></span></span>
                                        <span class="item-controls">
                                                <span class="item-type"><?php echo esc_html( $item->type_label ); ?></span>
@@ -133,11 +135,11 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
                                                        echo ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? admin_url( 'nav-menus.php' ) : add_query_arg( 'edit-menu-item', $item_id, remove_query_arg( $removed_args, admin_url( 'nav-menus.php#menu-item-settings-' . $item_id ) ) );
                                                ?>"><?php _e( 'Edit Menu Item' ); ?></a>
                                        </span>
-                               </dt>
-                       </dl>
+                               </div>
+                       </div>
 
                        <div class="menu-item-settings" id="menu-item-settings-<?php echo $item_id; ?>">
-                               <?php if( 'custom' == $item->type ) : ?>
+                               <?php if ( 'custom' == $item->type ) : ?>
                                        <p class="field-url description description-wide">
                                                <label for="edit-menu-item-url-<?php echo $item_id; ?>">
                                                        <?php _e( 'URL' ); ?><br />
@@ -145,13 +147,13 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
                                                </label>
                                        </p>
                                <?php endif; ?>
-                               <p class="description description-thin">
+                               <p class="description description-wide">
                                        <label for="edit-menu-item-title-<?php echo $item_id; ?>">
                                                <?php _e( 'Navigation Label' ); ?><br />
                                                <input type="text" id="edit-menu-item-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->title ); ?>" />
                                        </label>
                                </p>
-                               <p class="description description-thin">
+                               <p class="field-title-attribute description description-wide">
                                        <label for="edit-menu-item-attr-title-<?php echo $item_id; ?>">
                                                <?php _e( 'Title Attribute' ); ?><br />
                                                <input type="text" id="edit-menu-item-attr-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->post_excerpt ); ?>" />
@@ -195,7 +197,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
                                </p>
 
                                <div class="menu-item-actions description-wide submitbox">
-                                       <?php if( 'custom' != $item->type && $original_title !== false ) : ?>
+                                       <?php if ( 'custom' != $item->type && $original_title !== false ) : ?>
                                                <p class="link-to-original">
                                                        <?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?>
                                                </p>
@@ -235,6 +237,10 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
  * @uses Walker_Nav_Menu
  */
 class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
+       /**
+        *
+        * @param array $fields
+        */
        public function __construct( $fields = false ) {
                if ( $fields ) {
                        $this->db_fields = $fields;
@@ -280,6 +286,8 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
         *
         * @since 3.0.0
         *
+        * @global int $_nav_menu_placeholder
+        *
         * @param string $output Passed by reference. Used to append additional content.
         * @param object $item   Menu item data object.
         * @param int    $depth  Depth of menu item. Used for padding.
@@ -451,18 +459,20 @@ function wp_nav_menu_setup() {
        add_filter( 'manage_nav-menus_columns', 'wp_nav_menu_manage_columns' );
 
        // If first time editing, disable advanced items by default.
-       if( false === get_user_option( 'managenav-menuscolumnshidden' ) ) {
+       if ( false === get_user_option( 'managenav-menuscolumnshidden' ) ) {
                $user = wp_get_current_user();
                update_user_option($user->ID, 'managenav-menuscolumnshidden',
-                       array( 0 => 'link-target', 1 => 'css-classes', 2 => 'xfn', 3 => 'description', ),
+                       array( 0 => 'link-target', 1 => 'css-classes', 2 => 'xfn', 3 => 'description', 4 => 'title-attribute', ),
                        true);
        }
 }
 
 /**
- * Limit the amount of meta boxes to just links, pages and cats for first time users.
+ * Limit the amount of meta boxes to pages, posts, links, and categories for first time users.
  *
  * @since 3.0.0
+ *
+ * @global array $wp_meta_boxes
  **/
 function wp_initial_nav_menu_meta_boxes() {
        global $wp_meta_boxes;
@@ -470,7 +480,7 @@ function wp_initial_nav_menu_meta_boxes() {
        if ( get_user_option( 'metaboxhidden_nav-menus' ) !== false || ! is_array($wp_meta_boxes) )
                return;
 
-       $initial_meta_boxes = array( 'nav-menu-theme-locations', 'add-page', 'add-custom-links', 'add-category' );
+       $initial_meta_boxes = array( 'add-page', 'add-post', 'add-custom-links', 'add-category' );
        $hidden_meta_boxes = array();
 
        foreach ( array_keys($wp_meta_boxes['nav-menus']) as $context ) {
@@ -549,7 +559,7 @@ function wp_nav_menu_taxonomy_meta_boxes() {
  *
  * @since 3.6.0
  *
- * @uses global $one_theme_location_no_menus to determine if no menus exist
+ * @global bool $one_theme_location_no_menus to determine if no menus exist
  *
  * @param int|string $nav_menu_selected_id (id, name or slug) of the currently-selected menu
  * @return string Disabled attribute if at least one menu exists, false if not
@@ -567,6 +577,9 @@ function wp_nav_menu_disabled_check( $nav_menu_selected_id ) {
  * Displays a metabox for the custom links menu item.
  *
  * @since 3.0.0
+ *
+ * @global int        $_nav_menu_placeholder
+ * @global int|string $nav_menu_selected_id
  */
 function wp_nav_menu_item_link_meta_box() {
        global $_nav_menu_placeholder, $nav_menu_selected_id;
@@ -606,6 +619,9 @@ function wp_nav_menu_item_link_meta_box() {
  *
  * @since 3.0.0
  *
+ * @global int        $_nav_menu_placeholder
+ * @global int|string $nav_menu_selected_id
+ *
  * @param string $object Not used.
  * @param string $post_type The post type object.
  */
@@ -712,6 +728,21 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
                                $recent_args = array_merge( $args, array( 'orderby' => 'post_date', 'order' => 'DESC', 'posts_per_page' => 15 ) );
                                $most_recent = $get_posts->query( $recent_args );
                                $args['walker'] = $walker;
+
+                               /**
+                                * Filter the posts displayed in the 'Most Recent' tab of the current
+                                * post type's menu items meta box.
+                                *
+                                * The dynamic portion of the hook name, `$post_type_name`, refers to the post type name.
+                                *
+                                * @since 4.3.0
+                                *
+                                * @param array  $most_recent An array of post objects being listed.
+                                * @param array  $args        An array of WP_Query arguments.
+                                * @param object $post_type   The current post type object for this menu item meta box.
+                                */
+                               $most_recent = apply_filters( "nav_menu_items_{$post_type_name}_recent", $most_recent, $args, $post_type );
+
                                echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $most_recent), 0, (object) $args );
                                ?>
                        </ul>
@@ -849,6 +880,8 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
  *
  * @since 3.0.0
  *
+ * @global int|string $nav_menu_selected_id
+ *
  * @param string $object Not used.
  * @param string $taxonomy The taxonomy object.
  */
@@ -1162,7 +1195,7 @@ function wp_get_nav_menu_to_edit( $menu_id = 0 ) {
                $result .= '<p>' . __( 'Add menu items from the column on the left.' ) . '</p>';
                $result .= '</div>';
 
-               if( empty($menu_items) )
+               if ( empty($menu_items) )
                        return $result . ' <ul class="menu" id="menu-to-edit"> </ul>';
 
                /**
@@ -1215,6 +1248,7 @@ function wp_nav_menu_manage_columns() {
        return array(
                '_title' => __('Show advanced menu properties'),
                'cb' => '<input type="checkbox" />',
+               'title-attribute' => __('Title Attribute'),
                'link-target' => __('Link Target'),
                'css-classes' => __('CSS Classes'),
                'xfn' => __('Link Relationship (XFN)'),
@@ -1228,6 +1262,7 @@ function wp_nav_menu_manage_columns() {
  * @access private
  * @since 3.0.0
  *
+ * @global wpdb $wpdb
  */
 function _wp_delete_orphaned_draft_menu_items() {
        global $wpdb;
@@ -1239,7 +1274,6 @@ function _wp_delete_orphaned_draft_menu_items() {
        foreach( (array) $menu_items_to_delete as $menu_item_id )
                wp_delete_post( $menu_item_id, true );
 }
-add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items');
 
 /**
  * Saves nav menu items
@@ -1280,10 +1314,11 @@ function wp_nav_menu_update_menu_items ( $nav_menu_selected_id, $nav_menu_select
 
                        $menu_item_db_id = wp_update_nav_menu_item( $nav_menu_selected_id, ( $_POST['menu-item-db-id'][$_key] != $_key ? 0 : $_key ), $args );
 
-                       if ( is_wp_error( $menu_item_db_id ) )
+                       if ( is_wp_error( $menu_item_db_id ) ) {
                                $messages[] = '<div id="message" class="error"><p>' . $menu_item_db_id->get_error_message() . '</p></div>';
-                       elseif ( isset( $menu_items[$menu_item_db_id] ) )
-                               unset( $menu_items[$menu_item_db_id] );
+                       } else {
+                               unset( $menu_items[ $menu_item_db_id ] );
+                       }
                }
        }
 
index b8cf32f021eaba71ac27d6c1ba9176b1ac78b3aa..ab776e8dd25bf2626356e66f7a4ae5e47ceca1bf 100644 (file)
@@ -130,6 +130,9 @@ function install_popular_tags( $args = array() ) {
        return $tags;
 }
 
+/**
+ * @since 2.7.0
+ */
 function install_dashboard() {
        ?>
        <p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="%1$s">WordPress Plugin Directory</a> or upload a plugin in .zip format via <a href="%2$s">this page</a>.' ), 'https://wordpress.org/plugins/', self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>
@@ -148,22 +151,28 @@ function install_dashboard() {
        } else {
                //Set up the tags in a way which can be interpreted by wp_generate_tag_cloud()
                $tags = array();
-               foreach ( (array)$api_tags as $tag )
-                       $tags[ $tag['name'] ] = (object) array(
-                                                                       'link' => esc_url( self_admin_url('plugin-install.php?tab=search&type=tag&s=' . urlencode($tag['name'])) ),
-                                                                       'name' => $tag['name'],
-                                                                       'id' => sanitize_title_with_dashes($tag['name']),
-                                                                       'count' => $tag['count'] );
+               foreach ( (array) $api_tags as $tag ) {
+                       $url = self_admin_url( 'plugin-install.php?tab=search&type=tag&s=' . urlencode( $tag['name'] ) );
+                       $data = array(
+                               'link' => esc_url( $url ),
+                               'name' => $tag['name'],
+                               'slug' => $tag['slug'],
+                               'id' => sanitize_title_with_dashes( $tag['name'] ),
+                               'count' => $tag['count']
+                       );
+                       $tags[ $tag['name'] ] = (object) $data;
+               }
                echo wp_generate_tag_cloud($tags, array( 'single_text' => __('%s plugin'), 'multiple_text' => __('%s plugins') ) );
        }
        echo '</p><br class="clear" />';
 }
-add_action( 'install_plugins_featured', 'install_dashboard' );
 
 /**
  * Display search form for searching plugins.
  *
  * @since 2.7.0
+ *
+ * @param bool $type_selector
  */
 function install_search_form( $type_selector = true ) {
        $type = isset($_REQUEST['type']) ? wp_unslash( $_REQUEST['type'] ) : 'term';
@@ -209,7 +218,6 @@ function install_plugins_upload() {
 </div>
 <?php
 }
-add_action('install_plugins_upload', 'install_plugins_upload' );
 
 /**
  * Show a username form for the favorites page
@@ -235,6 +243,8 @@ function install_plugins_favorites_form() {
  * Display plugin content based on plugin list.
  *
  * @since 2.7.0
+ *
+ * @global WP_List_Table $wp_list_table
  */
 function display_plugins_table() {
        global $wp_list_table;
@@ -256,17 +266,15 @@ function display_plugins_table() {
        </form>
        <?php
 }
-add_action( 'install_plugins_search',      'display_plugins_table' );
-add_action( 'install_plugins_popular',     'display_plugins_table' );
-add_action( 'install_plugins_recommended', 'display_plugins_table' );
-add_action( 'install_plugins_new',         'display_plugins_table' );
-add_action( 'install_plugins_beta',        'display_plugins_table' );
-add_action( 'install_plugins_favorites',   'display_plugins_table' );
 
 /**
  * Determine the status we can perform on a plugin.
  *
  * @since 3.0.0
+ *
+ * @param array|object $api
+ * @param bool        $loop
+ * @return type
  */
 function install_plugin_install_status($api, $loop = false) {
        // This function is called recursively, $loop prevents further loops.
@@ -337,6 +345,9 @@ function install_plugin_install_status($api, $loop = false) {
  * Display plugin information in dialog box form.
  *
  * @since 2.7.0
+ *
+ * @global string $tab
+ * @global string $wp_version
  */
 function install_plugin_information() {
        global $tab;
@@ -577,4 +588,3 @@ function install_plugin_information() {
        iframe_footer();
        exit;
 }
-add_action('install_plugins_pre_plugin-information', 'install_plugin_information');
index bb16117fb7d192efb9b5924e1331459324164834..233d99081830c2f69b6dda8db24aed57816c16c1 100644 (file)
@@ -219,9 +219,9 @@ function get_plugin_files($plugin) {
  *
  * WordPress only supports plugin files in the base plugins directory
  * (wp-content/plugins) and in one directory above the plugins directory
- * (wp-content/plugins/my-plugin). The file it looks for has the plugin data and
- * must be found in those two locations. It is recommended that do keep your
- * plugin files in directories.
+ * (wp-content/plugins/my-plugin). The file it looks for has the plugin data
+ * and must be found in those two locations. It is recommended to keep your
+ * plugin files in their own directories.
  *
  * The file with the plugin data is the file that will be included and therefore
  * needs to have the main execution for the plugin. This does not mean
@@ -576,9 +576,11 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
                }
 
                if ( $network_wide ) {
+                       $current = get_site_option( 'active_sitewide_plugins', array() );
                        $current[$plugin] = time();
                        update_site_option( 'active_sitewide_plugins', $current );
                } else {
+                       $current = get_option( 'active_plugins', array() );
                        $current[] = $plugin;
                        sort($current);
                        update_option('active_plugins', $current);
@@ -749,6 +751,8 @@ function activate_plugins( $plugins, $redirect = '', $network_wide = false, $sil
  *
  * @since 2.6.0
  *
+ * @global WP_Filesystem_Base $wp_filesystem
+ *
  * @param array  $plugins    List of plugins to delete.
  * @param string $deprecated Deprecated.
  * @return bool|null|WP_Error True on success, false is $plugins is empty, WP_Error on failure.
@@ -767,8 +771,8 @@ function delete_plugins( $plugins, $deprecated = '' ) {
        ob_start();
        $url = wp_nonce_url('plugins.php?action=delete-selected&verify-delete=1&' . implode('&', $checked), 'bulk-plugins');
        if ( false === ($credentials = request_filesystem_credentials($url)) ) {
-               $data = ob_get_contents();
-               ob_end_clean();
+               $data = ob_get_clean();
+
                if ( ! empty($data) ){
                        include_once( ABSPATH . 'wp-admin/admin-header.php');
                        echo $data;
@@ -780,8 +784,8 @@ function delete_plugins( $plugins, $deprecated = '' ) {
 
        if ( ! WP_Filesystem($credentials) ) {
                request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
-               $data = ob_get_contents();
-               ob_end_clean();
+               $data = ob_get_clean();
+
                if ( ! empty($data) ){
                        include_once( ABSPATH . 'wp-admin/admin-header.php');
                        echo $data;
@@ -944,6 +948,7 @@ function is_uninstallable_plugin($plugin) {
  * @since 2.7.0
  *
  * @param string $plugin Relative plugin path from Plugin Directory.
+ * @return true True if a plugin's uninstall.php file has been found and included.
  */
 function uninstall_plugin($plugin) {
        $file = plugin_basename($plugin);
@@ -999,6 +1004,11 @@ function uninstall_plugin($plugin) {
  * The function which is hooked in to handle the output of the page must check
  * that the user has the required capability as well.
  *
+ * @global array $menu
+ * @global array $admin_page_hooks
+ * @global array $_registered_pages
+ * @global array $_parent_pages
+ *
  * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
  * @param string $menu_title The text to be used for the menu
  * @param string $capability The capability required for this menu to be displayed to the user.
@@ -1057,6 +1067,8 @@ function add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $func
  * The function which is hooked in to handle the output of the page must check
  * that the user has the required capability as well.
  *
+ * @global int $_wp_last_object_menu
+ *
  * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
  * @param string $menu_title The text to be used for the menu
  * @param string $capability The capability required for this menu to be displayed to the user.
@@ -1083,6 +1095,8 @@ function add_object_page( $page_title, $menu_title, $capability, $menu_slug, $fu
  * The function which is hooked in to handle the output of the page must check
  * that the user has the required capability as well.
  *
+ * @global int $_wp_last_utility_menu
+ *
  * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
  * @param string $menu_title The text to be used for the menu
  * @param string $capability The capability required for this menu to be displayed to the user.
@@ -1109,6 +1123,13 @@ function add_utility_page( $page_title, $menu_title, $capability, $menu_slug, $f
  * The function which is hooked in to handle the output of the page must check
  * that the user has the required capability as well.
  *
+ * @global array $submenu
+ * @global array $menu
+ * @global type $_wp_real_parent_file
+ * @global bool $_wp_submenu_nopriv
+ * @global array $_registered_pages
+ * @global array $_parent_pages
+ *
  * @param string $parent_slug The slug name for the parent menu (or the file name of a standard WordPress admin page)
  * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
  * @param string $menu_title The text to be used for the menu
@@ -1119,12 +1140,8 @@ function add_utility_page( $page_title, $menu_title, $capability, $menu_slug, $f
  * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
  */
 function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
-       global $submenu;
-       global $menu;
-       global $_wp_real_parent_file;
-       global $_wp_submenu_nopriv;
-       global $_registered_pages;
-       global $_parent_pages;
+       global $submenu, $menu, $_wp_real_parent_file, $_wp_submenu_nopriv,
+               $_registered_pages, $_parent_pages;
 
        $menu_slug = plugin_basename( $menu_slug );
        $parent_slug = plugin_basename( $parent_slug);
@@ -1410,6 +1427,8 @@ function add_comments_page( $page_title, $menu_title, $capability, $menu_slug, $
  *
  * @since 3.1.0
  *
+ * @global array $menu
+ *
  * @param string $menu_slug The slug of the menu
  * @return array|bool The removed menu on success, False if not found
  */
@@ -1431,6 +1450,8 @@ function remove_menu_page( $menu_slug ) {
  *
  * @since 3.1.0
  *
+ * @global array $submenu
+ *
  * @param string $menu_slug The slug for the parent menu
  * @param string $submenu_slug The slug of the submenu
  * @return array|bool The removed submenu on success, False if not found
@@ -1458,6 +1479,8 @@ function remove_submenu_page( $menu_slug, $submenu_slug ) {
  *
  * @since 3.0.0
  *
+ * @global array $_parent_pages
+ *
  * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
  * @param bool $echo Whether or not to echo the url - default is true
  * @return string the url
@@ -1487,17 +1510,21 @@ function menu_page_url($menu_slug, $echo = true) {
 //
 // Pluggable Menu Support -- Private
 //
-
+/**
+ *
+ * @global string $parent_file
+ * @global array $menu
+ * @global array $submenu
+ * @global string $pagenow
+ * @global string $typenow
+ * @global string $plugin_page
+ * @global string $_wp_real_parent_file
+ * @global array $_wp_menu_nopriv
+ * @global array $_wp_submenu_nopriv
+ */
 function get_admin_page_parent( $parent = '' ) {
-       global $parent_file;
-       global $menu;
-       global $submenu;
-       global $pagenow;
-       global $typenow;
-       global $plugin_page;
-       global $_wp_real_parent_file;
-       global $_wp_menu_nopriv;
-       global $_wp_submenu_nopriv;
+       global $parent_file, $menu, $submenu, $pagenow, $typenow,
+               $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv;
 
        if ( !empty ( $parent ) && 'admin.php' != $parent ) {
                if ( isset( $_wp_real_parent_file[$parent] ) )
@@ -1551,13 +1578,17 @@ function get_admin_page_parent( $parent = '' ) {
        return '';
 }
 
+/**
+ *
+ * @global string $title
+ * @global array $menu
+ * @global array $submenu
+ * @global string $pagenow
+ * @global string $plugin_page
+ * @global string $typenow
+ */
 function get_admin_page_title() {
-       global $title;
-       global $menu;
-       global $submenu;
-       global $pagenow;
-       global $plugin_page;
-       global $typenow;
+       global $title, $menu, $submenu, $pagenow, $plugin_page, $typenow;
 
        if ( ! empty ( $title ) )
                return $title;
@@ -1627,6 +1658,13 @@ function get_admin_page_title() {
        return $title;
 }
 
+/**
+ * @since 2.3.0
+ *
+ * @param string $plugin_page
+ * @param string $parent_page
+ * @return string|null
+ */
 function get_plugin_page_hook( $plugin_page, $parent_page ) {
        $hook = get_plugin_page_hookname( $plugin_page, $parent_page );
        if ( has_action($hook) )
@@ -1635,6 +1673,12 @@ function get_plugin_page_hook( $plugin_page, $parent_page ) {
                return null;
 }
 
+/**
+ *
+ * @global array $admin_page_hooks
+ * @param string $plugin_page
+ * @param string $parent_page
+ */
 function get_plugin_page_hookname( $plugin_page, $parent_page ) {
        global $admin_page_hooks;
 
@@ -1656,14 +1700,19 @@ function get_plugin_page_hookname( $plugin_page, $parent_page ) {
        return $page_type . '_page_' . $plugin_name;
 }
 
+/**
+ *
+ * @global string $pagenow
+ * @global array $menu
+ * @global array $submenu
+ * @global array $_wp_menu_nopriv
+ * @global array $_wp_submenu_nopriv
+ * @global string $plugin_page
+ * @global array $_registered_pages
+ */
 function user_can_access_admin_page() {
-       global $pagenow;
-       global $menu;
-       global $submenu;
-       global $_wp_menu_nopriv;
-       global $_wp_submenu_nopriv;
-       global $plugin_page;
-       global $_registered_pages;
+       global $pagenow, $menu, $submenu, $_wp_menu_nopriv, $_wp_submenu_nopriv,
+               $plugin_page, $_registered_pages;
 
        $parent = get_admin_page_parent();
 
@@ -1736,6 +1785,8 @@ function user_can_access_admin_page() {
  *
  * @since 2.7.0
  *
+ * @global array $new_whitelist_options
+ *
  * @param string $option_group A settings group name. Should correspond to a whitelisted option key name.
  *     Default whitelisted option key names include "general," "discussion," and "reading," among others.
  * @param string $option_name The name of an option to sanitize and save.
@@ -1764,6 +1815,8 @@ function register_setting( $option_group, $option_name, $sanitize_callback = ''
  *
  * @since 2.7.0
  *
+ * @global array $new_whitelist_options
+ *
  * @param string   $option_group
  * @param string   $option_name
  * @param callable $sanitize_callback
@@ -1781,7 +1834,7 @@ function unregister_setting( $option_group, $option_name, $sanitize_callback = '
                $option_group = 'reading';
        }
 
-       $pos = array_search( $option_name, (array) $new_whitelist_options );
+       $pos = array_search( $option_name, (array) $new_whitelist_options[ $option_group ] );
        if ( $pos !== false )
                unset( $new_whitelist_options[ $option_group ][ $pos ] );
        if ( $sanitize_callback != '' )
@@ -1793,6 +1846,8 @@ function unregister_setting( $option_group, $option_name, $sanitize_callback = '
  *
  * @since 2.7.0
  *
+ * @global array $new_whitelist_options
+ *
  * @param array $options
  * @return array
  */
@@ -1804,13 +1859,14 @@ function option_update_filter( $options ) {
 
        return $options;
 }
-add_filter( 'whitelist_options', 'option_update_filter' );
 
 /**
  * {@internal Missing Short Description}}
  *
  * @since 2.7.0
  *
+ * @global array $whitelist_options
+ *
  * @param array        $new_options
  * @param string|array $options
  * @return array
@@ -1842,6 +1898,8 @@ function add_option_whitelist( $new_options, $options = '' ) {
  *
  * @since 2.7.0
  *
+ * @global array $whitelist_options
+ *
  * @param array        $del_options
  * @param string|array $options
  * @return array
index 3885c2e1319ade52325a06fc6a0c31fd52df7cc2..5fcceec0014decdfcf3bbaffa3f29287bf1ff45d 100644 (file)
@@ -173,6 +173,8 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
  *
  * @since 1.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param array $post_data Optional.
  * @return int Post ID.
  */
@@ -383,7 +385,7 @@ function edit_post( $post_data = null ) {
 
        wp_set_post_lock( $post_ID );
 
-       if ( current_user_can( $ptype->cap->edit_others_posts ) ) {
+       if ( current_user_can( $ptype->cap->edit_others_posts ) && current_user_can( $ptype->cap->publish_posts ) ) {
                if ( ! empty( $post_data['sticky'] ) )
                        stick_post( $post_ID );
                else
@@ -401,6 +403,8 @@ function edit_post( $post_data = null ) {
  *
  * @since 2.7.0
  *
+ * @global wpdb $wpdb
+ *
  * @param array $post_data Optional, the array of post data to process if not provided will use $_POST superglobal.
  * @return array
  */
@@ -606,8 +610,8 @@ function get_default_post_to_edit( $post_type = 'post', $create_in_db = false )
                $post->post_status = 'draft';
                $post->to_ping = '';
                $post->pinged = '';
-               $post->comment_status = get_option( 'default_comment_status' );
-               $post->ping_status = get_option( 'default_ping_status' );
+               $post->comment_status = get_default_comment_status( $post_type );
+               $post->ping_status = get_default_comment_status( $post_type, 'pingback' );
                $post->post_pingback = get_option( 'default_pingback_flag' );
                $post->post_category = get_option( 'default_category' );
                $post->page_template = 'default';
@@ -654,6 +658,8 @@ function get_default_post_to_edit( $post_type = 'post', $create_in_db = false )
  *
  * @since 2.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $title Post title
  * @param string $content Optional post content
  * @param string $date Optional post date
@@ -695,6 +701,8 @@ function post_exists($title, $content = '', $date = '') {
  *
  * @since 2.1.0
  *
+ * @global WP_User $current_user
+ *
  * @return int|WP_Error
  */
 function wp_write_post() {
@@ -834,6 +842,8 @@ function delete_meta( $mid ) {
  *
  * @since 1.2.0
  *
+ * @global wpdb $wpdb
+ *
  * @return mixed
  */
 function get_meta_keys() {
@@ -865,6 +875,8 @@ function get_post_meta_by_id( $mid ) {
  *
  * @since 1.2.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $postid
  * @return mixed
  */
@@ -1055,6 +1067,8 @@ function wp_edit_posts_query( $q = false ) {
  *
  * @since 2.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $type
  * @return mixed
  */
@@ -1304,7 +1318,7 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
        }
 
        if ( isset( $view_post ) ) {
-               if( 'draft' == $post->post_status ) {
+               if ( 'draft' == $post->post_status ) {
                        $preview_link = set_url_scheme( get_permalink( $post->ID ) );
                        /** This filter is documented in wp-admin/includes/meta-boxes.php */
                        $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
@@ -1338,6 +1352,9 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
  *
  * @since 2.9.0
  *
+ * @global int   $content_width
+ * @global array $_wp_additional_image_sizes
+ *
  * @param int $thumbnail_id ID of the attachment used for thumbnail
  * @param mixed $post The post ID or object associated with the thumbnail, defaults to global $post.
  * @return string html
@@ -1345,11 +1362,16 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
 function _wp_post_thumbnail_html( $thumbnail_id = null, $post = null ) {
        global $content_width, $_wp_additional_image_sizes;
 
-       $post = get_post( $post );
+       $post               = get_post( $post );
+       $post_type_object   = get_post_type_object( $post->post_type );
+       $set_thumbnail_link = '<p class="hide-if-no-js"><a title="%s" href="%s" id="set-post-thumbnail" class="thickbox">%s</a></p>';
+       $upload_iframe_src  = get_upload_iframe_src( 'image', $post->ID );
 
-       $upload_iframe_src = esc_url( get_upload_iframe_src('image', $post->ID ) );
-       $set_thumbnail_link = '<p class="hide-if-no-js"><a title="' . esc_attr__( 'Set featured image' ) . '" href="%s" id="set-post-thumbnail" class="thickbox">%s</a></p>';
-       $content = sprintf( $set_thumbnail_link, $upload_iframe_src, esc_html__( 'Set featured image' ) );
+       $content = sprintf( $set_thumbnail_link,
+               esc_attr( $post_type_object->labels->set_featured_image ),
+               esc_url( $upload_iframe_src ),
+               esc_html( $post_type_object->labels->set_featured_image )
+       );
 
        if ( $thumbnail_id && get_post( $thumbnail_id ) ) {
                $old_content_width = $content_width;
@@ -1360,8 +1382,12 @@ function _wp_post_thumbnail_html( $thumbnail_id = null, $post = null ) {
                        $thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'post-thumbnail' );
                if ( !empty( $thumbnail_html ) ) {
                        $ajax_nonce = wp_create_nonce( 'set_post_thumbnail-' . $post->ID );
-                       $content = sprintf( $set_thumbnail_link, $upload_iframe_src, $thumbnail_html );
-                       $content .= '<p class="hide-if-no-js"><a href="#" id="remove-post-thumbnail" onclick="WPRemoveThumbnail(\'' . $ajax_nonce . '\');return false;">' . esc_html__( 'Remove featured image' ) . '</a></p>';
+                       $content = sprintf( $set_thumbnail_link,
+                               esc_attr( $post_type_object->labels->set_featured_image ),
+                               esc_url( $upload_iframe_src ),
+                               $thumbnail_html
+                       );
+                       $content .= '<p class="hide-if-no-js"><a href="#" id="remove-post-thumbnail" onclick="WPRemoveThumbnail(\'' . $ajax_nonce . '\');return false;">' . esc_html( $post_type_object->labels->remove_featured_image ) . '</a></p>';
                }
                $content_width = $old_content_width;
        }
index c522ab56657dbf0ca85921478f30bc9a24a702d0..8c84054803aa6fc42816d61496ef2695e6c282d7 100644 (file)
@@ -8,14 +8,17 @@
  * @subpackage Administration
  */
 
-// Declare these as global in case schema.php is included from a function.
+/**
+ * Declare these as global in case schema.php is included from a function.
+ *
+ * @global wpdb   $wpdb
+ * @global array  $wp_queries
+ * @global string $charset_collate
+ */
 global $wpdb, $wp_queries, $charset_collate;
 
 /**
  * The database character collate.
- * @var string
- * @global string
- * @name $charset_collate
  */
 $charset_collate = $wpdb->get_charset_collate();
 
@@ -24,6 +27,8 @@ $charset_collate = $wpdb->get_charset_collate();
  *
  * @since 3.3.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $scope Optional. The tables for which to retrieve SQL. Can be all, global, ms_global, or blog tables. Defaults to all.
  * @param int $blog_id Optional. The blog ID for which to retrieve SQL. Default is the current blog ID.
  * @return string The SQL needed to create the requested tables.
@@ -333,7 +338,8 @@ $wp_queries = wp_get_db_schema( 'all' );
  * @since 1.5.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
- * @uses $wp_db_version
+ * @global int  $wp_db_version
+ * @global int  $wp_current_db_version
  */
 function populate_options() {
        global $wpdb, $wp_db_version, $wp_current_db_version;
@@ -490,6 +496,9 @@ function populate_options() {
 
        // 3.5
        'link_manager_enabled' => 0,
+
+       // 4.3.0
+       'finished_splitting_shared_terms' => 1,
        );
 
        // 3.3
@@ -862,6 +871,11 @@ endif;
  *
  * @since 3.0.0
  *
+ * @global wpdb       $wpdb
+ * @global object     $current_site
+ * @global int        $wp_db_version
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param int $network_id ID of network to populate.
  * @return bool|WP_Error True on success, or WP_Error on warning (with the install otherwise successful,
  *                       so the error code must be checked) or failure.
@@ -917,6 +931,7 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam
                $site_admins = get_site_option( 'site_admins' );
        }
 
+       /* translators: Do not translate USERNAME, SITE_NAME, BLOG_URL, PASSWORD: those are placeholders. */
        $welcome_email = __( 'Howdy USERNAME,
 
 Your new SITE_NAME site has been successfully set up at:
index 3572446d89e33af03f47168d1be91c230572db86..fba5dc9da06cbb784eb0e8441400926dec639f3e 100644 (file)
@@ -11,6 +11,8 @@
  *
  * @since 2.7.0
  *
+ * @staticvar array $column_headers
+ *
  * @param string|WP_Screen $screen The screen you want the headers for
  * @return array Containing the headers in the format id => UI String
  */
@@ -60,6 +62,8 @@ function get_hidden_columns( $screen ) {
  *
  * @since 2.7.0
  *
+ * @global array $wp_meta_boxes
+ *
  * @param WP_Screen $screen
  */
 function meta_box_prefs( $screen ) {
@@ -73,9 +77,12 @@ function meta_box_prefs( $screen ) {
 
        $hidden = get_hidden_meta_boxes($screen);
 
-       foreach ( array_keys($wp_meta_boxes[$screen->id]) as $context ) {
-               foreach ( array_keys($wp_meta_boxes[$screen->id][$context]) as $priority ) {
-                       foreach ( $wp_meta_boxes[$screen->id][$context][$priority] as $box ) {
+       foreach ( array_keys( $wp_meta_boxes[ $screen->id ] ) as $context ) {
+               foreach ( array( 'high', 'core', 'default', 'low' ) as $priority ) {
+                       if ( ! isset( $wp_meta_boxes[ $screen->id ][ $context ][ $priority ] ) ) {
+                               continue;
+                       }
+                       foreach ( $wp_meta_boxes[ $screen->id ][ $context ][ $priority ] as $box ) {
                                if ( false == $box || ! $box['title'] )
                                        continue;
                                // Submit box cannot be hidden
@@ -162,6 +169,8 @@ function add_screen_option( $option, $args = array() ) {
  *
  * @since 3.1.0
  *
+ * @global WP_Screen $current_screen
+ *
  * @return WP_Screen Current screen object
  */
 function get_current_screen() {
@@ -179,7 +188,7 @@ function get_current_screen() {
  * @since 3.0.0
  *
  * @param mixed $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen,
- *     or an existing screen object.
+ *                            or an existing screen object.
  */
 function set_current_screen( $hook_name = '' ) {
        WP_Screen::get( $hook_name )->set_current_screen();
@@ -323,6 +332,11 @@ final class WP_Screen {
 
        /**
         * Stores old string-based help.
+        *
+        * @static
+        * @access private
+        *
+        * @var array
         */
        private static $_old_compat_help = array();
 
@@ -339,8 +353,11 @@ final class WP_Screen {
         * The screen object registry.
         *
         * @since 3.3.0
-        * @var array
+        *
+        * @static
         * @access private
+        *
+        * @var array
         */
        private static $_registry = array();
 
@@ -368,12 +385,15 @@ final class WP_Screen {
         * @since 3.3.0
         * @access public
         *
+        * @static
+        *
+        * @global string $hook_suffix
+        *
         * @param string|WP_Screen $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen.
-        *      Defaults to the current $hook_suffix global.
+        *                                        Defaults to the current $hook_suffix global.
         * @return WP_Screen Screen object.
         */
        public static function get( $hook_name = '' ) {
-
                if ( $hook_name instanceof WP_Screen ) {
                        return $hook_name;
                }
@@ -529,6 +549,10 @@ final class WP_Screen {
         *
         * @see set_current_screen()
         * @since 3.3.0
+        *
+        * @global WP_Screen $current_screen
+        * @global string    $taxnow
+        * @global string    $typenow
         */
        public function set_current_screen() {
                global $current_screen, $taxnow, $typenow;
@@ -560,9 +584,8 @@ final class WP_Screen {
         * @since 3.5.0
         *
         * @param string $admin The admin to check against (network | user | site).
-        * If empty any of the three admins will result in true.
-        * @return boolean True if the screen is in the indicated admin, false otherwise.
-        *
+        *                      If empty any of the three admins will result in true.
+        * @return bool True if the screen is in the indicated admin, false otherwise.
         */
        public function in_admin( $admin = null ) {
                if ( empty( $admin ) )
@@ -578,6 +601,8 @@ final class WP_Screen {
         *
         * @since 3.3.0
         *
+        * @static
+        *
         * @param WP_Screen $screen A screen object.
         * @param string $help Help text.
         */
@@ -787,6 +812,8 @@ final class WP_Screen {
         * This will trigger the deprecated filters for backwards compatibility.
         *
         * @since 3.3.0
+        *
+        * @global string $screen_layout_columns
         */
        public function render_screen_meta() {
 
@@ -947,18 +974,24 @@ final class WP_Screen {
                <div id="screen-meta-links">
                <?php if ( $this->get_help_tabs() ) : ?>
                        <div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle">
-                       <a href="#contextual-help-wrap" id="contextual-help-link" class="show-settings" aria-controls="contextual-help-wrap" aria-expanded="false"><?php _e( 'Help' ); ?></a>
+                       <button type="button" id="contextual-help-link" class="button show-settings" aria-controls="contextual-help-wrap" aria-expanded="false"><?php _e( 'Help' ); ?></button>
                        </div>
                <?php endif;
                if ( $this->show_screen_options() ) : ?>
                        <div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle">
-                       <a href="#screen-options-wrap" id="show-settings-link" class="show-settings" aria-controls="screen-options-wrap" aria-expanded="false"><?php _e( 'Screen Options' ); ?></a>
+                       <button type="button" id="show-settings-link" class="button show-settings" aria-controls="screen-options-wrap" aria-expanded="false"><?php _e( 'Screen Options' ); ?></button>
                        </div>
                <?php endif; ?>
                </div>
                <?php
        }
 
+       /**
+        *
+        * @global array $wp_meta_boxes
+        *
+        * @return bool
+        */
        public function show_screen_options() {
                global $wp_meta_boxes;
 
@@ -1017,6 +1050,8 @@ final class WP_Screen {
         * Render the screen options tab.
         *
         * @since 3.3.0
+        *
+        * @global array $wp_meta_boxes
         */
        public function render_screen_options() {
                global $wp_meta_boxes;
index 9529a2b24fa665831ce7879ecfe9e7c0430f3e64..4f11bdbd4e12b69ae96d621c588298c6d7f73cbf 100644 (file)
@@ -96,7 +96,7 @@ function wp_create_categories( $categories, $post_id = '' ) {
  *     @type int        $cat_ID               Categoriy ID. A non-zero value updates an existing category.
  *                                            Default 0.
  *     @type string     $taxonomy             Taxonomy slug. Defualt 'category'.
- *     @type string     $cat_nam              Category name. Default empty.
+ *     @type string     $cat_name             Category name. Default empty.
  *     @type string     $category_description Category description. Default empty.
  *     @type string     $category_nicename    Category nice (display) name. Default empty.
  *     @type int|string $category_parent      Category parent ID. Default empty.
index 03ff4e7d9e099e2bfedcc02037f7a707452775fb..d1a85870cf902cc74d0e621435c0e4a6ffbad48e 100644 (file)
@@ -436,10 +436,12 @@ function get_inline_data($post) {
  *
  * @since 2.7.0
  *
- * @param int $position
- * @param bool $checkbox
+ * @global WP_List_Table $wp_list_table
+ *
+ * @param int    $position
+ * @param bool   $checkbox
  * @param string $mode
- * @param bool $table_row
+ * @param bool   $table_row
  */
 function wp_comment_reply( $position = 1, $checkbox = false, $mode = 'single', $table_row = true ) {
        global $wp_list_table;
@@ -603,17 +605,19 @@ function list_meta( $meta ) {
  *
  * @since 2.5.0
  *
+ * @staticvar string $update_nonce
+ *
  * @param array $entry
  * @param int   $count
  * @return string
  */
 function _list_meta_row( $entry, &$count ) {
-       static $update_nonce = false;
+       static $update_nonce = '';
 
        if ( is_protected_meta( $entry['meta_key'], 'post' ) )
                return '';
 
-       if ( !$update_nonce )
+       if ( ! $update_nonce )
                $update_nonce = wp_create_nonce( 'add-meta' );
 
        $r = '';
@@ -656,6 +660,8 @@ function _list_meta_row( $entry, &$count ) {
  *
  * @since 1.2.0
  *
+ * @global wpdb $wpdb
+ *
  * @param WP_Post $post Optional. The post being edited.
  */
 function meta_form( $post = null ) {
@@ -671,9 +677,9 @@ function meta_form( $post = null ) {
         * @param int $limit Number of custom fields to retrieve. Default 30.
         */
        $limit = apply_filters( 'postmeta_form_limit', 30 );
-       $sql = "SELECT meta_key
+       $sql = "SELECT DISTINCT meta_key
                FROM $wpdb->postmeta
-               GROUP BY meta_key
+               WHERE meta_key NOT BETWEEN '_' AND '_z'
                HAVING meta_key NOT LIKE %s
                ORDER BY meta_key
                LIMIT %d";
@@ -737,6 +743,9 @@ function meta_form( $post = null ) {
  *
  * @since 0.71
  *
+ * @global WP_Locale $wp_locale
+ * @global object    $comment
+ *
  * @param int|bool $edit      Accepts 1|true for editing the date, 0|false for adding the date.
  * @param int|bool $for_post  Accepts 1|true for applying the date to a post, 0|false for a comment.
  * @param int      $tab_index The tabindex attribute to add. Default 0.
@@ -772,23 +781,24 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
        $cur_hh = gmdate( 'H', $time_adj );
        $cur_mn = gmdate( 'i', $time_adj );
 
-       $month = '<label for="mm" class="screen-reader-text">' . __( 'Month' ) . '</label><select ' . ( $multi ? '' : 'id="mm" ' ) . 'name="mm"' . $tab_index_attribute . ">\n";
+       $month = '<label><span class="screen-reader-text">' . __( 'Month' ) . '</span><select ' . ( $multi ? '' : 'id="mm" ' ) . 'name="mm"' . $tab_index_attribute . ">\n";
        for ( $i = 1; $i < 13; $i = $i +1 ) {
                $monthnum = zeroise($i, 2);
-               $month .= "\t\t\t" . '<option value="' . $monthnum . '" ' . selected( $monthnum, $mm, false ) . '>';
+               $monthtext = $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) );
+               $month .= "\t\t\t" . '<option value="' . $monthnum . '" data-text="' . $monthtext . '" ' . selected( $monthnum, $mm, false ) . '>';
                /* translators: 1: month number (01, 02, etc.), 2: month abbreviation */
-               $month .= sprintf( __( '%1$s-%2$s' ), $monthnum, $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) ) ) . "</option>\n";
+               $month .= sprintf( __( '%1$s-%2$s' ), $monthnum, $monthtext ) . "</option>\n";
        }
-       $month .= '</select>';
+       $month .= '</select></label>';
 
-       $day = '<label for="jj" class="screen-reader-text">' . __( 'Day' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="jj" ' ) . 'name="jj" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
-       $year = '<label for="aa" class="screen-reader-text">' . __( 'Year' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="aa" ' ) . 'name="aa" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" />';
-       $hour = '<label for="hh" class="screen-reader-text">' . __( 'Hour' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="hh" ' ) . 'name="hh" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
-       $minute = '<label for="mn" class="screen-reader-text">' . __( 'Minute' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="mn" ' ) . 'name="mn" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
+       $day = '<label><span class="screen-reader-text">' . __( 'Day' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="jj" ' ) . 'name="jj" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" /></label>';
+       $year = '<label><span class="screen-reader-text">' . __( 'Year' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="aa" ' ) . 'name="aa" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" /></label>';
+       $hour = '<label><span class="screen-reader-text">' . __( 'Hour' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="hh" ' ) . 'name="hh" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" /></label>';
+       $minute = '<label><span class="screen-reader-text">' . __( 'Minute' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="mn" ' ) . 'name="mn" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" /></label>';
 
        echo '<div class="timestamp-wrap">';
        /* translators: 1: month, 2: day, 3: year, 4: hour, 5: minute */
-       printf( __( '%1$s %2$s, %3$s @ %4$s : %5$s' ), $month, $day, $year, $hour, $minute );
+       printf( __( '%1$s %2$s, %3$s @ %4$s:%5$s' ), $month, $day, $year, $hour, $minute );
 
        echo '</div><input type="hidden" id="ss" name="ss" value="' . $ss . '" />';
 
@@ -839,6 +849,8 @@ function page_template_dropdown( $default = '' ) {
  *
  * @since 1.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $default Optional. The default page ID to be pre-selected. Default 0.
  * @param int $parent  Optional. The parent page ID. Default 0.
  * @param int $level   Optional. Page depth level. Default 0.
@@ -934,6 +946,8 @@ function wp_import_upload_form( $action ) {
  *
  * @since 2.5.0
  *
+ * @global array $wp_meta_boxes
+ *
  * @param string           $id            String for use in the 'id' attribute of tags.
  * @param string           $title         Title of the meta box.
  * @param callback         $callback      Function that fills the box with the desired content.
@@ -1022,10 +1036,12 @@ function add_meta_box( $id, $title, $callback, $screen = null, $context = 'advan
  *
  * @since 2.5.0
  *
+ * @global array $wp_meta_boxes
+ *
  * @staticvar bool $already_sorted
- * @param string|WP_Screen $screen Screen identifier
- * @param string $context box context
- * @param mixed $object gets passed to the box callback function as first parameter
+ * @param string|WP_Screen $screen  Screen identifier
+ * @param string           $context box context
+ * @param mixed            $object  gets passed to the box callback function as first parameter
  * @return int number of meta_boxes
  */
 function do_meta_boxes( $screen, $context, $object ) {
@@ -1090,9 +1106,11 @@ function do_meta_boxes( $screen, $context, $object ) {
  *
  * @since 2.6.0
  *
- * @param string $id String for use in the 'id' attribute of tags.
- * @param string|object $screen The screen on which to show the box (post, page, link).
- * @param string $context The context within the page where the boxes should show ('normal', 'advanced').
+ * @global array $wp_meta_boxes
+ *
+ * @param string        $id      String for use in the 'id' attribute of tags.
+ * @param string|object $screen  The screen on which to show the box (post, page, link).
+ * @param string        $context The context within the page where the boxes should show ('normal', 'advanced').
  */
 function remove_meta_box($id, $screen, $context) {
        global $wp_meta_boxes;
@@ -1126,9 +1144,9 @@ function remove_meta_box($id, $screen, $context) {
  *
  * @uses global $wp_meta_boxes Used to retrieve registered meta boxes.
  *
- * @param string|object $screen The screen identifier.
- * @param string $context The meta box context.
- * @param mixed $object gets passed to the section callback function as first parameter.
+ * @param string|object $screen  The screen identifier.
+ * @param string        $context The meta box context.
+ * @param mixed         $object  gets passed to the section callback function as first parameter.
  * @return int number of meta boxes as accordion sections.
  */
 function do_accordion_sections( $screen, $context, $object ) {
@@ -1204,10 +1222,10 @@ function do_accordion_sections( $screen, $context, $object ) {
  *
  * @global $wp_settings_sections Storage array of all settings sections added to admin pages
  *
- * @param string $id Slug-name to identify the section. Used in the 'id' attribute of tags.
- * @param string $title Formatted title of the section. Shown as the heading for the section.
+ * @param string $id       Slug-name to identify the section. Used in the 'id' attribute of tags.
+ * @param string $title    Formatted title of the section. Shown as the heading for the section.
  * @param string $callback Function that echos out any content at the top of the section (between heading and fields).
- * @param string $page The slug-name of the settings page on which to show the section. Built-in pages include 'general', 'reading', 'writing', 'discussion', 'media', etc. Create your own using add_options_page();
+ * @param string $page     The slug-name of the settings page on which to show the section. Built-in pages include 'general', 'reading', 'writing', 'discussion', 'media', etc. Create your own using add_options_page();
  */
 function add_settings_section($id, $title, $callback, $page) {
        global $wp_settings_sections;
@@ -1465,9 +1483,9 @@ function get_settings_errors( $setting = '', $sanitize = false ) {
  *
  * @since 3.0.0
  *
- * @param string $setting Optional slug title of a specific setting who's errors you want.
- * @param boolean $sanitize Whether to re-sanitize the setting value before returning errors.
- * @param boolean $hide_on_update If set to true errors will not be shown if the settings page has already been submitted.
+ * @param string $setting        Optional slug title of a specific setting who's errors you want.
+ * @param bool   $sanitize       Whether to re-sanitize the setting value before returning errors.
+ * @param bool   $hide_on_update If set to true errors will not be shown if the settings page has already been submitted.
  */
 function settings_errors( $setting = '', $sanitize = false, $hide_on_update = false ) {
 
@@ -1576,6 +1594,10 @@ function _admin_search_query() {
  *
  * @since 2.7.0
  *
+ * @global string    $hook_suffix
+ * @global string    $admin_body_class
+ * @global WP_Locale $wp_locale
+ *
  * @param string $title      Optional. Title of the Iframe page. Default empty.
  * @param bool   $deprecated Not used.
  */
@@ -1637,7 +1659,11 @@ if ( is_rtl() )
 /** This filter is documented in wp-admin/admin-header.php */
 $admin_body_classes = apply_filters( 'admin_body_class', '' );
 ?>
-<body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-admin wp-core-ui no-js iframe <?php echo $admin_body_classes . ' ' . $admin_body_class; ?>">
+<body<?php
+/**
+ * @global string $body_id
+ */
+if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-admin wp-core-ui no-js iframe <?php echo $admin_body_classes . ' ' . $admin_body_class; ?>">
 <script type="text/javascript">
 (function(){
 var c = document.body.className;
@@ -1675,6 +1701,10 @@ function iframe_footer() {
 <?php
 }
 
+/**
+ *
+ * @param WP_Post $post
+ */
 function _post_states($post) {
        $post_states = array();
        if ( isset( $_REQUEST['post_status'] ) )
@@ -1694,6 +1724,10 @@ function _post_states($post) {
        if ( is_sticky($post->ID) )
                $post_states['sticky'] = __('Sticky');
 
+       if ( 'future' === $post->post_status ) {
+               $post_states['scheduled'] = __( 'Scheduled' );
+       }
+
        if ( get_option( 'page_on_front' ) == $post->ID ) {
                $post_states['page_on_front'] = __( 'Front Page' );
        }
@@ -1725,6 +1759,10 @@ function _post_states($post) {
 
 }
 
+/**
+ *
+ * @param WP_Post $post
+ */
 function _media_states( $post ) {
        $media_states = array();
        $stylesheet = get_option('stylesheet');
@@ -1741,13 +1779,17 @@ function _media_states( $post ) {
                        $media_states[] = __( 'Background Image' );
        }
 
+       if ( $post->ID == get_option( 'site_icon' ) ) {
+               $media_states[] = __( 'Site Icon' );
+       }
+
        /**
         * Filter the default media display states for items in the Media list table.
         *
         * @since 3.2.0
         *
         * @param array $media_states An array of media states. Default 'Header Image',
-        *                            'Background Image'.
+        *                            'Background Image', 'Site Icon'.
         */
        $media_states = apply_filters( 'display_media_states', $media_states );
 
@@ -1921,6 +1963,10 @@ function get_submit_button( $text = '', $type = 'primary large', $name = 'submit
        return $button;
 }
 
+/**
+ *
+ * @global bool $is_IE
+ */
 function _wp_admin_html_begin() {
        global $is_IE;
 
@@ -1964,20 +2010,26 @@ final class WP_Internal_Pointers {
         * Individual pointers (e.g. wp390_widgets) can be disabled using the following:
         *     remove_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_wp390_widgets' ) );
         *
+        * @static
+        *
         * @param string $hook_suffix The current admin page.
         */
        public static function enqueue_scripts( $hook_suffix ) {
                /*
                 * Register feature pointers
-                * Format: array( hook_suffix => pointer_id )
+                *
+                * Format:
+                *     array(
+                *         hook_suffix => pointer callback
+                *     )
+                *
+                * Example:
+                *     array(
+                *         'themes.php' => 'wp390_widgets'
+                *     )
                 */
-
                $registered_pointers = array(
-                       'post-new.php' => 'wp410_dfw',
-                       'post.php'     => 'wp410_dfw',
-                       'edit.php'     => 'wp360_locks',
-                       'widgets.php'  => 'wp390_widgets',
-                       'themes.php'   => 'wp390_widgets',
+                       // None currently
                );
 
                // Check if screen related pointer is registered
@@ -1986,8 +2038,21 @@ final class WP_Internal_Pointers {
 
                $pointers = (array) $registered_pointers[ $hook_suffix ];
 
+               /*
+                * Specify required capabilities for feature pointers
+                *
+                * Format:
+                *     array(
+                *         pointer callback => Array of required capabilities
+                *     )
+                *
+                * Example:
+                *     array(
+                *         'wp390_widgets' => array( 'edit_theme_options' )
+                *     )
+                */
                $caps_required = array(
-                       'wp390_widgets' => array( 'edit_theme_options' ),
+                       // None currently
                );
 
                // Get dismissed pointers
@@ -2020,6 +2085,8 @@ final class WP_Internal_Pointers {
         *
         * @since 3.3.0
         *
+        * @static
+        *
         * @param string $pointer_id The pointer ID.
         * @param string $selector The HTML elements, on which the pointer should be attached.
         * @param array  $args Arguments to be passed to the pointer JS (see wp-pointer.js).
@@ -2066,83 +2133,24 @@ final class WP_Internal_Pointers {
        public static function pointer_wp340_choose_image_from_library() {}
        public static function pointer_wp350_media() {}
        public static function pointer_wp360_revisions() {}
-
-       public static function pointer_wp360_locks() {
-               if ( ! is_multi_author() ) {
-                       return;
-               }
-
-               $content  = '<h3>' . __( 'Edit Lock' ) . '</h3>';
-               $content .= '<p>' . __( 'Someone else is editing this. No need to refresh; the lock will disappear when they&#8217;re done.' ) . '</p>';
-
-               self::print_js( 'wp360_locks', 'tr.wp-locked .locked-indicator', array(
-                       'content' => $content,
-                       'position' => array( 'edge' => 'left', 'align' => 'left' ),
-               ) );
-       }
-
-       public static function pointer_wp390_widgets() {
-               if ( ! current_theme_supports( 'widgets' ) ) {
-                       return;
-               }
-
-               $content  = '<h3>' . __( 'New Feature: Live Widget Previews' ) . '</h3>';
-               $content .= '<p>' . __( 'Add, edit, and play around with your widgets from the Customizer.' ) . ' ' . __( 'Preview your changes in real-time and only save them when you&#8217;re ready.' ) . '</p>';
-
-               if ( 'themes' === get_current_screen()->id ) {
-                       $selector = '.theme.active .customize';
-                       $position = array( 'edge' => is_rtl() ? 'right' : 'left', 'align' => 'center' );
-               } else {
-                       $selector = 'a[href^="customize.php"]';
-                       if ( is_rtl() ) {
-                               $position = array( 'edge' => 'right', 'align' => 'center', 'my' => 'right-5px' );
-                       } else {
-                               $position = array( 'edge' => 'left', 'align' => 'center', 'my' => 'left-5px' );
-                       }
-               }
-
-               self::print_js( 'wp390_widgets', $selector, array(
-                       'content' => $content,
-                       'position' => $position,
-               ) );
-       }
-
-       public static function pointer_wp410_dfw() {
-               // Don't show when editor-scrolling is not used.
-               if ( empty( $GLOBALS['_wp_editor_expand'] ) ) {
-                       return;
-               }
-
-               $content  = '<h3>' . __( 'Distraction-Free Writing' ) . '</h3>';
-               $content .= '<p>' . __( 'Enable distraction-free writing mode, and everything surrounding the editor will fade away when you start typing. Move your mouse out of the editor to reveal everything again.' ) . '</p>';
-
-               if ( is_rtl() ) {
-                       $position = array( 'edge' => 'left', 'align' => 'center', 'my' => 'left+40 top-11', 'at' => 'left top' );
-               } else {
-                       $position = array( 'edge' => 'right', 'align' => 'center', 'my' => 'right-40 top-11', 'at' => 'right top' );
-               }
-
-               self::print_js( 'wp410_dfw', '#wp-content-wrap', array(
-                       'content' => $content,
-                       'position' => $position,
-               ) );
-       }
+       public static function pointer_wp360_locks() {}
+       public static function pointer_wp390_widgets() {}
+       public static function pointer_wp410_dfw() {}
 
        /**
         * Prevents new users from seeing existing 'new feature' pointers.
         *
         * @since 3.3.0
         *
+        * @static
+        *
         * @param int $user_id User ID.
         */
        public static function dismiss_pointers_for_new_users( $user_id ) {
-               add_user_meta( $user_id, 'dismissed_wp_pointers', 'wp360_locks,wp390_widgets' );
+               add_user_meta( $user_id, 'dismissed_wp_pointers', '' );
        }
 }
 
-add_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts'                ) );
-add_action( 'user_register',         array( 'WP_Internal_Pointers', 'dismiss_pointers_for_new_users' ) );
-
 /**
  * Convert a screen string to a screen object
  *
index ded1324dc78589006710dd3a49bc23bea40c7433..5ae364d33d2e70dd7ac6e8ad8c903a8deaad647c 100644 (file)
@@ -50,6 +50,8 @@ function install_themes_feature_list() {
  * Display search form for searching themes.
  *
  * @since 2.8.0
+ *
+ * @param bool $type_selector
  */
 function install_theme_search_form( $type_selector = true ) {
        $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term';
@@ -132,8 +134,10 @@ function install_themes_dashboard() {
 </form>
 <?php
 }
-// add_action('install_themes_dashboard', 'install_themes_dashboard');
 
+/**
+ * @since 2.8.0
+ */
 function install_themes_upload() {
 ?>
 <p class="install-help"><?php _e('If you have a theme in a .zip format, you may install it by uploading it here.'); ?></p>
@@ -144,12 +148,15 @@ function install_themes_upload() {
 </form>
        <?php
 }
-// add_action('install_themes_upload', 'install_themes_upload', 10, 0);
 
 /**
  * Prints a theme on the Install Themes pages.
  *
  * @deprecated 3.4.0
+ *
+ * @global WP_Theme_Install_List_Table $wp_list_table
+ *
+ * @param object $theme
  */
 function display_theme( $theme ) {
        _deprecated_function( __FUNCTION__, '3.4' );
@@ -165,6 +172,8 @@ function display_theme( $theme ) {
  * Display theme content based on theme list.
  *
  * @since 2.8.0
+ *
+ * @global WP_Theme_Install_List_Table $wp_list_table
  */
 function display_themes() {
        global $wp_list_table;
@@ -176,15 +185,13 @@ function display_themes() {
        $wp_list_table->display();
 
 }
-// add_action('install_themes_search', 'display_themes');
-// add_action('install_themes_featured', 'display_themes');
-// add_action('install_themes_new', 'display_themes');
-// add_action('install_themes_updated', 'display_themes');
 
 /**
  * Display theme information in dialog box form.
  *
  * @since 2.8.0
+ *
+ * @global WP_Theme_Install_List_Table $wp_list_table
  */
 function install_theme_information() {
        global $wp_list_table;
@@ -202,4 +209,3 @@ function install_theme_information() {
        iframe_footer();
        exit;
 }
-add_action('install_themes_pre_theme-information', 'install_theme_information');
index 4a9cfbc2030c16213ac26f0e6bda3c477c4cd141..9bbfc7215d3572f4ff3d5cf00211321d15290354 100644 (file)
  *
  * @since 2.8.0
  *
+ * @global WP_Filesystem_Base $wp_filesystem Subclass
+ *
  * @param string $stylesheet Stylesheet of the theme to delete
  * @param string $redirect Redirect to page when complete.
- * @return mixed
+ * @return void|bool|WP_Error When void, echoes content.
  */
 function delete_theme($stylesheet, $redirect = '') {
        global $wp_filesystem;
@@ -25,8 +27,8 @@ function delete_theme($stylesheet, $redirect = '') {
        if ( empty( $redirect ) )
                $redirect = wp_nonce_url('themes.php?action=delete&stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet);
        if ( false === ($credentials = request_filesystem_credentials($redirect)) ) {
-               $data = ob_get_contents();
-               ob_end_clean();
+               $data = ob_get_clean();
+
                if ( ! empty($data) ){
                        include_once( ABSPATH . 'wp-admin/admin-header.php');
                        echo $data;
@@ -38,8 +40,8 @@ function delete_theme($stylesheet, $redirect = '') {
 
        if ( ! WP_Filesystem($credentials) ) {
                request_filesystem_credentials($redirect, '', true); // Failed to connect, Error and request again
-               $data = ob_get_contents();
-               ob_end_clean();
+               $data = ob_get_clean();
+
                if ( ! empty($data) ) {
                        include_once( ABSPATH . 'wp-admin/admin-header.php');
                        echo $data;
@@ -121,7 +123,7 @@ function _get_template_edit_filename($fullpath, $containingfolder) {
  * @since 2.7.0
  * @see get_theme_update_available()
  *
- * @param object $theme Theme data object.
+ * @param WP_Theme $theme Theme data object.
  */
 function theme_update_available( $theme ) {
        echo get_theme_update_available( $theme );
@@ -134,11 +136,13 @@ function theme_update_available( $theme ) {
  *
  * @since 3.8.0
  *
+ * @staticvar object $themes_update
+ *
  * @param WP_Theme $theme WP_Theme object.
  * @return false|string HTML for the update link, or false if invalid info was passed.
  */
 function get_theme_update_available( $theme ) {
-       static $themes_update;
+       static $themes_update = null;
 
        if ( !current_user_can('update_themes' ) )
                return false;
@@ -475,13 +479,6 @@ function wp_prepare_themes_for_js( $themes = null ) {
                        'actions'      => array(
                                'activate' => current_user_can( 'switch_themes' ) ? wp_nonce_url( admin_url( 'themes.php?action=activate&amp;stylesheet=' . $encoded_slug ), 'switch-theme_' . $slug ) : null,
                                'customize' => ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) ? wp_customize_url( $slug ) : null,
-                               'preview'   => add_query_arg( array(
-                                       'preview'        => 1,
-                                       'template'       => urlencode( $theme->get_template() ),
-                                       'stylesheet'     => urlencode( $slug ),
-                                       'preview_iframe' => true,
-                                       'TB_iframe'      => true,
-                               ), home_url( '/' ) ),
                                'delete'   => current_user_can( 'delete_themes' ) ? wp_nonce_url( admin_url( 'themes.php?action=delete&amp;stylesheet=' . $encoded_slug ), 'delete-theme_' . $slug ) : null,
                        ),
                );
@@ -561,4 +558,3 @@ function customize_themes_print_templates() {
        </script>
        <?php
 }
-add_action( 'customize_controls_print_footer_scripts', 'customize_themes_print_templates' );
index 25358f448fd7cbd4c50a39e99c4c8abe74196145..8e1b827c479e27e790102891585088866fbb00d2 100644 (file)
@@ -124,6 +124,8 @@ function wp_get_available_translations() {
  *
  * @since 4.0.0
  *
+ * @global string $wp_local_package
+ *
  * @param array $languages Array of available languages (populated via the Translation API).
  */
 function wp_install_language_form( $languages ) {
index 04cd780b21c161626c2bd9dfb07f4c0b5811b56a..04aa988a432ceaae51e5b39d1cb2c86b28927b6b 100644 (file)
@@ -694,7 +694,12 @@ $_old_files = array(
 'wp-includes/js/jquery/ui/jquery.ui.tabs.min.js',
 'wp-includes/js/jquery/ui/jquery.ui.tooltip.min.js',
 'wp-includes/js/jquery/ui/jquery.ui.widget.min.js',
-'wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png'
+'wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png',
+// 4.3
+'wp-admin/js/wp-fullscreen.js',
+'wp-admin/js/wp-fullscreen.min.js',
+'wp-includes/js/tinymce/wp-mce-help.php',
+'wp-includes/js/tinymce/plugins/wpfullscreen',
 );
 
 /**
@@ -768,8 +773,16 @@ $_new_bundled_files = array(
  *
  * @since 2.7.0
  *
+ * @global WP_Filesystem_Base $wp_filesystem
+ * @global array              $_old_files
+ * @global array              $_new_bundled_files
+ * @global wpdb               $wpdb
+ * @global string             $wp_version
+ * @global string             $required_php_version
+ * @global string             $required_mysql_version
+ *
  * @param string $from New release unzipped path.
- * @param string $to Path to old WordPress installation.
+ * @param string $to   Path to old WordPress installation.
  * @return WP_Error|null WP_Error on failure, null on success.
  */
 function update_core($from, $to) {
@@ -810,8 +823,15 @@ function update_core($from, $to) {
                return new WP_Error( 'insane_distro', __('The update could not be unpacked') );
        }
 
-       // Import $wp_version, $required_php_version, and $required_mysql_version from the new version
-       // $wp_filesystem->wp_content_dir() returned unslashed pre-2.8
+
+       /**
+        * Import $wp_version, $required_php_version, and $required_mysql_version from the new version
+        * $wp_filesystem->wp_content_dir() returned unslashed pre-2.8
+        *
+        * @global string $wp_version
+        * @global string $required_php_version
+        * @global string $required_mysql_version
+        */
        global $wp_version, $required_php_version, $required_mysql_version;
 
        $versions_file = trailingslashit( $wp_filesystem->wp_content_dir() ) . 'upgrade/version-current.php';
@@ -1101,8 +1121,10 @@ function update_core($from, $to) {
  * @since 3.7.0 Updated not to use a regular expression for the skip list
  * @see copy_dir()
  *
- * @param string $from source directory
- * @param string $to destination directory
+ * @global WP_Filesystem_Base $wp_filesystem
+ *
+ * @param string $from     source directory
+ * @param string $to       destination directory
  * @param array $skip_list a list of files/folders to skip copying
  * @return mixed WP_Error on failure, True on success.
  */
@@ -1156,6 +1178,11 @@ function _copy_dir($from, $to, $skip_list = array() ) {
  *
  * @since 3.3.0
  *
+ * @global string $wp_version
+ * @global string $pagenow
+ * @global string $action
+ *
+ * @param string $new_version
  */
 function _redirect_to_about_wordpress( $new_version ) {
        global $wp_version, $pagenow, $action;
@@ -1190,12 +1217,14 @@ window.location = 'about.php?updated';
        include(ABSPATH . 'wp-admin/admin-footer.php');
        exit();
 }
-add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );
 
 /**
  * Cleans up Genericons example files.
  *
  * @since 4.2.2
+ *
+ * @global array              $wp_theme_directories
+ * @global WP_Filesystem_Base $wp_filesystem
  */
 function _upgrade_422_remove_genericons() {
        global $wp_theme_directories, $wp_filesystem;
index ba03453d0cf27cb9976c1414128f2cc53e05a957..9bbb0c0f88540b29182d111a94597752dd47c7b0 100644 (file)
@@ -9,7 +9,7 @@
 /**
  * Selects the first update version from the update_core option.
  *
- * @return bool|object The response from the API on success, false on failure.
+ * @return object|array|false The response from the API on success, false on failure.
  */
 function get_preferred_from_update_core() {
        $updates = get_core_updates();
@@ -24,8 +24,8 @@ function get_preferred_from_update_core() {
  * Get available core updates.
  *
  * @param array $options Set $options['dismissed'] to true to show dismissed upgrades too,
- *     set $options['available'] to false to skip not-dismissed updates.
- * @return bool|array Array of the update objects on success, false on failure.
+ *                          set $options['available'] to false to skip not-dismissed updates.
+ * @return array|false Array of the update objects on success, false on failure.
  */
 function get_core_updates( $options = array() ) {
        $options = array_merge( array( 'available' => true, 'dismissed' => false ), $options );
@@ -67,7 +67,7 @@ function get_core_updates( $options = array() ) {
  *
  * @since 3.7.0
  *
- * @return bool|array False on failure, otherwise the core update offering.
+ * @return array|false False on failure, otherwise the core update offering.
  */
 function find_core_auto_update() {
        $updates = get_site_transient( 'update_core' );
@@ -128,12 +128,23 @@ function get_core_checksums( $version, $locale ) {
        return $body['checksums'];
 }
 
+/**
+ *
+ * @param object $update
+ * @return bool
+ */
 function dismiss_core_update( $update ) {
        $dismissed = get_site_option( 'dismissed_update_core' );
        $dismissed[ $update->current . '|' . $update->locale ] = true;
        return update_site_option( 'dismissed_update_core', $dismissed );
 }
 
+/**
+ *
+ * @param string $version
+ * @param string $locale
+ * @return bool
+ */
 function undismiss_core_update( $version, $locale ) {
        $dismissed = get_site_option( 'dismissed_update_core' );
        $key = $version . '|' . $locale;
@@ -145,6 +156,12 @@ function undismiss_core_update( $version, $locale ) {
        return update_site_option( 'dismissed_update_core', $dismissed );
 }
 
+/**
+ *
+ * @param string $version
+ * @param string $locale
+ * @return object|false
+ */
 function find_core_update( $version, $locale ) {
        $from_api = get_site_transient( 'update_core' );
 
@@ -159,6 +176,11 @@ function find_core_update( $version, $locale ) {
        return false;
 }
 
+/**
+ *
+ * @param string $msg
+ * @return string
+ */
 function core_update_footer( $msg = '' ) {
        if ( !current_user_can('update_core') )
                return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) );
@@ -188,8 +210,12 @@ function core_update_footer( $msg = '' ) {
                return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) );
        }
 }
-add_filter( 'update_footer', 'core_update_footer' );
 
+/**
+ *
+ * @global string $pagenow
+ * @return false|void
+ */
 function update_nag() {
        if ( is_multisite() && !current_user_can('update_core') )
                return false;
@@ -211,8 +237,6 @@ function update_nag() {
        }
        echo "<div class='update-nag'>$msg</div>";
 }
-add_action( 'admin_notices', 'update_nag', 3 );
-add_action( 'network_admin_notices', 'update_nag', 3 );
 
 // Called directly from dashboard
 function update_right_now_message() {
@@ -235,6 +259,11 @@ function update_right_now_message() {
        echo "<p id='wp-version-message'>$msg</p>";
 }
 
+/**
+ * @since 2.9.0
+ *
+ * @return array
+ */
 function get_plugin_updates() {
        $all_plugins = get_plugins();
        $upgrade_plugins = array();
@@ -249,6 +278,9 @@ function get_plugin_updates() {
        return $upgrade_plugins;
 }
 
+/**
+ * @since 2.9.0
+ */
 function wp_plugin_update_rows() {
        if ( !current_user_can('update_plugins' ) )
                return;
@@ -261,8 +293,13 @@ function wp_plugin_update_rows() {
                }
        }
 }
-add_action( 'admin_init', 'wp_plugin_update_rows' );
 
+/**
+ *
+ * @param string $file
+ * @param array  $plugin_data
+ * @return false|void
+ */
 function wp_plugin_update_row( $file, $plugin_data ) {
        $current = get_site_transient( 'update_plugins' );
        if ( !isset( $current->response[ $file ] ) )
@@ -278,7 +315,12 @@ function wp_plugin_update_row( $file, $plugin_data ) {
        $wp_list_table = _get_list_table('WP_Plugins_List_Table');
 
        if ( is_network_admin() || !is_multisite() ) {
-               $active_class = ( is_plugin_active( $plugin_data['plugin'] ) ) ? ' active' : '';
+               if ( is_network_admin() ) {
+                       $active_class = is_plugin_active_for_network( $file ) ? ' active': '';
+               } else {
+                       $active_class = is_plugin_active( $file ) ? ' active' : '';
+               }
+
                echo '<tr class="plugin-update-tr' . $active_class . '" id="' . esc_attr( $r->slug . '-update' ) . '" data-slug="' . esc_attr( $r->slug ) . '" data-plugin="' . esc_attr( $file ) . '"><td colspan="' . esc_attr( $wp_list_table->get_column_count() ) . '" class="plugin-update colspanchange"><div class="update-message">';
 
                if ( ! current_user_can( 'update_plugins' ) ) {
@@ -329,6 +371,10 @@ function wp_plugin_update_row( $file, $plugin_data ) {
        }
 }
 
+/**
+ *
+ * @return array
+ */
 function get_theme_updates() {
        $current = get_site_transient('update_themes');
 
@@ -344,6 +390,9 @@ function get_theme_updates() {
        return $update_themes;
 }
 
+/**
+ * @since 3.1.0
+ */
 function wp_theme_update_rows() {
        if ( !current_user_can('update_themes' ) )
                return;
@@ -357,8 +406,13 @@ function wp_theme_update_rows() {
                }
        }
 }
-add_action( 'admin_init', 'wp_theme_update_rows' );
 
+/**
+ *
+ * @param string   $theme_key
+ * @param WP_Theme $theme
+ * @return false|void
+ */
 function wp_theme_update_row( $theme_key, $theme ) {
        $current = get_site_transient( 'update_themes' );
        if ( !isset( $current->response[ $theme_key ] ) )
@@ -400,6 +454,11 @@ function wp_theme_update_row( $theme_key, $theme ) {
        echo '</div></td></tr>';
 }
 
+/**
+ *
+ * @global int $upgrading
+ * @return false|void
+ */
 function maintenance_nag() {
        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
        global $upgrading;
@@ -431,5 +490,3 @@ function maintenance_nag() {
 
        echo "<div class='update-nag'>$msg</div>";
 }
-add_action( 'admin_notices', 'maintenance_nag' );
-add_action( 'network_admin_notices', 'maintenance_nag' );
index cb2188b4ab25b4e74a5bbba58ce2e15f10239158..86d8cf91dd3516ad95ba74bcb86a176fb1c28716 100644 (file)
@@ -118,6 +118,10 @@ if ( !function_exists('wp_install_defaults') ) :
  *
  * @since 2.1.0
  *
+ * @global wpdb       $wpdb
+ * @global WP_Rewrite $wp_rewrite
+ * @global string     $table_prefix
+ *
  * @param int $user_id User ID.
  */
 function wp_install_defaults( $user_id ) {
@@ -152,31 +156,31 @@ function wp_install_defaults( $user_id ) {
                $first_post = get_site_option( 'first_post' );
 
                if ( empty($first_post) )
-                       $first_post = __( 'Welcome to <a href="SITE_URL">SITE_NAME</a>. This is your first post. Edit or delete it, then start blogging!' );
+                       $first_post = __( 'Welcome to <a href="SITE_URL">SITE_NAME</a>. This is your first post. Edit or delete it, then start writing!' );
 
                $first_post = str_replace( "SITE_URL", esc_url( network_home_url() ), $first_post );
                $first_post = str_replace( "SITE_NAME", get_current_site()->site_name, $first_post );
        } else {
-               $first_post = __('Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!');
+               $first_post = __( 'Welcome to WordPress. This is your first post. Edit or delete it, then start writing!' );
        }
 
        $wpdb->insert( $wpdb->posts, array(
-                                                               'post_author' => $user_id,
-                                                               'post_date' => $now,
-                                                               'post_date_gmt' => $now_gmt,
-                                                               'post_content' => $first_post,
-                                                               'post_excerpt' => '',
-                                                               'post_title' => __('Hello world!'),
-                                                               /* translators: Default post slug */
-                                                               'post_name' => sanitize_title( _x('hello-world', 'Default post slug') ),
-                                                               'post_modified' => $now,
-                                                               'post_modified_gmt' => $now_gmt,
-                                                               'guid' => $first_post_guid,
-                                                               'comment_count' => 1,
-                                                               'to_ping' => '',
-                                                               'pinged' => '',
-                                                               'post_content_filtered' => ''
-                                                               ));
+               'post_author' => $user_id,
+               'post_date' => $now,
+               'post_date_gmt' => $now_gmt,
+               'post_content' => $first_post,
+               'post_excerpt' => '',
+               'post_title' => __('Hello world!'),
+               /* translators: Default post slug */
+               'post_name' => sanitize_title( _x('hello-world', 'Default post slug') ),
+               'post_modified' => $now,
+               'post_modified_gmt' => $now_gmt,
+               'guid' => $first_post_guid,
+               'comment_count' => 1,
+               'to_ping' => '',
+               'pinged' => '',
+               'post_content_filtered' => ''
+       ));
        $wpdb->insert( $wpdb->term_relationships, array('term_taxonomy_id' => $cat_tt_id, 'object_id' => 1) );
 
        // Default comment
@@ -190,19 +194,19 @@ To delete a comment, just log in and view the post&#039;s comments. There you wi
                $first_comment = get_site_option( 'first_comment', $first_comment );
        }
        $wpdb->insert( $wpdb->comments, array(
-                                                               'comment_post_ID' => 1,
-                                                               'comment_author' => $first_comment_author,
-                                                               'comment_author_email' => '',
-                                                               'comment_author_url' => $first_comment_url,
-                                                               'comment_date' => $now,
-                                                               'comment_date_gmt' => $now_gmt,
-                                                               'comment_content' => $first_comment
-                                                               ));
+               'comment_post_ID' => 1,
+               'comment_author' => $first_comment_author,
+               'comment_author_email' => '',
+               'comment_author_url' => $first_comment_url,
+               'comment_date' => $now,
+               'comment_date_gmt' => $now_gmt,
+               'comment_content' => $first_comment
+       ));
 
        // First Page
        $first_page = sprintf( __( "This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:
 
-<blockquote>Hi there! I'm a bike messenger by day, aspiring actor by night, and this is my blog. I live in Los Angeles, have a great dog named Jack, and I like pi&#241;a coladas. (And gettin' caught in the rain.)</blockquote>
+<blockquote>Hi there! I'm a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like pi&#241;a coladas. (And gettin' caught in the rain.)</blockquote>
 
 ...or something like this:
 
@@ -213,22 +217,22 @@ As a new WordPress user, you should go to <a href=\"%s\">your dashboard</a> to d
                $first_page = get_site_option( 'first_page', $first_page );
        $first_post_guid = get_option('home') . '/?page_id=2';
        $wpdb->insert( $wpdb->posts, array(
-                                                               'post_author' => $user_id,
-                                                               'post_date' => $now,
-                                                               'post_date_gmt' => $now_gmt,
-                                                               'post_content' => $first_page,
-                                                               'post_excerpt' => '',
-                                                               'post_title' => __( 'Sample Page' ),
-                                                               /* translators: Default page slug */
-                                                               'post_name' => __( 'sample-page' ),
-                                                               'post_modified' => $now,
-                                                               'post_modified_gmt' => $now_gmt,
-                                                               'guid' => $first_post_guid,
-                                                               'post_type' => 'page',
-                                                               'to_ping' => '',
-                                                               'pinged' => '',
-                                                               'post_content_filtered' => ''
-                                                               ));
+               'post_author' => $user_id,
+               'post_date' => $now,
+               'post_date_gmt' => $now_gmt,
+               'post_content' => $first_page,
+               'post_excerpt' => '',
+               'post_title' => __( 'Sample Page' ),
+               /* translators: Default page slug */
+               'post_name' => __( 'sample-page' ),
+               'post_modified' => $now,
+               'post_modified_gmt' => $now_gmt,
+               'guid' => $first_post_guid,
+               'post_type' => 'page',
+               'to_ping' => '',
+               'pinged' => '',
+               'post_content_filtered' => ''
+       ));
        $wpdb->insert( $wpdb->postmeta, array( 'post_id' => 2, 'meta_key' => '_wp_page_template', 'meta_value' => 'default' ) );
 
        // Set up default widgets for default theme.
@@ -385,7 +389,9 @@ if ( !function_exists('wp_upgrade') ) :
  *
  * @since 2.1.0
  *
- * @return null If no update is necessary or site isn't completely installed, null.
+ * @global int  $wp_current_db_version
+ * @global int  $wp_db_version
+ * @global wpdb $wpdb
  */
 function wp_upgrade() {
        global $wp_current_db_version, $wp_db_version, $wpdb;
@@ -435,7 +441,8 @@ endif;
  *
  * @since 1.0.1
  *
- * @return null If no update is necessary, null.
+ * @global int $wp_current_db_version
+ * @global int $wp_db_version
  */
 function upgrade_all() {
        global $wp_current_db_version, $wp_db_version;
@@ -524,11 +531,8 @@ function upgrade_all() {
        if ( $wp_current_db_version < 29630 )
                upgrade_400();
 
-       if ( $wp_current_db_version < 31534 )
-               upgrade_422();
-
-       if ( $wp_current_db_version < 31536 )
-               upgrade_423();
+       if ( $wp_current_db_version < 33055 )
+               upgrade_430();
 
        maybe_disable_link_manager();
 
@@ -542,6 +546,8 @@ function upgrade_all() {
  * Execute changes made in WordPress 1.0.
  *
  * @since 1.0.0
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_100() {
        global $wpdb;
@@ -598,6 +604,8 @@ function upgrade_100() {
  * Execute changes made in WordPress 1.0.1.
  *
  * @since 1.0.1
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_101() {
        global $wpdb;
@@ -616,6 +624,8 @@ function upgrade_101() {
  * Execute changes made in WordPress 1.2.
  *
  * @since 1.2.0
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_110() {
        global $wpdb;
@@ -676,6 +686,8 @@ function upgrade_110() {
  * Execute changes made in WordPress 1.5.
  *
  * @since 1.5.0
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_130() {
        global $wpdb;
@@ -760,6 +772,9 @@ function upgrade_130() {
  * Execute changes made in WordPress 2.0.
  *
  * @since 2.0.0
+ *
+ * @global wpdb $wpdb
+ * @global int  $wp_current_db_version
  */
 function upgrade_160() {
        global $wpdb, $wp_current_db_version;
@@ -843,6 +858,9 @@ function upgrade_160() {
  * Execute changes made in WordPress 2.1.
  *
  * @since 2.1.0
+ *
+ * @global wpdb $wpdb
+ * @global int  $wp_current_db_version
  */
 function upgrade_210() {
        global $wpdb, $wp_current_db_version;
@@ -887,6 +905,9 @@ function upgrade_210() {
  * Execute changes made in WordPress 2.3.
  *
  * @since 2.3.0
+ *
+ * @global wpdb $wpdb
+ * @global int  $wp_current_db_version
  */
 function upgrade_230() {
        global $wp_current_db_version, $wpdb;
@@ -1063,6 +1084,8 @@ function upgrade_230() {
  * Remove old options from the database.
  *
  * @since 2.3.0
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_230_options_table() {
        global $wpdb;
@@ -1077,6 +1100,8 @@ function upgrade_230_options_table() {
  * Remove old categories, link2cat, and post2cat database tables.
  *
  * @since 2.3.0
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_230_old_tables() {
        global $wpdb;
@@ -1089,6 +1114,8 @@ function upgrade_230_old_tables() {
  * Upgrade old slugs made in version 2.2.
  *
  * @since 2.2.0
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_old_slugs() {
        // Upgrade people who were using the Redirect Old Slugs plugin.
@@ -1100,6 +1127,8 @@ function upgrade_old_slugs() {
  * Execute changes made in WordPress 2.5.0.
  *
  * @since 2.5.0
+ *
+ * @global int $wp_current_db_version
  */
 function upgrade_250() {
        global $wp_current_db_version;
@@ -1114,6 +1143,8 @@ function upgrade_250() {
  * Execute changes made in WordPress 2.5.2.
  *
  * @since 2.5.2
+ *
+ * @global wpdb $wpdb
  */
 function upgrade_252() {
        global $wpdb;
@@ -1125,6 +1156,8 @@ function upgrade_252() {
  * Execute changes made in WordPress 2.6.
  *
  * @since 2.6.0
+ *
+ * @global int $wp_current_db_version
  */
 function upgrade_260() {
        global $wp_current_db_version;
@@ -1137,6 +1170,9 @@ function upgrade_260() {
  * Execute changes made in WordPress 2.7.
  *
  * @since 2.7.0
+ *
+ * @global wpdb $wpdb
+ * @global int  $wp_current_db_version
  */
 function upgrade_270() {
        global $wpdb, $wp_current_db_version;
@@ -1153,6 +1189,9 @@ function upgrade_270() {
  * Execute changes made in WordPress 2.8.
  *
  * @since 2.8.0
+ *
+ * @global int  $wp_current_db_version
+ * @global wpdb $wpdb
  */
 function upgrade_280() {
        global $wp_current_db_version, $wpdb;
@@ -1180,6 +1219,8 @@ function upgrade_280() {
  * Execute changes made in WordPress 2.9.
  *
  * @since 2.9.0
+ *
+ * @global int $wp_current_db_version
  */
 function upgrade_290() {
        global $wp_current_db_version;
@@ -1197,6 +1238,9 @@ function upgrade_290() {
  * Execute changes made in WordPress 3.0.
  *
  * @since 3.0.0
+ *
+ * @global int  $wp_current_db_version
+ * @global wpdb $wpdb
  */
 function upgrade_300() {
        global $wp_current_db_version, $wpdb;
@@ -1208,7 +1252,7 @@ function upgrade_300() {
                add_site_option( 'siteurl', '' );
 
        // 3.0 screen options key name changes.
-       if ( is_main_site() && !defined('DO_NOT_UPGRADE_GLOBAL_TABLES') ) {
+       if ( wp_should_upgrade_global_tables() ) {
                $sql = "DELETE FROM $wpdb->usermeta
                        WHERE meta_key LIKE %s
                        OR meta_key LIKE %s
@@ -1239,11 +1283,16 @@ function upgrade_300() {
  * Execute changes made in WordPress 3.3.
  *
  * @since 3.3.0
+ *
+ * @global int   $wp_current_db_version
+ * @global wpdb  $wpdb
+ * @global array $wp_registered_widgets
+ * @global array $sidebars_widgets
  */
 function upgrade_330() {
        global $wp_current_db_version, $wpdb, $wp_registered_widgets, $sidebars_widgets;
 
-       if ( $wp_current_db_version < 19061 && is_main_site() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+       if ( $wp_current_db_version < 19061 && wp_should_upgrade_global_tables() ) {
                $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key IN ('show_admin_bar_admin', 'plugins_last_view')" );
        }
 
@@ -1308,6 +1357,9 @@ function upgrade_330() {
  * Execute changes made in WordPress 3.4.
  *
  * @since 3.4.0
+ *
+ * @global int   $wp_current_db_version
+ * @global wpdb  $wpdb
  */
 function upgrade_340() {
        global $wp_current_db_version, $wpdb;
@@ -1324,7 +1376,7 @@ function upgrade_340() {
                $wpdb->show_errors();
        }
 
-       if ( $wp_current_db_version < 20022 && is_main_site() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+       if ( $wp_current_db_version < 20022 && wp_should_upgrade_global_tables() ) {
                $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key = 'themes_last_view'" );
        }
 
@@ -1341,6 +1393,9 @@ function upgrade_340() {
  * Execute changes made in WordPress 3.5.
  *
  * @since 3.5.0
+ *
+ * @global int   $wp_current_db_version
+ * @global wpdb  $wpdb
  */
 function upgrade_350() {
        global $wp_current_db_version, $wpdb;
@@ -1348,7 +1403,7 @@ function upgrade_350() {
        if ( $wp_current_db_version < 22006 && $wpdb->get_var( "SELECT link_id FROM $wpdb->links LIMIT 1" ) )
                update_option( 'link_manager_enabled', 1 ); // Previously set to 0 by populate_options()
 
-       if ( $wp_current_db_version < 21811 && is_main_site() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+       if ( $wp_current_db_version < 21811 && wp_should_upgrade_global_tables() ) {
                $meta_keys = array();
                foreach ( array_merge( get_post_types(), get_taxonomies() ) as $name ) {
                        if ( false !== strpos( $name, '-' ) )
@@ -1368,6 +1423,8 @@ function upgrade_350() {
  * Execute changes made in WordPress 3.7.
  *
  * @since 3.7.0
+ *
+ * @global int $wp_current_db_version
  */
 function upgrade_370() {
        global $wp_current_db_version;
@@ -1380,6 +1437,8 @@ function upgrade_370() {
  *
  * @since 3.7.2
  * @since 3.8.0
+ *
+ * @global int $wp_current_db_version
  */
 function upgrade_372() {
        global $wp_current_db_version;
@@ -1391,6 +1450,8 @@ function upgrade_372() {
  * Execute changes made in WordPress 3.8.0.
  *
  * @since 3.8.0
+ *
+ * @global int $wp_current_db_version
  */
 function upgrade_380() {
        global $wp_current_db_version;
@@ -1403,6 +1464,8 @@ function upgrade_380() {
  * Execute changes made in WordPress 4.0.0.
  *
  * @since 4.0.0
+ *
+ * @global int $wp_current_db_version
  */
 function upgrade_400() {
        global $wp_current_db_version;
@@ -1421,80 +1484,39 @@ function upgrade_400() {
  * Execute changes made in WordPress 4.2.0.
  *
  * @since 4.2.0
- */
-function upgrade_420() {
-}
-
-/**
- * Execute changes made in WordPress 4.2.1.
  *
- * @since 4.2.1
+ * @global int   $wp_current_db_version
+ * @global wpdb  $wpdb
  */
-function upgrade_421() {
-}
+function upgrade_420() {}
 
 /**
- * Execute changes made in WordPress 4.2.2.
+ * Executes changes made in WordPress 4.3.0.
  *
- * @since 4.2.2
+ * @since 4.3.0
+ *
+ * @global int  $wp_current_db_version Current version.
+ * @global wpdb $wpdb                  WordPress database abstraction object.
  */
-function upgrade_422() {
+function upgrade_430() {
        global $wp_current_db_version, $wpdb;
 
-       if ( $wp_current_db_version < 31534 ) {
-               $content_length = $wpdb->get_col_length( $wpdb->comments, 'comment_content' );
-
-               if ( is_wp_error( $content_length ) ) {
-                       return;
-               }
-
-               if ( false === $content_length ) {
-                       $content_length = array(
-                               'type'   => 'byte',
-                               'length' => 65535,
-                       );
-               } elseif ( ! is_array( $content_length ) ) {
-                       $length = (int) $content_length > 0 ? (int) $content_length : 65535;
-                       $content_length = array(
-                               'type'   => 'byte',
-                               'length' => $length
-                       );
-               }
-
-               if ( 'byte' !== $content_length['type'] || 0 === $content_length['length'] ) {
-                       // Sites with malformed DB schemas are on their own.
-                       return;
-               }
-
-               $allowed_length = intval( $content_length['length'] ) - 10;
-
-               $comments = $wpdb->get_results(
-                       "SELECT `comment_ID` FROM `{$wpdb->comments}`
-                               WHERE `comment_date_gmt` > '2015-04-26'
-                               AND LENGTH( `comment_content` ) >= {$allowed_length}
-                               AND ( `comment_content` LIKE '%<%' OR `comment_content` LIKE '%>%' )"
-               );
-
-               foreach ( $comments as $comment ) {
-                       wp_delete_comment( $comment->comment_ID, true );
-               }
+       if ( $wp_current_db_version < 32364 ) {
+               upgrade_430_fix_comments();
        }
-}
 
-/**
- * Execute changes made in WordPress 4.2.0.
- *
- * @since 4.2.3
- */
-function upgrade_423() {
-       global $wp_current_db_version, $wpdb;
+       // Shared terms are split in a separate process.
+       if ( $wp_current_db_version < 32814 ) {
+               update_option( 'finished_splitting_shared_terms', 0 );
+               wp_schedule_single_event( time() + ( 1 * MINUTE_IN_SECONDS ), 'wp_split_shared_term_batch' );
+       }
 
-       if ( $wp_current_db_version < 31536 && $wpdb->charset === 'utf8mb4' ) {
+       if ( $wp_current_db_version < 33055 && 'utf8mb4' === $wpdb->charset ) {
                if ( is_multisite() ) {
                        $tables = $wpdb->tables( 'blog' );
                } else {
                        $tables = $wpdb->tables( 'all' );
-                       if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+                       if ( ! wp_should_upgrade_global_tables() ) {
                                $global_tables = $wpdb->tables( 'global' );
                                $tables = array_diff_assoc( $tables, $global_tables );
                        }
@@ -1506,10 +1528,62 @@ function upgrade_423() {
        }
 }
 
+/**
+ * Executes comments changes made in WordPress 4.3.0.
+ *
+ * @since 4.3.0
+ *
+ * @global int  $wp_current_db_version Current version.
+ * @global wpdb $wpdb                  WordPress database abstraction object.
+ */
+function upgrade_430_fix_comments() {
+       global $wp_current_db_version, $wpdb;
+
+       $content_length = $wpdb->get_col_length( $wpdb->comments, 'comment_content' );
+
+       if ( is_wp_error( $content_length ) ) {
+               return;
+       }
+
+       if ( false === $content_length ) {
+               $content_length = array(
+                       'type'   => 'byte',
+                       'length' => 65535,
+               );
+       } elseif ( ! is_array( $content_length ) ) {
+               $length = (int) $content_length > 0 ? (int) $content_length : 65535;
+               $content_length = array(
+                       'type'   => 'byte',
+                       'length' => $length
+               );
+       }
+
+       if ( 'byte' !== $content_length['type'] || 0 === $content_length['length'] ) {
+               // Sites with malformed DB schemas are on their own.
+               return;
+       }
+
+       $allowed_length = intval( $content_length['length'] ) - 10;
+
+       $comments = $wpdb->get_results(
+               "SELECT `comment_ID` FROM `{$wpdb->comments}`
+                       WHERE `comment_date_gmt` > '2015-04-26'
+                       AND LENGTH( `comment_content` ) >= {$allowed_length}
+                       AND ( `comment_content` LIKE '%<%' OR `comment_content` LIKE '%>%' )"
+       );
+
+       foreach ( $comments as $comment ) {
+               wp_delete_comment( $comment->comment_ID, true );
+       }
+}
+
 /**
  * Executes network-level upgrade routines.
  *
  * @since 3.0.0
+ *
+ * @global int   $wp_current_db_version
+ * @global wpdb  $wpdb
  */
 function upgrade_network() {
        global $wp_current_db_version, $wpdb;
@@ -1605,7 +1679,7 @@ function upgrade_network() {
 
        // 4.2
        if ( $wp_current_db_version < 31351 && $wpdb->charset === 'utf8mb4' ) {
-               if ( ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+               if ( wp_should_upgrade_global_tables() ) {
                        $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
                        $wpdb->query( "ALTER TABLE $wpdb->site DROP INDEX domain, ADD INDEX domain(domain(140),path(51))" );
                        $wpdb->query( "ALTER TABLE $wpdb->sitemeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
@@ -1613,15 +1687,20 @@ function upgrade_network() {
 
                        $tables = $wpdb->tables( 'global' );
 
+                       // sitecategories may not exist.
+                       if ( ! $wpdb->get_var( "SHOW TABLES LIKE '{$tables['sitecategories']}'" ) ) {
+                               unset( $tables['sitecategories'] );
+                       }
+
                        foreach ( $tables as $table ) {
                                maybe_convert_table_to_utf8mb4( $table );
                        }
                }
        }
 
-       // 4.2.2
-       if ( $wp_current_db_version < 31535 && 'utf8mb4' === $wpdb->charset ) {
-               if ( ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+       // 4.3
+       if ( $wp_current_db_version < 33055 && 'utf8mb4' === $wpdb->charset ) {
+               if ( wp_should_upgrade_global_tables() ) {
                        $upgrade = false;
                        $indexes = $wpdb->get_results( "SHOW INDEXES FROM $wpdb->signups" );
                        foreach( $indexes as $index ) {
@@ -1634,14 +1713,14 @@ function upgrade_network() {
                        if ( $upgrade ) {
                                $wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain_path, ADD INDEX domain_path(domain(140),path(51))" );
                        }
-               }
-       }
 
-       // 4.2.3
-       if ( $wp_current_db_version < 31536 && $wpdb->charset === 'utf8mb4' ) {
-               if ( ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
                        $tables = $wpdb->tables( 'global' );
 
+                       // sitecategories may not exist.
+                       if ( ! $wpdb->get_var( "SHOW TABLES LIKE '{$tables['sitecategories']}'" ) ) {
+                               unset( $tables['sitecategories'] );
+                       }
+
                        foreach ( $tables as $table ) {
                                maybe_convert_table_to_utf8mb4( $table );
                        }
@@ -1662,6 +1741,8 @@ function upgrade_network() {
  *
  * @since 1.0.0
  *
+ * @global wpdb  $wpdb
+ *
  * @param string $table_name Database table name to create.
  * @param string $create_ddl SQL statement to create table.
  * @return bool If table already exists or was created by function.
@@ -1690,9 +1771,11 @@ function maybe_create_table($table_name, $create_ddl) {
  *
  * @since 1.0.1
  *
+ * @global wpdb  $wpdb
+ *
  * @param string $table Database table name.
  * @param string $index Index name to drop.
- * @return bool True, when finished.
+ * @return true True, when finished.
  */
 function drop_index($table, $index) {
        global $wpdb;
@@ -1711,9 +1794,11 @@ function drop_index($table, $index) {
  *
  * @since 1.0.1
  *
+ * @global wpdb  $wpdb
+ *
  * @param string $table Database table name.
  * @param string $index Database table index column.
- * @return bool True, when done with execution.
+ * @return true True, when done with execution.
  */
 function add_clean_index($table, $index) {
        global $wpdb;
@@ -1727,10 +1812,12 @@ function add_clean_index($table, $index) {
  *
  * @since 1.3.0
  *
+ * @global wpdb  $wpdb
+ *
  * @param string $table_name  The table name to modify.
  * @param string $column_name The column name to add to the table.
  * @param string $create_ddl  The SQL statement used to add the column.
- * @return True if already exists or on successful completion, false on error.
+ * @return bool True if already exists or on successful completion, false on error.
  */
 function maybe_add_column($table_name, $column_name, $create_ddl) {
        global $wpdb;
@@ -1757,6 +1844,8 @@ function maybe_add_column($table_name, $column_name, $create_ddl) {
  *
  * @since 4.2.0
  *
+ * @global wpdb  $wpdb
+ *
  * @param string $table The table to convert.
  * @return bool true if the table was converted, false if it wasn't.
  */
@@ -1798,6 +1887,8 @@ function maybe_convert_table_to_utf8mb4( $table ) {
  *
  * @since 1.2.0
  *
+ * @global wpdb  $wpdb
+ *
  * @return stdClass List of options.
  */
 function get_alloptions_110() {
@@ -1820,6 +1911,8 @@ function get_alloptions_110() {
  * @since 1.5.1
  * @access private
  *
+ * @global wpdb  $wpdb
+ *
  * @param string $setting Option name.
  * @return mixed
  */
@@ -1879,6 +1972,8 @@ function deslash($content) {
  *
  * @since 1.5.0
  *
+ * @global wpdb  $wpdb
+ *
  * @param string|array $queries Optional. The query to run. Can be multiple queries
  *                              in an array, or a string of queries separated by
  *                              semicolons. Default empty.
@@ -1951,8 +2046,8 @@ function dbDelta( $queries = '', $execute = true ) {
 
        $global_tables = $wpdb->tables( 'global' );
        foreach ( $cqueries as $table => $qry ) {
-               // Upgrade global tables only for the main site. Don't upgrade at all if DO_NOT_UPGRADE_GLOBAL_TABLES is defined.
-               if ( in_array( $table, $global_tables ) && ( !is_main_site() || defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) ) {
+               // Upgrade global tables only for the main site. Don't upgrade at all if conditions are not optimal.
+               if ( in_array( $table, $global_tables ) && ! wp_should_upgrade_global_tables() ) {
                        unset( $cqueries[ $table ], $for_update[ $table ] );
                        continue;
                }
@@ -2211,7 +2306,7 @@ function make_site_theme_from_oldschool($theme_name, $template) {
 
                                // Don't copy anything.
                                continue;
-                               }
+                       }
                }
 
                if (! @copy("$oldpath/$oldfile", "$site_dir/$newfile"))
@@ -2264,7 +2359,7 @@ function make_site_theme_from_oldschool($theme_name, $template) {
  *
  * @param string $theme_name The name of the theme.
  * @param string $template   The directory name of the theme.
- * @return null|false
+ * @return false|void
  */
 function make_site_theme_from_default($theme_name, $template) {
        $site_dir = WP_CONTENT_DIR . "/themes/$template";
@@ -2403,6 +2498,8 @@ function translate_level_to_role($level) {
  * Checks the version of the installed MySQL binary.
  *
  * @since 2.1.0
+ *
+ * @global wpdb  $wpdb
  */
 function wp_check_mysql_version() {
        global $wpdb;
@@ -2432,6 +2529,9 @@ function maybe_disable_automattic_widgets() {
  * Disables the Link Manager on upgrade if, at the time of upgrade, no links exist in the DB.
  *
  * @since 3.5.0
+ *
+ * @global int  $wp_current_db_version
+ * @global wpdb $wpdb
  */
 function maybe_disable_link_manager() {
        global $wp_current_db_version, $wpdb;
@@ -2444,6 +2544,9 @@ function maybe_disable_link_manager() {
  * Runs before the schema is upgraded.
  *
  * @since 2.9.0
+ *
+ * @global int  $wp_current_db_version
+ * @global wpdb $wpdb
  */
 function pre_schema_upgrade() {
        global $wp_current_db_version, $wpdb;
@@ -2461,7 +2564,7 @@ function pre_schema_upgrade() {
        }
 
        // Multisite schema upgrades.
-       if ( $wp_current_db_version < 25448 && is_multisite() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) && is_main_network() ) {
+       if ( $wp_current_db_version < 25448 && is_multisite() && wp_should_upgrade_global_tables() ) {
 
                // Upgrade verions prior to 3.7
                if ( $wp_current_db_version < 25179 ) {
@@ -2479,7 +2582,7 @@ function pre_schema_upgrade() {
 
        // Upgrade versions prior to 4.2.
        if ( $wp_current_db_version < 31351 ) {
-               if ( ! is_multisite() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+               if ( ! is_multisite() && wp_should_upgrade_global_tables() ) {
                        $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
                }
                $wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX slug, ADD INDEX slug(slug(191))" );
@@ -2495,6 +2598,8 @@ function pre_schema_upgrade() {
  *
  * @since 3.0.0
  *
+ * @global wpdb   $wpdb
+ * @global string $charset_collate
  */
 if ( !function_exists( 'install_global_terms' ) ) :
 function install_global_terms() {
@@ -2514,3 +2619,49 @@ CREATE TABLE $wpdb->sitecategories (
        dbDelta( $ms_queries );
 }
 endif;
+
+/**
+ * Determine if global tables should be upgraded.
+ *
+ * This function performs a series of checks to ensure the environment allows
+ * for the safe upgrading of global WordPress database tables. It is necessary
+ * because global tables will commonly grow to millions of rows on large
+ * installations, and the ability to control their upgrade routines can be
+ * critical to the operation of large networks.
+ *
+ * In a future iteration, this function may use `wp_is_large_network()` to more-
+ * intelligently prevent global table upgrades. Until then, we make sure
+ * WordPress is on the main site of the main network, to avoid running queries
+ * more than once in multi-site or multi-network environments.
+ *
+ * @since 4.3.0
+ *
+ * @return bool Whether to run the upgrade routines on global tables.
+ */
+function wp_should_upgrade_global_tables() {
+
+       // Return false early if explicitly not upgrading
+       if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+               return false;
+       }
+
+       // Assume global tables should be upgraded
+       $should_upgrade = true;
+
+       // Set to false if not on main network (does not matter if not multi-network)
+       if ( ! is_main_network() ) {
+               $should_upgrade = false;
+       }
+
+       // Set to false if not on main site of current network (does not matter if not multi-site)
+       if ( ! is_main_site() ) {
+               $should_upgrade = false;
+       }
+
+       /**
+        * Filter if upgrade routines should be run on global tables.
+        *
+        * @param bool $should_upgrade Whether to run the upgrade routines on global tables.
+        */
+       return apply_filters( 'wp_should_upgrade_global_tables', $should_upgrade );
+}
index 49062fcbe91775687d2ca294fc1f3b7c3a420942..132ea6d76cb134852d54c0e2cf23d72c408a70dd 100644 (file)
@@ -11,7 +11,7 @@
  *
  * @since 2.0.0
  *
- * @return null|WP_Error|int Null when adding user, WP_Error or User ID integer when no parameters.
+ * @return int|WP_Error WP_Error or User ID.
  */
 function add_user() {
        return edit_user();
@@ -25,10 +25,10 @@ function add_user() {
  * @since 2.0.0
  *
  * @param int $user_id Optional. User ID.
- * @return int user id of the updated user
+ * @return int|WP_Error user id of the updated user
  */
 function edit_user( $user_id = 0 ) {
-       global $wp_roles;
+       $wp_roles = wp_roles();
        $user = new stdClass;
        if ( $user_id ) {
                $update = true;
@@ -176,7 +176,7 @@ function edit_user( $user_id = 0 ) {
                $user_id = wp_update_user( $user );
        } else {
                $user_id = wp_insert_user( $user );
-               wp_new_user_notification( $user_id, isset( $_POST['send_password'] ) ? wp_unslash( $pass1 ) : '' );
+               wp_new_user_notification( $user_id, 'both' );
        }
        return $user_id;
 }
@@ -198,9 +198,7 @@ function edit_user( $user_id = 0 ) {
  * @return array
  */
 function get_editable_roles() {
-       global $wp_roles;
-
-       $all_roles = $wp_roles->roles;
+       $all_roles = wp_roles()->roles;
 
        /**
         * Filter the list of editable roles.
@@ -236,6 +234,8 @@ function get_user_to_edit( $user_id ) {
  *
  * @since 2.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $user_id User ID.
  * @return array
  */
@@ -264,6 +264,8 @@ function get_users_drafts( $user_id ) {
  *
  * @since 2.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $id User ID.
  * @param int $reassign Optional. Reassign posts and links to new User ID.
  * @return bool True when finished.
@@ -384,9 +386,12 @@ function wp_revoke_user($id) {
        $user->remove_all_caps();
 }
 
-add_action('admin_init', 'default_password_nag_handler');
 /**
  * @since 2.8.0
+ *
+ * @global int $user_ID
+ *
+ * @param false $errors Deprecated.
  */
 function default_password_nag_handler($errors = false) {
        global $user_ID;
@@ -401,10 +406,11 @@ function default_password_nag_handler($errors = false) {
        }
 }
 
-add_action('profile_update', 'default_password_nag_edit_user', 10, 2);
-
 /**
  * @since 2.8.0
+ *
+ * @param int    $user_ID
+ * @param object $old_data
  */
 function default_password_nag_edit_user($user_ID, $old_data) {
        // Short-circuit it.
@@ -420,10 +426,10 @@ function default_password_nag_edit_user($user_ID, $old_data) {
        }
 }
 
-add_action('admin_notices', 'default_password_nag');
-
 /**
  * @since 2.8.0
+ *
+ * @global string $pagenow
  */
 function default_password_nag() {
        global $pagenow;
@@ -434,7 +440,7 @@ function default_password_nag() {
        echo '<div class="error default-password-nag">';
        echo '<p>';
        echo '<strong>' . __('Notice:') . '</strong> ';
-       _e('You&rsquo;re using the auto-generated password for your account. Would you like to change it to something easier to remember?');
+       _e('You&rsquo;re using the auto-generated password for your account. Would you like to change it?');
        echo '</p><p>';
        printf( '<a href="%s">' . __('Yes, take me to my profile page') . '</a> | ', get_edit_profile_url() . '#password' );
        printf( '<a href="%s" id="default-password-nag-no">' . __('No thanks, do not remind me again') . '</a>', '?default_password_nag=0' );
index e3b231bb883c952db879251f6cc8c2ed0263e034..36cf6449a8cc0ca76303d3276af9a1b57b6308f1 100644 (file)
@@ -10,6 +10,9 @@
  * Display list of the available widgets.
  *
  * @since 2.5.0
+ *
+ * @global array $wp_registered_widgets
+ * @global array $wp_registered_widget_controls
  */
 function wp_list_widgets() {
        global $wp_registered_widgets, $wp_registered_widget_controls;
@@ -51,6 +54,8 @@ function wp_list_widgets() {
  *
  * @since 3.1.0
  * @access private
+ *
+ * @return int
  */
 function _sort_name_callback( $a, $b ) {
        return strnatcasecmp( $a['name'], $b['name'] );
@@ -99,6 +104,10 @@ function wp_list_widget_controls( $sidebar, $sidebar_name = '' ) {
  *
  * @since 2.5.0
  *
+ * @global array $wp_registered_widgets
+ *
+ * @staticvar int $i
+ *
  * @param array $params
  * @return array
  */
@@ -123,7 +132,14 @@ function wp_list_widget_controls_dynamic_sidebar( $params ) {
        return $params;
 }
 
-function next_widget_id_number($id_base) {
+/**
+ *
+ * @global array $wp_registered_widgets
+ *
+ * @param string $id_base
+ * @return int
+ */
+function next_widget_id_number( $id_base ) {
        global $wp_registered_widgets;
        $number = 1;
 
@@ -143,6 +159,10 @@ function next_widget_id_number($id_base) {
  *
  * @since 2.5.0
  *
+ * @global array $wp_registered_widgets
+ * @global array $wp_registered_widget_controls
+ * @global array $sidebars_widgets
+ *
  * @param array $sidebar_args
  * @return array
  */
index 40c7c7f2a125c280183f1f4e6fd44e6c59bbf535..9143928984d3b995901fd5b68e6ec211f65d9a58 100644 (file)
@@ -93,7 +93,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-       <h2><?php echo esc_html( $title ); ?></h2>
+       <h1><?php echo esc_html( $title ); ?></h1>
 
 <?php if ( has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) :
        $classes = 'welcome-panel';
index b64494af4476aff545f4fbf397d115d2fa79c808..1a3ced5e51ebf2125754e5e2d66aad76224926fe 100644 (file)
@@ -154,13 +154,15 @@ function maybe_drop_column($table_name, $column_name, $drop_ddl) {
  *
  * @since 1.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $table_name Table name
- * @param string $col_name Column name
- * @param string $col_type Column type
- * @param bool $is_null Optional. Check is null.
- * @param mixed $key Optional. Key info.
- * @param mixed $default Optional. Default value.
- * @param mixed $extra Optional. Extra value.
+ * @param string $col_name   Column name
+ * @param string $col_type   Column type
+ * @param bool   $is_null    Optional. Check is null.
+ * @param mixed  $key        Optional. Key info.
+ * @param mixed  $default    Optional. Default value.
+ * @param mixed  $extra      Optional. Extra value.
  * @return bool True, if matches. False, if not matching.
  */
 function check_column($table_name, $col_name, $col_type, $is_null = null, $key = null, $default = null, $extra = null) {
index 6f317cfbe52b9cdf736c65c65edc5f8221b9494a..2c0c6071bf5826d6a469892c20587eb1ac616045 100644 (file)
@@ -52,6 +52,8 @@ $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
  * Display install header.
  *
  * @since 2.5.0
+ *
+ * @param string $body_classes
  */
 function display_header( $body_classes = '' ) {
        header( 'Content-Type: text/html; charset=utf-8' );
@@ -69,7 +71,8 @@ function display_header( $body_classes = '' ) {
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title><?php _e( 'WordPress &rsaquo; Installation' ); ?></title>
        <?php
-       wp_admin_css( 'install', true );
+               wp_admin_css( 'install', true );
+               wp_admin_css( 'dashicons', true );
        ?>
 </head>
 <body class="wp-core-ui<?php echo $body_classes ?>">
@@ -82,6 +85,8 @@ function display_header( $body_classes = '' ) {
  * Display installer setup form.
  *
  * @since 2.8.0
+ *
+ * @param string|null $error
  */
 function display_setup_form( $error = null ) {
        global $wpdb;
@@ -124,16 +129,45 @@ function display_setup_form( $error = null ) {
                        </td>
                </tr>
                <?php if ( ! $user_table ) : ?>
-               <tr>
+               <tr class="form-field form-required user-pass1-wrap">
                        <th scope="row">
-                               <label for="pass1"><?php _e('Password, twice'); ?></label>
-                               <p><?php _e('A password will be automatically generated for you if you leave this blank.'); ?></p>
+                               <label for="pass1">
+                                       <?php _e( 'Password' ); ?>
+                               </label>
                        </th>
                        <td>
-                               <input name="admin_password" type="password" id="pass1" size="25" value="" />
-                               <p><input name="admin_password2" type="password" id="pass2" size="25" value="" /></p>
-                               <div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
-                               <p><?php echo wp_get_password_hint(); ?></p>
+                               <div class="">
+                                       <?php $initial_password = isset( $_POST['admin_password'] ) ? stripslashes( $_POST['admin_password'] ) : wp_generate_password( 18 ); ?>
+                                       <input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="off" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result" />
+                                       <button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-start-masked="<?php echo (int) isset( $_POST['admin_password'] ); ?>" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
+                                               <span class="dashicons dashicons-hidden"></span>
+                                               <span class="text"><?php _e( 'Hide' ); ?></span>
+                                       </button>
+                                       <div id="pass-strength-result" aria-live="polite"></div>
+                               </div>
+                               <p><span class="description important hide-if-no-js">
+                               <strong><?php _e( 'Important:' ); ?></strong>
+                               <?php /* translators: The non-breaking space prevents 1Password from thinking the text "log in" should trigger a password save prompt. */ ?>
+                               <?php _e( 'You will need this password to log&nbsp;in. Please store it in a secure location.' ); ?></span></p>
+                       </td>
+               </tr>
+               <tr class="form-field form-required user-pass2-wrap hide-if-js">
+                       <th scope="row">
+                               <label for="pass2"><?php _e( 'Repeat Password' ); ?>
+                                       <span class="description"><?php _e( '(required)' ); ?></span>
+                               </label>
+                       </th>
+                       <td>
+                               <input name="admin_password2" type="password" id="pass2" autocomplete="off" />
+                       </td>
+               </tr>
+               <tr class="pw-weak">
+                       <th scope="row"><?php _e( 'Confirm Password' ); ?></th>
+                       <td>
+                               <label>
+                                       <input type="checkbox" name="pw_weak" class="pw-checkbox" />
+                                       <?php _e( 'Confirm use of weak password' ); ?>
+                               </label>
                        </td>
                </tr>
                <?php endif; ?>
@@ -144,10 +178,10 @@ function display_setup_form( $error = null ) {
                </tr>
                <tr>
                        <th scope="row"><?php _e( 'Privacy' ); ?></th>
-                       <td colspan="2"><label><input type="checkbox" name="blog_public" id="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow search engines to index this site.' ); ?></label></td>
+                       <td colspan="2"><label><input type="checkbox" name="blog_public" id="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow search engines to index this site' ); ?></label></td>
                </tr>
        </table>
-       <p class="step"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Install WordPress' ); ?>" class="button button-large" /></p>
+       <p class="step"><?php submit_button( __( 'Install WordPress' ), 'large', 'Submit', false, array( 'id' => 'submit' ) ); ?></p>
        <input type="hidden" name="language" value="<?php echo isset( $_REQUEST['language'] ) ? esc_attr( $_REQUEST['language'] ) : ''; ?>" />
 </form>
 <?php
@@ -159,6 +193,12 @@ if ( is_blog_installed() ) {
        die( '<h1>' . __( 'Already Installed' ) . '</h1><p>' . __( 'You appear to have already installed WordPress. To reinstall please clear your old database tables first.' ) . '</p><p class="step"><a href="../wp-login.php" class="button button-large">' . __( 'Log In' ) . '</a></p></body></html>' );
 }
 
+/**
+ * @global string $wp_version
+ * @global string $required_php_version
+ * @global string $required_mysql_version
+ * @global wpdb   $wpdb
+ */
 global $wp_version, $required_php_version, $required_mysql_version;
 
 $php_version    = phpversion();
@@ -183,6 +223,16 @@ if ( ! is_string( $wpdb->base_prefix ) || '' === $wpdb->base_prefix ) {
        die( '<h1>' . __( 'Configuration Error' ) . '</h1><p>' . __( 'Your <code>wp-config.php</code> file has an empty database table prefix, which is not supported.' ) . '</p></body></html>' );
 }
 
+// Set error message if DO_NOT_UPGRADE_GLOBAL_TABLES isn't set as it will break install.
+if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
+       display_header();
+       die( '<h1>' . __( 'Configuration Error' ) . '</h1><p>' . __( 'The constant DO_NOT_UPGRADE_GLOBAL_TABLES cannot be defined when installing WordPress.' ) . '</p></body></html>' );
+}
+
+/**
+ * @global string    $wp_local_package
+ * @global WP_Locale $wp_locale
+ */
 $language = '';
 if ( ! empty( $_REQUEST['language'] ) ) {
        $language = preg_replace( '/[^a-zA-Z_]/', '', $_REQUEST['language'] );
@@ -303,5 +353,10 @@ if ( !wp_is_mobile() ) {
 <?php } ?>
 <?php wp_print_scripts( 'user-profile' ); ?>
 <?php wp_print_scripts( 'language-chooser' ); ?>
+<script type="text/javascript">
+jQuery( function( $ ) {
+       $( '.hide-if-no-js' ).removeClass( 'hide-if-no-js' );
+} );
+</script>
 </body>
 </html>
index 1769d27da900198895f4438f485c489d5e16ffd0..af6281546fded9ff51f7a2fb9d9c3f03054dba4c 100644 (file)
         */
        function accordionSwitch ( el ) {
                var section = el.closest( '.accordion-section' ),
-                       siblings = section.closest( '.accordion-container' ).find( '.open' ),
+                       sectionToggleControl = section.find( '[aria-expanded]' ).first(),
+                       container = section.closest( '.accordion-container' ),
+                       siblings = container.find( '.open' ),
+                       siblingsToggleControl = siblings.find( '[aria-expanded]' ).first(),
                        content = section.find( '.accordion-section-content' );
 
                // This section has no content and cannot be expanded.
                        return;
                }
 
+               // Add a class to the container to let us know something is happening inside.
+               // This helps in cases such as hiding a scrollbar while animations are executing.
+               container.addClass( 'opening' );
+
                if ( section.hasClass( 'open' ) ) {
                        section.toggleClass( 'open' );
                        content.toggle( true ).slideToggle( 150 );
                } else {
+                       siblingsToggleControl.attr( 'aria-expanded', 'false' );
                        siblings.removeClass( 'open' );
                        siblings.find( '.accordion-section-content' ).show().slideUp( 150 );
                        content.toggle( false ).slideToggle( 150 );
                        section.toggleClass( 'open' );
                }
+
+               // We have to wait for the animations to finish
+               setTimeout(function(){
+                   container.removeClass( 'opening' );
+               }, 150);
+
+               // If there's an element with an aria-expanded attribute, assume it's a toggle control and toggle the aria-expanded value.
+               if ( sectionToggleControl ) {
+                       sectionToggleControl.attr( 'aria-expanded', String( sectionToggleControl.attr( 'aria-expanded' ) === 'false' ) );
+               }
        }
 
 })(jQuery);
index bcdf3aad9677359aac246bc18f1fb874ad9a4434..cb2ae15322b1dde2876ecbee82009c16b852a6dc 100644 (file)
@@ -1 +1 @@
-!function(a){function b(a){var b=a.closest(".accordion-section"),c=b.closest(".accordion-container").find(".open"),d=b.find(".accordion-section-content");b.hasClass("cannot-expand")||(b.hasClass("open")?(b.toggleClass("open"),d.toggle(!0).slideToggle(150)):(c.removeClass("open"),c.find(".accordion-section-content").show().slideUp(150),d.toggle(!1).slideToggle(150),b.toggleClass("open")))}a(document).ready(function(){a(".accordion-container").on("click keydown",".accordion-section-title",function(c){("keydown"!==c.type||13===c.which)&&(c.preventDefault(),b(a(this)))})})}(jQuery);
\ No newline at end of file
+!function(a){function b(a){var b=a.closest(".accordion-section"),c=b.find("[aria-expanded]").first(),d=b.closest(".accordion-container"),e=d.find(".open"),f=e.find("[aria-expanded]").first(),g=b.find(".accordion-section-content");b.hasClass("cannot-expand")||(d.addClass("opening"),b.hasClass("open")?(b.toggleClass("open"),g.toggle(!0).slideToggle(150)):(f.attr("aria-expanded","false"),e.removeClass("open"),e.find(".accordion-section-content").show().slideUp(150),g.toggle(!1).slideToggle(150),b.toggleClass("open")),setTimeout(function(){d.removeClass("opening")},150),c&&c.attr("aria-expanded",String("false"===c.attr("aria-expanded"))))}a(document).ready(function(){a(".accordion-container").on("click keydown",".accordion-section-title",function(c){("keydown"!==c.type||13===c.which)&&(c.preventDefault(),b(a(this)))})})}(jQuery);
\ No newline at end of file
index a1ac930f1176fb66bc60825a3537dc677faf4e47..fe8e74a0c23a03bb6e6e1ed3ff6b4e7a28345082 100644 (file)
                form.appendChild( input );
        }
 
-       if ( href.match( /\/\/(www|m)\.youtube\.com\/watch/ ) ||
-               href.match( /\/\/vimeo\.com\/(.+\/)?([\d]+)$/ ) ||
-               href.match( /\/\/(www\.)?dailymotion\.com\/video\/.+$/ ) ||
-               href.match( /\/\/soundcloud\.com\/.+$/ ) ||
-               href.match( /\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/ ) ||
-               href.match( /\/\/vine\.co\/v\/[^\/]+/ ) ) {
-
-               add( '_embeds[]', href );
-       }
-
        metas = head.getElementsByTagName( 'meta' ) || [];
 
        for ( var m = 0; m < metas.length; m++ ) {
index 4e9d0a7c3fdcdb10770c5f6b71e81467496149b2..7f0a3d21f04fdf5d9ce7ee67617831ef8ba75ab9 100644 (file)
@@ -1 +1 @@
-(function(a,b,c,d){function e(a,c){if("undefined"!=typeof c){var d=b.createElement("input");d.name=a,d.value=c,d.type="hidden",p.appendChild(d)}}var f,g,h,i,j,k,l,m,n,o=a.encodeURIComponent,p=b.createElement("form"),q=b.getElementsByTagName("head")[0],r="_press_this_app",s=!0;if(d){if(!c.match(/^https?:/))return void(top.location.href=d);if(d+="&u="+o(c),c.match(/^https:/)&&d.match(/^http:/)&&(s=!1),a.getSelection?h=a.getSelection()+"":b.getSelection?h=b.getSelection()+"":b.selection&&(h=b.selection.createRange().text||""),d+="&buster="+(new Date).getTime(),s||(b.title&&(d+="&t="+o(b.title.substr(0,256))),h&&(d+="&s="+o(h.substr(0,512)))),f=a.outerWidth||b.documentElement.clientWidth||600,g=a.outerHeight||b.documentElement.clientHeight||700,f=800>f||f>5e3?600:.7*f,g=800>g||g>3e3?700:.9*g,!s)return void a.open(d,r,"location,resizable,scrollbars,width="+f+",height="+g);(c.match(/\/\/(www|m)\.youtube\.com\/watch/)||c.match(/\/\/vimeo\.com\/(.+\/)?([\d]+)$/)||c.match(/\/\/(www\.)?dailymotion\.com\/video\/.+$/)||c.match(/\/\/soundcloud\.com\/.+$/)||c.match(/\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/)||c.match(/\/\/vine\.co\/v\/[^\/]+/))&&e("_embeds[]",c),i=q.getElementsByTagName("meta")||[];for(var t=0;t<i.length&&!(t>200);t++){var u=i[t],v=u.getAttribute("name"),w=u.getAttribute("property"),x=u.getAttribute("content");x&&(v?e("_meta["+v+"]",x):w&&e("_meta["+w+"]",x))}j=q.getElementsByTagName("link")||[];for(var y=0;y<j.length&&!(y>=50);y++){var z=j[y],A=z.getAttribute("rel");("canonical"===A||"icon"===A||"shortlink"===A)&&e("_links["+A+"]",z.getAttribute("href"))}b.body.getElementsByClassName&&(k=b.body.getElementsByClassName("hfeed")[0]),k=b.getElementById("content")||k||b.body,l=k.getElementsByTagName("img")||[];for(var B=0;B<l.length&&!(B>=100);B++)n=l[B],n.src.indexOf("avatar")>-1||n.className.indexOf("avatar")>-1||n.width&&n.width<256||n.height&&n.height<128||e("_images[]",n.src);m=b.body.getElementsByTagName("iframe")||[];for(var C=0;C<m.length&&!(C>=50);C++)e("_embeds[]",m[C].src);b.title&&e("t",b.title),h&&e("s",h),p.setAttribute("method","POST"),p.setAttribute("action",d),p.setAttribute("target",r),p.setAttribute("style","display: none;"),a.open("about:blank",r,"location,resizable,scrollbars,width="+f+",height="+g),b.body.appendChild(p),p.submit()}})(window,document,top.location.href,window.pt_url);
\ No newline at end of file
+(function(a,b,c,d){function e(a,c){if("undefined"!=typeof c){var d=b.createElement("input");d.name=a,d.value=c,d.type="hidden",p.appendChild(d)}}var f,g,h,i,j,k,l,m,n,o=a.encodeURIComponent,p=b.createElement("form"),q=b.getElementsByTagName("head")[0],r="_press_this_app",s=!0;if(d){if(!c.match(/^https?:/))return void(top.location.href=d);if(d+="&u="+o(c),c.match(/^https:/)&&d.match(/^http:/)&&(s=!1),a.getSelection?h=a.getSelection()+"":b.getSelection?h=b.getSelection()+"":b.selection&&(h=b.selection.createRange().text||""),d+="&buster="+(new Date).getTime(),s||(b.title&&(d+="&t="+o(b.title.substr(0,256))),h&&(d+="&s="+o(h.substr(0,512)))),f=a.outerWidth||b.documentElement.clientWidth||600,g=a.outerHeight||b.documentElement.clientHeight||700,f=800>f||f>5e3?600:.7*f,g=800>g||g>3e3?700:.9*g,!s)return void a.open(d,r,"location,resizable,scrollbars,width="+f+",height="+g);i=q.getElementsByTagName("meta")||[];for(var t=0;t<i.length&&!(t>200);t++){var u=i[t],v=u.getAttribute("name"),w=u.getAttribute("property"),x=u.getAttribute("content");x&&(v?e("_meta["+v+"]",x):w&&e("_meta["+w+"]",x))}j=q.getElementsByTagName("link")||[];for(var y=0;y<j.length&&!(y>=50);y++){var z=j[y],A=z.getAttribute("rel");("canonical"===A||"icon"===A||"shortlink"===A)&&e("_links["+A+"]",z.getAttribute("href"))}b.body.getElementsByClassName&&(k=b.body.getElementsByClassName("hfeed")[0]),k=b.getElementById("content")||k||b.body,l=k.getElementsByTagName("img")||[];for(var B=0;B<l.length&&!(B>=100);B++)n=l[B],n.src.indexOf("avatar")>-1||n.className.indexOf("avatar")>-1||n.width&&n.width<256||n.height&&n.height<128||e("_images[]",n.src);m=b.body.getElementsByTagName("iframe")||[];for(var C=0;C<m.length&&!(C>=50);C++)e("_embeds[]",m[C].src);b.title&&e("t",b.title),h&&e("s",h),p.setAttribute("method","POST"),p.setAttribute("action",d),p.setAttribute("target",r),p.setAttribute("style","display: none;"),a.open("about:blank",r,"location,resizable,scrollbars,width="+f+",height="+g),b.body.appendChild(p),p.submit()}})(window,document,top.location.href,window.pt_url);
\ No newline at end of file
index b5506ea8e1b323cd464e0998dbadeefffac863f1..d194148f60d704f947d93d098a30844bd23070cb 100644 (file)
@@ -1,50 +1,63 @@
-/* global postboxes:true, commentL10n:true */
+/* global postboxes, commentL10n */
 jQuery(document).ready( function($) {
 
        postboxes.add_postbox_toggles('comment');
 
-       var stamp = $('#timestamp').html();
-       $('.edit-timestamp').click(function () {
-               if ($('#timestampdiv').is(':hidden')) {
-                       $('#timestampdiv').slideDown('normal');
-                       $('.edit-timestamp').hide();
+       var $timestampdiv = $('#timestampdiv'),
+               $timestamp = $( '#timestamp' ),
+               stamp = $timestamp.html(),
+               $timestampwrap = $timestampdiv.find( '.timestamp-wrap' ),
+               $edittimestamp = $timestampdiv.siblings( 'a.edit-timestamp' );
+
+       $edittimestamp.click( function( event ) {
+               if ( $timestampdiv.is( ':hidden' ) ) {
+                       $timestampdiv.slideDown( 'fast', function() {
+                               $( 'input, select', $timestampwrap ).first().focus();
+                       } );
+                       $(this).hide();
                }
-               return false;
+               event.preventDefault();
        });
 
-       $('.cancel-timestamp').click(function() {
-               $('#timestampdiv').slideUp('normal');
+       $timestampdiv.find('.cancel-timestamp').click( function( event ) {
+               // Move focus back to the Edit link.
+               $edittimestamp.show().focus();
+               $timestampdiv.slideUp( 'fast' );
                $('#mm').val($('#hidden_mm').val());
                $('#jj').val($('#hidden_jj').val());
                $('#aa').val($('#hidden_aa').val());
                $('#hh').val($('#hidden_hh').val());
                $('#mn').val($('#hidden_mn').val());
-               $('#timestamp').html(stamp);
-               $('.edit-timestamp').show();
-               return false;
+               $timestamp.html( stamp );
+               event.preventDefault();
        });
 
-       $('.save-timestamp').click(function () { // crazyhorse - multiple ok cancels
+       $timestampdiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels
                var aa = $('#aa').val(), mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val(),
                        newD = new Date( aa, mm - 1, jj, hh, mn );
 
+               event.preventDefault();
+
                if ( newD.getFullYear() != aa || (1 + newD.getMonth()) != mm || newD.getDate() != jj || newD.getMinutes() != mn ) {
-                       $('.timestamp-wrap', '#timestampdiv').addClass('form-invalid');
-                       return false;
+                       $timestampwrap.addClass( 'form-invalid' );
+                       return;
                } else {
-                       $('.timestamp-wrap', '#timestampdiv').removeClass('form-invalid');
+                       $timestampwrap.removeClass( 'form-invalid' );
                }
 
-               $('#timestampdiv').slideUp('normal');
-               $('.edit-timestamp').show();
-               $('#timestamp').html(
+               $timestamp.html(
                        commentL10n.submittedOn + ' <b>' +
-                       $( '#mm option[value="' + mm + '"]' ).text() + ' ' +
-                       jj + ', ' +
-                       aa + ' @ ' +
-                       hh + ':' +
-                       mn + '</b> '
+                       commentL10n.dateFormat
+                               .replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) )
+                               .replace( '%2$s', parseInt( jj, 10 ) )
+                               .replace( '%3$s', aa )
+                               .replace( '%4$s', ( '00' + hh ).slice( -2 ) )
+                               .replace( '%5$s', ( '00' + mn ).slice( -2 ) ) +
+                               '</b> '
                );
-               return false;
+
+               // Move focus back to the Edit link.
+               $edittimestamp.show().focus();
+               $timestampdiv.slideUp( 'fast' );
        });
 });
index fbfa877a76469500689c952f5fc0ef6a53c2ad30..08512640e99d8160311a312783d2fcdae0824c69 100644 (file)
@@ -1 +1 @@
-jQuery(document).ready(function(a){postboxes.add_postbox_toggles("comment");var b=a("#timestamp").html();a(".edit-timestamp").click(function(){return a("#timestampdiv").is(":hidden")&&(a("#timestampdiv").slideDown("normal"),a(".edit-timestamp").hide()),!1}),a(".cancel-timestamp").click(function(){return a("#timestampdiv").slideUp("normal"),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()),a("#timestamp").html(b),a(".edit-timestamp").show(),!1}),a(".save-timestamp").click(function(){var b=a("#aa").val(),c=a("#mm").val(),d=a("#jj").val(),e=a("#hh").val(),f=a("#mn").val(),g=new Date(b,c-1,d,e,f);return g.getFullYear()!=b||1+g.getMonth()!=c||g.getDate()!=d||g.getMinutes()!=f?(a(".timestamp-wrap","#timestampdiv").addClass("form-invalid"),!1):(a(".timestamp-wrap","#timestampdiv").removeClass("form-invalid"),a("#timestampdiv").slideUp("normal"),a(".edit-timestamp").show(),a("#timestamp").html(commentL10n.submittedOn+" <b>"+a('#mm option[value="'+c+'"]').text()+" "+d+", "+b+" @ "+e+":"+f+"</b> "),!1)})});
\ No newline at end of file
+jQuery(document).ready(function(a){postboxes.add_postbox_toggles("comment");var b=a("#timestampdiv"),c=a("#timestamp"),d=c.html(),e=b.find(".timestamp-wrap"),f=b.siblings("a.edit-timestamp");f.click(function(c){b.is(":hidden")&&(b.slideDown("fast",function(){a("input, select",e).first().focus()}),a(this).hide()),c.preventDefault()}),b.find(".cancel-timestamp").click(function(e){f.show().focus(),b.slideUp("fast"),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()),c.html(d),e.preventDefault()}),b.find(".save-timestamp").click(function(d){var g=a("#aa").val(),h=a("#mm").val(),i=a("#jj").val(),j=a("#hh").val(),k=a("#mn").val(),l=new Date(g,h-1,i,j,k);return d.preventDefault(),l.getFullYear()!=g||1+l.getMonth()!=h||l.getDate()!=i||l.getMinutes()!=k?void e.addClass("form-invalid"):(e.removeClass("form-invalid"),c.html(commentL10n.submittedOn+" <b>"+commentL10n.dateFormat.replace("%1$s",a('option[value="'+h+'"]',"#mm").attr("data-text")).replace("%2$s",parseInt(i,10)).replace("%3$s",g).replace("%4$s",("00"+j).slice(-2)).replace("%5$s",("00"+k).slice(-2))+"</b> "),f.show().focus(),void b.slideUp("fast"))})});
\ No newline at end of file
index 574ec094511abf3bd15e1aeea159758420764b8d..5b5741c154867944c7ac93325afaec1d8d213eef 100644 (file)
@@ -37,17 +37,19 @@ columns = {
        },
 
        checked : function(column) {
-               $('.column-' + column).show();
+               $('.column-' + column).removeClass( 'hidden' );
                this.colSpanChange(+1);
        },
 
        unchecked : function(column) {
-               $('.column-' + column).hide();
+               $('.column-' + column).addClass( 'hidden' );
                this.colSpanChange(-1);
        },
 
        hidden : function() {
-               return $('.manage-column').filter(':hidden').map(function() { return this.id; }).get().join(',');
+               return $( '.manage-column[id]' ).filter( ':hidden' ).map(function() {
+                       return this.id;
+               }).get().join( ',' );
        },
 
        useCheckboxesForHidden : function() {
@@ -103,15 +105,14 @@ screenMeta = {
 
        init: function() {
                this.element = $('#screen-meta');
-               this.toggles = $('.screen-meta-toggle a');
+               this.toggles = $( '#screen-meta-links' ).find( '.show-settings' );
                this.page    = $('#wpcontent');
 
                this.toggles.click( this.toggleEvent );
        },
 
-       toggleEvent: function( e ) {
-               var panel = $( this.href.replace(/.+#/, '#') );
-               e.preventDefault();
+       toggleEvent: function() {
+               var panel = $( '#' + $( this ).attr( 'aria-controls' ) );
 
                if ( !panel.length )
                        return;
@@ -122,22 +123,22 @@ screenMeta = {
                        screenMeta.open( panel, $(this) );
        },
 
-       open: function( panel, link ) {
+       open: function( panel, button ) {
 
-               $('.screen-meta-toggle').not( link.parent() ).css('visibility', 'hidden');
+               $( '#screen-meta-links' ).find( '.screen-meta-toggle' ).not( button.parent() ).css( 'visibility', 'hidden' );
 
                panel.parent().show();
                panel.slideDown( 'fast', function() {
                        panel.focus();
-                       link.addClass('screen-meta-active').attr('aria-expanded', true);
+                       button.addClass( 'screen-meta-active' ).attr( 'aria-expanded', true );
                });
 
                $( document ).trigger( 'screen:options:open' );
        },
 
-       close: function( panel, link ) {
+       close: function( panel, button ) {
                panel.slideUp( 'fast', function() {
-                       link.removeClass('screen-meta-active').attr('aria-expanded', false);
+                       button.removeClass( 'screen-meta-active' ).attr( 'aria-expanded', false );
                        $('.screen-meta-toggle').css('visibility', '');
                        panel.parent().hide();
                });
@@ -369,7 +370,13 @@ $(document).ready( function() {
        }
 
        // Move .notice, .updated and .error alert boxes. Don't move boxes designed to be inline.
-       $firstHeading = $( 'div.wrap h2:first' );
+       $firstHeading = $( '.wrap > h1:first' );
+
+       // Back compatibility: if there is no H1, apply to first H2.
+       if ( ! $firstHeading.length ) {
+               $firstHeading = $( '.wrap h2:first' );
+       }
+
        $firstHeading.nextAll( 'div.updated, div.error, div.notice' ).addClass( 'below-h2' );
        $( 'div.updated, div.error, div.notice' ).not( '.below-h2, .inline' ).insertAfter( $firstHeading );
 
@@ -478,7 +485,12 @@ $(document).ready( function() {
                                focusedRowActions.removeClass( 'visible' );
                        }, 30 );
                }
-       }, 'td.post-title, td.title, td.comment, .tags td.column-name, .bookmarks td.column-name, td.blogname, .users-network td.column-blogs, td.username, .dashboard-comment-wrap' );
+       }, '.has-row-actions' );
+
+       // Toggle list table rows on small screens
+       $( 'tbody' ).on( 'click', '.toggle-row', function() {
+               $( this ).closest( 'tr' ).toggleClass( 'is-expanded' );
+       });
 
        $('#default-password-nag-no').click( function() {
                setUserSetting('default_password_nag', 'hide');
@@ -740,6 +752,10 @@ $(document).ready( function() {
                        // Toggle sidebar when toggle is clicked
                        $( '#wp-admin-bar-menu-toggle' ).on( 'click.wp-responsive', function( event ) {
                                event.preventDefault();
+
+                               // close any open toolbar submenus
+                               $adminbar.find( '.hover' ).removeClass( 'hover' );
+
                                $wpwrap.toggleClass( 'wp-responsive-open' );
                                if ( $wpwrap.hasClass( 'wp-responsive-open' ) ) {
                                        $(this).find('a').attr( 'aria-expanded', 'true' );
index 25fb82bcccec75ebbf4f1aab16e55ab1c2bab9ff..26025ea3a9baa1e17b612259072c450184391da1 100644 (file)
@@ -1 +1 @@
-var showNotice,adminMenu,columns,validateForm,screenMeta;!function(a,b){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}},columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var c=a(this),d=c.val();c.prop("checked")?b.checked(d):b.unchecked(d),columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show(),this.colSpanChange(1)},unchecked:function(b){a(".column-"+b).hide(),this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(a,a.length-5)}).get().join(",")}},colSpanChange:function(b){var c,d=a("table").find(".colspanchange");d.length&&(c=parseInt(d.attr("colspan"),10)+b,d.attr("colspan",c.toString()))}},a(document).ready(function(){columns.init()}),validateForm=function(b){return!a(b).find(".form-required").filter(function(){return""===a("input:visible",this).val()}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()},showNotice={warn:function(){var a=commonL10n.warnDelete||"";return confirm(a)?!0:!1},note:function(a){alert(a)}},screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta"),this.toggles=a(".screen-meta-toggle a"),this.page=a("#wpcontent"),this.toggles.click(this.toggleEvent)},toggleEvent:function(b){var c=a(this.href.replace(/.+#/,"#"));b.preventDefault(),c.length&&(c.is(":visible")?screenMeta.close(c,a(this)):screenMeta.open(c,a(this)))},open:function(b,c){a(".screen-meta-toggle").not(c.parent()).css("visibility","hidden"),b.parent().show(),b.slideDown("fast",function(){b.focus(),c.addClass("screen-meta-active").attr("aria-expanded",!0)}),a(document).trigger("screen:options:open")},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active").attr("aria-expanded",!1),a(".screen-meta-toggle").css("visibility",""),b.parent().hide()}),a(document).trigger("screen:options:close")}},a(".contextual-help-tabs").delegate("a","click",function(b){var c,d=a(this);return b.preventDefault(),d.is(".active a")?!1:(a(".contextual-help-tabs .active").removeClass("active"),d.parent("li").addClass("active"),c=a(d.attr("href")),a(".help-tab-content").not(c).removeClass("active").hide(),void c.addClass("active").show())}),a(document).ready(function(){function c(a){var b,c,d,e,f,g,h,i=a.find(".wp-submenu");f=a.offset().top,g=x.scrollTop(),h=f-g-30,b=f+i.height()+1,c=A.height(),d=60+b-c,e=x.height()+g-50,b-d>e&&(d=b-e),d>h&&(d=h),d>1?i.css("margin-top","-"+d+"px"):i.css("margin-top","")}function d(a){var b=x.scrollTop(),c=!a||"scroll"!==a.type;if(!(t||v||B.data("wp-responsive"))){if(N.menu+N.adminbar<N.window||N.menu+N.adminbar+20>N.wpwrap)return void f();if(M=!0,N.menu+N.adminbar>N.window){if(0>b)return void(J||(J=!0,K=!1,z.css({position:"fixed",top:"",bottom:""})));if(b+N.window>w.height()-1)return void(K||(K=!0,J=!1,z.css({position:"fixed",top:"",bottom:0})));b>I?J?(J=!1,L=z.offset().top-N.adminbar-(b-I),L+N.menu+N.adminbar<b+N.window&&(L=b+N.window-N.menu-N.adminbar),z.css({position:"absolute",top:L,bottom:""})):!K&&z.offset().top+N.menu<b+N.window&&(K=!0,z.css({position:"fixed",top:"",bottom:0})):I>b?K?(K=!1,L=z.offset().top-N.adminbar+(I-b),L+N.menu>b+N.window&&(L=b),z.css({position:"absolute",top:L,bottom:""})):!J&&z.offset().top>=b+N.adminbar&&(J=!0,z.css({position:"fixed",top:"",bottom:""})):c&&(J=K=!1,L=b+N.window-N.menu-N.adminbar-1,L>0?z.css({position:"absolute",top:L,bottom:""}):f())}I=b}}function e(){N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()}}function f(){!t&&M&&(J=K=M=!1,z.css({position:"",top:"",bottom:""}))}function g(){e(),B.data("wp-responsive")?(y.removeClass("sticky-menu"),f()):N.menu+N.adminbar>N.window?(d(),y.removeClass("sticky-menu")):(y.addClass("sticky-menu"),f())}var h,i,j,k,l,m,n,o,p,q=!1,r=a("input.current-page"),s=r.val(),t=/iPhone|iPad|iPod/.test(navigator.userAgent),u=-1!==navigator.userAgent.indexOf("Android"),v=a(document.documentElement).hasClass("ie8"),w=a(document),x=a(b),y=a(document.body),z=a("#adminmenuwrap"),A=a("#wpwrap"),B=a("#adminmenu"),C=a("#wp-responsive-overlay"),D=a("#wp-toolbar"),E=D.find('a[aria-haspopup="true"]'),F=a(".meta-box-sortables"),G=!1,H=a("#wpadminbar"),I=0,J=!1,K=!1,L=0,M=!1,N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()};B.on("click.wp-submenu-head",".wp-submenu-head",function(b){a(b.target).parent().siblings("a").get(0).click()}),a("#collapse-menu").on("click.collapse-menu",function(){var c,d,e=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):961,c&&960>c?e.hasClass("auto-fold")?(e.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o"),d="open"):(e.addClass("auto-fold"),setUserSetting("unfold",0),d="folded"):e.hasClass("folded")?(e.removeClass("folded"),setUserSetting("mfold","o"),d="open"):(e.addClass("folded"),setUserSetting("mfold","f"),d="folded"),a(document).trigger("wp-collapse-menu",{state:d})}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(m=t?"touchstart":"click",a(document.body).on(m+".wp-mobile-hover",function(b){B.data("wp-responsive")||a(b.target).closest("#adminmenu").length||B.find("li.opensub").removeClass("opensub")}),B.find("a.wp-has-submenu").on(m+".wp-mobile-hover",function(b){var d=a(this).parent();B.data("wp-responsive")||d.hasClass("opensub")||d.hasClass("wp-menu-open")&&!(d.width()<40)||(b.preventDefault(),c(d),B.find("li.opensub").removeClass("opensub"),d.addClass("opensub"))})),t||u||(B.find("li.wp-has-submenu").hoverIntent({over:function(){var b=a(this),d=b.find(".wp-submenu"),e=parseInt(d.css("top"),10);isNaN(e)||e>-5||B.data("wp-responsive")||(c(b),B.find("li.opensub").removeClass("opensub"),b.addClass("opensub"))},out:function(){B.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),B.on("focus.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}).find("li.wp-has-submenu.wp-not-current-submenu").on("focusin.adminmenu",function(){c(a(this))})),p=a("div.wrap h2:first"),p.nextAll("div.updated, div.error, div.notice").addClass("below-h2"),a("div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(p),a(".notice.is-dismissible").each(function(){var b=a(this),c=a('<button type="button" class="notice-dismiss"><span class="screen-reader-text"></span></button>'),d=commonL10n.dismiss||"";c.find(".screen-reader-text").text(d),b.append(c),c.on("click.wp-dismiss-notice",function(c){c.preventDefault(),b.fadeTo(100,0,function(){a(this).slideUp(100,function(){a(this).remove()})})})}),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!q)return!0;h=a(q).closest("form").find(":checkbox"),i=h.index(q),j=h.index(this),k=a(this).prop("checked"),i>0&&j>0&&i!=j&&(l=j>i?h.slice(i,j):h.slice(j,i),l.prop("checked",function(){return a(this).closest("tr").is(":visible")?k:!1}))}q=this;var c=a(this).closest("tbody").find(":checkbox").filter(":visible").not(":checked");return a(this).closest("table").children("thead, tfoot").find(":checkbox").prop("checked",function(){return 0===c.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").on("click.wp-toggle-checkboxes",function(b){var c=a(this),d=c.closest("table"),e=c.prop("checked"),f=b.shiftKey||c.data("wp-toggle");d.children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:f?!a(this).prop("checked"):e?!0:!1}),d.children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return f?!1:e?!0:!1})}),a("#wpbody-content").on({focusin:function(){clearTimeout(n),o=a(this).find(".row-actions"),a(".row-actions").not(this).removeClass("visible"),o.addClass("visible")},focusout:function(){n=setTimeout(function(){o.removeClass("visible")},30)}},"td.post-title, td.title, td.comment, .tags td.column-name, .bookmarks td.column-name, td.blogname, .users-network td.column-blogs, td.username, .dashboard-comment-wrap"),a("#default-password-nag-no").click(function(){return setUserSetting("default_password_nag","hide"),a("div.default-password-nag").hide(),!1}),a("#newcontent").bind("keydown.wpevent_InsertTab",function(b){var c,d,e,f,g,h=b.target;if(27==b.keyCode)return b.preventDefault(),void a(h).data("tab-out",!0);if(!(9!=b.keyCode||b.ctrlKey||b.altKey||b.shiftKey)){if(a(h).data("tab-out"))return void a(h).data("tab-out",!1);c=h.selectionStart,d=h.selectionEnd,e=h.value,document.selection?(h.focus(),g=document.selection.createRange(),g.text="    "):c>=0&&(f=this.scrollTop,h.value=e.substring(0,c).concat("    ",e.substring(d)),h.selectionStart=h.selectionEnd=c+1,this.scrollTop=f),b.stopPropagation&&b.stopPropagation(),b.preventDefault&&b.preventDefault()}}),r.length&&r.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&r.val()==s&&r.val("1")}),a('.search-box input[type="search"], .search-box input[type="submit"]').mousedown(function(){a('select[name^="action"]').val("-1")}),a("#contextual-help-link, #show-settings-link").on("focus.scroll-into-view",function(a){a.target.scrollIntoView&&a.target.scrollIntoView(!1)}),function(){function b(){c.prop("disabled",""===d.map(function(){return a(this).val()}).get().join(""))}var c,d,e=a("form.wp-upload-form");e.length&&(c=e.find('input[type="submit"]'),d=e.find('input[type="file"]'),b(),d.on("change",b))}(),t||(x.on("scroll.pin-menu",d),w.on("tinymce-editor-init.pin-menu",function(a,b){b.on("wp-autoresize",e)})),b.wpResponsive={init:function(){var c=this;w.on("wp-responsive-activate.wp-responsive",function(){c.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){c.deactivate()}),a("#wp-admin-bar-menu-toggle a").attr("aria-expanded","false"),a("#wp-admin-bar-menu-toggle").on("click.wp-responsive",function(b){b.preventDefault(),A.toggleClass("wp-responsive-open"),A.hasClass("wp-responsive-open")?(a(this).find("a").attr("aria-expanded","true"),a("#adminmenu a:first").focus()):a(this).find("a").attr("aria-expanded","false")}),B.on("click.wp-responsive","li.wp-has-submenu > a",function(b){B.data("wp-responsive")&&(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),c.trigger(),w.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),x.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?x.width():b.innerWidth;782>=a&&c.disableSortables()})},activate:function(){g(),y.hasClass("auto-fold")||y.addClass("auto-fold"),B.data("wp-responsive",1),this.disableSortables()},deactivate:function(){g(),B.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?G||(w.trigger("wp-responsive-activate"),G=!0):G&&(w.trigger("wp-responsive-deactivate"),G=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===C.length&&(C=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){D.find(".menupop.hover").removeClass("hover"),a(this).hide()})),E.on("click.wp-responsive",function(){C.show()})},disableOverlay:function(){E.off("click.wp-responsive"),C.hide()},disableSortables:function(){if(F.length)try{F.sortable("disable")}catch(a){}},enableSortables:function(){if(F.length)try{F.sortable("enable")}catch(a){}}},b.wpResponsive.init(),g(),w.on("wp-pin-menu wp-window-resized.pin-menu postboxes-columnchange.pin-menu postbox-toggled.pin-menu wp-collapse-menu.pin-menu wp-scroll-start.pin-menu",g)}),function(){function c(){a(document).trigger("wp-window-resized")}function d(){b.clearTimeout(e),e=b.setTimeout(c,200)}var e;a(b).on("resize.wp-fire-once",d)}(),function(){if("-ms-user-select"in document.documentElement.style&&navigator.userAgent.match(/IEMobile\/10\.0/)){var a=document.createElement("style");a.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")),document.getElementsByTagName("head")[0].appendChild(a)}}()}(jQuery,window);
\ No newline at end of file
+var showNotice,adminMenu,columns,validateForm,screenMeta;!function(a,b,c){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}},columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var c=a(this),d=c.val();c.prop("checked")?b.checked(d):b.unchecked(d),columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).removeClass("hidden"),this.colSpanChange(1)},unchecked:function(b){a(".column-"+b).addClass("hidden"),this.colSpanChange(-1)},hidden:function(){return a(".manage-column[id]").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(a,a.length-5)}).get().join(",")}},colSpanChange:function(b){var c,d=a("table").find(".colspanchange");d.length&&(c=parseInt(d.attr("colspan"),10)+b,d.attr("colspan",c.toString()))}},a(document).ready(function(){columns.init()}),validateForm=function(b){return!a(b).find(".form-required").filter(function(){return""===a("input:visible",this).val()}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()},showNotice={warn:function(){var a=commonL10n.warnDelete||"";return confirm(a)?!0:!1},note:function(a){alert(a)}},screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta"),this.toggles=a("#screen-meta-links").find(".show-settings"),this.page=a("#wpcontent"),this.toggles.click(this.toggleEvent)},toggleEvent:function(){var b=a("#"+a(this).attr("aria-controls"));b.length&&(b.is(":visible")?screenMeta.close(b,a(this)):screenMeta.open(b,a(this)))},open:function(b,c){a("#screen-meta-links").find(".screen-meta-toggle").not(c.parent()).css("visibility","hidden"),b.parent().show(),b.slideDown("fast",function(){b.focus(),c.addClass("screen-meta-active").attr("aria-expanded",!0)}),a(document).trigger("screen:options:open")},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active").attr("aria-expanded",!1),a(".screen-meta-toggle").css("visibility",""),b.parent().hide()}),a(document).trigger("screen:options:close")}},a(".contextual-help-tabs").delegate("a","click",function(b){var c,d=a(this);return b.preventDefault(),d.is(".active a")?!1:(a(".contextual-help-tabs .active").removeClass("active"),d.parent("li").addClass("active"),c=a(d.attr("href")),a(".help-tab-content").not(c).removeClass("active").hide(),void c.addClass("active").show())}),a(document).ready(function(){function c(a){var b,c,d,e,f,g,h,i=a.find(".wp-submenu");f=a.offset().top,g=x.scrollTop(),h=f-g-30,b=f+i.height()+1,c=A.height(),d=60+b-c,e=x.height()+g-50,b-d>e&&(d=b-e),d>h&&(d=h),d>1?i.css("margin-top","-"+d+"px"):i.css("margin-top","")}function d(a){var b=x.scrollTop(),c=!a||"scroll"!==a.type;if(!(t||v||B.data("wp-responsive"))){if(N.menu+N.adminbar<N.window||N.menu+N.adminbar+20>N.wpwrap)return void f();if(M=!0,N.menu+N.adminbar>N.window){if(0>b)return void(J||(J=!0,K=!1,z.css({position:"fixed",top:"",bottom:""})));if(b+N.window>w.height()-1)return void(K||(K=!0,J=!1,z.css({position:"fixed",top:"",bottom:0})));b>I?J?(J=!1,L=z.offset().top-N.adminbar-(b-I),L+N.menu+N.adminbar<b+N.window&&(L=b+N.window-N.menu-N.adminbar),z.css({position:"absolute",top:L,bottom:""})):!K&&z.offset().top+N.menu<b+N.window&&(K=!0,z.css({position:"fixed",top:"",bottom:0})):I>b?K?(K=!1,L=z.offset().top-N.adminbar+(I-b),L+N.menu>b+N.window&&(L=b),z.css({position:"absolute",top:L,bottom:""})):!J&&z.offset().top>=b+N.adminbar&&(J=!0,z.css({position:"fixed",top:"",bottom:""})):c&&(J=K=!1,L=b+N.window-N.menu-N.adminbar-1,L>0?z.css({position:"absolute",top:L,bottom:""}):f())}I=b}}function e(){N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()}}function f(){!t&&M&&(J=K=M=!1,z.css({position:"",top:"",bottom:""}))}function g(){e(),B.data("wp-responsive")?(y.removeClass("sticky-menu"),f()):N.menu+N.adminbar>N.window?(d(),y.removeClass("sticky-menu")):(y.addClass("sticky-menu"),f())}var h,i,j,k,l,m,n,o,p,q=!1,r=a("input.current-page"),s=r.val(),t=/iPhone|iPad|iPod/.test(navigator.userAgent),u=-1!==navigator.userAgent.indexOf("Android"),v=a(document.documentElement).hasClass("ie8"),w=a(document),x=a(b),y=a(document.body),z=a("#adminmenuwrap"),A=a("#wpwrap"),B=a("#adminmenu"),C=a("#wp-responsive-overlay"),D=a("#wp-toolbar"),E=D.find('a[aria-haspopup="true"]'),F=a(".meta-box-sortables"),G=!1,H=a("#wpadminbar"),I=0,J=!1,K=!1,L=0,M=!1,N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()};B.on("click.wp-submenu-head",".wp-submenu-head",function(b){a(b.target).parent().siblings("a").get(0).click()}),a("#collapse-menu").on("click.collapse-menu",function(){var c,d,e=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):961,c&&960>c?e.hasClass("auto-fold")?(e.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o"),d="open"):(e.addClass("auto-fold"),setUserSetting("unfold",0),d="folded"):e.hasClass("folded")?(e.removeClass("folded"),setUserSetting("mfold","o"),d="open"):(e.addClass("folded"),setUserSetting("mfold","f"),d="folded"),a(document).trigger("wp-collapse-menu",{state:d})}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(m=t?"touchstart":"click",a(document.body).on(m+".wp-mobile-hover",function(b){B.data("wp-responsive")||a(b.target).closest("#adminmenu").length||B.find("li.opensub").removeClass("opensub")}),B.find("a.wp-has-submenu").on(m+".wp-mobile-hover",function(b){var d=a(this).parent();B.data("wp-responsive")||d.hasClass("opensub")||d.hasClass("wp-menu-open")&&!(d.width()<40)||(b.preventDefault(),c(d),B.find("li.opensub").removeClass("opensub"),d.addClass("opensub"))})),t||u||(B.find("li.wp-has-submenu").hoverIntent({over:function(){var b=a(this),d=b.find(".wp-submenu"),e=parseInt(d.css("top"),10);isNaN(e)||e>-5||B.data("wp-responsive")||(c(b),B.find("li.opensub").removeClass("opensub"),b.addClass("opensub"))},out:function(){B.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),B.on("focus.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}).find("li.wp-has-submenu.wp-not-current-submenu").on("focusin.adminmenu",function(){c(a(this))})),p=a(".wrap > h1:first"),p.length||(p=a(".wrap h2:first")),p.nextAll("div.updated, div.error, div.notice").addClass("below-h2"),a("div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(p),a(".notice.is-dismissible").each(function(){var b=a(this),c=a('<button type="button" class="notice-dismiss"><span class="screen-reader-text"></span></button>'),d=commonL10n.dismiss||"";c.find(".screen-reader-text").text(d),b.append(c),c.on("click.wp-dismiss-notice",function(c){c.preventDefault(),b.fadeTo(100,0,function(){a(this).slideUp(100,function(){a(this).remove()})})})}),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!q)return!0;h=a(q).closest("form").find(":checkbox"),i=h.index(q),j=h.index(this),k=a(this).prop("checked"),i>0&&j>0&&i!=j&&(l=j>i?h.slice(i,j):h.slice(j,i),l.prop("checked",function(){return a(this).closest("tr").is(":visible")?k:!1}))}q=this;var c=a(this).closest("tbody").find(":checkbox").filter(":visible").not(":checked");return a(this).closest("table").children("thead, tfoot").find(":checkbox").prop("checked",function(){return 0===c.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").on("click.wp-toggle-checkboxes",function(b){var c=a(this),d=c.closest("table"),e=c.prop("checked"),f=b.shiftKey||c.data("wp-toggle");d.children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:f?!a(this).prop("checked"):e?!0:!1}),d.children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return f?!1:e?!0:!1})}),a("#wpbody-content").on({focusin:function(){clearTimeout(n),o=a(this).find(".row-actions"),a(".row-actions").not(this).removeClass("visible"),o.addClass("visible")},focusout:function(){n=setTimeout(function(){o.removeClass("visible")},30)}},".has-row-actions"),a("tbody").on("click",".toggle-row",function(){a(this).closest("tr").toggleClass("is-expanded")}),a("#default-password-nag-no").click(function(){return setUserSetting("default_password_nag","hide"),a("div.default-password-nag").hide(),!1}),a("#newcontent").bind("keydown.wpevent_InsertTab",function(b){var c,d,e,f,g,h=b.target;if(27==b.keyCode)return b.preventDefault(),void a(h).data("tab-out",!0);if(!(9!=b.keyCode||b.ctrlKey||b.altKey||b.shiftKey)){if(a(h).data("tab-out"))return void a(h).data("tab-out",!1);c=h.selectionStart,d=h.selectionEnd,e=h.value,document.selection?(h.focus(),g=document.selection.createRange(),g.text="       "):c>=0&&(f=this.scrollTop,h.value=e.substring(0,c).concat("    ",e.substring(d)),h.selectionStart=h.selectionEnd=c+1,this.scrollTop=f),b.stopPropagation&&b.stopPropagation(),b.preventDefault&&b.preventDefault()}}),r.length&&r.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&r.val()==s&&r.val("1")}),a('.search-box input[type="search"], .search-box input[type="submit"]').mousedown(function(){a('select[name^="action"]').val("-1")}),a("#contextual-help-link, #show-settings-link").on("focus.scroll-into-view",function(a){a.target.scrollIntoView&&a.target.scrollIntoView(!1)}),function(){function b(){c.prop("disabled",""===d.map(function(){return a(this).val()}).get().join(""))}var c,d,e=a("form.wp-upload-form");e.length&&(c=e.find('input[type="submit"]'),d=e.find('input[type="file"]'),b(),d.on("change",b))}(),t||(x.on("scroll.pin-menu",d),w.on("tinymce-editor-init.pin-menu",function(a,b){b.on("wp-autoresize",e)})),b.wpResponsive={init:function(){var c=this;w.on("wp-responsive-activate.wp-responsive",function(){c.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){c.deactivate()}),a("#wp-admin-bar-menu-toggle a").attr("aria-expanded","false"),a("#wp-admin-bar-menu-toggle").on("click.wp-responsive",function(b){b.preventDefault(),H.find(".hover").removeClass("hover"),A.toggleClass("wp-responsive-open"),A.hasClass("wp-responsive-open")?(a(this).find("a").attr("aria-expanded","true"),a("#adminmenu a:first").focus()):a(this).find("a").attr("aria-expanded","false")}),B.on("click.wp-responsive","li.wp-has-submenu > a",function(b){B.data("wp-responsive")&&(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),c.trigger(),w.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),x.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?x.width():b.innerWidth;782>=a&&c.disableSortables()})},activate:function(){g(),y.hasClass("auto-fold")||y.addClass("auto-fold"),B.data("wp-responsive",1),this.disableSortables()},deactivate:function(){g(),B.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?G||(w.trigger("wp-responsive-activate"),G=!0):G&&(w.trigger("wp-responsive-deactivate"),G=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===C.length&&(C=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){D.find(".menupop.hover").removeClass("hover"),a(this).hide()})),E.on("click.wp-responsive",function(){C.show()})},disableOverlay:function(){E.off("click.wp-responsive"),C.hide()},disableSortables:function(){if(F.length)try{F.sortable("disable")}catch(a){}},enableSortables:function(){if(F.length)try{F.sortable("enable")}catch(a){}}},b.wpResponsive.init(),g(),w.on("wp-pin-menu wp-window-resized.pin-menu postboxes-columnchange.pin-menu postbox-toggled.pin-menu wp-collapse-menu.pin-menu wp-scroll-start.pin-menu",g)}),function(){function c(){a(document).trigger("wp-window-resized")}function d(){b.clearTimeout(e),e=b.setTimeout(c,200)}var e;a(b).on("resize.wp-fire-once",d)}(),function(){if("-ms-user-select"in document.documentElement.style&&navigator.userAgent.match(/IEMobile\/10\.0/)){var a=document.createElement("style");a.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")),document.getElementsByTagName("head")[0].appendChild(a)}}()}(jQuery,window);
\ No newline at end of file
index e211a41ff7fd4a6284d775d468dae90c2e96b349..1e5103a914e5512135b5c29c9a5fed7112b4fa97 100644 (file)
@@ -1,4 +1,4 @@
-/* globals _wpCustomizeHeader, _wpCustomizeBackground, _wpMediaViewsL10n, MediaElementPlayer */
+/* global _wpCustomizeHeader, _wpCustomizeBackground, _wpMediaViewsL10n, MediaElementPlayer */
 (function( exports, $ ){
        var Container, focus, api = wp.customize;
 
                params = params || {};
                focus = function () {
                        var focusContainer;
-                       if ( construct.extended( api.Panel ) && construct.expanded() ) {
-                               focusContainer = construct.container.find( '.control-panel-content:first' );
+                       if ( construct.expanded && construct.expanded() ) {
+                               focusContainer = construct.container.find( 'ul:first' );
                        } else {
                                focusContainer = construct.container;
                        }
-                       focusContainer.find( ':focusable:first' ).focus();
-                       focusContainer[0].scrollIntoView( true );
+
+                       // Note that we can't use :focusable due to a jQuery UI issue. See: https://github.com/jquery/jquery-ui/pull/1583
+                       focusContainer.find( 'input, select, textarea, button, object, a[href], [tabindex]' ).filter( ':visible' ).first().focus();
                };
                if ( params.completeCallback ) {
                        completeCallback = params.completeCallback;
        Container = api.Class.extend({
                defaultActiveArguments: { duration: 'fast', completeCallback: $.noop },
                defaultExpandedArguments: { duration: 'fast', completeCallback: $.noop },
+               containerType: 'container',
+               defaults: {
+                       title: '',
+                       description: '',
+                       priority: 100,
+                       type: 'default',
+                       content: null,
+                       active: true,
+                       instanceNumber: null
+               },
 
                /**
                 * @since 4.1.0
                 *
-                * @param {String} id
-                * @param {Object} options
+                * @param {string}         id - The ID for the container.
+                * @param {object}         options - Object containing one property: params.
+                * @param {object}         options.params - Object containing the following properties.
+                * @param {string}         options.params.title - Title shown when panel is collapsed and expanded.
+                * @param {string=}        [options.params.description] - Description shown at the top of the panel.
+                * @param {number=100}     [options.params.priority] - The sort priority for the panel.
+                * @param {string=default} [options.params.type] - The type of the panel. See wp.customize.panelConstructor.
+                * @param {string=}        [options.params.content] - The markup to be used for the panel container. If empty, a JS template is used.
+                * @param {boolean=true}   [options.params.active] - Whether the panel is active or not.
                 */
                initialize: function ( id, options ) {
                        var container = this;
                        container.id = id;
-                       container.params = {};
-                       $.extend( container, options || {} );
+                       options = options || {};
+
+                       options.params = _.defaults(
+                               options.params || {},
+                               container.defaults
+                       );
+
+                       $.extend( container, options );
+                       container.templateSelector = 'customize-' + container.containerType + '-' + container.params.type;
                        container.container = $( container.params.content );
+                       if ( 0 === container.container.length ) {
+                               container.container = $( container.getContainer() );
+                       }
 
                        container.deferred = {
                                embedded: new $.Deferred()
                                container.onChangeExpanded( expanded, args );
                        });
 
-                       container.attachEvents();
+                       container.deferred.embedded.done( function () {
+                               container.attachEvents();
+                       });
 
                        api.utils.bubbleChildValueChanges( container, [ 'priority', 'active' ] );
 
-                       container.priority.set( isNaN( container.params.priority ) ? 100 : container.params.priority );
+                       container.priority.set( container.params.priority );
                        container.active.set( container.params.active );
                        container.expanded.set( false );
                },
                 * @param {Object}  args.completeCallback
                 */
                onChangeActive: function ( active, args ) {
-                       var duration = ( 'resolved' === api.previewer.deferred.active.state() ? args.duration : 0 );
-                       if ( ! $.contains( document, this.container ) ) {
+                       var duration, construct = this;
+                       duration = ( 'resolved' === api.previewer.deferred.active.state() ? args.duration : 0 );
+                       if ( ! $.contains( document, construct.container[0] ) ) {
                                // jQuery.fn.slideUp is not hiding an element if it is not in the DOM
-                               this.container.toggle( active );
+                               construct.container.toggle( active );
                                if ( args.completeCallback ) {
                                        args.completeCallback();
                                }
                        } else if ( active ) {
-                               this.container.stop( true, true ).slideDown( duration, args.completeCallback );
+                               construct.container.stop( true, true ).slideDown( duration, args.completeCallback );
                        } else {
-                               this.container.stop( true, true ).slideUp( duration, args.completeCallback );
+                               if ( construct.expanded() ) {
+                                       construct.collapse({
+                                               duration: duration,
+                                               completeCallback: function() {
+                                                       construct.container.stop( true, true ).slideUp( duration, args.completeCallback );
+                                               }
+                                       });
+                               } else {
+                                       construct.container.stop( true, true ).slideUp( duration, args.completeCallback );
+                               }
                        }
                },
 
                 * Bring the container into view and then expand this and bring it into view
                 * @param {Object} [params]
                 */
-               focus: focus
+               focus: focus,
+
+               /**
+                * Return the container html, generated from its JS template, if it exists.
+                *
+                * @since 4.3.0
+                */
+               getContainer: function () {
+                       var template,
+                               container = this;
+
+                       if ( 0 !== $( '#tmpl-' + container.templateSelector ).length ) {
+                               template = wp.template( container.templateSelector );
+                       } else {
+                               template = wp.template( 'customize-' + container.containerType + '-default' );
+                       }
+                       if ( template && container.container ) {
+                               return $.trim( template( container.params ) );
+                       }
+
+                       return '<li></li>';
+               }
        });
 
        /**
         * @augments wp.customize.Class
         */
        api.Section = Container.extend({
+               containerType: 'section',
+               defaults: {
+                       title: '',
+                       description: '',
+                       priority: 100,
+                       type: 'default',
+                       content: null,
+                       active: true,
+                       instanceNumber: null,
+                       panel: null,
+                       customizeAction: ''
+               },
 
                /**
                 * @since 4.1.0
                 *
-                * @param {String} id
-                * @param {Array}  options
+                * @param {string}         id - The ID for the section.
+                * @param {object}         options - Object containing one property: params.
+                * @param {object}         options.params - Object containing the following properties.
+                * @param {string}         options.params.title - Title shown when section is collapsed and expanded.
+                * @param {string=}        [options.params.description] - Description shown at the top of the section.
+                * @param {number=100}     [options.params.priority] - The sort priority for the section.
+                * @param {string=default} [options.params.type] - The type of the section. See wp.customize.sectionConstructor.
+                * @param {string=}        [options.params.content] - The markup to be used for the section container. If empty, a JS template is used.
+                * @param {boolean=true}   [options.params.active] - Whether the section is active or not.
+                * @param {string}         options.params.panel - The ID for the panel this section is associated with.
+                * @param {string=}        [options.params.customizeAction] - Additional context information shown before the section title when expanded.
                 */
                initialize: function ( id, options ) {
                        var section = this;
                        var section = this;
 
                        // Expand/Collapse accordion sections on click.
-                       section.container.find( '.accordion-section-title' ).on( 'click keydown', function( event ) {
+                       section.container.find( '.accordion-section-title, .customize-section-back' ).on( 'click keydown', function( event ) {
                                if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
                                        return;
                                }
                 */
                onChangeExpanded: function ( expanded, args ) {
                        var section = this,
+                               container = section.container.closest( '.wp-full-overlay-sidebar-content' ),
                                content = section.container.find( '.accordion-section-content' ),
-                               expand;
+                               overlay = section.container.closest( '.wp-full-overlay' ),
+                               backBtn = section.container.find( '.customize-section-back' ),
+                               sectionTitle = section.container.find( '.accordion-section-title' ).first(),
+                               headerActionsHeight = $( '#customize-header-actions' ).height(),
+                               resizeContentHeight, expand, position, scroll;
 
-                       if ( expanded ) {
+                       if ( expanded && ! section.container.hasClass( 'open' ) ) {
 
                                if ( args.unchanged ) {
                                        expand = args.completeCallback;
                                } else {
-                                       expand = function () {
-                                               content.stop().slideDown( args.duration, args.completeCallback );
+                                       container.scrollTop( 0 );
+                                       resizeContentHeight = function() {
+                                               var matchMedia, offset;
+                                               matchMedia = window.matchMedia || window.msMatchMedia;
+                                               offset = 90; // 45px for customize header actions + 45px for footer actions.
+
+                                               // No footer on small screens.
+                                               if ( matchMedia && matchMedia( '(max-width: 640px)' ).matches ) {
+                                                       offset = 45;
+                                               }
+                                               content.css( 'height', ( window.innerHeight - offset ) );
+                                       };
+                                       expand = function() {
                                                section.container.addClass( 'open' );
+                                               overlay.addClass( 'section-open' );
+                                               position = content.offset().top;
+                                               scroll = container.scrollTop();
+                                               content.css( 'margin-top', ( headerActionsHeight - position - scroll ) );
+                                               resizeContentHeight();
+                                               sectionTitle.attr( 'tabindex', '-1' );
+                                               backBtn.attr( 'tabindex', '0' );
+                                               backBtn.focus();
+                                               if ( args.completeCallback ) {
+                                                       args.completeCallback();
+                                               }
+
+                                               // Fix the height after browser resize.
+                                               $( window ).on( 'resize.customizer-section', _.debounce( resizeContentHeight, 100 ) );
+
+                                               // Fix the top margin after reflow.
+                                               api.bind( 'pane-contents-reflowed', _.debounce( function() {
+                                                       var offset = ( content.offset().top - headerActionsHeight );
+                                                       if ( 0 < offset ) {
+                                                               content.css( 'margin-top', ( parseInt( content.css( 'margin-top' ), 10 ) - offset ) );
+                                                       }
+                                               }, 100 ) );
                                        };
                                }
 
                                        expand();
                                }
 
-                       } else {
+                       } else if ( ! expanded && section.container.hasClass( 'open' ) ) {
                                section.container.removeClass( 'open' );
-                               content.slideUp( args.duration, args.completeCallback );
+                               overlay.removeClass( 'section-open' );
+                               content.css( 'margin-top', '' );
+                               container.scrollTop( 0 );
+                               backBtn.attr( 'tabindex', '-1' );
+                               sectionTitle.attr( 'tabindex', '0' );
+                               sectionTitle.focus();
+                               if ( args.completeCallback ) {
+                                       args.completeCallback();
+                               }
+                               $( window ).off( 'resize.customizer-section' );
+                       } else {
+                               if ( args.completeCallback ) {
+                                       args.completeCallback();
+                               }
                        }
                }
        });
                                overlay = section.closest( '.wp-full-overlay' ),
                                container = section.closest( '.wp-full-overlay-sidebar-content' ),
                                siblings = container.find( '.open' ),
-                               topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ).add( '#customize-info > .accordion-section-title' ),
                                customizeBtn = section.find( '.customize-theme' ),
                                changeBtn = section.find( '.change-theme' ),
                                content = section.find( '.control-panel-content' );
                                                args.completeCallback();
                                        }
                                } );
-                               topPanel.attr( 'tabindex', '-1' );
-                               changeBtn.attr( 'tabindex', '-1' );
                                customizeBtn.focus();
                        } else {
                                siblings.removeClass( 'open' );
                                                args.completeCallback();
                                        }
                                } );
-                               topPanel.attr( 'tabindex', '0' );
                                customizeBtn.attr( 'tabindex', '0' );
                                changeBtn.focus();
                                container.scrollTop( 0 );
         * @augments wp.customize.Class
         */
        api.Panel = Container.extend({
+               containerType: 'panel',
+
                /**
                 * @since 4.1.0
                 *
-                * @param  {String} id
-                * @param  {Object} options
+                * @param {string}         id - The ID for the panel.
+                * @param {object}         options - Object containing one property: params.
+                * @param {object}         options.params - Object containing the following properties.
+                * @param {string}         options.params.title - Title shown when panel is collapsed and expanded.
+                * @param {string=}        [options.params.description] - Description shown at the top of the panel.
+                * @param {number=100}     [options.params.priority] - The sort priority for the panel.
+                * @param {string=default} [options.params.type] - The type of the panel. See wp.customize.panelConstructor.
+                * @param {string=}        [options.params.content] - The markup to be used for the panel container. If empty, a JS template is used.
+                * @param {boolean=true}   [options.params.active] - Whether the panel is active or not.
                 */
                initialize: function ( id, options ) {
                        var panel = this;
 
                        if ( ! panel.container.parent().is( parentContainer ) ) {
                                parentContainer.append( panel.container );
+                               panel.renderContent();
                        }
                        panel.deferred.embedded.resolve();
                },
                                }
                        });
 
+                       // Close panel.
+                       panel.container.find( '.customize-panel-back' ).on( 'click keydown', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+                               event.preventDefault(); // Keep this AFTER the key filter above
+
+                               if ( panel.expanded() ) {
+                                       panel.collapse();
+                               }
+                       });
+
                        meta = panel.container.find( '.panel-meta:first' );
 
-                       meta.find( '> .accordion-section-title' ).on( 'click keydown', function( event ) {
+                       meta.find( '> .accordion-section-title .customize-help-toggle' ).on( 'click keydown', function( event ) {
                                if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
                                        return;
                                }
                                event.preventDefault(); // Keep this AFTER the key filter above
 
+                               meta = panel.container.find( '.panel-meta' );
                                if ( meta.hasClass( 'cannot-expand' ) ) {
                                        return;
                                }
 
-                               var content = meta.find( '.accordion-section-content:first' );
+                               var content = meta.find( '.customize-panel-description:first' );
                                if ( meta.hasClass( 'open' ) ) {
                                        meta.toggleClass( 'open' );
                                        content.slideUp( panel.defaultExpandedArguments.duration );
+                                       $( this ).attr( 'aria-expanded', false );
                                } else {
                                        content.slideDown( panel.defaultExpandedArguments.duration );
                                        meta.toggleClass( 'open' );
+                                       $( this ).attr( 'aria-expanded', true );
                                }
                        });
 
                        // Note: there is a second argument 'args' passed
                        var position, scroll,
                                panel = this,
-                               section = panel.container.closest( '.accordion-section' ),
+                               section = panel.container.closest( '.accordion-section' ), // This is actually the panel.
                                overlay = section.closest( '.wp-full-overlay' ),
                                container = section.closest( '.wp-full-overlay-sidebar-content' ),
                                siblings = container.find( '.open' ),
-                               topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ).add( '#customize-info > .accordion-section-title' ),
-                               backBtn = overlay.find( '.control-panel-back' ),
+                               topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ),
+                               backBtn = section.find( '.customize-panel-back' ),
                                panelTitle = section.find( '.accordion-section-title' ).first(),
-                               content = section.find( '.control-panel-content' );
+                               content = section.find( '.control-panel-content' ),
+                               headerActionsHeight = $( '#customize-header-actions' ).height();
 
                        if ( expanded ) {
 
                                        content.parent().show();
                                        position = content.offset().top;
                                        scroll = container.scrollTop();
-                                       content.css( 'margin-top', ( $( '#customize-header-actions' ).height() - position - scroll ) );
+                                       content.css( 'margin-top', ( headerActionsHeight - position - scroll ) );
                                        section.addClass( 'current-panel' );
                                        overlay.addClass( 'in-sub-panel' );
                                        container.scrollTop( 0 );
                                topPanel.attr( 'tabindex', '-1' );
                                backBtn.attr( 'tabindex', '0' );
                                backBtn.focus();
+
+                               // Fix the top margin after reflow.
+                               api.bind( 'pane-contents-reflowed', _.debounce( function() {
+                                       content.css( 'margin-top', ( parseInt( content.css( 'margin-top' ), 10 ) - ( content.offset().top - headerActionsHeight ) ) );
+                               }, 100 ) );
                        } else {
                                siblings.removeClass( 'open' );
                                section.removeClass( 'current-panel' );
                                panelTitle.focus();
                                container.scrollTop( 0 );
                        }
+               },
+
+               /**
+                * Render the panel from its JS template, if it exists.
+                *
+                * The panel's container must already exist in the DOM.
+                *
+                * @since 4.3.0
+                */
+               renderContent: function () {
+                       var template,
+                               panel = this;
+
+                       // Add the content to the container.
+                       if ( 0 !== $( '#tmpl-' + panel.templateSelector + '-content' ).length ) {
+                               template = wp.template( panel.templateSelector + '-content' );
+                       } else {
+                               template = wp.template( 'customize-panel-default-content' );
+                       }
+                       if ( template && panel.container ) {
+                               panel.container.find( '.accordion-sub-container' ).html( template( panel.params ) );
+                       }
                }
        });
 
                }
        });
 
+       /**
+        * A control for selecting and cropping an image.
+        *
+        * @class
+        * @augments wp.customize.MediaControl
+        * @augments wp.customize.Control
+        * @augments wp.customize.Class
+        */
+       api.CroppedImageControl = api.MediaControl.extend({
+
+               /**
+                * Open the media modal to the library state.
+                */
+               openFrame: function( event ) {
+                       if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                               return;
+                       }
+
+                       this.initFrame();
+                       this.frame.setState( 'library' ).open();
+               },
+
+               /**
+                * Create a media modal select frame, and store it so the instance can be reused when needed.
+                */
+               initFrame: function() {
+                       var l10n = _wpMediaViewsL10n;
+
+                       this.frame = wp.media({
+                               button: {
+                                       text: l10n.select,
+                                       close: false
+                               },
+                               states: [
+                                       new wp.media.controller.Library({
+                                               title: this.params.button_labels.frame_title,
+                                               library: wp.media.query({ type: 'image' }),
+                                               multiple: false,
+                                               date: false,
+                                               priority: 20,
+                                               suggestedWidth: this.params.width,
+                                               suggestedHeight: this.params.height
+                                       }),
+                                       new wp.media.controller.CustomizeImageCropper({
+                                               imgSelectOptions: this.calculateImageSelectOptions,
+                                               control: this
+                                       })
+                               ]
+                       });
+
+                       this.frame.on( 'select', this.onSelect, this );
+                       this.frame.on( 'cropped', this.onCropped, this );
+                       this.frame.on( 'skippedcrop', this.onSkippedCrop, this );
+               },
+
+               /**
+                * After an image is selected in the media modal, switch to the cropper
+                * state if the image isn't the right size.
+                */
+               onSelect: function() {
+                       var attachment = this.frame.state().get( 'selection' ).first().toJSON();
+
+                       if ( this.params.width === attachment.width && this.params.height === attachment.height && ! this.params.flex_width && ! this.params.flex_height ) {
+                               this.setImageFromAttachment( attachment );
+                               this.frame.close();
+                       } else {
+                               this.frame.setState( 'cropper' );
+                       }
+               },
+
+               /**
+                * After the image has been cropped, apply the cropped image data to the setting.
+                *
+                * @param {object} croppedImage Cropped attachment data.
+                */
+               onCropped: function( croppedImage ) {
+                       this.setImageFromAttachment( croppedImage );
+               },
+
+               /**
+                * Returns a set of options, computed from the attached image data and
+                * control-specific data, to be fed to the imgAreaSelect plugin in
+                * wp.media.view.Cropper.
+                *
+                * @param {wp.media.model.Attachment} attachment
+                * @param {wp.media.controller.Cropper} controller
+                * @returns {Object} Options
+                */
+               calculateImageSelectOptions: function( attachment, controller ) {
+                       var control    = controller.get( 'control' ),
+                               flexWidth  = !! parseInt( control.params.flex_width, 10 ),
+                               flexHeight = !! parseInt( control.params.flex_height, 10 ),
+                               realWidth  = attachment.get( 'width' ),
+                               realHeight = attachment.get( 'height' ),
+                               xInit = parseInt( control.params.width, 10 ),
+                               yInit = parseInt( control.params.height, 10 ),
+                               ratio = xInit / yInit,
+                               xImg  = realWidth,
+                               yImg  = realHeight,
+                               x1, y1, imgSelectOptions;
+
+                       controller.set( 'canSkipCrop', ! control.mustBeCropped( flexWidth, flexHeight, xInit, yInit, realWidth, realHeight ) );
+
+                       if ( xImg / yImg > ratio ) {
+                               yInit = yImg;
+                               xInit = yInit * ratio;
+                       } else {
+                               xInit = xImg;
+                               yInit = xInit / ratio;
+                       }
+
+                       x1 = ( xImg - xInit ) / 2;
+                       y1 = ( yImg - yInit ) / 2;
+
+                       imgSelectOptions = {
+                               handles: true,
+                               keys: true,
+                               instance: true,
+                               persistent: true,
+                               imageWidth: realWidth,
+                               imageHeight: realHeight,
+                               x1: x1,
+                               y1: y1,
+                               x2: xInit + x1,
+                               y2: yInit + y1
+                       };
+
+                       if ( flexHeight === false && flexWidth === false ) {
+                               imgSelectOptions.aspectRatio = xInit + ':' + yInit;
+                       }
+                       if ( flexHeight === false ) {
+                               imgSelectOptions.maxHeight = yInit;
+                       }
+                       if ( flexWidth === false ) {
+                               imgSelectOptions.maxWidth = xInit;
+                       }
+
+                       return imgSelectOptions;
+               },
+
+               /**
+                * Return whether the image must be cropped, based on required dimensions.
+                *
+                * @param {bool} flexW
+                * @param {bool} flexH
+                * @param {int}  dstW
+                * @param {int}  dstH
+                * @param {int}  imgW
+                * @param {int}  imgH
+                * @return {bool}
+                */
+               mustBeCropped: function( flexW, flexH, dstW, dstH, imgW, imgH ) {
+                       if ( true === flexW && true === flexH ) {
+                               return false;
+                       }
+
+                       if ( true === flexW && dstH === imgH ) {
+                               return false;
+                       }
+
+                       if ( true === flexH && dstW === imgW ) {
+                               return false;
+                       }
+
+                       if ( dstW === imgW && dstH === imgH ) {
+                               return false;
+                       }
+
+                       if ( imgW <= dstW ) {
+                               return false;
+                       }
+
+                       return true;
+               },
+
+               /**
+                * If cropping was skipped, apply the image data directly to the setting.
+                */
+               onSkippedCrop: function() {
+                       var attachment = this.frame.state().get( 'selection' ).first().toJSON();
+                       this.setImageFromAttachment( attachment );
+               },
+
+               /**
+                * Updates the setting and re-renders the control UI.
+                *
+                * @param {object} attachment
+                */
+               setImageFromAttachment: function( attachment ) {
+                       this.params.attachment = attachment;
+
+                       // Set the Customizer setting; the callback takes care of rendering.
+                       this.setting( attachment.id );
+               }
+       });
+
+       /**
+        * A control for selecting and cropping Site Icons.
+        *
+        * @class
+        * @augments wp.customize.CroppedImageControl
+        * @augments wp.customize.MediaControl
+        * @augments wp.customize.Control
+        * @augments wp.customize.Class
+        */
+       api.SiteIconControl = api.CroppedImageControl.extend({
+
+               /**
+                * Create a media modal select frame, and store it so the instance can be reused when needed.
+                */
+               initFrame: function() {
+                       var l10n = _wpMediaViewsL10n;
+
+                       this.frame = wp.media({
+                               button: {
+                                       text: l10n.select,
+                                       close: false
+                               },
+                               states: [
+                                       new wp.media.controller.Library({
+                                               title: this.params.button_labels.frame_title,
+                                               library: wp.media.query({ type: 'image' }),
+                                               multiple: false,
+                                               date: false,
+                                               priority: 20,
+                                               suggestedWidth: this.params.width,
+                                               suggestedHeight: this.params.height
+                                       }),
+                                       new wp.media.controller.SiteIconCropper({
+                                               imgSelectOptions: this.calculateImageSelectOptions,
+                                               control: this
+                                       })
+                               ]
+                       });
+
+                       this.frame.on( 'select', this.onSelect, this );
+                       this.frame.on( 'cropped', this.onCropped, this );
+                       this.frame.on( 'skippedcrop', this.onSkippedCrop, this );
+               },
+
+               /**
+                * After an image is selected in the media modal, switch to the cropper
+                * state if the image isn't the right size.
+                */
+               onSelect: function() {
+                       var attachment = this.frame.state().get( 'selection' ).first().toJSON(),
+                               controller = this;
+
+                       if ( this.params.width === attachment.width && this.params.height === attachment.height && ! this.params.flex_width && ! this.params.flex_height ) {
+                               wp.ajax.post( 'crop-image', {
+                                       nonce: attachment.nonces.edit,
+                                       id: attachment.id,
+                                       context: 'site-icon',
+                                       cropDetails: {
+                                               x1: 0,
+                                               y1: 0,
+                                               width: this.params.width,
+                                               height: this.params.height,
+                                               dst_width: this.params.width,
+                                               dst_height: this.params.height
+                                       }
+                               } ).done( function( croppedImage ) {
+                                       controller.setImageFromAttachment( croppedImage );
+                                       controller.frame.close();
+                               } ).fail( function() {
+                                       controller.trigger('content:error:crop');
+                               } );
+                       } else {
+                               this.frame.setState( 'cropper' );
+                       }
+               },
+
+               /**
+                * Updates the setting and re-renders the control UI.
+                *
+                * @param {object} attachment
+                */
+               setImageFromAttachment: function( attachment ) {
+                       var icon = typeof attachment.sizes['site_icon-32'] !== 'undefined' ? attachment.sizes['site_icon-32'] : attachment.sizes.thumbnail;
+
+                       this.params.attachment = attachment;
+
+                       // Set the Customizer setting; the callback takes care of rendering.
+                       this.setting( attachment.id );
+
+
+                       // Update the icon in-browser.
+                       $( 'link[sizes="32x32"]' ).attr( 'href', icon.url );
+               },
+
+               /**
+                * Called when the "Remove" link is clicked. Empties the setting.
+                *
+                * @param {object} event jQuery Event object
+                */
+               removeFile: function( event ) {
+                       if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                               return;
+                       }
+                       event.preventDefault();
+
+                       this.params.attachment = {};
+                       this.setting( '' );
+                       this.renderContent(); // Not bound to setting change when emptying.
+                       $( 'link[rel="icon"]' ).attr( 'href', '' );
+               }
+       });
+
        /**
         * @class
         * @augments wp.customize.Control
                                _( constructs ).each( function ( activeConstructs, type ) {
                                        api[ type ].each( function ( construct, id ) {
                                                var active = !! ( activeConstructs && activeConstructs[ id ] );
-                                               construct.active( active );
+                                               if ( active ) {
+                                                       construct.activate();
+                                               } else {
+                                                       construct.deactivate();
+                                               }
                                        } );
                                } );
                        } );
        });
 
        api.controlConstructor = {
-               color:      api.ColorControl,
-               media:      api.MediaControl,
-               upload:     api.UploadControl,
-               image:      api.ImageControl,
-               header:     api.HeaderControl,
-               background: api.BackgroundControl,
-               theme:      api.ThemeControl
+               color:         api.ColorControl,
+               media:         api.MediaControl,
+               upload:        api.UploadControl,
+               image:         api.ImageControl,
+               cropped_image: api.CroppedImageControl,
+               site_icon:     api.SiteIconControl,
+               header:        api.HeaderControl,
+               background:    api.BackgroundControl,
+               theme:         api.ThemeControl
        };
        api.panelConstructor = {};
        api.sectionConstructor = {
                        return;
                }
 
-               // Redirect to the fallback preview if any incompatibilities are found.
-               if ( ! $.support.postMessage || ( ! $.support.cors && api.settings.isCrossDomain ) )
-                       return window.location = api.settings.url.fallback;
+               // Bail if any incompatibilities are found.
+               if ( ! $.support.postMessage || ( ! $.support.cors && api.settings.isCrossDomain ) ) {
+                       return;
+               }
 
                var parent, topFocus,
                        body = $( document.body ),
                        overlay = body.children( '.wp-full-overlay' ),
-                       title = $( '#customize-info .theme-name.site-title' ),
+                       title = $( '#customize-info .panel-title.site-title' ),
                        closeBtn = $( '.customize-controls-close' ),
                        saveBtn = $( '#save' );
 
                });
 
                // Expand/Collapse the main customizer customize info.
-               $( '#customize-info' ).find( '> .accordion-section-title' ).on( 'click keydown', function( event ) {
+               $( '.customize-info' ).find( '> .accordion-section-title .customize-help-toggle' ).on( 'click keydown', function( event ) {
                        if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
                                return;
                        }
                        event.preventDefault(); // Keep this AFTER the key filter above
 
-                       var section = $( this ).parent(),
-                               content = section.find( '.accordion-section-content:first' );
+                       var section = $( this ).closest( '.accordion-section' ),
+                               content = section.find( '.customize-panel-description:first' );
 
                        if ( section.hasClass( 'cannot-expand' ) ) {
                                return;
                        if ( section.hasClass( 'open' ) ) {
                                section.toggleClass( 'open' );
                                content.slideUp( api.Panel.prototype.defaultExpandedArguments.duration );
+                               $( this ).attr( 'aria-expanded', false );
                        } else {
                                content.slideDown( api.Panel.prototype.defaultExpandedArguments.duration );
                                section.toggleClass( 'open' );
+                               $( this ).attr( 'aria-expanded', true );
                        }
                });
 
                        if ( wasReflowed && activeElement ) {
                                activeElement.focus();
                        }
+                       api.trigger( 'pane-contents-reflowed' );
                }, api );
                api.bind( 'ready', api.reflowPaneContents );
                api.reflowPaneContents = _.debounce( api.reflowPaneContents, 100 );
                        event.preventDefault();
                });
 
-               // Go back to the top-level Customizer accordion.
-               $( '#customize-header-actions' ).on( 'click keydown', '.control-panel-back', function( event ) {
-                       if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
-                               return;
-                       }
-
-                       event.preventDefault(); // Keep this AFTER the key filter above
-                       api.panel.each( function ( panel ) {
-                               panel.collapse();
-                       });
-               });
-
                closeBtn.keydown( function( event ) {
                        if ( 9 === event.which ) // tab
                                return;
                        event.preventDefault();
                });
 
-               $('.collapse-sidebar').on( 'click keydown', function( event ) {
-                       if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
-                               return;
+               $( '.collapse-sidebar' ).on( 'click', function() {
+                       if ( 'true' === $( this ).attr( 'aria-expanded' ) ) {
+                               $( this ).attr({ 'aria-expanded': 'false', 'aria-label': api.l10n.expandSidebar });
+                       } else {
+                               $( this ).attr({ 'aria-expanded': 'true', 'aria-label': api.l10n.collapseSidebar });
                        }
 
                        overlay.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
-                       event.preventDefault();
                });
 
                $( '.customize-controls-preview-toggle' ).on( 'click keydown', function( event ) {
                        });
                });
 
+               // Change previewed URL to the homepage when changing the page_on_front.
+               api( 'show_on_front', 'page_on_front', function( showOnFront, pageOnFront ) {
+                       var updatePreviewUrl = function() {
+                               if ( showOnFront() === 'page' && parseInt( pageOnFront(), 10 ) > 0 ) {
+                                       api.previewer.previewUrl.set( api.settings.url.home );
+                               }
+                       };
+                       showOnFront.bind( updatePreviewUrl );
+                       pageOnFront.bind( updatePreviewUrl );
+               });
+
+               // Change the previewed URL to the selected page when changing the page_for_posts.
+               api( 'page_for_posts', function( setting ) {
+                       setting.bind(function( pageId ) {
+                               pageId = parseInt( pageId, 10 );
+                               if ( pageId > 0 ) {
+                                       api.previewer.previewUrl.set( api.settings.url.home + '?page_id=' + pageId );
+                               }
+                       });
+               });
+
                api.trigger( 'ready' );
 
                // Make sure left column gets focus
index 2e8a4665522e89c3ccffc3b320d7903ff1cfaf8c..3886da0237f80734b72c667e50cf2b28deec8175 100644 (file)
@@ -1,2 +1,2 @@
-!function(a,b){var c,d,e=wp.customize;e.Setting=e.Value.extend({initialize:function(a,b,c){e.Value.prototype.initialize.call(this,b,c),this.id=a,this.transport=this.transport||"refresh",this._dirty=c.dirty||!1,this.bind(this.preview)},preview:function(){switch(this.transport){case"refresh":return this.previewer.refresh();case"postMessage":return this.previewer.send("setting",[this.id,this()])}}}),e.utils={},e.utils.bubbleChildValueChanges=function(a,c){b.each(c,function(b,c){a[c].bind(function(b,c){a.parent&&b!==c&&a.parent.trigger("change",a)})})},d=function(a){var b,c,d;b=this,a=a||{},d=function(){var a;a=b.extended(e.Panel)&&b.expanded()?b.container.find(".control-panel-content:first"):b.container,a.find(":focusable:first").focus(),a[0].scrollIntoView(!0)},a.completeCallback?(c=a.completeCallback,a.completeCallback=function(){d(),c()}):a.completeCallback=d,b.expand?b.expand(a):a.completeCallback()},e.utils.prioritySort=function(a,b){return a.priority()===b.priority()&&"number"==typeof a.params.instanceNumber&&"number"==typeof b.params.instanceNumber?a.params.instanceNumber-b.params.instanceNumber:a.priority()-b.priority()},e.utils.isKeydownButNotEnterEvent=function(a){return"keydown"===a.type&&13!==a.which},e.utils.areElementListsEqual=function(a,c){var d=a.length===c.length&&-1===_.indexOf(_.map(_.zip(a,c),function(a){return b(a[0]).is(a[1])}),!1);return d},c=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d=this;d.id=a,d.params={},b.extend(d,c||{}),d.container=b(d.params.content),d.deferred={embedded:new b.Deferred},d.priority=new e.Value,d.active=new e.Value,d.activeArgumentsQueue=[],d.expanded=new e.Value,d.expandedArgumentsQueue=[],d.active.bind(function(a){var c=d.activeArgumentsQueue.shift();c=b.extend({},d.defaultActiveArguments,c),a=a&&d.isContextuallyActive(),d.onChangeActive(a,c)}),d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.attachEvents(),e.utils.bubbleChildValueChanges(d,["priority","active"]),d.priority.set(isNaN(d.params.priority)?100:d.params.priority),d.active.set(d.params.active),d.expanded.set(!1)},ready:function(){},_children:function(a,b){var c=this,d=[];return e[b].each(function(b){b[a].get()===c.id&&d.push(b)}),d.sort(e.utils.prioritySort),d},isContextuallyActive:function(){throw new Error("Container.isContextuallyActive() must be overridden in a subclass.")},onChangeActive:function(a,c){var d="resolved"===e.previewer.deferred.active.state()?c.duration:0;b.contains(document,this.container)?a?this.container.stop(!0,!0).slideDown(d,c.completeCallback):this.container.stop(!0,!0).slideUp(d,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback())},_toggleActive:function(a,b){var c=this;return b=b||{},a&&this.active.get()||!a&&!this.active.get()?(b.unchanged=!0,c.onChangeActive(c.active.get(),b),!1):(b.unchanged=!1,this.activeArgumentsQueue.push(b),this.active.set(a),!0)},activate:function(a){return this._toggleActive(!0,a)},deactivate:function(a){return this._toggleActive(!1,a)},onChangeExpanded:function(){throw new Error("Must override with subclass.")},_toggleExpanded:function(a,b){var c=this;b=b||{};var d=this,e=b.completeCallback;return b.completeCallback=function(){e&&e.apply(d,arguments),d.container.trigger(a?"expanded":"collapsed")},a&&this.expanded.get()||!a&&!this.expanded.get()?(b.unchanged=!0,c.onChangeExpanded(c.expanded.get(),b),!1):(b.unchanged=!1,this.expandedArgumentsQueue.push(b),this.expanded.set(a),!0)},expand:function(a){return this._toggleExpanded(!0,a)},collapse:function(a){return this._toggleExpanded(!1,a)},focus:d}),e.Section=c.extend({initialize:function(a,d){var f=this;c.prototype.initialize.call(f,a,d),f.id=a,f.panel=new e.Value,f.panel.bind(function(a){b(f.container).toggleClass("control-subsection",!!a)}),f.panel.set(f.params.panel||""),e.utils.bubbleChildValueChanges(f,["panel"]),f.embed(),f.deferred.embedded.done(function(){f.ready()})},embed:function(){var a,c=this;a=function(a){var d;a?e.panel(a,function(a){a.deferred.embedded.done(function(){d=a.container.find("ul:first"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve()})}):(d=b("#customize-theme-controls").children("ul"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve())},c.panel.bind(a),a(c.panel.get())},attachEvents:function(){var a=this;a.container.find(".accordion-section-title").on("click keydown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.expanded()?a.collapse():a.expand())})},isContextuallyActive:function(){var a=this,b=a.controls(),c=0;return _(b).each(function(a){a.active()&&(c+=1)}),0!==c},controls:function(){return this._children("section","control")},onChangeExpanded:function(a,b){var c,d=this,f=d.container.find(".accordion-section-content");a?(c=b.unchanged?b.completeCallback:function(){f.stop().slideDown(b.duration,b.completeCallback),d.container.addClass("open")},b.allowMultiple||e.section.each(function(a){a!==d&&a.collapse({duration:b.duration})}),d.panel()?e.panel(d.panel()).expand({duration:b.duration,completeCallback:c}):c()):(d.container.removeClass("open"),f.slideUp(b.duration,b.completeCallback))}}),e.ThemesSection=e.Section.extend({currentTheme:"",overlay:"",template:"",screenshotQueue:null,$window:b(window),initialize:function(){return this.$customizeSidebar=b(".wp-full-overlay-sidebar-content:first"),e.Section.prototype.initialize.apply(this,arguments)},ready:function(){var a=this;a.overlay=a.container.find(".theme-overlay"),a.template=wp.template("customize-themes-details-view"),b("body").on("keyup",function(b){a.overlay.find(".theme-wrap").is(":visible")&&(39===b.keyCode&&a.nextTheme(),37===b.keyCode&&a.previousTheme(),27===b.keyCode&&a.closeDetails())}),_.bindAll(this,"renderScreenshots")},isContextuallyActive:function(){return this.active()},attachEvents:function(){var a=this;a.container.find(".change-theme, .customize-theme").on("click keydown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.expanded()?a.collapse():a.expand())}),a.container.on("click keydown",".left",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.previousTheme())}),a.container.on("click keydown",".right",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.nextTheme())}),a.container.on("click keydown",".theme-backdrop, .close",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.closeDetails())});var b=_.throttle(_.bind(a.renderScreenshots,this),100);a.container.on("input","#themes-filter",function(c){var d,e=c.currentTarget.value.toLowerCase().trim().replace("-"," "),f=a.controls();_.each(f,function(a){a.filter(e)}),b(),d=a.container.find("li.customize-control:visible").length,a.container.find(".theme-count").text(d)}),e.bind("ready",function(){_.each(a.controls().slice(0,3),function(a){var b,c=a.params.theme.screenshot[0];c&&(b=new Image,b.src=c)})})},onChangeExpanded:function(a,c){if(c.unchanged)return void(c.completeCallback&&c.completeCallback());var d,f,g=this,h=g.container.closest(".accordion-section"),i=h.closest(".wp-full-overlay"),j=h.closest(".wp-full-overlay-sidebar-content"),k=j.find(".open"),l=i.find("#customize-theme-controls > ul > .accordion-section > .accordion-section-title").add("#customize-info > .accordion-section-title"),m=h.find(".customize-theme"),n=h.find(".change-theme"),o=h.find(".control-panel-content");a?(e.section.each(function(a){a!==g&&a.collapse({duration:c.duration})}),e.panel.each(function(a){a.collapse({duration:0})}),o.show(0,function(){d=o.offset().top,f=j.scrollTop(),o.css("margin-top",b("#customize-header-actions").height()-d-f),h.addClass("current-panel"),i.addClass("in-themes-panel"),j.scrollTop(0),_.delay(g.renderScreenshots,10),g.$customizeSidebar.on("scroll.customize-themes-section",_.throttle(g.renderScreenshots,300)),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","-1"),n.attr("tabindex","-1"),m.focus()):(k.removeClass("open"),h.removeClass("current-panel"),i.removeClass("in-themes-panel"),g.$customizeSidebar.off("scroll.customize-themes-section"),o.delay(180).hide(0,function(){o.css("margin-top","inherit"),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","0"),m.attr("tabindex","0"),n.focus(),j.scrollTop(0))},renderScreenshots:function(){var a=this;null===a.screenshotQueue&&(a.screenshotQueue=a.controls()),a.screenshotQueue.length&&(a.screenshotQueue=_.filter(a.screenshotQueue,function(b){var c=b.container.find(".theme-screenshot"),d=c.find("img");if(!d.length)return!1;if(d.is(":hidden"))return!0;var e=a.$window.scrollTop(),f=e+a.$window.height(),g=d.offset().top,h=c.height(),i=g+h,j=3*h,k=i>=e-j&&f+j>=g;return k&&b.container.trigger("render-screenshot"),!k}))},nextTheme:function(){var a=this;a.getNextTheme()&&a.showDetails(a.getNextTheme(),function(){a.overlay.find(".right").focus()})},getNextTheme:function(){var a,b;return a=e.control("theme_"+this.currentTheme),b=a.container.next("li.customize-control-theme"),b.length?(b=b[0].id.replace("customize-control-",""),a=e.control(b),a.params.theme):!1},previousTheme:function(){var a=this;a.getPreviousTheme()&&a.showDetails(a.getPreviousTheme(),function(){a.overlay.find(".left").focus()})},getPreviousTheme:function(){var a,b;return a=e.control("theme_"+this.currentTheme),b=a.container.prev("li.customize-control-theme"),b.length?(b=b[0].id.replace("customize-control-",""),a=e.control(b),a.params.theme):!1},updateLimits:function(){this.getNextTheme()||this.overlay.find(".right").addClass("disabled"),this.getPreviousTheme()||this.overlay.find(".left").addClass("disabled")},showDetails:function(a,c){var d=this;c=c||function(){},d.currentTheme=a.id,d.overlay.html(d.template(a)).fadeIn("fast").focus(),b("body").addClass("modal-open"),d.containFocus(d.overlay),d.updateLimits(),c()},closeDetails:function(){b("body").removeClass("modal-open"),this.overlay.fadeOut("fast"),e.control("theme_"+this.currentTheme).focus()},containFocus:function(a){var c;a.on("keydown",function(d){return 9===d.keyCode?(c=b(":tabbable",a),c.last()[0]!==d.target||d.shiftKey?c.first()[0]===d.target&&d.shiftKey?(c.last().focus(),!1):void 0:(c.first().focus(),!1)):void 0})}}),e.Panel=c.extend({initialize:function(a,b){var d=this;c.prototype.initialize.call(d,a,b),d.embed(),d.deferred.embedded.done(function(){d.ready()})},embed:function(){var a=this,c=b("#customize-theme-controls > ul");a.container.parent().is(c)||c.append(a.container),a.deferred.embedded.resolve()},attachEvents:function(){var a,b=this;b.container.find(".accordion-section-title").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),b.expanded()||b.expand())}),a=b.container.find(".panel-meta:first"),a.find("> .accordion-section-title").on("click keydown",function(c){if(!e.utils.isKeydownButNotEnterEvent(c)&&(c.preventDefault(),!a.hasClass("cannot-expand"))){var d=a.find(".accordion-section-content:first");a.hasClass("open")?(a.toggleClass("open"),d.slideUp(b.defaultExpandedArguments.duration)):(d.slideDown(b.defaultExpandedArguments.duration),a.toggleClass("open"))}})},sections:function(){return this._children("panel","section")},isContextuallyActive:function(){var a=this,b=a.sections(),c=0;return _(b).each(function(a){a.active()&&a.isContextuallyActive()&&(c+=1)}),0!==c},onChangeExpanded:function(a,c){if(c.unchanged)return void(c.completeCallback&&c.completeCallback());var d,f,g=this,h=g.container.closest(".accordion-section"),i=h.closest(".wp-full-overlay"),j=h.closest(".wp-full-overlay-sidebar-content"),k=j.find(".open"),l=i.find("#customize-theme-controls > ul > .accordion-section > .accordion-section-title").add("#customize-info > .accordion-section-title"),m=i.find(".control-panel-back"),n=h.find(".accordion-section-title").first(),o=h.find(".control-panel-content");a?(e.section.each(function(a){a.panel()||a.collapse({duration:0})}),e.panel.each(function(a){g!==a&&a.collapse({duration:0})}),o.show(0,function(){o.parent().show(),d=o.offset().top,f=j.scrollTop(),o.css("margin-top",b("#customize-header-actions").height()-d-f),h.addClass("current-panel"),i.addClass("in-sub-panel"),j.scrollTop(0),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","-1"),m.attr("tabindex","0"),m.focus()):(k.removeClass("open"),h.removeClass("current-panel"),i.removeClass("in-sub-panel"),o.delay(180).hide(0,function(){o.css("margin-top","inherit"),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","0"),m.attr("tabindex","-1"),n.focus(),j.scrollTop(0))}}),e.Control=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d,f,g,h=this;h.params={},b.extend(h,c||{}),h.id=a,h.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),h.templateSelector="customize-control-"+h.params.type+"-content",h.container=b(h.params.content?h.params.content:h.selector),h.deferred={embedded:new b.Deferred},h.section=new e.Value,h.priority=new e.Value,h.active=new e.Value,h.activeArgumentsQueue=[],h.elements=[],d=h.container.find("[data-customize-setting-link]"),f={},d.each(function(){var a,c=b(this);if(c.is(":radio")){if(a=c.prop("name"),f[a])return;f[a]=!0,c=d.filter('[name="'+a+'"]')}e(c.data("customizeSettingLink"),function(a){var b=new e.Element(c);h.elements.push(b),b.sync(a),b.set(a())})}),h.active.bind(function(a){var c=h.activeArgumentsQueue.shift();c=b.extend({},h.defaultActiveArguments,c),h.onChangeActive(a,c)}),h.section.set(h.params.section),h.priority.set(isNaN(h.params.priority)?10:h.params.priority),h.active.set(h.params.active),e.utils.bubbleChildValueChanges(h,["section","priority","active"]),g=b.map(h.params.settings,function(a){return a}),e.apply(e,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=e(h.params.settings[a]);h.setting=h.settings["default"]||null,h.embed()})),h.deferred.embedded.done(function(){h.ready()})},embed:function(){var a,b=this;a=function(a){var c;a&&e.section(a,function(a){a.deferred.embedded.done(function(){c=a.container.find("ul:first"),b.container.parent().is(c)||(c.append(b.container),b.renderContent()),b.deferred.embedded.resolve()})})},b.section.bind(a),a(b.section.get())},ready:function(){},expand:function(a){e.section(this.section()).expand(a)},focus:d,onChangeActive:function(a,c){b.contains(document,this.container)?a?this.container.slideDown(c.duration,c.completeCallback):this.container.slideUp(c.duration,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback())},toggle:function(a){return this.onChangeActive(a,this.defaultActiveArguments)},activate:c.prototype.activate,deactivate:c.prototype.deactivate,_toggleActive:c.prototype._toggleActive,dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,f=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()};this.container.on("click keydown",".dropdown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),d||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),d=!0,setTimeout(function(){d=!1},400))}),this.setting.bind(f),f(this.setting())},renderContent:function(){var a,c=this;0!==b("#tmpl-"+c.templateSelector).length&&(a=wp.template(c.templateSelector),a&&c.container&&c.container.html(a(c.params)))}}),e.ColorControl=e.Control.extend({ready:function(){var a=this,b=this.container.find(".color-picker-hex");b.val(a.setting()).wpColorPicker({change:function(){a.setting.set(b.wpColorPicker("color"))},clear:function(){a.setting.set(!1)}}),this.setting.bind(function(a){b.val(a),b.wpColorPicker("color",a)})}}),e.MediaControl=e.Control.extend({ready:function(){var a=this;_.bindAll(a,"restoreDefault","removeFile","openFrame","select","pausePlayer"),a.container.on("click keydown",".upload-button",a.openFrame),a.container.on("click keydown",".upload-button",a.pausePlayer),a.container.on("click keydown",".thumbnail-image img",a.openFrame),a.container.on("click keydown",".default-button",a.restoreDefault),a.container.on("click keydown",".remove-button",a.pausePlayer),a.container.on("click keydown",".remove-button",a.removeFile),a.container.on("click keydown",".remove-button",a.cleanupPlayer),e.section(a.section()).container.on("expanded",function(){a.player&&a.player.setControlsSize()}).on("collapsed",function(){a.pausePlayer()}),a.setting.bind(function(){a.renderContent()})},pausePlayer:function(){this.player&&this.player.pause()},cleanupPlayer:function(){this.player&&wp.media.mixin.removePlayer(this.player)},openFrame:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.frame||this.initFrame(),this.frame.open())},initFrame:function(){this.frame=wp.media({button:{text:this.params.button_labels.frame_button},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:this.params.mime_type}),multiple:!1,date:!1})]}),this.frame.on("select",this.select)},select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.id),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},restoreDefault:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment=this.params.defaultAttachment,this.setting(this.params.defaultAttachment.url))},removeFile:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment={},this.setting(""),this.renderContent())}}),e.UploadControl=e.MediaControl.extend({select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.url),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},success:function(){},removerVisibility:function(){}}),e.ImageControl=e.UploadControl.extend({thumbnailSrc:function(){}}),e.BackgroundControl=e.UploadControl.extend({ready:function(){e.UploadControl.prototype.ready.apply(this,arguments)},select:function(){e.UploadControl.prototype.select.apply(this,arguments),wp.ajax.post("custom-background-add",{nonce:_wpCustomizeBackground.nonces.add,wp_customize:"on",theme:e.settings.theme.stylesheet,attachment_id:this.params.attachment.id})}}),e.HeaderControl=e.Control.extend({ready:function(){this.btnRemove=b("#customize-control-header_image .actions .remove"),this.btnNew=b("#customize-control-header_image .actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),e.HeaderTool.currentHeader=this.getInitialHeaderImage(),new e.HeaderTool.CurrentView({model:e.HeaderTool.currentHeader,el:"#customize-control-header_image .current .container"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.UploadsList=new e.HeaderTool.ChoiceList,el:"#customize-control-header_image .choices .uploaded .list"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.DefaultsList=new e.HeaderTool.DefaultsList,el:"#customize-control-header_image .choices .default .list"}),e.HeaderTool.combinedList=e.HeaderTool.CombinedList=new e.HeaderTool.CombinedList([e.HeaderTool.UploadsList,e.HeaderTool.DefaultsList])},getInitialHeaderImage:function(){if(!e.get().header_image||!e.get().header_image_data||_.contains(["remove-header","random-default-image","random-uploaded-image"],e.get().header_image))return new e.HeaderTool.ImageModel;var a=_.find(_wpCustomizeHeader.uploads,function(a){return a.attachment_id===e.get().header_image_data.attachment_id});return a||(a={url:e.get().header_image,thumbnail_url:e.get().header_image,attachment_id:e.get().header_image_data.attachment_id}),new e.HeaderTool.ImageModel({header:a,choice:a.url.split("/").pop()})},calculateImageSelectOptions:function(a,b){var c,d,f,g,h,i,j=parseInt(_wpCustomizeHeader.data.width,10),k=parseInt(_wpCustomizeHeader.data.height,10),l=!!parseInt(_wpCustomizeHeader.data["flex-width"],10),m=!!parseInt(_wpCustomizeHeader.data["flex-height"],10);return h=a.get("width"),g=a.get("height"),this.headerImage=new e.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),c=j/k,d=h,f=g,d/f>c?(k=f,j=k*c):(j=d,k=j/c),i={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:h,imageHeight:g,x1:0,y1:0,x2:j,y2:k},m===!1&&l===!1&&(i.aspectRatio=j+":"+k),m===!1&&(i.maxHeight=k),l===!1&&(i.maxWidth=j),i},openMedia:function(a){var b=_wpMediaViewsL10n;a.preventDefault(),this.frame=wp.media({button:{text:b.selectAndCrop,close:!1},states:[new wp.media.controller.Library({title:b.chooseImage,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:_wpCustomizeHeader.data.width,suggestedHeight:_wpCustomizeHeader.data.height}),new wp.media.controller.Cropper({imgSelectOptions:this.calculateImageSelectOptions})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this),this.frame.open()},onSelect:function(){this.frame.setState("cropper")},onCropped:function(a){var b=a.post_content,c=a.attachment_id,d=a.width,e=a.height;this.setImageFromURL(b,c,d,e)},onSkippedCrop:function(a){var b=a.get("url"),c=a.get("width"),d=a.get("height");this.setImageFromURL(b,a.id,c,d)},setImageFromURL:function(a,b,c,d){var f,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),c&&(g.width=c),d&&(g.height=d),f=new e.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),e.HeaderTool.UploadsList.add(f),e.HeaderTool.currentHeader.set(f.toJSON()),f.save(),f.importImage()},removeImage:function(){e.HeaderTool.currentHeader.trigger("hide"),e.HeaderTool.CombinedList.trigger("control:removeImage")}}),e.ThemeControl=e.Control.extend({touchDrag:!1,isRendered:!1,renderContent:function(){var a=this,b=arguments;e.section(a.section(),function(c){c.expanded()?(e.Control.prototype.renderContent.apply(a,b),a.isRendered=!0):c.expanded.bind(function(c){c&&!a.isRendered&&(e.Control.prototype.renderContent.apply(a,b),a.isRendered=!0)})})},ready:function(){var a=this;a.container.on("touchmove",".theme",function(){a.touchDrag=!0}),a.container.on("click keydown touchend",".theme",function(c){if(!e.utils.isKeydownButNotEnterEvent(c)){if(a.touchDrag===!0)return a.touchDrag=!1;if(!b(c.target).is(".theme-actions .button")){var d=b(this).data("previewUrl");b(".wp-full-overlay").addClass("customize-loading"),window.parent.location=d}}}),a.container.on("click keydown",".theme-actions .theme-details",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),e.section(a.section()).showDetails(a.params.theme))}),a.container.on("render-screenshot",function(){var a=b(this).find("img"),c=a.data("src");c&&a.attr("src",c)})},filter:function(a){var b=this,c=b.params.theme.name+" "+b.params.theme.description+" "+b.params.theme.tags+" "+b.params.theme.author;c=c.toLowerCase().replace("-"," "),-1!==c.search(a)?b.activate():b.deactivate()}}),e.defaultConstructor=e.Setting,e.control=new e.Values({defaultConstructor:e.Control}),e.section=new e.Values({defaultConstructor:e.Section}),e.panel=new e.Values({defaultConstructor:e.Panel}),e.PreviewFrame=e.Messenger.extend({sensitivity:2e3,initialize:function(a,c){var d=b.Deferred();d.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:e.PreviewFrame.uuid()}),e.Messenger.prototype.initialize.call(this,a,c),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(d)},run:function(a){var c=this,d=!1,f=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){f=!0,d&&a.resolveWith(c)},this.bind("ready",this._ready),this.bind("ready",function(a){if(this.container.addClass("iframe-ready"),a){var b={panel:a.activePanels,section:a.activeSections,control:a.activeControls};_(b).each(function(a,b){e[b].each(function(b,c){var d=!(!a||!a[c]);b.active(d)})})}}),this.request=b.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:!0}}),this.request.fail(function(){a.rejectWith(c,["request failure"])}),this.request.done(function(g){var h,i=c.request.getResponseHeader("Location"),j=c.signature;return i&&i!==c.previewUrl()?void a.rejectWith(c,["redirect",i]):"0"===g?void c.login(a):"-1"===g?void a.rejectWith(c,["cheatin"]):(h=g.lastIndexOf(j),-1===h||h<g.lastIndexOf("</html>")?void a.rejectWith(c,["unsigned"]):(g=g.slice(0,h)+g.slice(h+j.length),c.iframe=b("<iframe />",{title:e.l10n.previewIframeTitle}).appendTo(c.container),c.iframe.one("load",function(){d=!0,f?a.resolveWith(c):setTimeout(function(){a.rejectWith(c,["ready timeout"])},c.sensitivity)}),c.targetWindow(c.iframe[0].contentWindow),c.targetWindow().document.open(),c.targetWindow().document.write(g),void c.targetWindow().document.close()))})},login:function(a){var c,d=this;return c=function(){a.rejectWith(d,["logged out"])},this.triedLogin?c():void b.get(e.settings.url.ajax,{action:"logged-in"}).fail(c).done(function(f){var g;"1"!==f&&c(),g=b("<iframe />",{src:d.previewUrl(),title:e.l10n.previewIframeTitle}).hide(),g.appendTo(d.container),g.load(function(){d.triedLogin=!0,g.remove(),d.run(a)})})},destroy:function(){e.Messenger.prototype.destroy.call(this),this.request.abort(),this.iframe&&this.iframe.remove(),delete this.request,delete this.iframe,delete this.targetWindow}}),function(){var a=0;e.PreviewFrame.uuid=function(){return"preview-"+a++}}(),e.setDocumentTitle=function(a){var b,c;b=e.settings.documentTitleTmpl,c=b.replace("%s",a),document.title=c,e.trigger("title",c)},e.Previewer=e.Messenger.extend({refreshBuffer:250,initialize:function(a,c){var d=this,f=/^https?/;b.extend(this,c||{}),this.deferred={active:b.Deferred()},this.refresh=function(a){var b,c=a.refresh,d=function(){b=null,c.call(a)};return function(){if("number"!=typeof b){if(!a.loading)return d();a.abort()}clearTimeout(b),b=setTimeout(d,a.refreshBuffer)}}(this),this.container=e.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,e.Messenger.prototype.initialize.call(this,a),this.add("scheme",this.origin()).link(this.origin).setter(function(a){var b=a.match(f);return b?b[0]:""}),this.add("previewUrl",a.previewUrl).setter(function(a){var c;return/\/wp-admin(\/|$)/.test(a.replace(/[#?].*$/,""))?null:(b.each([a.replace(f,d.scheme()),a],function(a,e){return b.each(d.allowedUrls,function(a,b){var d;return b=b.replace(/\/+$/,""),d=e.replace(b,""),0===e.indexOf(b)&&/^([/#?]|$)/.test(d)?(c=e,!1):void 0}),c?!1:void 0}),c?c:null)}),this.previewUrl.bind(this.refresh),this.scroll=0,this.bind("scroll",function(a){this.scroll=a}),this.bind("url",this.previewUrl),this.bind("documentTitle",function(a){e.setDocumentTitle(a)})},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.send("loading-initiated"),this.abort(),this.loading=new e.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},container:this.container,signature:this.signature}),this.loading.done(function(){this.bind("synced",function(){a.preview&&a.preview.destroy(),a.preview=this,delete a.loading,a.targetWindow(this.targetWindow()),a.channel(this.channel()),a.deferred.active.resolve(),a.send("active")}),this.send("sync",{scroll:a.scroll,settings:e.get()})}),this.loading.fail(function(b,c){a.send("loading-failed"),"redirect"===b&&c&&a.previewUrl(c),"logged out"===b&&(a.preview&&(a.preview.destroy(),delete a.preview),a.login().done(a.refresh)),"cheatin"===b&&a.cheatin()})},login:function(){var a,c,d,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),c=new e.Messenger({channel:"login",url:e.settings.url.login}),d=b("<iframe />",{src:e.settings.url.login,title:e.l10n.loginIframeTitle}).appendTo(this.container),c.targetWindow(d[0].contentWindow),c.bind("login",function(){var b=f.refreshNonces();b.always(function(){d.remove(),c.destroy(),delete f._login}),b.done(function(){a.resolve()}),b.fail(function(){f.cheatin(),a.reject()})}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+e.l10n.cheatin+"</p>")},refreshNonces:function(){var a,c=b.Deferred();return c.promise(),a=wp.ajax.post("customize_refresh_nonces",{wp_customize:"on",theme:e.settings.theme.stylesheet}),a.done(function(a){e.trigger("nonce-refresh",a),c.resolve()}),a.fail(function(){c.reject()}),c}}),e.controlConstructor={color:e.ColorControl,media:e.MediaControl,upload:e.UploadControl,image:e.ImageControl,header:e.HeaderControl,background:e.BackgroundControl,theme:e.ThemeControl},e.panelConstructor={},e.sectionConstructor={themes:e.ThemesSection},b(function(){if(e.settings=window._wpCustomizeSettings,e.l10n=window._wpCustomizeControlsL10n,e.settings){if(!b.support.postMessage||!b.support.cors&&e.settings.isCrossDomain)return window.location=e.settings.url.fallback;var a,c,d=b(document.body),f=d.children(".wp-full-overlay"),g=b("#customize-info .theme-name.site-title"),h=b(".customize-controls-close"),i=b("#save");b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),b("#customize-info").find("> .accordion-section-title").on("click keydown",function(a){if(!e.utils.isKeydownButNotEnterEvent(a)){a.preventDefault();var c=b(this).parent(),d=c.find(".accordion-section-content:first");c.hasClass("cannot-expand")||(c.hasClass("open")?(c.toggleClass("open"),d.slideUp(e.Panel.prototype.defaultExpandedArguments.duration)):(d.slideDown(e.Panel.prototype.defaultExpandedArguments.duration),c.toggleClass("open")))}}),e.previewer=new e.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:e.settings.url.preview,allowedUrls:e.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:e.settings.nonce,query:function(){var a={};return e.each(function(b,c){b._dirty&&(a[c]=b())}),{wp_customize:"on",theme:e.settings.theme.stylesheet,customized:JSON.stringify(a),nonce:this.nonce.preview}},save:function(){var a,c,f=this,g=e.state("processing");d.addClass("saving"),c=function(){var a,c;c=b.extend(f.query(),{nonce:f.nonce.save}),a=wp.ajax.post("customize_save",c),e.trigger("save",a),a.always(function(){d.removeClass("saving")}),a.fail(function(a){"0"===a?a="not_logged_in":"-1"===a&&(a="invalid_nonce"),"invalid_nonce"===a?f.cheatin():"not_logged_in"===a&&(f.preview.iframe.hide(),f.login().done(function(){f.save(),f.preview.iframe.show()})),e.trigger("error",a)}),a.done(function(a){e.each(function(a){a._dirty=!1}),e.trigger("saved",a)})},0===g()?c():(a=function(){0===g()&&(e.state.unbind("change",a),c())},e.state.bind("change",a))}}),e.previewer.bind("nonce",function(a){b.extend(this.nonce,a)}),e.bind("nonce-refresh",function(a){b.extend(e.settings.nonce,a),b.extend(e.previewer.nonce,a)}),b.each(e.settings.settings,function(a,b){e.create(a,a,b.value,{transport:b.transport,previewer:e.previewer,dirty:!!b.dirty})}),b.each(e.settings.panels,function(a,b){var c,d=e.panelConstructor[b.type]||e.Panel;c=new d(a,{params:b}),e.panel.add(a,c)}),b.each(e.settings.sections,function(a,b){var c,d=e.sectionConstructor[b.type]||e.Section;c=new d(a,{params:b}),e.section.add(a,c)}),b.each(e.settings.controls,function(a,b){var c,d=e.controlConstructor[b.type]||e.Control;c=new d(a,{params:b,previewer:e.previewer}),e.control.add(a,c)}),_.each(["panel","section","control"],function(a){var b,c=e.settings.autofocus[a];c&&e[a](c)&&(b=e[a](c),b.deferred.embedded.done(function(){e.previewer.deferred.active.done(function(){
-b.focus()})}))}),e.reflowPaneContents=_.bind(function(){var a,c,d,f=[],g=!1;document.activeElement&&(c=b(document.activeElement)),e.panel.each(function(b){var c=b.sections(),d=_.pluck(c,"container");f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),e.section.each(function(b){var c=b.controls(),d=_.pluck(c,"container");b.panel()||f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),f.sort(e.utils.prioritySort),d=_.pluck(f,"container"),a=b("#customize-theme-controls").children("ul"),e.utils.areElementListsEqual(d,a.children())||(_(f).each(function(b){a.append(b.container)}),g=!0),e.panel.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),e.section.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),g&&c&&c.focus()},e),e.bind("ready",e.reflowPaneContents),e.reflowPaneContents=_.debounce(e.reflowPaneContents,100),b([e.panel,e.section,e.control]).each(function(a,b){b.bind("add",e.reflowPaneContents),b.bind("change",e.reflowPaneContents),b.bind("remove",e.reflowPaneContents)}),e.previewer.previewUrl()?e.previewer.refresh():e.previewer.previewUrl(e.settings.url.home),function(){var a=new e.Values,b=a.create("saved"),c=a.create("activated"),d=a.create("processing");a.bind("change",function(){c()?b()?(i.val(e.l10n.saved).prop("disabled",!0),h.find(".screen-reader-text").text(e.l10n.close)):(i.val(e.l10n.save).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel)):(i.val(e.l10n.activate).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel))}),b(!0),c(e.settings.theme.active),d(0),e.bind("change",function(){a("saved").set(!1)}),e.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),c.bind(function(a){a&&e.trigger("activated")}),e.state=a}(),i.click(function(a){e.previewer.save(),a.preventDefault()}).keydown(function(a){9!==a.which&&(13===a.which&&e.previewer.save(),a.preventDefault())}),b("#customize-header-actions").on("click keydown",".control-panel-back",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),e.panel.each(function(a){a.collapse()}))}),h.keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".collapse-sidebar").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(f.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault())}),b(".customize-controls-preview-toggle").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(f.toggleClass("preview-only"),a.preventDefault())}),g.length&&b("#customize-control-blogname input").on("input",function(){g.text(this.value)}),a=new e.Messenger({url:e.settings.url.parent,channel:"loader"}),a.bind("back",function(){h.on("click.customize-controls-close",function(b){b.preventDefault(),a.send("close")})}),b(window).on("beforeunload",function(){return e.state("saved")()?void 0:(setTimeout(function(){f.removeClass("customize-loading")},1),e.l10n.saveAlert)}),b.each(["saved","change"],function(b,c){e.bind(c,function(){a.send(c)})}),e.bind("activated",function(){a.targetWindow()?a.send("activated",e.settings.url.activated):e.settings.url.activated&&(window.location=e.settings.url.activated)}),e.bind("title",function(b){a.send("title",b)}),a.send("ready"),b.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,c){e(a,function(a){b.each(c.controls,function(b,d){e.control(d,function(b){var d=function(a){b.container.toggle(c.callback(a))};d(a.get()),a.bind(d)})})})}),e.control("display_header_text",function(a){var b="";a.elements[0].unsync(e("header_textcolor")),a.element=new e.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(c){c||(b=e("header_textcolor").get()),a.setting.set(c?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),e.trigger("ready"),c=h,c.focus(),setTimeout(function(){c.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
+!function(a,b){var c,d,e=wp.customize;e.Setting=e.Value.extend({initialize:function(a,b,c){e.Value.prototype.initialize.call(this,b,c),this.id=a,this.transport=this.transport||"refresh",this._dirty=c.dirty||!1,this.bind(this.preview)},preview:function(){switch(this.transport){case"refresh":return this.previewer.refresh();case"postMessage":return this.previewer.send("setting",[this.id,this()])}}}),e.utils={},e.utils.bubbleChildValueChanges=function(a,c){b.each(c,function(b,c){a[c].bind(function(b,c){a.parent&&b!==c&&a.parent.trigger("change",a)})})},d=function(a){var b,c,d;b=this,a=a||{},d=function(){var a;a=b.expanded&&b.expanded()?b.container.find("ul:first"):b.container,a.find("input, select, textarea, button, object, a[href], [tabindex]").filter(":visible").first().focus()},a.completeCallback?(c=a.completeCallback,a.completeCallback=function(){d(),c()}):a.completeCallback=d,b.expand?b.expand(a):a.completeCallback()},e.utils.prioritySort=function(a,b){return a.priority()===b.priority()&&"number"==typeof a.params.instanceNumber&&"number"==typeof b.params.instanceNumber?a.params.instanceNumber-b.params.instanceNumber:a.priority()-b.priority()},e.utils.isKeydownButNotEnterEvent=function(a){return"keydown"===a.type&&13!==a.which},e.utils.areElementListsEqual=function(a,c){var d=a.length===c.length&&-1===_.indexOf(_.map(_.zip(a,c),function(a){return b(a[0]).is(a[1])}),!1);return d},c=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},containerType:"container",defaults:{title:"",description:"",priority:100,type:"default",content:null,active:!0,instanceNumber:null},initialize:function(a,c){var d=this;d.id=a,c=c||{},c.params=_.defaults(c.params||{},d.defaults),b.extend(d,c),d.templateSelector="customize-"+d.containerType+"-"+d.params.type,d.container=b(d.params.content),0===d.container.length&&(d.container=b(d.getContainer())),d.deferred={embedded:new b.Deferred},d.priority=new e.Value,d.active=new e.Value,d.activeArgumentsQueue=[],d.expanded=new e.Value,d.expandedArgumentsQueue=[],d.active.bind(function(a){var c=d.activeArgumentsQueue.shift();c=b.extend({},d.defaultActiveArguments,c),a=a&&d.isContextuallyActive(),d.onChangeActive(a,c)}),d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.deferred.embedded.done(function(){d.attachEvents()}),e.utils.bubbleChildValueChanges(d,["priority","active"]),d.priority.set(d.params.priority),d.active.set(d.params.active),d.expanded.set(!1)},ready:function(){},_children:function(a,b){var c=this,d=[];return e[b].each(function(b){b[a].get()===c.id&&d.push(b)}),d.sort(e.utils.prioritySort),d},isContextuallyActive:function(){throw new Error("Container.isContextuallyActive() must be overridden in a subclass.")},onChangeActive:function(a,c){var d,f=this;d="resolved"===e.previewer.deferred.active.state()?c.duration:0,b.contains(document,f.container[0])?a?f.container.stop(!0,!0).slideDown(d,c.completeCallback):f.expanded()?f.collapse({duration:d,completeCallback:function(){f.container.stop(!0,!0).slideUp(d,c.completeCallback)}}):f.container.stop(!0,!0).slideUp(d,c.completeCallback):(f.container.toggle(a),c.completeCallback&&c.completeCallback())},_toggleActive:function(a,b){var c=this;return b=b||{},a&&this.active.get()||!a&&!this.active.get()?(b.unchanged=!0,c.onChangeActive(c.active.get(),b),!1):(b.unchanged=!1,this.activeArgumentsQueue.push(b),this.active.set(a),!0)},activate:function(a){return this._toggleActive(!0,a)},deactivate:function(a){return this._toggleActive(!1,a)},onChangeExpanded:function(){throw new Error("Must override with subclass.")},_toggleExpanded:function(a,b){var c=this;b=b||{};var d=this,e=b.completeCallback;return b.completeCallback=function(){e&&e.apply(d,arguments),a?d.container.trigger("expanded"):d.container.trigger("collapsed")},a&&this.expanded.get()||!a&&!this.expanded.get()?(b.unchanged=!0,c.onChangeExpanded(c.expanded.get(),b),!1):(b.unchanged=!1,this.expandedArgumentsQueue.push(b),this.expanded.set(a),!0)},expand:function(a){return this._toggleExpanded(!0,a)},collapse:function(a){return this._toggleExpanded(!1,a)},focus:d,getContainer:function(){var a,c=this;return a=0!==b("#tmpl-"+c.templateSelector).length?wp.template(c.templateSelector):wp.template("customize-"+c.containerType+"-default"),a&&c.container?b.trim(a(c.params)):"<li></li>"}}),e.Section=c.extend({containerType:"section",defaults:{title:"",description:"",priority:100,type:"default",content:null,active:!0,instanceNumber:null,panel:null,customizeAction:""},initialize:function(a,d){var f=this;c.prototype.initialize.call(f,a,d),f.id=a,f.panel=new e.Value,f.panel.bind(function(a){b(f.container).toggleClass("control-subsection",!!a)}),f.panel.set(f.params.panel||""),e.utils.bubbleChildValueChanges(f,["panel"]),f.embed(),f.deferred.embedded.done(function(){f.ready()})},embed:function(){var a,c=this;a=function(a){var d;a?e.panel(a,function(a){a.deferred.embedded.done(function(){d=a.container.find("ul:first"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve()})}):(d=b("#customize-theme-controls").children("ul"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve())},c.panel.bind(a),a(c.panel.get())},attachEvents:function(){var a=this;a.container.find(".accordion-section-title, .customize-section-back").on("click keydown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.expanded()?a.collapse():a.expand())})},isContextuallyActive:function(){var a=this,b=a.controls(),c=0;return _(b).each(function(a){a.active()&&(c+=1)}),0!==c},controls:function(){return this._children("section","control")},onChangeExpanded:function(a,c){var d,f,g,h,i=this,j=i.container.closest(".wp-full-overlay-sidebar-content"),k=i.container.find(".accordion-section-content"),l=i.container.closest(".wp-full-overlay"),m=i.container.find(".customize-section-back"),n=i.container.find(".accordion-section-title").first(),o=b("#customize-header-actions").height();a&&!i.container.hasClass("open")?(c.unchanged?f=c.completeCallback:(j.scrollTop(0),d=function(){var a,b;a=window.matchMedia||window.msMatchMedia,b=90,a&&a("(max-width: 640px)").matches&&(b=45),k.css("height",window.innerHeight-b)},f=function(){i.container.addClass("open"),l.addClass("section-open"),g=k.offset().top,h=j.scrollTop(),k.css("margin-top",o-g-h),d(),n.attr("tabindex","-1"),m.attr("tabindex","0"),m.focus(),c.completeCallback&&c.completeCallback(),b(window).on("resize.customizer-section",_.debounce(d,100)),e.bind("pane-contents-reflowed",_.debounce(function(){var a=k.offset().top-o;a>0&&k.css("margin-top",parseInt(k.css("margin-top"),10)-a)},100))}),c.allowMultiple||e.section.each(function(a){a!==i&&a.collapse({duration:c.duration})}),i.panel()?e.panel(i.panel()).expand({duration:c.duration,completeCallback:f}):f()):!a&&i.container.hasClass("open")?(i.container.removeClass("open"),l.removeClass("section-open"),k.css("margin-top",""),j.scrollTop(0),m.attr("tabindex","-1"),n.attr("tabindex","0"),n.focus(),c.completeCallback&&c.completeCallback(),b(window).off("resize.customizer-section")):c.completeCallback&&c.completeCallback()}}),e.ThemesSection=e.Section.extend({currentTheme:"",overlay:"",template:"",screenshotQueue:null,$window:b(window),initialize:function(){return this.$customizeSidebar=b(".wp-full-overlay-sidebar-content:first"),e.Section.prototype.initialize.apply(this,arguments)},ready:function(){var a=this;a.overlay=a.container.find(".theme-overlay"),a.template=wp.template("customize-themes-details-view"),b("body").on("keyup",function(b){a.overlay.find(".theme-wrap").is(":visible")&&(39===b.keyCode&&a.nextTheme(),37===b.keyCode&&a.previousTheme(),27===b.keyCode&&a.closeDetails())}),_.bindAll(this,"renderScreenshots")},isContextuallyActive:function(){return this.active()},attachEvents:function(){var a=this;a.container.find(".change-theme, .customize-theme").on("click keydown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.expanded()?a.collapse():a.expand())}),a.container.on("click keydown",".left",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.previousTheme())}),a.container.on("click keydown",".right",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.nextTheme())}),a.container.on("click keydown",".theme-backdrop, .close",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.closeDetails())});var b=_.throttle(_.bind(a.renderScreenshots,this),100);a.container.on("input","#themes-filter",function(c){var d,e=c.currentTarget.value.toLowerCase().trim().replace("-"," "),f=a.controls();_.each(f,function(a){a.filter(e)}),b(),d=a.container.find("li.customize-control:visible").length,a.container.find(".theme-count").text(d)}),e.bind("ready",function(){_.each(a.controls().slice(0,3),function(a){var b,c=a.params.theme.screenshot[0];c&&(b=new Image,b.src=c)})})},onChangeExpanded:function(a,c){if(c.unchanged)return void(c.completeCallback&&c.completeCallback());var d,f,g=this,h=g.container.closest(".accordion-section"),i=h.closest(".wp-full-overlay"),j=h.closest(".wp-full-overlay-sidebar-content"),k=j.find(".open"),l=h.find(".customize-theme"),m=h.find(".change-theme"),n=h.find(".control-panel-content");a?(e.section.each(function(a){a!==g&&a.collapse({duration:c.duration})}),e.panel.each(function(a){a.collapse({duration:0})}),n.show(0,function(){d=n.offset().top,f=j.scrollTop(),n.css("margin-top",b("#customize-header-actions").height()-d-f),h.addClass("current-panel"),i.addClass("in-themes-panel"),j.scrollTop(0),_.delay(g.renderScreenshots,10),g.$customizeSidebar.on("scroll.customize-themes-section",_.throttle(g.renderScreenshots,300)),c.completeCallback&&c.completeCallback()}),l.focus()):(k.removeClass("open"),h.removeClass("current-panel"),i.removeClass("in-themes-panel"),g.$customizeSidebar.off("scroll.customize-themes-section"),n.delay(180).hide(0,function(){n.css("margin-top","inherit"),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","0"),m.focus(),j.scrollTop(0))},renderScreenshots:function(){var a=this;null===a.screenshotQueue&&(a.screenshotQueue=a.controls()),a.screenshotQueue.length&&(a.screenshotQueue=_.filter(a.screenshotQueue,function(b){var c=b.container.find(".theme-screenshot"),d=c.find("img");if(!d.length)return!1;if(d.is(":hidden"))return!0;var e=a.$window.scrollTop(),f=e+a.$window.height(),g=d.offset().top,h=c.height(),i=g+h,j=3*h,k=i>=e-j&&f+j>=g;return k&&b.container.trigger("render-screenshot"),!k}))},nextTheme:function(){var a=this;a.getNextTheme()&&a.showDetails(a.getNextTheme(),function(){a.overlay.find(".right").focus()})},getNextTheme:function(){var a,b;return a=e.control("theme_"+this.currentTheme),b=a.container.next("li.customize-control-theme"),b.length?(b=b[0].id.replace("customize-control-",""),a=e.control(b),a.params.theme):!1},previousTheme:function(){var a=this;a.getPreviousTheme()&&a.showDetails(a.getPreviousTheme(),function(){a.overlay.find(".left").focus()})},getPreviousTheme:function(){var a,b;return a=e.control("theme_"+this.currentTheme),b=a.container.prev("li.customize-control-theme"),b.length?(b=b[0].id.replace("customize-control-",""),a=e.control(b),a.params.theme):!1},updateLimits:function(){this.getNextTheme()||this.overlay.find(".right").addClass("disabled"),this.getPreviousTheme()||this.overlay.find(".left").addClass("disabled")},showDetails:function(a,c){var d=this;c=c||function(){},d.currentTheme=a.id,d.overlay.html(d.template(a)).fadeIn("fast").focus(),b("body").addClass("modal-open"),d.containFocus(d.overlay),d.updateLimits(),c()},closeDetails:function(){b("body").removeClass("modal-open"),this.overlay.fadeOut("fast"),e.control("theme_"+this.currentTheme).focus()},containFocus:function(a){var c;a.on("keydown",function(d){return 9===d.keyCode?(c=b(":tabbable",a),c.last()[0]!==d.target||d.shiftKey?c.first()[0]===d.target&&d.shiftKey?(c.last().focus(),!1):void 0:(c.first().focus(),!1)):void 0})}}),e.Panel=c.extend({containerType:"panel",initialize:function(a,b){var d=this;c.prototype.initialize.call(d,a,b),d.embed(),d.deferred.embedded.done(function(){d.ready()})},embed:function(){var a=this,c=b("#customize-theme-controls > ul");a.container.parent().is(c)||(c.append(a.container),a.renderContent()),a.deferred.embedded.resolve()},attachEvents:function(){var a,c=this;c.container.find(".accordion-section-title").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),c.expanded()||c.expand())}),c.container.find(".customize-panel-back").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),c.expanded()&&c.collapse())}),a=c.container.find(".panel-meta:first"),a.find("> .accordion-section-title .customize-help-toggle").on("click keydown",function(d){if(!e.utils.isKeydownButNotEnterEvent(d)&&(d.preventDefault(),a=c.container.find(".panel-meta"),!a.hasClass("cannot-expand"))){var f=a.find(".customize-panel-description:first");a.hasClass("open")?(a.toggleClass("open"),f.slideUp(c.defaultExpandedArguments.duration),b(this).attr("aria-expanded",!1)):(f.slideDown(c.defaultExpandedArguments.duration),a.toggleClass("open"),b(this).attr("aria-expanded",!0))}})},sections:function(){return this._children("panel","section")},isContextuallyActive:function(){var a=this,b=a.sections(),c=0;return _(b).each(function(a){a.active()&&a.isContextuallyActive()&&(c+=1)}),0!==c},onChangeExpanded:function(a,c){if(c.unchanged)return void(c.completeCallback&&c.completeCallback());var d,f,g=this,h=g.container.closest(".accordion-section"),i=h.closest(".wp-full-overlay"),j=h.closest(".wp-full-overlay-sidebar-content"),k=j.find(".open"),l=i.find("#customize-theme-controls > ul > .accordion-section > .accordion-section-title"),m=h.find(".customize-panel-back"),n=h.find(".accordion-section-title").first(),o=h.find(".control-panel-content"),p=b("#customize-header-actions").height();a?(e.section.each(function(a){a.panel()||a.collapse({duration:0})}),e.panel.each(function(a){g!==a&&a.collapse({duration:0})}),o.show(0,function(){o.parent().show(),d=o.offset().top,f=j.scrollTop(),o.css("margin-top",p-d-f),h.addClass("current-panel"),i.addClass("in-sub-panel"),j.scrollTop(0),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","-1"),m.attr("tabindex","0"),m.focus(),e.bind("pane-contents-reflowed",_.debounce(function(){o.css("margin-top",parseInt(o.css("margin-top"),10)-(o.offset().top-p))},100))):(k.removeClass("open"),h.removeClass("current-panel"),i.removeClass("in-sub-panel"),o.delay(180).hide(0,function(){o.css("margin-top","inherit"),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","0"),m.attr("tabindex","-1"),n.focus(),j.scrollTop(0))},renderContent:function(){var a,c=this;a=0!==b("#tmpl-"+c.templateSelector+"-content").length?wp.template(c.templateSelector+"-content"):wp.template("customize-panel-default-content"),a&&c.container&&c.container.find(".accordion-sub-container").html(a(c.params))}}),e.Control=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d,f,g,h=this;h.params={},b.extend(h,c||{}),h.id=a,h.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),h.templateSelector="customize-control-"+h.params.type+"-content",h.container=b(h.params.content?h.params.content:h.selector),h.deferred={embedded:new b.Deferred},h.section=new e.Value,h.priority=new e.Value,h.active=new e.Value,h.activeArgumentsQueue=[],h.elements=[],d=h.container.find("[data-customize-setting-link]"),f={},d.each(function(){var a,c=b(this);if(c.is(":radio")){if(a=c.prop("name"),f[a])return;f[a]=!0,c=d.filter('[name="'+a+'"]')}e(c.data("customizeSettingLink"),function(a){var b=new e.Element(c);h.elements.push(b),b.sync(a),b.set(a())})}),h.active.bind(function(a){var c=h.activeArgumentsQueue.shift();c=b.extend({},h.defaultActiveArguments,c),h.onChangeActive(a,c)}),h.section.set(h.params.section),h.priority.set(isNaN(h.params.priority)?10:h.params.priority),h.active.set(h.params.active),e.utils.bubbleChildValueChanges(h,["section","priority","active"]),g=b.map(h.params.settings,function(a){return a}),e.apply(e,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=e(h.params.settings[a]);h.setting=h.settings["default"]||null,h.embed()})),h.deferred.embedded.done(function(){h.ready()})},embed:function(){var a,b=this;a=function(a){var c;a&&e.section(a,function(a){a.deferred.embedded.done(function(){c=a.container.find("ul:first"),b.container.parent().is(c)||(c.append(b.container),b.renderContent()),b.deferred.embedded.resolve()})})},b.section.bind(a),a(b.section.get())},ready:function(){},expand:function(a){e.section(this.section()).expand(a)},focus:d,onChangeActive:function(a,c){b.contains(document,this.container)?a?this.container.slideDown(c.duration,c.completeCallback):this.container.slideUp(c.duration,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback())},toggle:function(a){return this.onChangeActive(a,this.defaultActiveArguments)},activate:c.prototype.activate,deactivate:c.prototype.deactivate,_toggleActive:c.prototype._toggleActive,dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,f=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()};this.container.on("click keydown",".dropdown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),d||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),d=!0,setTimeout(function(){d=!1},400))}),this.setting.bind(f),f(this.setting())},renderContent:function(){var a,c=this;0!==b("#tmpl-"+c.templateSelector).length&&(a=wp.template(c.templateSelector),a&&c.container&&c.container.html(a(c.params)))}}),e.ColorControl=e.Control.extend({ready:function(){var a=this,b=this.container.find(".color-picker-hex");b.val(a.setting()).wpColorPicker({change:function(){a.setting.set(b.wpColorPicker("color"))},clear:function(){a.setting.set(!1)}}),this.setting.bind(function(a){b.val(a),b.wpColorPicker("color",a)})}}),e.MediaControl=e.Control.extend({ready:function(){var a=this;_.bindAll(a,"restoreDefault","removeFile","openFrame","select","pausePlayer"),a.container.on("click keydown",".upload-button",a.openFrame),a.container.on("click keydown",".upload-button",a.pausePlayer),a.container.on("click keydown",".thumbnail-image img",a.openFrame),a.container.on("click keydown",".default-button",a.restoreDefault),a.container.on("click keydown",".remove-button",a.pausePlayer),a.container.on("click keydown",".remove-button",a.removeFile),a.container.on("click keydown",".remove-button",a.cleanupPlayer),e.section(a.section()).container.on("expanded",function(){a.player&&a.player.setControlsSize()}).on("collapsed",function(){a.pausePlayer()}),a.setting.bind(function(){a.renderContent()})},pausePlayer:function(){this.player&&this.player.pause()},cleanupPlayer:function(){this.player&&wp.media.mixin.removePlayer(this.player)},openFrame:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.frame||this.initFrame(),this.frame.open())},initFrame:function(){this.frame=wp.media({button:{text:this.params.button_labels.frame_button},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:this.params.mime_type}),multiple:!1,date:!1})]}),this.frame.on("select",this.select)},select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.id),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},restoreDefault:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment=this.params.defaultAttachment,this.setting(this.params.defaultAttachment.url))},removeFile:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment={},this.setting(""),this.renderContent())}}),e.UploadControl=e.MediaControl.extend({select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.url),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},success:function(){},removerVisibility:function(){}}),e.ImageControl=e.UploadControl.extend({thumbnailSrc:function(){}}),e.BackgroundControl=e.UploadControl.extend({ready:function(){e.UploadControl.prototype.ready.apply(this,arguments)},select:function(){e.UploadControl.prototype.select.apply(this,arguments),wp.ajax.post("custom-background-add",{nonce:_wpCustomizeBackground.nonces.add,wp_customize:"on",theme:e.settings.theme.stylesheet,attachment_id:this.params.attachment.id})}}),e.CroppedImageControl=e.MediaControl.extend({openFrame:function(a){e.utils.isKeydownButNotEnterEvent(a)||(this.initFrame(),this.frame.setState("library").open())},initFrame:function(){var a=_wpMediaViewsL10n;this.frame=wp.media({button:{text:a.select,close:!1},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:this.params.width,suggestedHeight:this.params.height}),new wp.media.controller.CustomizeImageCropper({imgSelectOptions:this.calculateImageSelectOptions,control:this})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this)},onSelect:function(){var a=this.frame.state().get("selection").first().toJSON();this.params.width!==a.width||this.params.height!==a.height||this.params.flex_width||this.params.flex_height?this.frame.setState("cropper"):(this.setImageFromAttachment(a),this.frame.close())},onCropped:function(a){this.setImageFromAttachment(a)},calculateImageSelectOptions:function(a,b){var c,d,e,f=b.get("control"),g=!!parseInt(f.params.flex_width,10),h=!!parseInt(f.params.flex_height,10),i=a.get("width"),j=a.get("height"),k=parseInt(f.params.width,10),l=parseInt(f.params.height,10),m=k/l,n=i,o=j;return b.set("canSkipCrop",!f.mustBeCropped(g,h,k,l,i,j)),n/o>m?(l=o,k=l*m):(k=n,l=k/m),c=(n-k)/2,d=(o-l)/2,e={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:i,imageHeight:j,x1:c,y1:d,x2:k+c,y2:l+d},h===!1&&g===!1&&(e.aspectRatio=k+":"+l),h===!1&&(e.maxHeight=l),g===!1&&(e.maxWidth=k),e},mustBeCropped:function(a,b,c,d,e,f){return!0===a&&!0===b?!1:!0===a&&d===f?!1:!0===b&&c===e?!1:c===e&&d===f?!1:c>=e?!1:!0},onSkippedCrop:function(){var a=this.frame.state().get("selection").first().toJSON();this.setImageFromAttachment(a)},setImageFromAttachment:function(a){this.params.attachment=a,this.setting(a.id)}}),e.SiteIconControl=e.CroppedImageControl.extend({initFrame:function(){var a=_wpMediaViewsL10n;this.frame=wp.media({button:{text:a.select,close:!1},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:this.params.width,suggestedHeight:this.params.height}),new wp.media.controller.SiteIconCropper({imgSelectOptions:this.calculateImageSelectOptions,control:this})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this)},onSelect:function(){var a=this.frame.state().get("selection").first().toJSON(),b=this;this.params.width!==a.width||this.params.height!==a.height||this.params.flex_width||this.params.flex_height?this.frame.setState("cropper"):wp.ajax.post("crop-image",{nonce:a.nonces.edit,id:a.id,context:"site-icon",cropDetails:{x1:0,y1:0,width:this.params.width,height:this.params.height,dst_width:this.params.width,dst_height:this.params.height}}).done(function(a){b.setImageFromAttachment(a),b.frame.close()}).fail(function(){b.trigger("content:error:crop")})},setImageFromAttachment:function(a){var c="undefined"!=typeof a.sizes["site_icon-32"]?a.sizes["site_icon-32"]:a.sizes.thumbnail;this.params.attachment=a,this.setting(a.id),b('link[sizes="32x32"]').attr("href",c.url)},removeFile:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment={},this.setting(""),this.renderContent(),b('link[rel="icon"]').attr("href",""))}}),e.HeaderControl=e.Control.extend({ready:function(){this.btnRemove=b("#customize-control-header_image .actions .remove"),this.btnNew=b("#customize-control-header_image .actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),e.HeaderTool.currentHeader=this.getInitialHeaderImage(),new e.HeaderTool.CurrentView({model:e.HeaderTool.currentHeader,el:"#customize-control-header_image .current .container"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.UploadsList=new e.HeaderTool.ChoiceList,el:"#customize-control-header_image .choices .uploaded .list"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.DefaultsList=new e.HeaderTool.DefaultsList,el:"#customize-control-header_image .choices .default .list"}),e.HeaderTool.combinedList=e.HeaderTool.CombinedList=new e.HeaderTool.CombinedList([e.HeaderTool.UploadsList,e.HeaderTool.DefaultsList])},getInitialHeaderImage:function(){if(!e.get().header_image||!e.get().header_image_data||_.contains(["remove-header","random-default-image","random-uploaded-image"],e.get().header_image))return new e.HeaderTool.ImageModel;var a=_.find(_wpCustomizeHeader.uploads,function(a){return a.attachment_id===e.get().header_image_data.attachment_id});return a||(a={url:e.get().header_image,thumbnail_url:e.get().header_image,attachment_id:e.get().header_image_data.attachment_id}),new e.HeaderTool.ImageModel({header:a,choice:a.url.split("/").pop()})},calculateImageSelectOptions:function(a,b){var c,d,f,g,h,i,j=parseInt(_wpCustomizeHeader.data.width,10),k=parseInt(_wpCustomizeHeader.data.height,10),l=!!parseInt(_wpCustomizeHeader.data["flex-width"],10),m=!!parseInt(_wpCustomizeHeader.data["flex-height"],10);return h=a.get("width"),g=a.get("height"),this.headerImage=new e.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),c=j/k,d=h,f=g,d/f>c?(k=f,j=k*c):(j=d,k=j/c),i={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:h,imageHeight:g,x1:0,y1:0,x2:j,y2:k},m===!1&&l===!1&&(i.aspectRatio=j+":"+k),m===!1&&(i.maxHeight=k),l===!1&&(i.maxWidth=j),i},openMedia:function(a){var b=_wpMediaViewsL10n;a.preventDefault(),this.frame=wp.media({button:{text:b.selectAndCrop,close:!1},states:[new wp.media.controller.Library({title:b.chooseImage,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:_wpCustomizeHeader.data.width,suggestedHeight:_wpCustomizeHeader.data.height}),new wp.media.controller.Cropper({imgSelectOptions:this.calculateImageSelectOptions})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this),this.frame.open()},onSelect:function(){this.frame.setState("cropper")},onCropped:function(a){var b=a.post_content,c=a.attachment_id,d=a.width,e=a.height;this.setImageFromURL(b,c,d,e)},onSkippedCrop:function(a){var b=a.get("url"),c=a.get("width"),d=a.get("height");this.setImageFromURL(b,a.id,c,d)},setImageFromURL:function(a,b,c,d){var f,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),c&&(g.width=c),d&&(g.height=d),f=new e.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),e.HeaderTool.UploadsList.add(f),e.HeaderTool.currentHeader.set(f.toJSON()),f.save(),f.importImage()},removeImage:function(){e.HeaderTool.currentHeader.trigger("hide"),e.HeaderTool.CombinedList.trigger("control:removeImage")}}),e.ThemeControl=e.Control.extend({touchDrag:!1,isRendered:!1,renderContent:function(){var a=this,b=arguments;e.section(a.section(),function(c){c.expanded()?(e.Control.prototype.renderContent.apply(a,b),a.isRendered=!0):c.expanded.bind(function(c){c&&!a.isRendered&&(e.Control.prototype.renderContent.apply(a,b),a.isRendered=!0)})})},ready:function(){var a=this;a.container.on("touchmove",".theme",function(){a.touchDrag=!0}),a.container.on("click keydown touchend",".theme",function(c){if(!e.utils.isKeydownButNotEnterEvent(c)){if(a.touchDrag===!0)return a.touchDrag=!1;if(!b(c.target).is(".theme-actions .button")){var d=b(this).data("previewUrl");b(".wp-full-overlay").addClass("customize-loading"),window.parent.location=d}}}),a.container.on("click keydown",".theme-actions .theme-details",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),e.section(a.section()).showDetails(a.params.theme))}),a.container.on("render-screenshot",function(){var a=b(this).find("img"),c=a.data("src");c&&a.attr("src",c)})},filter:function(a){var b=this,c=b.params.theme.name+" "+b.params.theme.description+" "+b.params.theme.tags+" "+b.params.theme.author;c=c.toLowerCase().replace("-"," "),-1!==c.search(a)?b.activate():b.deactivate()}}),e.defaultConstructor=e.Setting,e.control=new e.Values({defaultConstructor:e.Control}),e.section=new e.Values({defaultConstructor:e.Section}),e.panel=new e.Values({defaultConstructor:e.Panel}),e.PreviewFrame=e.Messenger.extend({sensitivity:2e3,initialize:function(a,c){var d=b.Deferred();d.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:e.PreviewFrame.uuid()}),e.Messenger.prototype.initialize.call(this,a,c),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(d)},run:function(a){var c=this,d=!1,f=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){f=!0,d&&a.resolveWith(c)},this.bind("ready",this._ready),this.bind("ready",function(a){if(this.container.addClass("iframe-ready"),a){var b={panel:a.activePanels,section:a.activeSections,control:a.activeControls};_(b).each(function(a,b){e[b].each(function(b,c){var d=!(!a||!a[c]);d?b.activate():b.deactivate()})})}}),this.request=b.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:!0}}),this.request.fail(function(){a.rejectWith(c,["request failure"])}),this.request.done(function(g){var h,i=c.request.getResponseHeader("Location"),j=c.signature;return i&&i!==c.previewUrl()?void a.rejectWith(c,["redirect",i]):"0"===g?void c.login(a):"-1"===g?void a.rejectWith(c,["cheatin"]):(h=g.lastIndexOf(j),-1===h||h<g.lastIndexOf("</html>")?void a.rejectWith(c,["unsigned"]):(g=g.slice(0,h)+g.slice(h+j.length),c.iframe=b("<iframe />",{title:e.l10n.previewIframeTitle}).appendTo(c.container),c.iframe.one("load",function(){d=!0,f?a.resolveWith(c):setTimeout(function(){a.rejectWith(c,["ready timeout"])},c.sensitivity)}),c.targetWindow(c.iframe[0].contentWindow),c.targetWindow().document.open(),c.targetWindow().document.write(g),void c.targetWindow().document.close()))})},login:function(a){var c,d=this;return c=function(){a.rejectWith(d,["logged out"])},this.triedLogin?c():void b.get(e.settings.url.ajax,{action:"logged-in"}).fail(c).done(function(f){var g;"1"!==f&&c(),g=b("<iframe />",{src:d.previewUrl(),title:e.l10n.previewIframeTitle}).hide(),g.appendTo(d.container),g.load(function(){d.triedLogin=!0,g.remove(),d.run(a)})})},destroy:function(){e.Messenger.prototype.destroy.call(this),this.request.abort(),this.iframe&&this.iframe.remove(),delete this.request,delete this.iframe,delete this.targetWindow}}),function(){var a=0;e.PreviewFrame.uuid=function(){return"preview-"+a++}}(),e.setDocumentTitle=function(a){var b,c;b=e.settings.documentTitleTmpl,c=b.replace("%s",a),document.title=c,e.trigger("title",c)},e.Previewer=e.Messenger.extend({refreshBuffer:250,initialize:function(a,c){var d=this,f=/^https?/;
+b.extend(this,c||{}),this.deferred={active:b.Deferred()},this.refresh=function(a){var b,c=a.refresh,d=function(){b=null,c.call(a)};return function(){if("number"!=typeof b){if(!a.loading)return d();a.abort()}clearTimeout(b),b=setTimeout(d,a.refreshBuffer)}}(this),this.container=e.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,e.Messenger.prototype.initialize.call(this,a),this.add("scheme",this.origin()).link(this.origin).setter(function(a){var b=a.match(f);return b?b[0]:""}),this.add("previewUrl",a.previewUrl).setter(function(a){var c;return/\/wp-admin(\/|$)/.test(a.replace(/[#?].*$/,""))?null:(b.each([a.replace(f,d.scheme()),a],function(a,e){return b.each(d.allowedUrls,function(a,b){var d;return b=b.replace(/\/+$/,""),d=e.replace(b,""),0===e.indexOf(b)&&/^([/#?]|$)/.test(d)?(c=e,!1):void 0}),c?!1:void 0}),c?c:null)}),this.previewUrl.bind(this.refresh),this.scroll=0,this.bind("scroll",function(a){this.scroll=a}),this.bind("url",this.previewUrl),this.bind("documentTitle",function(a){e.setDocumentTitle(a)})},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.send("loading-initiated"),this.abort(),this.loading=new e.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},container:this.container,signature:this.signature}),this.loading.done(function(){this.bind("synced",function(){a.preview&&a.preview.destroy(),a.preview=this,delete a.loading,a.targetWindow(this.targetWindow()),a.channel(this.channel()),a.deferred.active.resolve(),a.send("active")}),this.send("sync",{scroll:a.scroll,settings:e.get()})}),this.loading.fail(function(b,c){a.send("loading-failed"),"redirect"===b&&c&&a.previewUrl(c),"logged out"===b&&(a.preview&&(a.preview.destroy(),delete a.preview),a.login().done(a.refresh)),"cheatin"===b&&a.cheatin()})},login:function(){var a,c,d,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),c=new e.Messenger({channel:"login",url:e.settings.url.login}),d=b("<iframe />",{src:e.settings.url.login,title:e.l10n.loginIframeTitle}).appendTo(this.container),c.targetWindow(d[0].contentWindow),c.bind("login",function(){var b=f.refreshNonces();b.always(function(){d.remove(),c.destroy(),delete f._login}),b.done(function(){a.resolve()}),b.fail(function(){f.cheatin(),a.reject()})}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+e.l10n.cheatin+"</p>")},refreshNonces:function(){var a,c=b.Deferred();return c.promise(),a=wp.ajax.post("customize_refresh_nonces",{wp_customize:"on",theme:e.settings.theme.stylesheet}),a.done(function(a){e.trigger("nonce-refresh",a),c.resolve()}),a.fail(function(){c.reject()}),c}}),e.controlConstructor={color:e.ColorControl,media:e.MediaControl,upload:e.UploadControl,image:e.ImageControl,cropped_image:e.CroppedImageControl,site_icon:e.SiteIconControl,header:e.HeaderControl,background:e.BackgroundControl,theme:e.ThemeControl},e.panelConstructor={},e.sectionConstructor={themes:e.ThemesSection},b(function(){if(e.settings=window._wpCustomizeSettings,e.l10n=window._wpCustomizeControlsL10n,e.settings&&b.support.postMessage&&(b.support.cors||!e.settings.isCrossDomain)){var a,c,d=b(document.body),f=d.children(".wp-full-overlay"),g=b("#customize-info .panel-title.site-title"),h=b(".customize-controls-close"),i=b("#save");b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),b(".customize-info").find("> .accordion-section-title .customize-help-toggle").on("click keydown",function(a){if(!e.utils.isKeydownButNotEnterEvent(a)){a.preventDefault();var c=b(this).closest(".accordion-section"),d=c.find(".customize-panel-description:first");c.hasClass("cannot-expand")||(c.hasClass("open")?(c.toggleClass("open"),d.slideUp(e.Panel.prototype.defaultExpandedArguments.duration),b(this).attr("aria-expanded",!1)):(d.slideDown(e.Panel.prototype.defaultExpandedArguments.duration),c.toggleClass("open"),b(this).attr("aria-expanded",!0)))}}),e.previewer=new e.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:e.settings.url.preview,allowedUrls:e.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:e.settings.nonce,query:function(){var a={};return e.each(function(b,c){b._dirty&&(a[c]=b())}),{wp_customize:"on",theme:e.settings.theme.stylesheet,customized:JSON.stringify(a),nonce:this.nonce.preview}},save:function(){var a,c,f=this,g=e.state("processing");d.addClass("saving"),c=function(){var a,c;c=b.extend(f.query(),{nonce:f.nonce.save}),a=wp.ajax.post("customize_save",c),e.trigger("save",a),a.always(function(){d.removeClass("saving")}),a.fail(function(a){"0"===a?a="not_logged_in":"-1"===a&&(a="invalid_nonce"),"invalid_nonce"===a?f.cheatin():"not_logged_in"===a&&(f.preview.iframe.hide(),f.login().done(function(){f.save(),f.preview.iframe.show()})),e.trigger("error",a)}),a.done(function(a){e.each(function(a){a._dirty=!1}),e.trigger("saved",a)})},0===g()?c():(a=function(){0===g()&&(e.state.unbind("change",a),c())},e.state.bind("change",a))}}),e.previewer.bind("nonce",function(a){b.extend(this.nonce,a)}),e.bind("nonce-refresh",function(a){b.extend(e.settings.nonce,a),b.extend(e.previewer.nonce,a)}),b.each(e.settings.settings,function(a,b){e.create(a,a,b.value,{transport:b.transport,previewer:e.previewer,dirty:!!b.dirty})}),b.each(e.settings.panels,function(a,b){var c,d=e.panelConstructor[b.type]||e.Panel;c=new d(a,{params:b}),e.panel.add(a,c)}),b.each(e.settings.sections,function(a,b){var c,d=e.sectionConstructor[b.type]||e.Section;c=new d(a,{params:b}),e.section.add(a,c)}),b.each(e.settings.controls,function(a,b){var c,d=e.controlConstructor[b.type]||e.Control;c=new d(a,{params:b,previewer:e.previewer}),e.control.add(a,c)}),_.each(["panel","section","control"],function(a){var b,c=e.settings.autofocus[a];c&&e[a](c)&&(b=e[a](c),b.deferred.embedded.done(function(){e.previewer.deferred.active.done(function(){b.focus()})}))}),e.reflowPaneContents=_.bind(function(){var a,c,d,f=[],g=!1;document.activeElement&&(c=b(document.activeElement)),e.panel.each(function(b){var c=b.sections(),d=_.pluck(c,"container");f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),e.section.each(function(b){var c=b.controls(),d=_.pluck(c,"container");b.panel()||f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),f.sort(e.utils.prioritySort),d=_.pluck(f,"container"),a=b("#customize-theme-controls").children("ul"),e.utils.areElementListsEqual(d,a.children())||(_(f).each(function(b){a.append(b.container)}),g=!0),e.panel.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),e.section.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),g&&c&&c.focus(),e.trigger("pane-contents-reflowed")},e),e.bind("ready",e.reflowPaneContents),e.reflowPaneContents=_.debounce(e.reflowPaneContents,100),b([e.panel,e.section,e.control]).each(function(a,b){b.bind("add",e.reflowPaneContents),b.bind("change",e.reflowPaneContents),b.bind("remove",e.reflowPaneContents)}),e.previewer.previewUrl()?e.previewer.refresh():e.previewer.previewUrl(e.settings.url.home),function(){var a=new e.Values,b=a.create("saved"),c=a.create("activated"),d=a.create("processing");a.bind("change",function(){c()?b()?(i.val(e.l10n.saved).prop("disabled",!0),h.find(".screen-reader-text").text(e.l10n.close)):(i.val(e.l10n.save).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel)):(i.val(e.l10n.activate).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel))}),b(!0),c(e.settings.theme.active),d(0),e.bind("change",function(){a("saved").set(!1)}),e.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),c.bind(function(a){a&&e.trigger("activated")}),e.state=a}(),i.click(function(a){e.previewer.save(),a.preventDefault()}).keydown(function(a){9!==a.which&&(13===a.which&&e.previewer.save(),a.preventDefault())}),h.keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".collapse-sidebar").on("click",function(){"true"===b(this).attr("aria-expanded")?b(this).attr({"aria-expanded":"false","aria-label":e.l10n.expandSidebar}):b(this).attr({"aria-expanded":"true","aria-label":e.l10n.collapseSidebar}),f.toggleClass("collapsed").toggleClass("expanded")}),b(".customize-controls-preview-toggle").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(f.toggleClass("preview-only"),a.preventDefault())}),g.length&&b("#customize-control-blogname input").on("input",function(){g.text(this.value)}),a=new e.Messenger({url:e.settings.url.parent,channel:"loader"}),a.bind("back",function(){h.on("click.customize-controls-close",function(b){b.preventDefault(),a.send("close")})}),b(window).on("beforeunload",function(){return e.state("saved")()?void 0:(setTimeout(function(){f.removeClass("customize-loading")},1),e.l10n.saveAlert)}),b.each(["saved","change"],function(b,c){e.bind(c,function(){a.send(c)})}),e.bind("activated",function(){a.targetWindow()?a.send("activated",e.settings.url.activated):e.settings.url.activated&&(window.location=e.settings.url.activated)}),e.bind("title",function(b){a.send("title",b)}),a.send("ready"),b.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,c){e(a,function(a){b.each(c.controls,function(b,d){e.control(d,function(b){var d=function(a){b.container.toggle(c.callback(a))};d(a.get()),a.bind(d)})})})}),e.control("display_header_text",function(a){var b="";a.elements[0].unsync(e("header_textcolor")),a.element=new e.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(c){c||(b=e("header_textcolor").get()),a.setting.set(c?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),e("show_on_front","page_on_front",function(a,b){var c=function(){"page"===a()&&parseInt(b(),10)>0&&e.previewer.previewUrl.set(e.settings.url.home)};a.bind(c),b.bind(c)}),e("page_for_posts",function(a){a.bind(function(a){a=parseInt(a,10),a>0&&e.previewer.previewUrl.set(e.settings.url.home+"?page_id="+a)})}),e.trigger("ready"),c=h,c.focus(),setTimeout(function(){c.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/customize-nav-menus.js b/wp-admin/js/customize-nav-menus.js
new file mode 100644 (file)
index 0000000..e315019
--- /dev/null
@@ -0,0 +1,2710 @@
+/* global _wpCustomizeNavMenusSettings, wpNavMenu, console */
+( function( api, wp, $ ) {
+       'use strict';
+
+       /**
+        * Set up wpNavMenu for drag and drop.
+        */
+       wpNavMenu.originalInit = wpNavMenu.init;
+       wpNavMenu.options.menuItemDepthPerLevel = 20;
+       wpNavMenu.options.sortableItems         = '> .customize-control-nav_menu_item';
+       wpNavMenu.options.targetTolerance       = 10;
+       wpNavMenu.init = function() {
+               this.jQueryExtensions();
+       };
+
+       api.Menus = api.Menus || {};
+
+       // Link settings.
+       api.Menus.data = {
+               nonce: '',
+               itemTypes: [],
+               l10n: {},
+               menuItemTransport: 'postMessage',
+               phpIntMax: 0,
+               defaultSettingValues: {
+                       nav_menu: {},
+                       nav_menu_item: {}
+               }
+       };
+       if ( 'undefined' !== typeof _wpCustomizeNavMenusSettings ) {
+               $.extend( api.Menus.data, _wpCustomizeNavMenusSettings );
+       }
+
+       /**
+        * Newly-created Nav Menus and Nav Menu Items have negative integer IDs which
+        * serve as placeholders until Save & Publish happens.
+        *
+        * @return {number}
+        */
+       api.Menus.generatePlaceholderAutoIncrementId = function() {
+               return -Math.ceil( api.Menus.data.phpIntMax * Math.random() );
+       };
+
+       /**
+        * wp.customize.Menus.AvailableItemModel
+        *
+        * A single available menu item model. See PHP's WP_Customize_Nav_Menu_Item_Setting class.
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
+       api.Menus.AvailableItemModel = Backbone.Model.extend( $.extend(
+               {
+                       id: null // This is only used by Backbone.
+               },
+               api.Menus.data.defaultSettingValues.nav_menu_item
+       ) );
+
+       /**
+        * wp.customize.Menus.AvailableItemCollection
+        *
+        * Collection for available menu item models.
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
+       api.Menus.AvailableItemCollection = Backbone.Collection.extend({
+               model: api.Menus.AvailableItemModel,
+
+               sort_key: 'order',
+
+               comparator: function( item ) {
+                       return -item.get( this.sort_key );
+               },
+
+               sortByField: function( fieldName ) {
+                       this.sort_key = fieldName;
+                       this.sort();
+               }
+       });
+       api.Menus.availableMenuItems = new api.Menus.AvailableItemCollection( api.Menus.data.availableMenuItems );
+
+       /**
+        * wp.customize.Menus.AvailableMenuItemsPanelView
+        *
+        * View class for the available menu items panel.
+        *
+        * @constructor
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       api.Menus.AvailableMenuItemsPanelView = wp.Backbone.View.extend({
+
+               el: '#available-menu-items',
+
+               events: {
+                       'input #menu-items-search': 'debounceSearch',
+                       'keyup #menu-items-search': 'debounceSearch',
+                       'focus .menu-item-tpl': 'focus',
+                       'click .menu-item-tpl': '_submit',
+                       'click #custom-menu-item-submit': '_submitLink',
+                       'keypress #custom-menu-item-name': '_submitLink',
+                       'keydown': 'keyboardAccessible'
+               },
+
+               // Cache current selected menu item.
+               selected: null,
+
+               // Cache menu control that opened the panel.
+               currentMenuControl: null,
+               debounceSearch: null,
+               $search: null,
+               searchTerm: '',
+               rendered: false,
+               pages: {},
+               sectionContent: '',
+               loading: false,
+
+               initialize: function() {
+                       var self = this;
+
+                       this.$search = $( '#menu-items-search' );
+                       this.sectionContent = this.$el.find( '.accordion-section-content' );
+
+                       this.debounceSearch = _.debounce( self.search, 500 );
+
+                       _.bindAll( this, 'close' );
+
+                       // If the available menu items panel is open and the customize controls are
+                       // interacted with (other than an item being deleted), then close the
+                       // available menu items panel. Also close on back button click.
+                       $( '#customize-controls, .customize-section-back' ).on( 'click keydown', function( e ) {
+                               var isDeleteBtn = $( e.target ).is( '.item-delete, .item-delete *' ),
+                                       isAddNewBtn = $( e.target ).is( '.add-new-menu-item, .add-new-menu-item *' );
+                               if ( $( 'body' ).hasClass( 'adding-menu-items' ) && ! isDeleteBtn && ! isAddNewBtn ) {
+                                       self.close();
+                               }
+                       } );
+
+                       // Clear the search results.
+                       $( '.clear-results' ).on( 'click keydown', function( event ) {
+                               if ( event.type === 'keydown' && ( 13 !== event.which && 32 !== event.which ) ) { // "return" or "space" keys only
+                                       return;
+                               }
+
+                               event.preventDefault();
+
+                               $( '#menu-items-search' ).val( '' ).focus();
+                               event.target.value = '';
+                               self.search( event );
+                       } );
+
+                       this.$el.on( 'input', '#custom-menu-item-name.invalid, #custom-menu-item-url.invalid', function() {
+                               $( this ).removeClass( 'invalid' );
+                       });
+
+                       // Load available items if it looks like we'll need them.
+                       api.panel( 'nav_menus' ).container.bind( 'expanded', function() {
+                               if ( ! self.rendered ) {
+                                       self.initList();
+                                       self.rendered = true;
+                               }
+                       });
+
+                       // Load more items.
+                       this.sectionContent.scroll( function() {
+                               var totalHeight = self.$el.find( '.accordion-section.open .accordion-section-content' ).prop( 'scrollHeight' ),
+                                       visibleHeight = self.$el.find( '.accordion-section.open' ).height();
+
+                               if ( ! self.loading && $( this ).scrollTop() > 3 / 4 * totalHeight - visibleHeight ) {
+                                       var type = $( this ).data( 'type' ),
+                                               object = $( this ).data( 'object' );
+
+                                       if ( 'search' === type ) {
+                                               if ( self.searchTerm ) {
+                                                       self.doSearch( self.pages.search );
+                                               }
+                                       } else {
+                                               self.loadItems( type, object );
+                                       }
+                               }
+                       });
+
+                       // Close the panel if the URL in the preview changes
+                       api.previewer.bind( 'url', this.close );
+               },
+
+               // Search input change handler.
+               search: function( event ) {
+                       var $searchSection = $( '#available-menu-items-search' ),
+                               $otherSections = $( '#available-menu-items .accordion-section' ).not( $searchSection );
+
+                       if ( ! event ) {
+                               return;
+                       }
+
+                       if ( this.searchTerm === event.target.value ) {
+                               return;
+                       }
+
+                       if ( '' !== event.target.value && ! $searchSection.hasClass( 'open' ) ) {
+                               $otherSections.fadeOut( 100 );
+                               $searchSection.find( '.accordion-section-content' ).slideDown( 'fast' );
+                               $searchSection.addClass( 'open' );
+                               $searchSection.find( '.clear-results' )
+                                       .prop( 'tabIndex', 0 )
+                                       .addClass( 'is-visible' );
+                       } else if ( '' === event.target.value ) {
+                               $searchSection.removeClass( 'open' );
+                               $otherSections.show();
+                               $searchSection.find( '.clear-results' )
+                                       .prop( 'tabIndex', -1 )
+                                       .removeClass( 'is-visible' );
+                       }
+                       
+                       this.searchTerm = event.target.value;
+                       this.pages.search = 1;
+                       this.doSearch( 1 );
+               },
+
+               // Get search results.
+               doSearch: function( page ) {
+                       var self = this, params,
+                               $section = $( '#available-menu-items-search' ),
+                               $content = $section.find( '.accordion-section-content' ),
+                               itemTemplate = wp.template( 'available-menu-item' );
+
+                       if ( self.currentRequest ) {
+                               self.currentRequest.abort();
+                       }
+
+                       if ( page < 0 ) {
+                               return;
+                       } else if ( page > 1 ) {
+                               $section.addClass( 'loading-more' );
+                               $content.attr( 'aria-busy', 'true' );
+                               wp.a11y.speak( api.Menus.data.l10n.itemsLoadingMore );
+                       } else if ( '' === self.searchTerm ) {
+                               $content.html( '' );
+                               wp.a11y.speak( '' );
+                               return;
+                       }
+
+                       $section.addClass( 'loading' );
+                       self.loading = true;
+                       params = {
+                               'customize-menus-nonce': api.Menus.data.nonce,
+                               'wp_customize': 'on',
+                               'search': self.searchTerm,
+                               'page': page
+                       };
+
+                       self.currentRequest = wp.ajax.post( 'search-available-menu-items-customizer', params );
+
+                       self.currentRequest.done(function( data ) {
+                               var items;
+                               if ( 1 === page ) {
+                                       // Clear previous results as it's a new search.
+                                       $content.empty();
+                               }
+                               $section.removeClass( 'loading loading-more' );
+                               $content.attr( 'aria-busy', 'false' );
+                               $section.addClass( 'open' );
+                               self.loading = false;
+                               items = new api.Menus.AvailableItemCollection( data.items );
+                               self.collection.add( items.models );
+                               items.each( function( menuItem ) {
+                                       $content.append( itemTemplate( menuItem.attributes ) );
+                               } );
+                               if ( 20 > items.length ) {
+                                       self.pages.search = -1; // Up to 20 posts and 20 terms in results, if <20, no more results for either.
+                               } else {
+                                       self.pages.search = self.pages.search + 1;
+                               }
+                               if ( items && page > 1 ) {
+                                       wp.a11y.speak( api.Menus.data.l10n.itemsFoundMore.replace( '%d', items.length ) );
+                               } else if ( items && page === 1 ) {
+                                       wp.a11y.speak( api.Menus.data.l10n.itemsFound.replace( '%d', items.length ) );
+                               }
+                       });
+
+                       self.currentRequest.fail(function( data ) {
+                               // data.message may be undefined, for example when typing slow and the request is aborted.
+                               if ( data.message ) {
+                                       $content.empty().append( $( '<p class="nothing-found"></p>' ).text( data.message ) );
+                                       wp.a11y.speak( data.message );
+                               }
+                               self.pages.search = -1;
+                       });
+
+                       self.currentRequest.always(function() {
+                               $section.removeClass( 'loading loading-more' );
+                               $content.attr( 'aria-busy', 'false' );
+                               self.loading = false;
+                               self.currentRequest = null;
+                       });
+               },
+
+               // Render the individual items.
+               initList: function() {
+                       var self = this;
+
+                       // Render the template for each item by type.
+                       _.each( api.Menus.data.itemTypes, function( itemType ) {
+                               self.pages[ itemType.type + ':' + itemType.object ] = 0;
+                               self.loadItems( itemType.type, itemType.object ); // @todo we need to combine these Ajax requests.
+                       } );
+               },
+
+               // Load available menu items.
+               loadItems: function( type, object ) {
+                       var self = this, params, request, itemTemplate, availableMenuItemContainer;
+                       itemTemplate = wp.template( 'available-menu-item' );
+
+                       if ( -1 === self.pages[ type + ':' + object ] ) {
+                               return;
+                       }
+                       availableMenuItemContainer = $( '#available-menu-items-' + type + '-' + object );
+                       availableMenuItemContainer.find( '.accordion-section-title' ).addClass( 'loading' );
+                       self.loading = true;
+                       params = {
+                               'customize-menus-nonce': api.Menus.data.nonce,
+                               'wp_customize': 'on',
+                               'type': type,
+                               'object': object,
+                               'page': self.pages[ type + ':' + object ]
+                       };
+                       request = wp.ajax.post( 'load-available-menu-items-customizer', params );
+
+                       request.done(function( data ) {
+                               var items, typeInner;
+                               items = data.items;
+                               if ( 0 === items.length ) {
+                                       if ( 0 === self.pages[ type + ':' + object ] ) {
+                                               availableMenuItemContainer
+                                                       .addClass( 'cannot-expand' )
+                                                       .removeClass( 'loading' )
+                                                       .find( '.accordion-section-title > button' )
+                                                       .prop( 'tabIndex', -1 );
+                                       }
+                                       self.pages[ type + ':' + object ] = -1;
+                                       return;
+                               }
+                               items = new api.Menus.AvailableItemCollection( items ); // @todo Why is this collection created and then thrown away?
+                               self.collection.add( items.models );
+                               typeInner = availableMenuItemContainer.find( '.accordion-section-content' );
+                               items.each(function( menuItem ) {
+                                       typeInner.append( itemTemplate( menuItem.attributes ) );
+                               });
+                               self.pages[ type + ':' + object ] += 1;
+                       });
+                       request.fail(function( data ) {
+                               if ( typeof console !== 'undefined' && console.error ) {
+                                       console.error( data );
+                               }
+                       });
+                       request.always(function() {
+                               availableMenuItemContainer.find( '.accordion-section-title' ).removeClass( 'loading' );
+                               self.loading = false;
+                       });
+               },
+
+               // Adjust the height of each section of items to fit the screen.
+               itemSectionHeight: function() {
+                       var sections, totalHeight, accordionHeight, diff;
+                       totalHeight = window.innerHeight;
+                       sections = this.$el.find( '.accordion-section:not( #available-menu-items-search ) .accordion-section-content' );
+                       accordionHeight =  46 * ( 2 + sections.length ) - 13; // Magic numbers.
+                       diff = totalHeight - accordionHeight;
+                       if ( 120 < diff && 290 > diff ) {
+                               sections.css( 'max-height', diff );
+                       }
+               },
+
+               // Highlights a menu item.
+               select: function( menuitemTpl ) {
+                       this.selected = $( menuitemTpl );
+                       this.selected.siblings( '.menu-item-tpl' ).removeClass( 'selected' );
+                       this.selected.addClass( 'selected' );
+               },
+
+               // Highlights a menu item on focus.
+               focus: function( event ) {
+                       this.select( $( event.currentTarget ) );
+               },
+
+               // Submit handler for keypress and click on menu item.
+               _submit: function( event ) {
+                       // Only proceed with keypress if it is Enter or Spacebar
+                       if ( 'keypress' === event.type && ( 13 !== event.which && 32 !== event.which ) ) {
+                               return;
+                       }
+
+                       this.submit( $( event.currentTarget ) );
+               },
+
+               // Adds a selected menu item to the menu.
+               submit: function( menuitemTpl ) {
+                       var menuitemId, menu_item;
+
+                       if ( ! menuitemTpl ) {
+                               menuitemTpl = this.selected;
+                       }
+
+                       if ( ! menuitemTpl || ! this.currentMenuControl ) {
+                               return;
+                       }
+
+                       this.select( menuitemTpl );
+
+                       menuitemId = $( this.selected ).data( 'menu-item-id' );
+                       menu_item = this.collection.findWhere( { id: menuitemId } );
+                       if ( ! menu_item ) {
+                               return;
+                       }
+
+                       this.currentMenuControl.addItemToMenu( menu_item.attributes );
+
+                       $( menuitemTpl ).find( '.menu-item-handle' ).addClass( 'item-added' );
+               },
+
+               // Submit handler for keypress and click on custom menu item.
+               _submitLink: function( event ) {
+                       // Only proceed with keypress if it is Enter.
+                       if ( 'keypress' === event.type && 13 !== event.which ) {
+                               return;
+                       }
+
+                       this.submitLink();
+               },
+
+               // Adds the custom menu item to the menu.
+               submitLink: function() {
+                       var menuItem,
+                               itemName = $( '#custom-menu-item-name' ),
+                               itemUrl = $( '#custom-menu-item-url' );
+
+                       if ( ! this.currentMenuControl ) {
+                               return;
+                       }
+
+                       if ( '' === itemName.val() ) {
+                               itemName.addClass( 'invalid' );
+                               return;
+                       } else if ( '' === itemUrl.val() || 'http://' === itemUrl.val() ) {
+                               itemUrl.addClass( 'invalid' );
+                               return;
+                       }
+
+                       menuItem = {
+                               'title': itemName.val(),
+                               'url': itemUrl.val(),
+                               'type': 'custom',
+                               'type_label': api.Menus.data.l10n.custom_label,
+                               'object': ''
+                       };
+
+                       this.currentMenuControl.addItemToMenu( menuItem );
+
+                       // Reset the custom link form.
+                       itemUrl.val( 'http://' );
+                       itemName.val( '' );
+               },
+
+               // Opens the panel.
+               open: function( menuControl ) {
+                       this.currentMenuControl = menuControl;
+
+                       this.itemSectionHeight();
+
+                       $( 'body' ).addClass( 'adding-menu-items' );
+
+                       // Collapse all controls.
+                       _( this.currentMenuControl.getMenuItemControls() ).each( function( control ) {
+                               control.collapseForm();
+                       } );
+
+                       this.$el.find( '.selected' ).removeClass( 'selected' );
+
+                       this.$search.focus();
+               },
+
+               // Closes the panel
+               close: function( options ) {
+                       options = options || {};
+
+                       if ( options.returnFocus && this.currentMenuControl ) {
+                               this.currentMenuControl.container.find( '.add-new-menu-item' ).focus();
+                       }
+
+                       this.currentMenuControl = null;
+                       this.selected = null;
+
+                       $( 'body' ).removeClass( 'adding-menu-items' );
+                       $( '#available-menu-items .menu-item-handle.item-added' ).removeClass( 'item-added' );
+
+                       this.$search.val( '' );
+               },
+
+               // Add a few keyboard enhancements to the panel.
+               keyboardAccessible: function( event ) {
+                       var isEnter = ( 13 === event.which ),
+                               isEsc = ( 27 === event.which ),
+                               isBackTab = ( 9 === event.which && event.shiftKey ),
+                               isSearchFocused = $( event.target ).is( this.$search );
+
+                       // If enter pressed but nothing entered, don't do anything
+                       if ( isEnter && ! this.$search.val() ) {
+                               return;
+                       }
+
+                       if ( isSearchFocused && isBackTab ) {
+                               this.currentMenuControl.container.find( '.add-new-menu-item' ).focus();
+                               event.preventDefault(); // Avoid additional back-tab.
+                       } else if ( isEsc ) {
+                               this.close( { returnFocus: true } );
+                       }
+               }
+       });
+
+       /**
+        * wp.customize.Menus.MenusPanel
+        *
+        * Customizer panel for menus. This is used only for screen options management.
+        * Note that 'menus' must match the WP_Customize_Menu_Panel::$type.
+        *
+        * @constructor
+        * @augments wp.customize.Panel
+        */
+       api.Menus.MenusPanel = api.Panel.extend({
+
+               attachEvents: function() {
+                       api.Panel.prototype.attachEvents.call( this );
+
+                       var panel = this,
+                               panelMeta = panel.container.find( '.panel-meta' ),
+                               help = panelMeta.find( '.customize-help-toggle' ),
+                               content = panelMeta.find( '.customize-panel-description' ),
+                               options = $( '#screen-options-wrap' ),
+                               button = panelMeta.find( '.customize-screen-options-toggle' );
+                       button.on( 'click keydown', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+                               event.preventDefault();
+
+                               // Hide description
+                               if ( content.not( ':hidden' ) ) {
+                                       content.slideUp( 'fast' );
+                                       help.attr( 'aria-expanded', 'false' );
+                               }
+
+                               if ( 'true' === button.attr( 'aria-expanded' ) ) {
+                                       button.attr( 'aria-expanded', 'false' );
+                                       panelMeta.removeClass( 'open' );
+                                       panelMeta.removeClass( 'active-menu-screen-options' );
+                                       options.slideUp( 'fast' );
+                               } else {
+                                       button.attr( 'aria-expanded', 'true' );
+                                       panelMeta.addClass( 'open' );
+                                       panelMeta.addClass( 'active-menu-screen-options' );
+                                       options.slideDown( 'fast' );
+                               }
+
+                               return false;
+                       } );
+
+                       // Help toggle
+                       help.on( 'click keydown', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+                               event.preventDefault();
+
+                               if ( 'true' === button.attr( 'aria-expanded' ) ) {
+                                       button.attr( 'aria-expanded', 'false' );
+                                       help.attr( 'aria-expanded', 'true' );
+                                       panelMeta.addClass( 'open' );
+                                       panelMeta.removeClass( 'active-menu-screen-options' );
+                                       options.slideUp( 'fast' );
+                                       content.slideDown( 'fast' );
+                               }
+                       } );
+               },
+
+               /**
+                * Show/hide/save screen options (columns). From common.js.
+                */
+               ready: function() {
+                       var panel = this;
+                       this.container.find( '.hide-column-tog' ).click( function() {
+                               var $t = $( this ), column = $t.val();
+                               if ( $t.prop( 'checked' ) ) {
+                                       panel.checked( column );
+                               } else {
+                                       panel.unchecked( column );
+                               }
+
+                               panel.saveManageColumnsState();
+                       });
+                       this.container.find( '.hide-column-tog' ).each( function() {
+                       var $t = $( this ), column = $t.val();
+                               if ( $t.prop( 'checked' ) ) {
+                                       panel.checked( column );
+                               } else {
+                                       panel.unchecked( column );
+                               }
+                       });
+               },
+
+               saveManageColumnsState: function() {
+                       var hidden = this.hidden();
+                       $.post( wp.ajax.settings.url, {
+                               action: 'hidden-columns',
+                               hidden: hidden,
+                               screenoptionnonce: $( '#screenoptionnonce' ).val(),
+                               page: 'nav-menus'
+                       });
+               },
+
+               checked: function( column ) {
+                       this.container.addClass( 'field-' + column + '-active' );
+               },
+
+               unchecked: function( column ) {
+                       this.container.removeClass( 'field-' + column + '-active' );
+               },
+
+               hidden: function() {
+                       this.hidden = function() {
+                               return $( '.hide-column-tog' ).not( ':checked' ).map( function() {
+                                       var id = this.id;
+                                       return id.substring( id, id.length - 5 );
+                               }).get().join( ',' );
+                       };
+               }
+       } );
+
+       /**
+        * wp.customize.Menus.MenuSection
+        *
+        * Customizer section for menus. This is used only for lazy-loading child controls.
+        * Note that 'nav_menu' must match the WP_Customize_Menu_Section::$type.
+        *
+        * @constructor
+        * @augments wp.customize.Section
+        */
+       api.Menus.MenuSection = api.Section.extend({
+
+               /**
+                * @since Menu Customizer 0.3
+                *
+                * @param {String} id
+                * @param {Object} options
+                */
+               initialize: function( id, options ) {
+                       var section = this;
+                       api.Section.prototype.initialize.call( section, id, options );
+                       section.deferred.initSortables = $.Deferred();
+               },
+
+               /**
+                *
+                */
+               ready: function() {
+                       var section = this;
+
+                       if ( 'undefined' === typeof section.params.menu_id ) {
+                               throw new Error( 'params.menu_id was not defined' );
+                       }
+
+                       /*
+                        * Since newly created sections won't be registered in PHP, we need to prevent the
+                        * preview's sending of the activeSections to result in this control
+                        * being deactivated when the preview refreshes. So we can hook onto
+                        * the setting that has the same ID and its presence can dictate
+                        * whether the section is active.
+                        */
+                       section.active.validate = function() {
+                               if ( ! api.has( section.id ) ) {
+                                       return false;
+                               }
+                               return !! api( section.id ).get();
+                       };
+
+                       section.populateControls();
+
+                       section.navMenuLocationSettings = {};
+                       section.assignedLocations = new api.Value( [] );
+
+                       api.each(function( setting, id ) {
+                               var matches = id.match( /^nav_menu_locations\[(.+?)]/ );
+                               if ( matches ) {
+                                       section.navMenuLocationSettings[ matches[1] ] = setting;
+                                       setting.bind( function() {
+                                               section.refreshAssignedLocations();
+                                       });
+                               }
+                       });
+
+                       section.assignedLocations.bind(function( to ) {
+                               section.updateAssignedLocationsInSectionTitle( to );
+                       });
+
+                       section.refreshAssignedLocations();
+
+                       api.bind( 'pane-contents-reflowed', function() {
+                               // Skip menus that have been removed.
+                               if ( ! section.container.parent().length ) {
+                                       return;
+                               }
+                               section.container.find( '.menu-item .menu-item-reorder-nav button' ).attr({ 'tabindex': '0', 'aria-hidden': 'false' });
+                               section.container.find( '.menu-item.move-up-disabled .menus-move-up' ).attr({ 'tabindex': '-1', 'aria-hidden': 'true' });
+                               section.container.find( '.menu-item.move-down-disabled .menus-move-down' ).attr({ 'tabindex': '-1', 'aria-hidden': 'true' });
+                               section.container.find( '.menu-item.move-left-disabled .menus-move-left' ).attr({ 'tabindex': '-1', 'aria-hidden': 'true' });
+                               section.container.find( '.menu-item.move-right-disabled .menus-move-right' ).attr({ 'tabindex': '-1', 'aria-hidden': 'true' });
+                       } );
+               },
+
+               populateControls: function() {
+                       var section = this, menuNameControlId, menuAutoAddControlId, menuControl, menuNameControl, menuAutoAddControl;
+
+                       // Add the control for managing the menu name.
+                       menuNameControlId = section.id + '[name]';
+                       menuNameControl = api.control( menuNameControlId );
+                       if ( ! menuNameControl ) {
+                               menuNameControl = new api.controlConstructor.nav_menu_name( menuNameControlId, {
+                                       params: {
+                                               type: 'nav_menu_name',
+                                               content: '<li id="customize-control-' + section.id.replace( '[', '-' ).replace( ']', '' ) + '-name" class="customize-control customize-control-nav_menu_name"></li>', // @todo core should do this for us; see #30741
+                                               label: api.Menus.data.l10n.menuNameLabel,
+                                               active: true,
+                                               section: section.id,
+                                               priority: 0,
+                                               settings: {
+                                                       'default': section.id
+                                               }
+                                       }
+                               } );
+                               api.control.add( menuNameControl.id, menuNameControl );
+                               menuNameControl.active.set( true );
+                       }
+
+                       // Add the menu control.
+                       menuControl = api.control( section.id );
+                       if ( ! menuControl ) {
+                               menuControl = new api.controlConstructor.nav_menu( section.id, {
+                                       params: {
+                                               type: 'nav_menu',
+                                               content: '<li id="customize-control-' + section.id.replace( '[', '-' ).replace( ']', '' ) + '" class="customize-control customize-control-nav_menu"></li>', // @todo core should do this for us; see #30741
+                                               section: section.id,
+                                               priority: 998,
+                                               active: true,
+                                               settings: {
+                                                       'default': section.id
+                                               },
+                                               menu_id: section.params.menu_id
+                                       }
+                               } );
+                               api.control.add( menuControl.id, menuControl );
+                               menuControl.active.set( true );
+                       }
+
+                       // Add the control for managing the menu auto_add.
+                       menuAutoAddControlId = section.id + '[auto_add]';
+                       menuAutoAddControl = api.control( menuAutoAddControlId );
+                       if ( ! menuAutoAddControl ) {
+                               menuAutoAddControl = new api.controlConstructor.nav_menu_auto_add( menuAutoAddControlId, {
+                                       params: {
+                                               type: 'nav_menu_auto_add',
+                                               content: '<li id="customize-control-' + section.id.replace( '[', '-' ).replace( ']', '' ) + '-auto-add" class="customize-control customize-control-nav_menu_auto_add"></li>', // @todo core should do this for us
+                                               label: '',
+                                               active: true,
+                                               section: section.id,
+                                               priority: 999,
+                                               settings: {
+                                                       'default': section.id
+                                               }
+                                       }
+                               } );
+                               api.control.add( menuAutoAddControl.id, menuAutoAddControl );
+                               menuAutoAddControl.active.set( true );
+                       }
+
+               },
+
+               /**
+                *
+                */
+               refreshAssignedLocations: function() {
+                       var section = this,
+                               menuTermId = section.params.menu_id,
+                               currentAssignedLocations = [];
+                       _.each( section.navMenuLocationSettings, function( setting, themeLocation ) {
+                               if ( setting() === menuTermId ) {
+                                       currentAssignedLocations.push( themeLocation );
+                               }
+                       });
+                       section.assignedLocations.set( currentAssignedLocations );
+               },
+
+               /**
+                * @param {array} themeLocations
+                */
+               updateAssignedLocationsInSectionTitle: function( themeLocations ) {
+                       var section = this,
+                               $title;
+
+                       $title = section.container.find( '.accordion-section-title:first' );
+                       $title.find( '.menu-in-location' ).remove();
+                       _.each( themeLocations, function( themeLocation ) {
+                               var $label = $( '<span class="menu-in-location"></span>' );
+                               $label.text( api.Menus.data.l10n.menuLocation.replace( '%s', themeLocation ) );
+                               $title.append( $label );
+                       });
+
+                       section.container.toggleClass( 'assigned-to-menu-location', 0 !== themeLocations.length );
+
+               },
+
+               onChangeExpanded: function( expanded, args ) {
+                       var section = this;
+
+                       if ( expanded ) {
+                               wpNavMenu.menuList = section.container.find( '.accordion-section-content:first' );
+                               wpNavMenu.targetList = wpNavMenu.menuList;
+
+                               // Add attributes needed by wpNavMenu
+                               $( '#menu-to-edit' ).removeAttr( 'id' );
+                               wpNavMenu.menuList.attr( 'id', 'menu-to-edit' ).addClass( 'menu' );
+
+                               _.each( api.section( section.id ).controls(), function( control ) {
+                                       if ( 'nav_menu_item' === control.params.type ) {
+                                               control.actuallyEmbed();
+                                       }
+                               } );
+
+                               if ( 'resolved' !== section.deferred.initSortables.state() ) {
+                                       wpNavMenu.initSortables(); // Depends on menu-to-edit ID being set above.
+                                       section.deferred.initSortables.resolve( wpNavMenu.menuList ); // Now MenuControl can extend the sortable.
+
+                                       // @todo Note that wp.customize.reflowPaneContents() is debounced, so this immediate change will show a slight flicker while priorities get updated.
+                                       api.control( 'nav_menu[' + String( section.params.menu_id ) + ']' ).reflowMenuItems();
+                               }
+                       }
+                       api.Section.prototype.onChangeExpanded.call( section, expanded, args );
+               }
+       });
+
+       /**
+        * wp.customize.Menus.NewMenuSection
+        *
+        * Customizer section for new menus.
+        * Note that 'new_menu' must match the WP_Customize_New_Menu_Section::$type.
+        *
+        * @constructor
+        * @augments wp.customize.Section
+        */
+       api.Menus.NewMenuSection = api.Section.extend({
+
+               /**
+                * Add behaviors for the accordion section.
+                *
+                * @since Menu Customizer 0.3
+                */
+               attachEvents: function() {
+                       var section = this;
+                       this.container.on( 'click', '.add-menu-toggle', function() {
+                               if ( section.expanded() ) {
+                                       section.collapse();
+                               } else {
+                                       section.expand();
+                               }
+                       });
+               },
+
+               /**
+                * Update UI to reflect expanded state.
+                *
+                * @since 4.1.0
+                *
+                * @param {Boolean} expanded
+                */
+               onChangeExpanded: function( expanded ) {
+                       var section = this,
+                               button = section.container.find( '.add-menu-toggle' ),
+                               content = section.container.find( '.new-menu-section-content' ),
+                               customizer = section.container.closest( '.wp-full-overlay-sidebar-content' );
+                       if ( expanded ) {
+                               button.addClass( 'open' );
+                               button.attr( 'aria-expanded', 'true' );
+                               content.slideDown( 'fast', function() {
+                                       customizer.scrollTop( customizer.height() );
+                               });
+                       } else {
+                               button.removeClass( 'open' );
+                               button.attr( 'aria-expanded', 'false' );
+                               content.slideUp( 'fast' );
+                               content.find( '.menu-name-field' ).removeClass( 'invalid' );
+                       }
+               }
+       });
+
+       /**
+        * wp.customize.Menus.MenuLocationControl
+        *
+        * Customizer control for menu locations (rendered as a <select>).
+        * Note that 'nav_menu_location' must match the WP_Customize_Nav_Menu_Location_Control::$type.
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Menus.MenuLocationControl = api.Control.extend({
+               initialize: function( id, options ) {
+                       var control = this,
+                               matches = id.match( /^nav_menu_locations\[(.+?)]/ );
+                       control.themeLocation = matches[1];
+                       api.Control.prototype.initialize.call( control, id, options );
+               },
+
+               ready: function() {
+                       var control = this, navMenuIdRegex = /^nav_menu\[(-?\d+)]/;
+
+                       // @todo It would be better if this was added directly on the setting itself, as opposed to the control.
+                       control.setting.validate = function( value ) {
+                               return parseInt( value, 10 );
+                       };
+
+                       // Add/remove menus from the available options when they are added and removed.
+                       api.bind( 'add', function( setting ) {
+                               var option, menuId, matches = setting.id.match( navMenuIdRegex );
+                               if ( ! matches || false === setting() ) {
+                                       return;
+                               }
+                               menuId = matches[1];
+                               option = new Option( displayNavMenuName( setting().name ), menuId );
+                               control.container.find( 'select' ).append( option );
+                       });
+                       api.bind( 'remove', function( setting ) {
+                               var menuId, matches = setting.id.match( navMenuIdRegex );
+                               if ( ! matches ) {
+                                       return;
+                               }
+                               menuId = parseInt( matches[1], 10 );
+                               if ( control.setting() === menuId ) {
+                                       control.setting.set( '' );
+                               }
+                               control.container.find( 'option[value=' + menuId + ']' ).remove();
+                       });
+                       api.bind( 'change', function( setting ) {
+                               var menuId, matches = setting.id.match( navMenuIdRegex );
+                               if ( ! matches ) {
+                                       return;
+                               }
+                               menuId = parseInt( matches[1], 10 );
+                               if ( false === setting() ) {
+                                       if ( control.setting() === menuId ) {
+                                               control.setting.set( '' );
+                                       }
+                                       control.container.find( 'option[value=' + menuId + ']' ).remove();
+                               } else {
+                                       control.container.find( 'option[value=' + menuId + ']' ).text( displayNavMenuName( setting().name ) );
+                               }
+                       });
+               }
+       });
+
+       /**
+        * wp.customize.Menus.MenuItemControl
+        *
+        * Customizer control for menu items.
+        * Note that 'menu_item' must match the WP_Customize_Menu_Item_Control::$type.
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Menus.MenuItemControl = api.Control.extend({
+
+               /**
+                * @inheritdoc
+                */
+               initialize: function( id, options ) {
+                       var control = this;
+                       api.Control.prototype.initialize.call( control, id, options );
+                       control.active.validate = function() {
+                               var value, section = api.section( control.section() );
+                               if ( section ) {
+                                       value = section.active();
+                               } else {
+                                       value = false;
+                               }
+                               return value;
+                       };
+               },
+
+               /**
+                * @since Menu Customizer 0.3
+                *
+                * Override the embed() method to do nothing,
+                * so that the control isn't embedded on load,
+                * unless the containing section is already expanded.
+                */
+               embed: function() {
+                       var control = this,
+                               sectionId = control.section(),
+                               section;
+                       if ( ! sectionId ) {
+                               return;
+                       }
+                       section = api.section( sectionId );
+                       if ( section && section.expanded() ) {
+                               control.actuallyEmbed();
+                       }
+               },
+
+               /**
+                * This function is called in Section.onChangeExpanded() so the control
+                * will only get embedded when the Section is first expanded.
+                *
+                * @since Menu Customizer 0.3
+                */
+               actuallyEmbed: function() {
+                       var control = this;
+                       if ( 'resolved' === control.deferred.embedded.state() ) {
+                               return;
+                       }
+                       control.renderContent();
+                       control.deferred.embedded.resolve(); // This triggers control.ready().
+               },
+
+               /**
+                * Set up the control.
+                */
+               ready: function() {
+                       if ( 'undefined' === typeof this.params.menu_item_id ) {
+                               throw new Error( 'params.menu_item_id was not defined' );
+                       }
+
+                       this._setupControlToggle();
+                       this._setupReorderUI();
+                       this._setupUpdateUI();
+                       this._setupRemoveUI();
+                       this._setupLinksUI();
+                       this._setupTitleUI();
+               },
+
+               /**
+                * Show/hide the settings when clicking on the menu item handle.
+                */
+               _setupControlToggle: function() {
+                       var control = this;
+
+                       this.container.find( '.menu-item-handle' ).on( 'click', function( e ) {
+                               e.preventDefault();
+                               e.stopPropagation();
+                               var menuControl = control.getMenuControl();
+                               if ( menuControl.isReordering || menuControl.isSorting ) {
+                                       return;
+                               }
+                               control.toggleForm();
+                       } );
+               },
+
+               /**
+                * Set up the menu-item-reorder-nav
+                */
+               _setupReorderUI: function() {
+                       var control = this, template, $reorderNav;
+
+                       template = wp.template( 'menu-item-reorder-nav' );
+
+                       // Add the menu item reordering elements to the menu item control.
+                       control.container.find( '.item-controls' ).after( template );
+
+                       // Handle clicks for up/down/left-right on the reorder nav.
+                       $reorderNav = control.container.find( '.menu-item-reorder-nav' );
+                       $reorderNav.find( '.menus-move-up, .menus-move-down, .menus-move-left, .menus-move-right' ).on( 'click', function() {
+                               var moveBtn = $( this );
+                               moveBtn.focus();
+
+                               var isMoveUp = moveBtn.is( '.menus-move-up' ),
+                                       isMoveDown = moveBtn.is( '.menus-move-down' ),
+                                       isMoveLeft = moveBtn.is( '.menus-move-left' ),
+                                       isMoveRight = moveBtn.is( '.menus-move-right' );
+
+                               if ( isMoveUp ) {
+                                       control.moveUp();
+                               } else if ( isMoveDown ) {
+                                       control.moveDown();
+                               } else if ( isMoveLeft ) {
+                                       control.moveLeft();
+                               } else if ( isMoveRight ) {
+                                       control.moveRight();
+                               }
+
+                               moveBtn.focus(); // Re-focus after the container was moved.
+                       } );
+               },
+
+               /**
+                * Set up event handlers for menu item updating.
+                */
+               _setupUpdateUI: function() {
+                       var control = this,
+                               settingValue = control.setting();
+
+                       control.elements = {};
+                       control.elements.url = new api.Element( control.container.find( '.edit-menu-item-url' ) );
+                       control.elements.title = new api.Element( control.container.find( '.edit-menu-item-title' ) );
+                       control.elements.attr_title = new api.Element( control.container.find( '.edit-menu-item-attr-title' ) );
+                       control.elements.target = new api.Element( control.container.find( '.edit-menu-item-target' ) );
+                       control.elements.classes = new api.Element( control.container.find( '.edit-menu-item-classes' ) );
+                       control.elements.xfn = new api.Element( control.container.find( '.edit-menu-item-xfn' ) );
+                       control.elements.description = new api.Element( control.container.find( '.edit-menu-item-description' ) );
+                       // @todo allow other elements, added by plugins, to be automatically picked up here; allow additional values to be added to setting array.
+
+                       _.each( control.elements, function( element, property ) {
+                               element.bind(function( value ) {
+                                       if ( element.element.is( 'input[type=checkbox]' ) ) {
+                                               value = ( value ) ? element.element.val() : '';
+                                       }
+
+                                       var settingValue = control.setting();
+                                       if ( settingValue && settingValue[ property ] !== value ) {
+                                               settingValue = _.clone( settingValue );
+                                               settingValue[ property ] = value;
+                                               control.setting.set( settingValue );
+                                       }
+                               });
+                               if ( settingValue ) {
+                                       element.set( settingValue[ property ] );
+                               }
+                       });
+
+                       control.setting.bind(function( to, from ) {
+                               var itemId = control.params.menu_item_id,
+                                       followingSiblingItemControls = [],
+                                       childrenItemControls = [],
+                                       menuControl;
+
+                               if ( false === to ) {
+                                       menuControl = api.control( 'nav_menu[' + String( from.nav_menu_term_id ) + ']' );
+                                       control.container.remove();
+
+                                       _.each( menuControl.getMenuItemControls(), function( otherControl ) {
+                                               if ( from.menu_item_parent === otherControl.setting().menu_item_parent && otherControl.setting().position > from.position ) {
+                                                       followingSiblingItemControls.push( otherControl );
+                                               } else if ( otherControl.setting().menu_item_parent === itemId ) {
+                                                       childrenItemControls.push( otherControl );
+                                               }
+                                       });
+
+                                       // Shift all following siblings by the number of children this item has.
+                                       _.each( followingSiblingItemControls, function( followingSiblingItemControl ) {
+                                               var value = _.clone( followingSiblingItemControl.setting() );
+                                               value.position += childrenItemControls.length;
+                                               followingSiblingItemControl.setting.set( value );
+                                       });
+
+                                       // Now move the children up to be the new subsequent siblings.
+                                       _.each( childrenItemControls, function( childrenItemControl, i ) {
+                                               var value = _.clone( childrenItemControl.setting() );
+                                               value.position = from.position + i;
+                                               value.menu_item_parent = from.menu_item_parent;
+                                               childrenItemControl.setting.set( value );
+                                       });
+
+                                       menuControl.debouncedReflowMenuItems();
+                               } else {
+                                       // Update the elements' values to match the new setting properties.
+                                       _.each( to, function( value, key ) {
+                                               if ( control.elements[ key] ) {
+                                                       control.elements[ key ].set( to[ key ] );
+                                               }
+                                       } );
+                                       control.container.find( '.menu-item-data-parent-id' ).val( to.menu_item_parent );
+
+                                       // Handle UI updates when the position or depth (parent) change.
+                                       if ( to.position !== from.position || to.menu_item_parent !== from.menu_item_parent ) {
+                                               control.getMenuControl().debouncedReflowMenuItems();
+                                       }
+                               }
+                       });
+               },
+
+               /**
+                * Set up event handlers for menu item deletion.
+                */
+               _setupRemoveUI: function() {
+                       var control = this, $removeBtn;
+
+                       // Configure delete button.
+                       $removeBtn = control.container.find( '.item-delete' );
+
+                       $removeBtn.on( 'click', function() {
+                               // Find an adjacent element to add focus to when this menu item goes away
+                               var addingItems = true, $adjacentFocusTarget, $next, $prev;
+
+                               if ( ! $( 'body' ).hasClass( 'adding-menu-items' ) ) {
+                                       addingItems = false;
+                               }
+
+                               $next = control.container.nextAll( '.customize-control-nav_menu_item:visible' ).first();
+                               $prev = control.container.prevAll( '.customize-control-nav_menu_item:visible' ).first();
+
+                               if ( $next.length ) {
+                                       $adjacentFocusTarget = $next.find( false === addingItems ? '.item-edit' : '.item-delete' ).first();
+                               } else if ( $prev.length ) {
+                                       $adjacentFocusTarget = $prev.find( false === addingItems ? '.item-edit' : '.item-delete' ).first();
+                               } else {
+                                       $adjacentFocusTarget = control.container.nextAll( '.customize-control-nav_menu' ).find( '.add-new-menu-item' ).first();
+                               }
+
+                               control.container.slideUp( function() {
+                                       control.setting.set( false );
+                                       wp.a11y.speak( api.Menus.data.l10n.itemDeleted );
+                                       $adjacentFocusTarget.focus(); // keyboard accessibility
+                               } );
+                       } );
+               },
+
+               _setupLinksUI: function() {
+                       var $origBtn;
+
+                       // Configure original link.
+                       $origBtn = this.container.find( 'a.original-link' );
+
+                       $origBtn.on( 'click', function( e ) {
+                               e.preventDefault();
+                               api.previewer.previewUrl( e.target.toString() );
+                       } );
+               },
+
+               /**
+                * Update item handle title when changed.
+                */
+               _setupTitleUI: function() {
+                       var control = this;
+
+                       control.setting.bind( function( item ) {
+                               if ( ! item ) {
+                                       return;
+                               }
+
+                               var titleEl = control.container.find( '.menu-item-title' );
+
+                               // Don't update to an empty title.
+                               if ( item.title ) {
+                                       titleEl
+                                               .text( item.title )
+                                               .removeClass( 'no-title' );
+                               } else {
+                                       titleEl
+                                               .text( api.Menus.data.l10n.untitled )
+                                               .addClass( 'no-title' );
+                               }
+                       } );
+               },
+
+               /**
+                *
+                * @returns {number}
+                */
+               getDepth: function() {
+                       var control = this, setting = control.setting(), depth = 0;
+                       if ( ! setting ) {
+                               return 0;
+                       }
+                       while ( setting && setting.menu_item_parent ) {
+                               depth += 1;
+                               control = api.control( 'nav_menu_item[' + setting.menu_item_parent + ']' );
+                               if ( ! control ) {
+                                       break;
+                               }
+                               setting = control.setting();
+                       }
+                       return depth;
+               },
+
+               /**
+                * Amend the control's params with the data necessary for the JS template just in time.
+                */
+               renderContent: function() {
+                       var control = this,
+                               settingValue = control.setting(),
+                               containerClasses;
+
+                       control.params.title = settingValue.title || '';
+                       control.params.depth = control.getDepth();
+                       control.container.data( 'item-depth', control.params.depth );
+                       containerClasses = [
+                               'menu-item',
+                               'menu-item-depth-' + String( control.params.depth ),
+                               'menu-item-' + settingValue.object,
+                               'menu-item-edit-inactive'
+                       ];
+
+                       if ( settingValue.invalid ) {
+                               containerClasses.push( 'invalid' );
+                               control.params.title = api.Menus.data.invalidTitleTpl.replace( '%s', control.params.title );
+                       } else if ( 'draft' === settingValue.status ) {
+                               containerClasses.push( 'pending' );
+                               control.params.title = api.Menus.data.pendingTitleTpl.replace( '%s', control.params.title );
+                       }
+
+                       control.params.el_classes = containerClasses.join( ' ' );
+                       control.params.item_type_label = settingValue.type_label;
+                       control.params.item_type = settingValue.type;
+                       control.params.url = settingValue.url;
+                       control.params.target = settingValue.target;
+                       control.params.attr_title = settingValue.attr_title;
+                       control.params.classes = _.isArray( settingValue.classes ) ? settingValue.classes.join( ' ' ) : settingValue.classes;
+                       control.params.attr_title = settingValue.attr_title;
+                       control.params.xfn = settingValue.xfn;
+                       control.params.description = settingValue.description;
+                       control.params.parent = settingValue.menu_item_parent;
+                       control.params.original_title = settingValue.original_title || '';
+
+                       control.container.addClass( control.params.el_classes );
+
+                       api.Control.prototype.renderContent.call( control );
+               },
+
+               /***********************************************************************
+                * Begin public API methods
+                **********************************************************************/
+
+               /**
+                * @return {wp.customize.controlConstructor.nav_menu|null}
+                */
+               getMenuControl: function() {
+                       var control = this, settingValue = control.setting();
+                       if ( settingValue && settingValue.nav_menu_term_id ) {
+                               return api.control( 'nav_menu[' + settingValue.nav_menu_term_id + ']' );
+                       } else {
+                               return null;
+                       }
+               },
+
+               /**
+                * Expand the accordion section containing a control
+                */
+               expandControlSection: function() {
+                       var $section = this.container.closest( '.accordion-section' );
+
+                       if ( ! $section.hasClass( 'open' ) ) {
+                               $section.find( '.accordion-section-title:first' ).trigger( 'click' );
+                       }
+               },
+
+               /**
+                * Expand the menu item form control.
+                */
+               expandForm: function() {
+                       this.toggleForm( true );
+               },
+
+               /**
+                * Collapse the menu item form control.
+                */
+               collapseForm: function() {
+                       this.toggleForm( false );
+               },
+
+               /**
+                * Expand or collapse the menu item control.
+                *
+                * @param {boolean|undefined} [showOrHide] If not supplied, will be inverse of current visibility
+                */
+               toggleForm: function( showOrHide ) {
+                       var self = this, $menuitem, $inside, complete;
+
+                       $menuitem = this.container;
+                       $inside = $menuitem.find( '.menu-item-settings:first' );
+                       if ( 'undefined' === typeof showOrHide ) {
+                               showOrHide = ! $inside.is( ':visible' );
+                       }
+
+                       // Already expanded or collapsed.
+                       if ( $inside.is( ':visible' ) === showOrHide ) {
+                               return;
+                       }
+
+                       if ( showOrHide ) {
+                               // Close all other menu item controls before expanding this one.
+                               api.control.each( function( otherControl ) {
+                                       if ( self.params.type === otherControl.params.type && self !== otherControl ) {
+                                               otherControl.collapseForm();
+                                       }
+                               } );
+
+                               complete = function() {
+                                       $menuitem
+                                               .removeClass( 'menu-item-edit-inactive' )
+                                               .addClass( 'menu-item-edit-active' );
+                                       self.container.trigger( 'expanded' );
+                               };
+
+                               $menuitem.find( '.item-edit' ).attr( 'aria-expanded', 'true' );
+                               $inside.slideDown( 'fast', complete );
+
+                               self.container.trigger( 'expand' );
+                       } else {
+                               complete = function() {
+                                       $menuitem
+                                               .addClass( 'menu-item-edit-inactive' )
+                                               .removeClass( 'menu-item-edit-active' );
+                                       self.container.trigger( 'collapsed' );
+                               };
+
+                               self.container.trigger( 'collapse' );
+
+                               $menuitem.find( '.item-edit' ).attr( 'aria-expanded', 'false' );
+                               $inside.slideUp( 'fast', complete );
+                       }
+               },
+
+               /**
+                * Expand the containing menu section, expand the form, and focus on
+                * the first input in the control.
+                */
+               focus: function() {
+                       this.expandControlSection();
+                       this.expandForm();
+                       this.container.find( '.menu-item-settings :focusable:first' ).focus();
+               },
+
+               /**
+                * Move menu item up one in the menu.
+                */
+               moveUp: function() {
+                       this._changePosition( -1 );
+                       wp.a11y.speak( api.Menus.data.l10n.movedUp );
+               },
+
+               /**
+                * Move menu item up one in the menu.
+                */
+               moveDown: function() {
+                       this._changePosition( 1 );
+                       wp.a11y.speak( api.Menus.data.l10n.movedDown );
+               },
+               /**
+                * Move menu item and all children up one level of depth.
+                */
+               moveLeft: function() {
+                       this._changeDepth( -1 );
+                       wp.a11y.speak( api.Menus.data.l10n.movedLeft );
+               },
+
+               /**
+                * Move menu item and children one level deeper, as a submenu of the previous item.
+                */
+               moveRight: function() {
+                       this._changeDepth( 1 );
+                       wp.a11y.speak( api.Menus.data.l10n.movedRight );
+               },
+
+               /**
+                * Note that this will trigger a UI update, causing child items to
+                * move as well and cardinal order class names to be updated.
+                *
+                * @private
+                *
+                * @param {Number} offset 1|-1
+                */
+               _changePosition: function( offset ) {
+                       var control = this,
+                               adjacentSetting,
+                               settingValue = _.clone( control.setting() ),
+                               siblingSettings = [],
+                               realPosition;
+
+                       if ( 1 !== offset && -1 !== offset ) {
+                               throw new Error( 'Offset changes by 1 are only supported.' );
+                       }
+
+                       // Skip moving deleted items.
+                       if ( ! control.setting() ) {
+                               return;
+                       }
+
+                       // Locate the other items under the same parent (siblings).
+                       _( control.getMenuControl().getMenuItemControls() ).each(function( otherControl ) {
+                               if ( otherControl.setting().menu_item_parent === settingValue.menu_item_parent ) {
+                                       siblingSettings.push( otherControl.setting );
+                               }
+                       });
+                       siblingSettings.sort(function( a, b ) {
+                               return a().position - b().position;
+                       });
+
+                       realPosition = _.indexOf( siblingSettings, control.setting );
+                       if ( -1 === realPosition ) {
+                               throw new Error( 'Expected setting to be among siblings.' );
+                       }
+
+                       // Skip doing anything if the item is already at the edge in the desired direction.
+                       if ( ( realPosition === 0 && offset < 0 ) || ( realPosition === siblingSettings.length - 1 && offset > 0 ) ) {
+                               // @todo Should we allow a menu item to be moved up to break it out of a parent? Adopt with previous or following parent?
+                               return;
+                       }
+
+                       // Update any adjacent menu item setting to take on this item's position.
+                       adjacentSetting = siblingSettings[ realPosition + offset ];
+                       if ( adjacentSetting ) {
+                               adjacentSetting.set( $.extend(
+                                       _.clone( adjacentSetting() ),
+                                       {
+                                               position: settingValue.position
+                                       }
+                               ) );
+                       }
+
+                       settingValue.position += offset;
+                       control.setting.set( settingValue );
+               },
+
+               /**
+                * Note that this will trigger a UI update, causing child items to
+                * move as well and cardinal order class names to be updated.
+                *
+                * @private
+                *
+                * @param {Number} offset 1|-1
+                */
+               _changeDepth: function( offset ) {
+                       if ( 1 !== offset && -1 !== offset ) {
+                               throw new Error( 'Offset changes by 1 are only supported.' );
+                       }
+                       var control = this,
+                               settingValue = _.clone( control.setting() ),
+                               siblingControls = [],
+                               realPosition,
+                               siblingControl,
+                               parentControl;
+
+                       // Locate the other items under the same parent (siblings).
+                       _( control.getMenuControl().getMenuItemControls() ).each(function( otherControl ) {
+                               if ( otherControl.setting().menu_item_parent === settingValue.menu_item_parent ) {
+                                       siblingControls.push( otherControl );
+                               }
+                       });
+                       siblingControls.sort(function( a, b ) {
+                               return a.setting().position - b.setting().position;
+                       });
+
+                       realPosition = _.indexOf( siblingControls, control );
+                       if ( -1 === realPosition ) {
+                               throw new Error( 'Expected control to be among siblings.' );
+                       }
+
+                       if ( -1 === offset ) {
+                               // Skip moving left an item that is already at the top level.
+                               if ( ! settingValue.menu_item_parent ) {
+                                       return;
+                               }
+
+                               parentControl = api.control( 'nav_menu_item[' + settingValue.menu_item_parent + ']' );
+
+                               // Make this control the parent of all the following siblings.
+                               _( siblingControls ).chain().slice( realPosition ).each(function( siblingControl, i ) {
+                                       siblingControl.setting.set(
+                                               $.extend(
+                                                       {},
+                                                       siblingControl.setting(),
+                                                       {
+                                                               menu_item_parent: control.params.menu_item_id,
+                                                               position: i
+                                                       }
+                                               )
+                                       );
+                               });
+
+                               // Increase the positions of the parent item's subsequent children to make room for this one.
+                               _( control.getMenuControl().getMenuItemControls() ).each(function( otherControl ) {
+                                       var otherControlSettingValue, isControlToBeShifted;
+                                       isControlToBeShifted = (
+                                               otherControl.setting().menu_item_parent === parentControl.setting().menu_item_parent &&
+                                               otherControl.setting().position > parentControl.setting().position
+                                       );
+                                       if ( isControlToBeShifted ) {
+                                               otherControlSettingValue = _.clone( otherControl.setting() );
+                                               otherControl.setting.set(
+                                                       $.extend(
+                                                               otherControlSettingValue,
+                                                               { position: otherControlSettingValue.position + 1 }
+                                                       )
+                                               );
+                                       }
+                               });
+
+                               // Make this control the following sibling of its parent item.
+                               settingValue.position = parentControl.setting().position + 1;
+                               settingValue.menu_item_parent = parentControl.setting().menu_item_parent;
+                               control.setting.set( settingValue );
+
+                       } else if ( 1 === offset ) {
+                               // Skip moving right an item that doesn't have a previous sibling.
+                               if ( realPosition === 0 ) {
+                                       return;
+                               }
+
+                               // Make the control the last child of the previous sibling.
+                               siblingControl = siblingControls[ realPosition - 1 ];
+                               settingValue.menu_item_parent = siblingControl.params.menu_item_id;
+                               settingValue.position = 0;
+                               _( control.getMenuControl().getMenuItemControls() ).each(function( otherControl ) {
+                                       if ( otherControl.setting().menu_item_parent === settingValue.menu_item_parent ) {
+                                               settingValue.position = Math.max( settingValue.position, otherControl.setting().position );
+                                       }
+                               });
+                               settingValue.position += 1;
+                               control.setting.set( settingValue );
+                       }
+               }
+       } );
+
+       /**
+        * wp.customize.Menus.MenuNameControl
+        *
+        * Customizer control for a nav menu's name.
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Menus.MenuNameControl = api.Control.extend({
+
+               ready: function() {
+                       var control = this,
+                               settingValue = control.setting();
+
+                       /*
+                        * Since the control is not registered in PHP, we need to prevent the
+                        * preview's sending of the activeControls to result in this control
+                        * being deactivated.
+                        */
+                       control.active.validate = function() {
+                               var value, section = api.section( control.section() );
+                               if ( section ) {
+                                       value = section.active();
+                               } else {
+                                       value = false;
+                               }
+                               return value;
+                       };
+
+                       control.nameElement = new api.Element( control.container.find( '.menu-name-field' ) );
+
+                       control.nameElement.bind(function( value ) {
+                               var settingValue = control.setting();
+                               if ( settingValue && settingValue.name !== value ) {
+                                       settingValue = _.clone( settingValue );
+                                       settingValue.name = value;
+                                       control.setting.set( settingValue );
+                               }
+                       });
+                       if ( settingValue ) {
+                               control.nameElement.set( settingValue.name );
+                       }
+
+                       control.setting.bind(function( object ) {
+                               if ( object ) {
+                                       control.nameElement.set( object.name );
+                               }
+                       });
+               }
+
+       });
+
+       /**
+        * wp.customize.Menus.MenuAutoAddControl
+        *
+        * Customizer control for a nav menu's auto add.
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Menus.MenuAutoAddControl = api.Control.extend({
+
+               ready: function() {
+                       var control = this,
+                               settingValue = control.setting();
+
+                       /*
+                        * Since the control is not registered in PHP, we need to prevent the
+                        * preview's sending of the activeControls to result in this control
+                        * being deactivated.
+                        */
+                       control.active.validate = function() {
+                               var value, section = api.section( control.section() );
+                               if ( section ) {
+                                       value = section.active();
+                               } else {
+                                       value = false;
+                               }
+                               return value;
+                       };
+
+                       control.autoAddElement = new api.Element( control.container.find( 'input[type=checkbox].auto_add' ) );
+
+                       control.autoAddElement.bind(function( value ) {
+                               var settingValue = control.setting();
+                               if ( settingValue && settingValue.name !== value ) {
+                                       settingValue = _.clone( settingValue );
+                                       settingValue.auto_add = value;
+                                       control.setting.set( settingValue );
+                               }
+                       });
+                       if ( settingValue ) {
+                               control.autoAddElement.set( settingValue.auto_add );
+                       }
+
+                       control.setting.bind(function( object ) {
+                               if ( object ) {
+                                       control.autoAddElement.set( object.auto_add );
+                               }
+                       });
+               }
+
+       });
+
+       /**
+        * wp.customize.Menus.MenuControl
+        *
+        * Customizer control for menus.
+        * Note that 'nav_menu' must match the WP_Menu_Customize_Control::$type
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Menus.MenuControl = api.Control.extend({
+               /**
+                * Set up the control.
+                */
+               ready: function() {
+                       var control = this,
+                               menuId = control.params.menu_id,
+                               menu = control.setting(),
+                               name,
+                               widgetTemplate,
+                               select;
+
+                       if ( 'undefined' === typeof this.params.menu_id ) {
+                               throw new Error( 'params.menu_id was not defined' );
+                       }
+
+                       /*
+                        * Since the control is not registered in PHP, we need to prevent the
+                        * preview's sending of the activeControls to result in this control
+                        * being deactivated.
+                        */
+                       control.active.validate = function() {
+                               var value, section = api.section( control.section() );
+                               if ( section ) {
+                                       value = section.active();
+                               } else {
+                                       value = false;
+                               }
+                               return value;
+                       };
+
+                       control.$controlSection = control.container.closest( '.control-section' );
+                       control.$sectionContent = control.container.closest( '.accordion-section-content' );
+
+                       this._setupModel();
+
+                       api.section( control.section(), function( section ) {
+                               section.deferred.initSortables.done(function( menuList ) {
+                                       control._setupSortable( menuList );
+                               });
+                       } );
+
+                       this._setupAddition();
+                       this._setupLocations();
+                       this._setupTitle();
+
+                       // Add menu to Custom Menu widgets.
+                       if ( menu ) {
+                               name = displayNavMenuName( menu.name );
+
+                               // Add the menu to the existing controls.
+                               api.control.each( function( widgetControl ) {
+                                       if ( ! widgetControl.extended( api.controlConstructor.widget_form ) || 'nav_menu' !== widgetControl.params.widget_id_base ) {
+                                               return;
+                                       }
+                                       widgetControl.container.find( '.nav-menu-widget-form-controls:first' ).show();
+                                       widgetControl.container.find( '.nav-menu-widget-no-menus-message:first' ).hide();
+
+                                       select = widgetControl.container.find( 'select' );
+                                       if ( 0 === select.find( 'option[value=' + String( menuId ) + ']' ).length ) {
+                                               select.append( new Option( name, menuId ) );
+                                       }
+                               } );
+
+                               // Add the menu to the widget template.
+                               widgetTemplate = $( '#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )' );
+                               widgetTemplate.find( '.nav-menu-widget-form-controls:first' ).show();
+                               widgetTemplate.find( '.nav-menu-widget-no-menus-message:first' ).hide();
+                               select = widgetTemplate.find( '.widget-inside select:first' );
+                               if ( 0 === select.find( 'option[value=' + String( menuId ) + ']' ).length ) {
+                                       select.append( new Option( name, menuId ) );
+                               }
+                       }
+               },
+
+               /**
+                * Update ordering of menu item controls when the setting is updated.
+                */
+               _setupModel: function() {
+                       var control = this,
+                               menuId = control.params.menu_id;
+
+                       control.setting.bind( function( to ) {
+                               var name;
+                               if ( false === to ) {
+                                       control._handleDeletion();
+                               } else {
+                                       // Update names in the Custom Menu widgets.
+                                       name = displayNavMenuName( to.name );
+                                       api.control.each( function( widgetControl ) {
+                                               if ( ! widgetControl.extended( api.controlConstructor.widget_form ) || 'nav_menu' !== widgetControl.params.widget_id_base ) {
+                                                       return;
+                                               }
+                                               var select = widgetControl.container.find( 'select' );
+                                               select.find( 'option[value=' + String( menuId ) + ']' ).text( name );
+                                       });
+                               }
+                       } );
+
+                       control.container.find( '.menu-delete' ).on( 'click', function( event ) {
+                               event.stopPropagation();
+                               event.preventDefault();
+                               control.setting.set( false );
+                       });
+               },
+
+               /**
+                * Allow items in each menu to be re-ordered, and for the order to be previewed.
+                *
+                * Notice that the UI aspects here are handled by wpNavMenu.initSortables()
+                * which is called in MenuSection.onChangeExpanded()
+                *
+                * @param {object} menuList - The element that has sortable().
+                */
+               _setupSortable: function( menuList ) {
+                       var control = this;
+
+                       if ( ! menuList.is( control.$sectionContent ) ) {
+                               throw new Error( 'Unexpected menuList.' );
+                       }
+
+                       menuList.on( 'sortstart', function() {
+                               control.isSorting = true;
+                       });
+
+                       menuList.on( 'sortstop', function() {
+                               setTimeout( function() { // Next tick.
+                                       var menuItemContainerIds = control.$sectionContent.sortable( 'toArray' ),
+                                               menuItemControls = [],
+                                               position = 0,
+                                               priority = 10;
+
+                                       control.isSorting = false;
+
+                                       _.each( menuItemContainerIds, function( menuItemContainerId ) {
+                                               var menuItemId, menuItemControl, matches;
+                                               matches = menuItemContainerId.match( /^customize-control-nav_menu_item-(-?\d+)$/, '' );
+                                               if ( ! matches ) {
+                                                       return;
+                                               }
+                                               menuItemId = parseInt( matches[1], 10 );
+                                               menuItemControl = api.control( 'nav_menu_item[' + String( menuItemId ) + ']' );
+                                               if ( menuItemControl ) {
+                                                       menuItemControls.push( menuItemControl );
+                                               }
+                                       } );
+
+                                       _.each( menuItemControls, function( menuItemControl ) {
+                                               if ( false === menuItemControl.setting() ) {
+                                                       // Skip deleted items.
+                                                       return;
+                                               }
+                                               var setting = _.clone( menuItemControl.setting() );
+                                               position += 1;
+                                               priority += 1;
+                                               setting.position = position;
+                                               menuItemControl.priority( priority );
+
+                                               // Note that wpNavMenu will be setting this .menu-item-data-parent-id input's value.
+                                               setting.menu_item_parent = parseInt( menuItemControl.container.find( '.menu-item-data-parent-id' ).val(), 10 );
+                                               if ( ! setting.menu_item_parent ) {
+                                                       setting.menu_item_parent = 0;
+                                               }
+
+                                               menuItemControl.setting.set( setting );
+                                       });
+                               });
+
+                       });
+                       control.isReordering = false;
+
+                       /**
+                        * Keyboard-accessible reordering.
+                        */
+                       this.container.find( '.reorder-toggle' ).on( 'click', function() {
+                               control.toggleReordering( ! control.isReordering );
+                       } );
+               },
+
+               /**
+                * Set up UI for adding a new menu item.
+                */
+               _setupAddition: function() {
+                       var self = this;
+
+                       this.container.find( '.add-new-menu-item' ).on( 'click', function( event ) {
+                               if ( self.$sectionContent.hasClass( 'reordering' ) ) {
+                                       return;
+                               }
+
+                               if ( ! $( 'body' ).hasClass( 'adding-menu-items' ) ) {
+                                       $( this ).attr( 'aria-expanded', 'true' );
+                                       api.Menus.availableMenuItemsPanel.open( self );
+                               } else {
+                                       $( this ).attr( 'aria-expanded', 'false' );
+                                       api.Menus.availableMenuItemsPanel.close();
+                                       event.stopPropagation();
+                               }
+                       } );
+               },
+
+               _handleDeletion: function() {
+                       var control = this,
+                               section,
+                               menuId = control.params.menu_id,
+                               removeSection,
+                               widgetTemplate,
+                               navMenuCount = 0;
+                       section = api.section( control.section() );
+                       removeSection = function() {
+                               section.container.remove();
+                               api.section.remove( section.id );
+                       };
+
+                       if ( section && section.expanded() ) {
+                               section.collapse({
+                                       completeCallback: function() {
+                                               removeSection();
+                                               wp.a11y.speak( api.Menus.data.l10n.menuDeleted );
+                                               api.panel( 'nav_menus' ).focus();
+                                       }
+                               });
+                       } else {
+                               removeSection();
+                       }
+
+                       api.each(function( setting ) {
+                               if ( /^nav_menu\[/.test( setting.id ) && false !== setting() ) {
+                                       navMenuCount += 1;
+                               }
+                       });
+
+                       // Remove the menu from any Custom Menu widgets.
+                       api.control.each(function( widgetControl ) {
+                               if ( ! widgetControl.extended( api.controlConstructor.widget_form ) || 'nav_menu' !== widgetControl.params.widget_id_base ) {
+                                       return;
+                               }
+                               var select = widgetControl.container.find( 'select' );
+                               if ( select.val() === String( menuId ) ) {
+                                       select.prop( 'selectedIndex', 0 ).trigger( 'change' );
+                               }
+
+                               widgetControl.container.find( '.nav-menu-widget-form-controls:first' ).toggle( 0 !== navMenuCount );
+                               widgetControl.container.find( '.nav-menu-widget-no-menus-message:first' ).toggle( 0 === navMenuCount );
+                               widgetControl.container.find( 'option[value=' + String( menuId ) + ']' ).remove();
+                       });
+
+                       // Remove the menu to the nav menu widget template.
+                       widgetTemplate = $( '#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )' );
+                       widgetTemplate.find( '.nav-menu-widget-form-controls:first' ).toggle( 0 !== navMenuCount );
+                       widgetTemplate.find( '.nav-menu-widget-no-menus-message:first' ).toggle( 0 === navMenuCount );
+                       widgetTemplate.find( 'option[value=' + String( menuId ) + ']' ).remove();
+               },
+
+               // Setup theme location checkboxes.
+               _setupLocations: function() {
+                       var control = this;
+
+                       control.container.find( '.assigned-menu-location' ).each(function() {
+                               var container = $( this ),
+                                       checkbox = container.find( 'input[type=checkbox]' ),
+                                       element,
+                                       updateSelectedMenuLabel,
+                                       navMenuLocationSetting = api( 'nav_menu_locations[' + checkbox.data( 'location-id' ) + ']' );
+
+                               updateSelectedMenuLabel = function( selectedMenuId ) {
+                                       var menuSetting = api( 'nav_menu[' + String( selectedMenuId ) + ']' );
+                                       if ( ! selectedMenuId || ! menuSetting || ! menuSetting() ) {
+                                               container.find( '.theme-location-set' ).hide();
+                                       } else {
+                                               container.find( '.theme-location-set' ).show().find( 'span' ).text( displayNavMenuName( menuSetting().name ) );
+                                       }
+                               };
+
+                               element = new api.Element( checkbox );
+                               element.set( navMenuLocationSetting.get() === control.params.menu_id );
+
+                               checkbox.on( 'change', function() {
+                                       // Note: We can't use element.bind( function( checked ){ ... } ) here because it will trigger a change as well.
+                                       navMenuLocationSetting.set( this.checked ? control.params.menu_id : 0 );
+                               } );
+
+                               navMenuLocationSetting.bind(function( selectedMenuId ) {
+                                       element.set( selectedMenuId === control.params.menu_id );
+                                       updateSelectedMenuLabel( selectedMenuId );
+                               });
+                               updateSelectedMenuLabel( navMenuLocationSetting.get() );
+
+                       });
+               },
+
+               /**
+                * Update Section Title as menu name is changed.
+                */
+               _setupTitle: function() {
+                       var control = this;
+
+                       control.setting.bind( function( menu ) {
+                               if ( ! menu ) {
+                                       return;
+                               }
+
+                               var section = control.container.closest( '.accordion-section' ),
+                                       menuId = control.params.menu_id,
+                                       controlTitle = section.find( '.accordion-section-title' ),
+                                       sectionTitle = section.find( '.customize-section-title h3' ),
+                                       location = section.find( '.menu-in-location' ),
+                                       action = sectionTitle.find( '.customize-action' ),
+                                       name = displayNavMenuName( menu.name );
+
+                               // Update the control title
+                               controlTitle.text( name );
+                               if ( location.length ) {
+                                       location.appendTo( controlTitle );
+                               }
+
+                               // Update the section title
+                               sectionTitle.text( name );
+                               if ( action.length ) {
+                                       action.prependTo( sectionTitle );
+                               }
+
+                               // Update the nav menu name in location selects.
+                               api.control.each( function( control ) {
+                                       if ( /^nav_menu_locations\[/.test( control.id ) ) {
+                                               control.container.find( 'option[value=' + menuId + ']' ).text( name );
+                                       }
+                               } );
+
+                               // Update the nav menu name in all location checkboxes.
+                               section.find( '.customize-control-checkbox input' ).each( function() {
+                                       if ( $( this ).prop( 'checked' ) ) {
+                                               $( '.current-menu-location-name-' + $( this ).data( 'location-id' ) ).text( name );
+                                       }
+                               } );
+                       } );
+               },
+
+               /***********************************************************************
+                * Begin public API methods
+                **********************************************************************/
+
+               /**
+                * Enable/disable the reordering UI
+                *
+                * @param {Boolean} showOrHide to enable/disable reordering
+                */
+               toggleReordering: function( showOrHide ) {
+                       var addNewItemBtn = this.container.find( '.add-new-menu-item' ),
+                               reorderBtn = this.container.find( '.reorder-toggle' ),
+                               itemsTitle = this.$sectionContent.find( '.item-title' );
+
+                       showOrHide = Boolean( showOrHide );
+
+                       if ( showOrHide === this.$sectionContent.hasClass( 'reordering' ) ) {
+                               return;
+                       }
+
+                       this.isReordering = showOrHide;
+                       this.$sectionContent.toggleClass( 'reordering', showOrHide );
+                       this.$sectionContent.sortable( this.isReordering ? 'disable' : 'enable' );
+                       if ( this.isReordering ) {
+                               addNewItemBtn.attr({ 'tabindex': '-1', 'aria-hidden': 'true' });
+                               reorderBtn.attr( 'aria-label', api.Menus.data.l10n.reorderLabelOff );
+                               wp.a11y.speak( api.Menus.data.l10n.reorderModeOn );
+                               itemsTitle.attr( 'aria-hidden', 'false' );
+                       } else {
+                               addNewItemBtn.removeAttr( 'tabindex aria-hidden' );
+                               reorderBtn.attr( 'aria-label', api.Menus.data.l10n.reorderLabelOn );
+                               wp.a11y.speak( api.Menus.data.l10n.reorderModeOff );
+                               itemsTitle.attr( 'aria-hidden', 'true' );
+                       }
+
+                       if ( showOrHide ) {
+                               _( this.getMenuItemControls() ).each( function( formControl ) {
+                                       formControl.collapseForm();
+                               } );
+                       }
+               },
+
+               /**
+                * @return {wp.customize.controlConstructor.nav_menu_item[]}
+                */
+               getMenuItemControls: function() {
+                       var menuControl = this,
+                               menuItemControls = [],
+                               menuTermId = menuControl.params.menu_id;
+
+                       api.control.each(function( control ) {
+                               if ( 'nav_menu_item' === control.params.type && control.setting() && menuTermId === control.setting().nav_menu_term_id ) {
+                                       menuItemControls.push( control );
+                               }
+                       });
+
+                       return menuItemControls;
+               },
+
+               /**
+                * Make sure that each menu item control has the proper depth.
+                */
+               reflowMenuItems: function() {
+                       var menuControl = this,
+                               menuItemControls = menuControl.getMenuItemControls(),
+                               reflowRecursively;
+
+                       reflowRecursively = function( context ) {
+                               var currentMenuItemControls = [],
+                                       thisParent = context.currentParent;
+                               _.each( context.menuItemControls, function( menuItemControl ) {
+                                       if ( thisParent === menuItemControl.setting().menu_item_parent ) {
+                                               currentMenuItemControls.push( menuItemControl );
+                                               // @todo We could remove this item from menuItemControls now, for efficiency.
+                                       }
+                               });
+                               currentMenuItemControls.sort( function( a, b ) {
+                                       return a.setting().position - b.setting().position;
+                               });
+
+                               _.each( currentMenuItemControls, function( menuItemControl ) {
+                                       // Update position.
+                                       context.currentAbsolutePosition += 1;
+                                       menuItemControl.priority.set( context.currentAbsolutePosition ); // This will change the sort order.
+
+                                       // Update depth.
+                                       if ( ! menuItemControl.container.hasClass( 'menu-item-depth-' + String( context.currentDepth ) ) ) {
+                                               _.each( menuItemControl.container.prop( 'className' ).match( /menu-item-depth-\d+/g ), function( className ) {
+                                                       menuItemControl.container.removeClass( className );
+                                               });
+                                               menuItemControl.container.addClass( 'menu-item-depth-' + String( context.currentDepth ) );
+                                       }
+                                       menuItemControl.container.data( 'item-depth', context.currentDepth );
+
+                                       // Process any children items.
+                                       context.currentDepth += 1;
+                                       context.currentParent = menuItemControl.params.menu_item_id;
+                                       reflowRecursively( context );
+                                       context.currentDepth -= 1;
+                                       context.currentParent = thisParent;
+                               });
+
+                               // Update class names for reordering controls.
+                               if ( currentMenuItemControls.length ) {
+                                       _( currentMenuItemControls ).each(function( menuItemControl ) {
+                                               menuItemControl.container.removeClass( 'move-up-disabled move-down-disabled move-left-disabled move-right-disabled' );
+                                               if ( 0 === context.currentDepth ) {
+                                                       menuItemControl.container.addClass( 'move-left-disabled' );
+                                               } else if ( 10 === context.currentDepth ) {
+                                                       menuItemControl.container.addClass( 'move-right-disabled' );
+                                               }
+                                       });
+
+                                       currentMenuItemControls[0].container
+                                               .addClass( 'move-up-disabled' )
+                                               .addClass( 'move-right-disabled' )
+                                               .toggleClass( 'move-down-disabled', 1 === currentMenuItemControls.length );
+                                       currentMenuItemControls[ currentMenuItemControls.length - 1 ].container
+                                               .addClass( 'move-down-disabled' )
+                                               .toggleClass( 'move-up-disabled', 1 === currentMenuItemControls.length );
+                               }
+                       };
+
+                       reflowRecursively( {
+                               menuItemControls: menuItemControls,
+                               currentParent: 0,
+                               currentDepth: 0,
+                               currentAbsolutePosition: 0
+                       } );
+
+                       menuControl.container.find( '.reorder-toggle' ).toggle( menuItemControls.length > 1 );
+               },
+
+               /**
+                * Note that this function gets debounced so that when a lot of setting
+                * changes are made at once, for instance when moving a menu item that
+                * has child items, this function will only be called once all of the
+                * settings have been updated.
+                */
+               debouncedReflowMenuItems: _.debounce( function() {
+                       this.reflowMenuItems.apply( this, arguments );
+               }, 0 ),
+
+               /**
+                * Add a new item to this menu.
+                *
+                * @param {object} item - Value for the nav_menu_item setting to be created.
+                * @returns {wp.customize.Menus.controlConstructor.nav_menu_item} The newly-created nav_menu_item control instance.
+                */
+               addItemToMenu: function( item ) {
+                       var menuControl = this, customizeId, settingArgs, setting, menuItemControl, placeholderId, position = 0, priority = 10;
+
+                       _.each( menuControl.getMenuItemControls(), function( control ) {
+                               if ( false === control.setting() ) {
+                                       return;
+                               }
+                               priority = Math.max( priority, control.priority() );
+                               if ( 0 === control.setting().menu_item_parent ) {
+                                       position = Math.max( position, control.setting().position );
+                               }
+                       });
+                       position += 1;
+                       priority += 1;
+
+                       item = $.extend(
+                               {},
+                               api.Menus.data.defaultSettingValues.nav_menu_item,
+                               item,
+                               {
+                                       nav_menu_term_id: menuControl.params.menu_id,
+                                       original_title: item.title,
+                                       position: position
+                               }
+                       );
+                       delete item.id; // only used by Backbone
+
+                       placeholderId = api.Menus.generatePlaceholderAutoIncrementId();
+                       customizeId = 'nav_menu_item[' + String( placeholderId ) + ']';
+                       settingArgs = {
+                               type: 'nav_menu_item',
+                               transport: 'postMessage',
+                               previewer: api.previewer
+                       };
+                       setting = api.create( customizeId, customizeId, {}, settingArgs );
+                       setting.set( item ); // Change from initial empty object to actual item to mark as dirty.
+
+                       // Add the menu item control.
+                       menuItemControl = new api.controlConstructor.nav_menu_item( customizeId, {
+                               params: {
+                                       type: 'nav_menu_item',
+                                       content: '<li id="customize-control-nav_menu_item-' + String( placeholderId ) + '" class="customize-control customize-control-nav_menu_item"></li>',
+                                       section: menuControl.id,
+                                       priority: priority,
+                                       active: true,
+                                       settings: {
+                                               'default': customizeId
+                                       },
+                                       menu_item_id: placeholderId
+                               },
+                               previewer: api.previewer
+                       } );
+
+                       api.control.add( customizeId, menuItemControl );
+                       setting.preview();
+                       menuControl.debouncedReflowMenuItems();
+
+                       wp.a11y.speak( api.Menus.data.l10n.itemAdded );
+
+                       return menuItemControl;
+               }
+       } );
+
+       /**
+        * wp.customize.Menus.NewMenuControl
+        *
+        * Customizer control for creating new menus and handling deletion of existing menus.
+        * Note that 'new_menu' must match the WP_Customize_New_Menu_Control::$type.
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Menus.NewMenuControl = api.Control.extend({
+               /**
+                * Set up the control.
+                */
+               ready: function() {
+                       this._bindHandlers();
+               },
+
+               _bindHandlers: function() {
+                       var self = this,
+                               name = $( '#customize-control-new_menu_name input' ),
+                               submit = $( '#create-new-menu-submit' );
+                       name.on( 'keydown', function( event ) {
+                               if ( 13 === event.which ) { // Enter.
+                                       self.submit();
+                               }
+                       } );
+                       submit.on( 'click', function( event ) {
+                               self.submit();
+                               event.stopPropagation();
+                               event.preventDefault();
+                       } );
+               },
+
+               /**
+                * Create the new menu with the name supplied.
+                */
+               submit: function() {
+
+                       var control = this,
+                               container = control.container.closest( '.accordion-section-new-menu' ),
+                               nameInput = container.find( '.menu-name-field' ).first(),
+                               name = nameInput.val(),
+                               menuSection,
+                               customizeId,
+                               placeholderId = api.Menus.generatePlaceholderAutoIncrementId();
+
+                       if ( ! name ) {
+                               nameInput.addClass( 'invalid' );
+                               nameInput.focus();
+                               return;
+                       }
+
+                       customizeId = 'nav_menu[' + String( placeholderId ) + ']';
+
+                       // Register the menu control setting.
+                       api.create( customizeId, customizeId, {}, {
+                               type: 'nav_menu',
+                               transport: 'postMessage',
+                               previewer: api.previewer
+                       } );
+                       api( customizeId ).set( $.extend(
+                               {},
+                               api.Menus.data.defaultSettingValues.nav_menu,
+                               {
+                                       name: name
+                               }
+                       ) );
+
+                       /*
+                        * Add the menu section (and its controls).
+                        * Note that this will automatically create the required controls
+                        * inside via the Section's ready method.
+                        */
+                       menuSection = new api.Menus.MenuSection( customizeId, {
+                               params: {
+                                       id: customizeId,
+                                       panel: 'nav_menus',
+                                       title: displayNavMenuName( name ),
+                                       customizeAction: api.Menus.data.l10n.customizingMenus,
+                                       type: 'nav_menu',
+                                       priority: 10,
+                                       menu_id: placeholderId
+                               }
+                       } );
+                       api.section.add( customizeId, menuSection );
+
+                       // Clear name field.
+                       nameInput.val( '' );
+                       nameInput.removeClass( 'invalid' );
+
+                       wp.a11y.speak( api.Menus.data.l10n.menuAdded );
+
+                       // Focus on the new menu section.
+                       api.section( customizeId ).focus(); // @todo should we focus on the new menu's control and open the add-items panel? Thinking user flow...
+
+                       // Fix an issue with extra space at top immediately after creating new menu.
+                       $( '#menu-to-edit' ).css( 'margin-top', 0 );
+               }
+       });
+
+       /**
+        * Extends wp.customize.controlConstructor with control constructor for
+        * menu_location, menu_item, nav_menu, and new_menu.
+        */
+       $.extend( api.controlConstructor, {
+               nav_menu_location: api.Menus.MenuLocationControl,
+               nav_menu_item: api.Menus.MenuItemControl,
+               nav_menu: api.Menus.MenuControl,
+               nav_menu_name: api.Menus.MenuNameControl,
+               nav_menu_auto_add: api.Menus.MenuAutoAddControl,
+               new_menu: api.Menus.NewMenuControl
+       });
+
+       /**
+        * Extends wp.customize.panelConstructor with section constructor for menus.
+        */
+       $.extend( api.panelConstructor, {
+               nav_menus: api.Menus.MenusPanel
+       });
+
+       /**
+        * Extends wp.customize.sectionConstructor with section constructor for menu.
+        */
+       $.extend( api.sectionConstructor, {
+               nav_menu: api.Menus.MenuSection,
+               new_menu: api.Menus.NewMenuSection
+       });
+
+       /**
+        * Init Customizer for menus.
+        */
+       api.bind( 'ready', function() {
+
+               // Set up the menu items panel.
+               api.Menus.availableMenuItemsPanel = new api.Menus.AvailableMenuItemsPanelView({
+                       collection: api.Menus.availableMenuItems
+               });
+
+               api.bind( 'saved', function( data ) {
+                       if ( data.nav_menu_updates || data.nav_menu_item_updates ) {
+                               api.Menus.applySavedData( data );
+                       }
+               } );
+
+               api.previewer.bind( 'refresh', function() {
+                       api.previewer.refresh();
+               });
+       } );
+
+       /**
+        * When customize_save comes back with a success, make sure any inserted
+        * nav menus and items are properly re-added with their newly-assigned IDs.
+        *
+        * @param {object} data
+        * @param {array} data.nav_menu_updates
+        * @param {array} data.nav_menu_item_updates
+        */
+       api.Menus.applySavedData = function( data ) {
+
+               var insertedMenuIdMapping = {};
+
+               _( data.nav_menu_updates ).each(function( update ) {
+                       var oldCustomizeId, newCustomizeId, customizeId, oldSetting, newSetting, setting, settingValue, oldSection, newSection, wasSaved, widgetTemplate, navMenuCount;
+                       if ( 'inserted' === update.status ) {
+                               if ( ! update.previous_term_id ) {
+                                       throw new Error( 'Expected previous_term_id' );
+                               }
+                               if ( ! update.term_id ) {
+                                       throw new Error( 'Expected term_id' );
+                               }
+                               oldCustomizeId = 'nav_menu[' + String( update.previous_term_id ) + ']';
+                               if ( ! api.has( oldCustomizeId ) ) {
+                                       throw new Error( 'Expected setting to exist: ' + oldCustomizeId );
+                               }
+                               oldSetting = api( oldCustomizeId );
+                               if ( ! api.section.has( oldCustomizeId ) ) {
+                                       throw new Error( 'Expected control to exist: ' + oldCustomizeId );
+                               }
+                               oldSection = api.section( oldCustomizeId );
+
+                               settingValue = oldSetting.get();
+                               if ( ! settingValue ) {
+                                       throw new Error( 'Did not expect setting to be empty (deleted).' );
+                               }
+                               settingValue = $.extend( _.clone( settingValue ), update.saved_value );
+
+                               insertedMenuIdMapping[ update.previous_term_id ] = update.term_id;
+                               newCustomizeId = 'nav_menu[' + String( update.term_id ) + ']';
+                               newSetting = api.create( newCustomizeId, newCustomizeId, settingValue, {
+                                       type: 'nav_menu',
+                                       transport: 'postMessage',
+                                       previewer: api.previewer
+                               } );
+
+                               if ( oldSection.expanded() ) {
+                                       oldSection.collapse();
+                               }
+
+                               // Add the menu section.
+                               newSection = new api.Menus.MenuSection( newCustomizeId, {
+                                       params: {
+                                               id: newCustomizeId,
+                                               panel: 'nav_menus',
+                                               title: settingValue.name,
+                                               customizeAction: api.Menus.data.l10n.customizingMenus,
+                                               type: 'nav_menu',
+                                               priority: oldSection.priority.get(),
+                                               active: true,
+                                               menu_id: update.term_id
+                                       }
+                               } );
+
+                               // Add new control for the new menu.
+                               api.section.add( newCustomizeId, newSection );
+
+                               // Update the values for nav menus in Custom Menu controls.
+                               api.control.each( function( setting ) {
+                                       if ( ! setting.extended( api.controlConstructor.widget_form ) || 'nav_menu' !== setting.params.widget_id_base ) {
+                                               return;
+                                       }
+                                       var select, oldMenuOption, newMenuOption;
+                                       select = setting.container.find( 'select' );
+                                       oldMenuOption = select.find( 'option[value=' + String( update.previous_term_id ) + ']' );
+                                       newMenuOption = select.find( 'option[value=' + String( update.term_id ) + ']' );
+                                       newMenuOption.prop( 'selected', oldMenuOption.prop( 'selected' ) );
+                                       oldMenuOption.remove();
+                               } );
+
+                               // Delete the old placeholder nav_menu.
+                               oldSetting.callbacks.disable(); // Prevent setting triggering Customizer dirty state when set.
+                               oldSetting.set( false );
+                               oldSetting.preview();
+                               newSetting.preview();
+                               oldSetting._dirty = false;
+
+                               // Remove nav_menu section.
+                               oldSection.container.remove();
+                               api.section.remove( oldCustomizeId );
+
+                               // Update the nav_menu widget to reflect removed placeholder menu.
+                               navMenuCount = 0;
+                               api.each(function( setting ) {
+                                       if ( /^nav_menu\[/.test( setting.id ) && false !== setting() ) {
+                                               navMenuCount += 1;
+                                       }
+                               });
+                               widgetTemplate = $( '#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )' );
+                               widgetTemplate.find( '.nav-menu-widget-form-controls:first' ).toggle( 0 !== navMenuCount );
+                               widgetTemplate.find( '.nav-menu-widget-no-menus-message:first' ).toggle( 0 === navMenuCount );
+                               widgetTemplate.find( 'option[value=' + String( update.previous_term_id ) + ']' ).remove();
+
+                               // Update the nav_menu_locations[...] controls to remove the placeholder menus from the dropdown options.
+                               wp.customize.control.each(function( control ){
+                                       if ( /^nav_menu_locations\[/.test( control.id ) ) {
+                                               control.container.find( 'option[value=' + String( update.previous_term_id ) + ']' ).remove();
+                                       }
+                               });
+
+                               // Update nav_menu_locations to reference the new ID.
+                               api.each( function( setting ) {
+                                       var wasSaved = api.state( 'saved' ).get();
+                                       if ( /^nav_menu_locations\[/.test( setting.id ) && setting.get() === update.previous_term_id ) {
+                                               setting.set( update.term_id );
+                                               setting._dirty = false; // Not dirty because this is has also just been done on server in WP_Customize_Nav_Menu_Setting::update().
+                                               api.state( 'saved' ).set( wasSaved );
+                                               setting.preview();
+                                       }
+                               } );
+
+                               if ( oldSection.expanded.get() ) {
+                                       // @todo This doesn't seem to be working.
+                                       newSection.expand();
+                               }
+                       } else if ( 'updated' === update.status ) {
+                               customizeId = 'nav_menu[' + String( update.term_id ) + ']';
+                               if ( ! api.has( customizeId ) ) {
+                                       throw new Error( 'Expected setting to exist: ' + customizeId );
+                               }
+
+                               // Make sure the setting gets updated with its sanitized server value (specifically the conflict-resolved name).
+                               setting = api( customizeId );
+                               if ( ! _.isEqual( update.saved_value, setting.get() ) ) {
+                                       wasSaved = api.state( 'saved' ).get();
+                                       setting.set( update.saved_value );
+                                       setting._dirty = false;
+                                       api.state( 'saved' ).set( wasSaved );
+                               }
+                       }
+               } );
+
+               _( data.nav_menu_item_updates ).each(function( update ) {
+                       var oldCustomizeId, newCustomizeId, oldSetting, newSetting, settingValue, oldControl, newControl;
+                       if ( 'inserted' === update.status ) {
+                               if ( ! update.previous_post_id ) {
+                                       throw new Error( 'Expected previous_post_id' );
+                               }
+                               if ( ! update.post_id ) {
+                                       throw new Error( 'Expected post_id' );
+                               }
+                               oldCustomizeId = 'nav_menu_item[' + String( update.previous_post_id ) + ']';
+                               if ( ! api.has( oldCustomizeId ) ) {
+                                       throw new Error( 'Expected setting to exist: ' + oldCustomizeId );
+                               }
+                               oldSetting = api( oldCustomizeId );
+                               if ( ! api.control.has( oldCustomizeId ) ) {
+                                       throw new Error( 'Expected control to exist: ' + oldCustomizeId );
+                               }
+                               oldControl = api.control( oldCustomizeId );
+
+                               settingValue = oldSetting.get();
+                               if ( ! settingValue ) {
+                                       throw new Error( 'Did not expect setting to be empty (deleted).' );
+                               }
+                               settingValue = _.clone( settingValue );
+
+                               // If the menu was also inserted, then make sure it uses the new menu ID for nav_menu_term_id.
+                               if ( insertedMenuIdMapping[ settingValue.nav_menu_term_id ] ) {
+                                       settingValue.nav_menu_term_id = insertedMenuIdMapping[ settingValue.nav_menu_term_id ];
+                               }
+
+                               newCustomizeId = 'nav_menu_item[' + String( update.post_id ) + ']';
+                               newSetting = api.create( newCustomizeId, newCustomizeId, settingValue, {
+                                       type: 'nav_menu_item',
+                                       transport: 'postMessage',
+                                       previewer: api.previewer
+                               } );
+
+                               // Add the menu control.
+                               newControl = new api.controlConstructor.nav_menu_item( newCustomizeId, {
+                                       params: {
+                                               type: 'nav_menu_item',
+                                               content: '<li id="customize-control-nav_menu_item-' + String( update.post_id ) + '" class="customize-control customize-control-nav_menu_item"></li>',
+                                               menu_id: update.post_id,
+                                               section: 'nav_menu[' + String( settingValue.nav_menu_term_id ) + ']',
+                                               priority: oldControl.priority.get(),
+                                               active: true,
+                                               settings: {
+                                                       'default': newCustomizeId
+                                               },
+                                               menu_item_id: update.post_id
+                                       },
+                                       previewer: api.previewer
+                               } );
+
+                               // Remove old control.
+                               oldControl.container.remove();
+                               api.control.remove( oldCustomizeId );
+
+                               // Add new control to take its place.
+                               api.control.add( newCustomizeId, newControl );
+
+                               // Delete the placeholder and preview the new setting.
+                               oldSetting.callbacks.disable(); // Prevent setting triggering Customizer dirty state when set.
+                               oldSetting.set( false );
+                               oldSetting.preview();
+                               newSetting.preview();
+                               oldSetting._dirty = false;
+
+                               newControl.container.toggleClass( 'menu-item-edit-inactive', oldControl.container.hasClass( 'menu-item-edit-inactive' ) );
+                       }
+               });
+
+               /*
+                * Update the settings for any nav_menu widgets that had selected a placeholder ID.
+                */
+               _.each( data.widget_nav_menu_updates, function( widgetSettingValue, widgetSettingId ) {
+                       var setting = api( widgetSettingId );
+                       if ( setting ) {
+                               setting._value = widgetSettingValue;
+                               setting.preview(); // Send to the preview now so that menu refresh will use the inserted menu.
+                       }
+               });
+       };
+
+       /**
+        * Focus a menu item control.
+        *
+        * @param {string} menuItemId
+        */
+       api.Menus.focusMenuItemControl = function( menuItemId ) {
+               var control = api.Menus.getMenuItemControl( menuItemId );
+
+               if ( control ) {
+                       control.focus();
+               }
+       };
+
+       /**
+        * Get the control for a given menu.
+        *
+        * @param menuId
+        * @return {wp.customize.controlConstructor.menus[]}
+        */
+       api.Menus.getMenuControl = function( menuId ) {
+               return api.control( 'nav_menu[' + menuId + ']' );
+       };
+
+       /**
+        * Given a menu item ID, get the control associated with it.
+        *
+        * @param {string} menuItemId
+        * @return {object|null}
+        */
+       api.Menus.getMenuItemControl = function( menuItemId ) {
+               return api.control( menuItemIdToSettingId( menuItemId ) );
+       };
+
+       /**
+        * @param {String} menuItemId
+        */
+       function menuItemIdToSettingId( menuItemId ) {
+               return 'nav_menu_item[' + menuItemId + ']';
+       }
+
+       /**
+        * Apply sanitize_text_field()-like logic to the supplied name, returning a
+        * "unnammed" fallback string if the name is then empty.
+        *
+        * @param {string} name
+        * @returns {string}
+        */
+       function displayNavMenuName( name ) {
+               name = name || '';
+               name = $( '<div>' ).text( name ).html(); // Emulate esc_html() which is used in wp-admin/nav-menus.php.
+               name = $.trim( name );
+               return name || api.Menus.data.l10n.unnamed;
+       }
+
+})( wp.customize, wp, jQuery );
diff --git a/wp-admin/js/customize-nav-menus.min.js b/wp-admin/js/customize-nav-menus.min.js
new file mode 100644 (file)
index 0000000..ba99df7
--- /dev/null
@@ -0,0 +1,2 @@
+!function(a,b,c){"use strict";function d(a){return"nav_menu_item["+a+"]"}function e(b){return b=b||"",b=c("<div>").text(b).html(),b=c.trim(b),b||a.Menus.data.l10n.unnamed}wpNavMenu.originalInit=wpNavMenu.init,wpNavMenu.options.menuItemDepthPerLevel=20,wpNavMenu.options.sortableItems="> .customize-control-nav_menu_item",wpNavMenu.options.targetTolerance=10,wpNavMenu.init=function(){this.jQueryExtensions()},a.Menus=a.Menus||{},a.Menus.data={nonce:"",itemTypes:[],l10n:{},menuItemTransport:"postMessage",phpIntMax:0,defaultSettingValues:{nav_menu:{},nav_menu_item:{}}},"undefined"!=typeof _wpCustomizeNavMenusSettings&&c.extend(a.Menus.data,_wpCustomizeNavMenusSettings),a.Menus.generatePlaceholderAutoIncrementId=function(){return-Math.ceil(a.Menus.data.phpIntMax*Math.random())},a.Menus.AvailableItemModel=Backbone.Model.extend(c.extend({id:null},a.Menus.data.defaultSettingValues.nav_menu_item)),a.Menus.AvailableItemCollection=Backbone.Collection.extend({model:a.Menus.AvailableItemModel,sort_key:"order",comparator:function(a){return-a.get(this.sort_key)},sortByField:function(a){this.sort_key=a,this.sort()}}),a.Menus.availableMenuItems=new a.Menus.AvailableItemCollection(a.Menus.data.availableMenuItems),a.Menus.AvailableMenuItemsPanelView=b.Backbone.View.extend({el:"#available-menu-items",events:{"input #menu-items-search":"debounceSearch","keyup #menu-items-search":"debounceSearch","focus .menu-item-tpl":"focus","click .menu-item-tpl":"_submit","click #custom-menu-item-submit":"_submitLink","keypress #custom-menu-item-name":"_submitLink",keydown:"keyboardAccessible"},selected:null,currentMenuControl:null,debounceSearch:null,$search:null,searchTerm:"",rendered:!1,pages:{},sectionContent:"",loading:!1,initialize:function(){var b=this;this.$search=c("#menu-items-search"),this.sectionContent=this.$el.find(".accordion-section-content"),this.debounceSearch=_.debounce(b.search,500),_.bindAll(this,"close"),c("#customize-controls, .customize-section-back").on("click keydown",function(a){var d=c(a.target).is(".item-delete, .item-delete *"),e=c(a.target).is(".add-new-menu-item, .add-new-menu-item *");!c("body").hasClass("adding-menu-items")||d||e||b.close()}),c(".clear-results").on("click keydown",function(a){("keydown"!==a.type||13===a.which||32===a.which)&&(a.preventDefault(),c("#menu-items-search").val("").focus(),a.target.value="",b.search(a))}),this.$el.on("input","#custom-menu-item-name.invalid, #custom-menu-item-url.invalid",function(){c(this).removeClass("invalid")}),a.panel("nav_menus").container.bind("expanded",function(){b.rendered||(b.initList(),b.rendered=!0)}),this.sectionContent.scroll(function(){var a=b.$el.find(".accordion-section.open .accordion-section-content").prop("scrollHeight"),d=b.$el.find(".accordion-section.open").height();if(!b.loading&&c(this).scrollTop()>.75*a-d){var e=c(this).data("type"),f=c(this).data("object");"search"===e?b.searchTerm&&b.doSearch(b.pages.search):b.loadItems(e,f)}}),a.previewer.bind("url",this.close)},search:function(a){var b=c("#available-menu-items-search"),d=c("#available-menu-items .accordion-section").not(b);a&&this.searchTerm!==a.target.value&&(""===a.target.value||b.hasClass("open")?""===a.target.value&&(b.removeClass("open"),d.show(),b.find(".clear-results").prop("tabIndex",-1).removeClass("is-visible")):(d.fadeOut(100),b.find(".accordion-section-content").slideDown("fast"),b.addClass("open"),b.find(".clear-results").prop("tabIndex",0).addClass("is-visible")),this.searchTerm=a.target.value,this.pages.search=1,this.doSearch(1))},doSearch:function(d){var e,f=this,g=c("#available-menu-items-search"),h=g.find(".accordion-section-content"),i=b.template("available-menu-item");if(f.currentRequest&&f.currentRequest.abort(),!(0>d)){if(d>1)g.addClass("loading-more"),h.attr("aria-busy","true"),b.a11y.speak(a.Menus.data.l10n.itemsLoadingMore);else if(""===f.searchTerm)return h.html(""),void b.a11y.speak("");g.addClass("loading"),f.loading=!0,e={"customize-menus-nonce":a.Menus.data.nonce,wp_customize:"on",search:f.searchTerm,page:d},f.currentRequest=b.ajax.post("search-available-menu-items-customizer",e),f.currentRequest.done(function(c){var e;1===d&&h.empty(),g.removeClass("loading loading-more"),h.attr("aria-busy","false"),g.addClass("open"),f.loading=!1,e=new a.Menus.AvailableItemCollection(c.items),f.collection.add(e.models),e.each(function(a){h.append(i(a.attributes))}),20>e.length?f.pages.search=-1:f.pages.search=f.pages.search+1,e&&d>1?b.a11y.speak(a.Menus.data.l10n.itemsFoundMore.replace("%d",e.length)):e&&1===d&&b.a11y.speak(a.Menus.data.l10n.itemsFound.replace("%d",e.length))}),f.currentRequest.fail(function(a){a.message&&(h.empty().append(c('<p class="nothing-found"></p>').text(a.message)),b.a11y.speak(a.message)),f.pages.search=-1}),f.currentRequest.always(function(){g.removeClass("loading loading-more"),h.attr("aria-busy","false"),f.loading=!1,f.currentRequest=null})}},initList:function(){var b=this;_.each(a.Menus.data.itemTypes,function(a){b.pages[a.type+":"+a.object]=0,b.loadItems(a.type,a.object)})},loadItems:function(d,e){var f,g,h,i,j=this;h=b.template("available-menu-item"),-1!==j.pages[d+":"+e]&&(i=c("#available-menu-items-"+d+"-"+e),i.find(".accordion-section-title").addClass("loading"),j.loading=!0,f={"customize-menus-nonce":a.Menus.data.nonce,wp_customize:"on",type:d,object:e,page:j.pages[d+":"+e]},g=b.ajax.post("load-available-menu-items-customizer",f),g.done(function(b){var c,f;return c=b.items,0===c.length?(0===j.pages[d+":"+e]&&i.addClass("cannot-expand").removeClass("loading").find(".accordion-section-title > button").prop("tabIndex",-1),void(j.pages[d+":"+e]=-1)):(c=new a.Menus.AvailableItemCollection(c),j.collection.add(c.models),f=i.find(".accordion-section-content"),c.each(function(a){f.append(h(a.attributes))}),void(j.pages[d+":"+e]+=1))}),g.fail(function(a){"undefined"!=typeof console&&console.error&&console.error(a)}),g.always(function(){i.find(".accordion-section-title").removeClass("loading"),j.loading=!1}))},itemSectionHeight:function(){var a,b,c,d;b=window.innerHeight,a=this.$el.find(".accordion-section:not( #available-menu-items-search ) .accordion-section-content"),c=46*(2+a.length)-13,d=b-c,d>120&&290>d&&a.css("max-height",d)},select:function(a){this.selected=c(a),this.selected.siblings(".menu-item-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(c(a.currentTarget))},_submit:function(a){("keypress"!==a.type||13===a.which||32===a.which)&&this.submit(c(a.currentTarget))},submit:function(a){var b,d;a||(a=this.selected),a&&this.currentMenuControl&&(this.select(a),b=c(this.selected).data("menu-item-id"),d=this.collection.findWhere({id:b}),d&&(this.currentMenuControl.addItemToMenu(d.attributes),c(a).find(".menu-item-handle").addClass("item-added")))},_submitLink:function(a){("keypress"!==a.type||13===a.which)&&this.submitLink()},submitLink:function(){var b,d=c("#custom-menu-item-name"),e=c("#custom-menu-item-url");if(this.currentMenuControl){if(""===d.val())return void d.addClass("invalid");if(""===e.val()||"http://"===e.val())return void e.addClass("invalid");b={title:d.val(),url:e.val(),type:"custom",type_label:a.Menus.data.l10n.custom_label,object:""},this.currentMenuControl.addItemToMenu(b),e.val("http://"),d.val("")}},open:function(a){this.currentMenuControl=a,this.itemSectionHeight(),c("body").addClass("adding-menu-items"),_(this.currentMenuControl.getMenuItemControls()).each(function(a){a.collapseForm()}),this.$el.find(".selected").removeClass("selected"),this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentMenuControl&&this.currentMenuControl.container.find(".add-new-menu-item").focus(),this.currentMenuControl=null,this.selected=null,c("body").removeClass("adding-menu-items"),c("#available-menu-items .menu-item-handle.item-added").removeClass("item-added"),this.$search.val("")},keyboardAccessible:function(a){var b=13===a.which,d=27===a.which,e=9===a.which&&a.shiftKey,f=c(a.target).is(this.$search);(!b||this.$search.val())&&(f&&e?(this.currentMenuControl.container.find(".add-new-menu-item").focus(),a.preventDefault()):d&&this.close({returnFocus:!0}))}}),a.Menus.MenusPanel=a.Panel.extend({attachEvents:function(){a.Panel.prototype.attachEvents.call(this);var b=this,d=b.container.find(".panel-meta"),e=d.find(".customize-help-toggle"),f=d.find(".customize-panel-description"),g=c("#screen-options-wrap"),h=d.find(".customize-screen-options-toggle");h.on("click keydown",function(b){return a.utils.isKeydownButNotEnterEvent(b)?void 0:(b.preventDefault(),f.not(":hidden")&&(f.slideUp("fast"),e.attr("aria-expanded","false")),"true"===h.attr("aria-expanded")?(h.attr("aria-expanded","false"),d.removeClass("open"),d.removeClass("active-menu-screen-options"),g.slideUp("fast")):(h.attr("aria-expanded","true"),d.addClass("open"),d.addClass("active-menu-screen-options"),g.slideDown("fast")),!1)}),e.on("click keydown",function(b){a.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),"true"===h.attr("aria-expanded")&&(h.attr("aria-expanded","false"),e.attr("aria-expanded","true"),d.addClass("open"),d.removeClass("active-menu-screen-options"),g.slideUp("fast"),f.slideDown("fast")))})},ready:function(){var a=this;this.container.find(".hide-column-tog").click(function(){var b=c(this),d=b.val();b.prop("checked")?a.checked(d):a.unchecked(d),a.saveManageColumnsState()}),this.container.find(".hide-column-tog").each(function(){var b=c(this),d=b.val();b.prop("checked")?a.checked(d):a.unchecked(d)})},saveManageColumnsState:function(){var a=this.hidden();c.post(b.ajax.settings.url,{action:"hidden-columns",hidden:a,screenoptionnonce:c("#screenoptionnonce").val(),page:"nav-menus"})},checked:function(a){this.container.addClass("field-"+a+"-active")},unchecked:function(a){this.container.removeClass("field-"+a+"-active")},hidden:function(){this.hidden=function(){return c(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(a,a.length-5)}).get().join(",")}}}),a.Menus.MenuSection=a.Section.extend({initialize:function(b,d){var e=this;a.Section.prototype.initialize.call(e,b,d),e.deferred.initSortables=c.Deferred()},ready:function(){var b=this;if("undefined"==typeof b.params.menu_id)throw new Error("params.menu_id was not defined");b.active.validate=function(){return a.has(b.id)?!!a(b.id).get():!1},b.populateControls(),b.navMenuLocationSettings={},b.assignedLocations=new a.Value([]),a.each(function(a,c){var d=c.match(/^nav_menu_locations\[(.+?)]/);d&&(b.navMenuLocationSettings[d[1]]=a,a.bind(function(){b.refreshAssignedLocations()}))}),b.assignedLocations.bind(function(a){b.updateAssignedLocationsInSectionTitle(a)}),b.refreshAssignedLocations(),a.bind("pane-contents-reflowed",function(){b.container.parent().length&&(b.container.find(".menu-item .menu-item-reorder-nav button").attr({tabindex:"0","aria-hidden":"false"}),b.container.find(".menu-item.move-up-disabled .menus-move-up").attr({tabindex:"-1","aria-hidden":"true"}),b.container.find(".menu-item.move-down-disabled .menus-move-down").attr({tabindex:"-1","aria-hidden":"true"}),b.container.find(".menu-item.move-left-disabled .menus-move-left").attr({tabindex:"-1","aria-hidden":"true"}),b.container.find(".menu-item.move-right-disabled .menus-move-right").attr({tabindex:"-1","aria-hidden":"true"}))})},populateControls:function(){var b,c,d,e,f,g=this;b=g.id+"[name]",e=a.control(b),e||(e=new a.controlConstructor.nav_menu_name(b,{params:{type:"nav_menu_name",content:'<li id="customize-control-'+g.id.replace("[","-").replace("]","")+'-name" class="customize-control customize-control-nav_menu_name"></li>',label:a.Menus.data.l10n.menuNameLabel,active:!0,section:g.id,priority:0,settings:{"default":g.id}}}),a.control.add(e.id,e),e.active.set(!0)),d=a.control(g.id),d||(d=new a.controlConstructor.nav_menu(g.id,{params:{type:"nav_menu",content:'<li id="customize-control-'+g.id.replace("[","-").replace("]","")+'" class="customize-control customize-control-nav_menu"></li>',section:g.id,priority:998,active:!0,settings:{"default":g.id},menu_id:g.params.menu_id}}),a.control.add(d.id,d),d.active.set(!0)),c=g.id+"[auto_add]",f=a.control(c),f||(f=new a.controlConstructor.nav_menu_auto_add(c,{params:{type:"nav_menu_auto_add",content:'<li id="customize-control-'+g.id.replace("[","-").replace("]","")+'-auto-add" class="customize-control customize-control-nav_menu_auto_add"></li>',label:"",active:!0,section:g.id,priority:999,settings:{"default":g.id}}}),a.control.add(f.id,f),f.active.set(!0))},refreshAssignedLocations:function(){var a=this,b=a.params.menu_id,c=[];_.each(a.navMenuLocationSettings,function(a,d){a()===b&&c.push(d)}),a.assignedLocations.set(c)},updateAssignedLocationsInSectionTitle:function(b){var d,e=this;d=e.container.find(".accordion-section-title:first"),d.find(".menu-in-location").remove(),_.each(b,function(b){var e=c('<span class="menu-in-location"></span>');e.text(a.Menus.data.l10n.menuLocation.replace("%s",b)),d.append(e)}),e.container.toggleClass("assigned-to-menu-location",0!==b.length)},onChangeExpanded:function(b,d){var e=this;b&&(wpNavMenu.menuList=e.container.find(".accordion-section-content:first"),wpNavMenu.targetList=wpNavMenu.menuList,c("#menu-to-edit").removeAttr("id"),wpNavMenu.menuList.attr("id","menu-to-edit").addClass("menu"),_.each(a.section(e.id).controls(),function(a){"nav_menu_item"===a.params.type&&a.actuallyEmbed()}),"resolved"!==e.deferred.initSortables.state()&&(wpNavMenu.initSortables(),e.deferred.initSortables.resolve(wpNavMenu.menuList),a.control("nav_menu["+String(e.params.menu_id)+"]").reflowMenuItems())),a.Section.prototype.onChangeExpanded.call(e,b,d)}}),a.Menus.NewMenuSection=a.Section.extend({attachEvents:function(){var a=this;this.container.on("click",".add-menu-toggle",function(){a.expanded()?a.collapse():a.expand()})},onChangeExpanded:function(a){var b=this,c=b.container.find(".add-menu-toggle"),d=b.container.find(".new-menu-section-content"),e=b.container.closest(".wp-full-overlay-sidebar-content");a?(c.addClass("open"),c.attr("aria-expanded","true"),d.slideDown("fast",function(){e.scrollTop(e.height())})):(c.removeClass("open"),c.attr("aria-expanded","false"),d.slideUp("fast"),d.find(".menu-name-field").removeClass("invalid"))}}),a.Menus.MenuLocationControl=a.Control.extend({initialize:function(b,c){var d=this,e=b.match(/^nav_menu_locations\[(.+?)]/);d.themeLocation=e[1],a.Control.prototype.initialize.call(d,b,c)},ready:function(){var b=this,c=/^nav_menu\[(-?\d+)]/;b.setting.validate=function(a){return parseInt(a,10)},a.bind("add",function(a){var d,f,g=a.id.match(c);g&&!1!==a()&&(f=g[1],d=new Option(e(a().name),f),b.container.find("select").append(d))}),a.bind("remove",function(a){var d,e=a.id.match(c);e&&(d=parseInt(e[1],10),b.setting()===d&&b.setting.set(""),b.container.find("option[value="+d+"]").remove())}),a.bind("change",function(a){var d,f=a.id.match(c);f&&(d=parseInt(f[1],10),!1===a()?(b.setting()===d&&b.setting.set(""),b.container.find("option[value="+d+"]").remove()):b.container.find("option[value="+d+"]").text(e(a().name)))})}}),a.Menus.MenuItemControl=a.Control.extend({initialize:function(b,c){var d=this;a.Control.prototype.initialize.call(d,b,c),d.active.validate=function(){var b,c=a.section(d.section());return b=c?c.active():!1}},embed:function(){var b,c=this,d=c.section();d&&(b=a.section(d),b&&b.expanded()&&c.actuallyEmbed())},actuallyEmbed:function(){var a=this;"resolved"!==a.deferred.embedded.state()&&(a.renderContent(),a.deferred.embedded.resolve())},ready:function(){if("undefined"==typeof this.params.menu_item_id)throw new Error("params.menu_item_id was not defined");this._setupControlToggle(),this._setupReorderUI(),this._setupUpdateUI(),this._setupRemoveUI(),this._setupLinksUI(),this._setupTitleUI()},_setupControlToggle:function(){var a=this;this.container.find(".menu-item-handle").on("click",function(b){b.preventDefault(),b.stopPropagation();var c=a.getMenuControl();c.isReordering||c.isSorting||a.toggleForm()})},_setupReorderUI:function(){var a,d,e=this;a=b.template("menu-item-reorder-nav"),e.container.find(".item-controls").after(a),d=e.container.find(".menu-item-reorder-nav"),d.find(".menus-move-up, .menus-move-down, .menus-move-left, .menus-move-right").on("click",function(){var a=c(this);a.focus();var b=a.is(".menus-move-up"),d=a.is(".menus-move-down"),f=a.is(".menus-move-left"),g=a.is(".menus-move-right");b?e.moveUp():d?e.moveDown():f?e.moveLeft():g&&e.moveRight(),a.focus()})},_setupUpdateUI:function(){var b=this,c=b.setting();b.elements={},b.elements.url=new a.Element(b.container.find(".edit-menu-item-url")),b.elements.title=new a.Element(b.container.find(".edit-menu-item-title")),b.elements.attr_title=new a.Element(b.container.find(".edit-menu-item-attr-title")),b.elements.target=new a.Element(b.container.find(".edit-menu-item-target")),b.elements.classes=new a.Element(b.container.find(".edit-menu-item-classes")),b.elements.xfn=new a.Element(b.container.find(".edit-menu-item-xfn")),b.elements.description=new a.Element(b.container.find(".edit-menu-item-description")),_.each(b.elements,function(a,d){a.bind(function(c){a.element.is("input[type=checkbox]")&&(c=c?a.element.val():"");var e=b.setting();e&&e[d]!==c&&(e=_.clone(e),e[d]=c,b.setting.set(e))}),c&&a.set(c[d])}),b.setting.bind(function(c,d){var e,f=b.params.menu_item_id,g=[],h=[];!1===c?(e=a.control("nav_menu["+String(d.nav_menu_term_id)+"]"),b.container.remove(),_.each(e.getMenuItemControls(),function(a){d.menu_item_parent===a.setting().menu_item_parent&&a.setting().position>d.position?g.push(a):a.setting().menu_item_parent===f&&h.push(a)}),_.each(g,function(a){var b=_.clone(a.setting());b.position+=h.length,a.setting.set(b)}),_.each(h,function(a,b){var c=_.clone(a.setting());c.position=d.position+b,c.menu_item_parent=d.menu_item_parent,a.setting.set(c)}),e.debouncedReflowMenuItems()):(_.each(c,function(a,d){b.elements[d]&&b.elements[d].set(c[d])}),b.container.find(".menu-item-data-parent-id").val(c.menu_item_parent),(c.position!==d.position||c.menu_item_parent!==d.menu_item_parent)&&b.getMenuControl().debouncedReflowMenuItems())})},_setupRemoveUI:function(){var d,e=this;d=e.container.find(".item-delete"),d.on("click",function(){var d,f,g,h=!0;c("body").hasClass("adding-menu-items")||(h=!1),f=e.container.nextAll(".customize-control-nav_menu_item:visible").first(),g=e.container.prevAll(".customize-control-nav_menu_item:visible").first(),d=f.length?f.find(!1===h?".item-edit":".item-delete").first():g.length?g.find(!1===h?".item-edit":".item-delete").first():e.container.nextAll(".customize-control-nav_menu").find(".add-new-menu-item").first(),e.container.slideUp(function(){e.setting.set(!1),b.a11y.speak(a.Menus.data.l10n.itemDeleted),d.focus()})})},_setupLinksUI:function(){var b;b=this.container.find("a.original-link"),b.on("click",function(b){b.preventDefault(),a.previewer.previewUrl(b.target.toString())})},_setupTitleUI:function(){var b=this;b.setting.bind(function(c){if(c){var d=b.container.find(".menu-item-title");c.title?d.text(c.title).removeClass("no-title"):d.text(a.Menus.data.l10n.untitled).addClass("no-title")}})},getDepth:function(){var b=this,c=b.setting(),d=0;if(!c)return 0;for(;c&&c.menu_item_parent&&(d+=1,b=a.control("nav_menu_item["+c.menu_item_parent+"]"));)c=b.setting();return d},renderContent:function(){var b,c=this,d=c.setting();c.params.title=d.title||"",c.params.depth=c.getDepth(),c.container.data("item-depth",c.params.depth),b=["menu-item","menu-item-depth-"+String(c.params.depth),"menu-item-"+d.object,"menu-item-edit-inactive"],d.invalid?(b.push("invalid"),c.params.title=a.Menus.data.invalidTitleTpl.replace("%s",c.params.title)):"draft"===d.status&&(b.push("pending"),c.params.title=a.Menus.data.pendingTitleTpl.replace("%s",c.params.title)),c.params.el_classes=b.join(" "),c.params.item_type_label=d.type_label,c.params.item_type=d.type,c.params.url=d.url,c.params.target=d.target,c.params.attr_title=d.attr_title,c.params.classes=_.isArray(d.classes)?d.classes.join(" "):d.classes,c.params.attr_title=d.attr_title,c.params.xfn=d.xfn,c.params.description=d.description,c.params.parent=d.menu_item_parent,c.params.original_title=d.original_title||"",c.container.addClass(c.params.el_classes),a.Control.prototype.renderContent.call(c)},getMenuControl:function(){var b=this,c=b.setting();return c&&c.nav_menu_term_id?a.control("nav_menu["+c.nav_menu_term_id+"]"):null},expandControlSection:function(){var a=this.container.closest(".accordion-section");a.hasClass("open")||a.find(".accordion-section-title:first").trigger("click")},expandForm:function(){this.toggleForm(!0)},collapseForm:function(){this.toggleForm(!1)},toggleForm:function(b){var c,d,e,f=this;c=this.container,d=c.find(".menu-item-settings:first"),"undefined"==typeof b&&(b=!d.is(":visible")),d.is(":visible")!==b&&(b?(a.control.each(function(a){f.params.type===a.params.type&&f!==a&&a.collapseForm()}),e=function(){c.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active"),f.container.trigger("expanded")},c.find(".item-edit").attr("aria-expanded","true"),d.slideDown("fast",e),f.container.trigger("expand")):(e=function(){c.addClass("menu-item-edit-inactive").removeClass("menu-item-edit-active"),f.container.trigger("collapsed")},f.container.trigger("collapse"),c.find(".item-edit").attr("aria-expanded","false"),d.slideUp("fast",e)))},focus:function(){this.expandControlSection(),this.expandForm(),this.container.find(".menu-item-settings :focusable:first").focus()},moveUp:function(){this._changePosition(-1),b.a11y.speak(a.Menus.data.l10n.movedUp)},moveDown:function(){this._changePosition(1),b.a11y.speak(a.Menus.data.l10n.movedDown)},moveLeft:function(){this._changeDepth(-1),b.a11y.speak(a.Menus.data.l10n.movedLeft)},moveRight:function(){this._changeDepth(1),b.a11y.speak(a.Menus.data.l10n.movedRight)},_changePosition:function(a){var b,d,e=this,f=_.clone(e.setting()),g=[];if(1!==a&&-1!==a)throw new Error("Offset changes by 1 are only supported.");if(e.setting()){if(_(e.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===f.menu_item_parent&&g.push(a.setting)}),g.sort(function(a,b){return a().position-b().position}),d=_.indexOf(g,e.setting),-1===d)throw new Error("Expected setting to be among siblings.");0===d&&0>a||d===g.length-1&&a>0||(b=g[d+a],b&&b.set(c.extend(_.clone(b()),{position:f.position})),f.position+=a,e.setting.set(f))}},_changeDepth:function(b){if(1!==b&&-1!==b)throw new Error("Offset changes by 1 are only supported.");var d,e,f,g=this,h=_.clone(g.setting()),i=[];if(_(g.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===h.menu_item_parent&&i.push(a)}),i.sort(function(a,b){return a.setting().position-b.setting().position}),d=_.indexOf(i,g),-1===d)throw new Error("Expected control to be among siblings.");if(-1===b){if(!h.menu_item_parent)return;f=a.control("nav_menu_item["+h.menu_item_parent+"]"),_(i).chain().slice(d).each(function(a,b){a.setting.set(c.extend({},a.setting(),{menu_item_parent:g.params.menu_item_id,position:b}))}),_(g.getMenuControl().getMenuItemControls()).each(function(a){var b,d;d=a.setting().menu_item_parent===f.setting().menu_item_parent&&a.setting().position>f.setting().position,d&&(b=_.clone(a.setting()),a.setting.set(c.extend(b,{position:b.position+1})))}),h.position=f.setting().position+1,h.menu_item_parent=f.setting().menu_item_parent,g.setting.set(h)}else if(1===b){if(0===d)return;e=i[d-1],h.menu_item_parent=e.params.menu_item_id,h.position=0,_(g.getMenuControl().getMenuItemControls()).each(function(a){a.setting().menu_item_parent===h.menu_item_parent&&(h.position=Math.max(h.position,a.setting().position))}),h.position+=1,g.setting.set(h)}}}),a.Menus.MenuNameControl=a.Control.extend({ready:function(){var b=this,c=b.setting();b.active.validate=function(){var c,d=a.section(b.section());return c=d?d.active():!1},b.nameElement=new a.Element(b.container.find(".menu-name-field")),b.nameElement.bind(function(a){var c=b.setting();c&&c.name!==a&&(c=_.clone(c),c.name=a,b.setting.set(c))}),c&&b.nameElement.set(c.name),b.setting.bind(function(a){a&&b.nameElement.set(a.name)})}}),a.Menus.MenuAutoAddControl=a.Control.extend({ready:function(){var b=this,c=b.setting();b.active.validate=function(){var c,d=a.section(b.section());return c=d?d.active():!1},b.autoAddElement=new a.Element(b.container.find("input[type=checkbox].auto_add")),b.autoAddElement.bind(function(a){var c=b.setting();c&&c.name!==a&&(c=_.clone(c),c.auto_add=a,b.setting.set(c))}),c&&b.autoAddElement.set(c.auto_add),b.setting.bind(function(a){a&&b.autoAddElement.set(a.auto_add)})}}),a.Menus.MenuControl=a.Control.extend({ready:function(){var b,d,f,g=this,h=g.params.menu_id,i=g.setting();if("undefined"==typeof this.params.menu_id)throw new Error("params.menu_id was not defined");g.active.validate=function(){var b,c=a.section(g.section());return b=c?c.active():!1},g.$controlSection=g.container.closest(".control-section"),g.$sectionContent=g.container.closest(".accordion-section-content"),this._setupModel(),a.section(g.section(),function(a){a.deferred.initSortables.done(function(a){g._setupSortable(a)})}),this._setupAddition(),this._setupLocations(),this._setupTitle(),i&&(b=e(i.name),a.control.each(function(c){c.extended(a.controlConstructor.widget_form)&&"nav_menu"===c.params.widget_id_base&&(c.container.find(".nav-menu-widget-form-controls:first").show(),c.container.find(".nav-menu-widget-no-menus-message:first").hide(),f=c.container.find("select"),0===f.find("option[value="+String(h)+"]").length&&f.append(new Option(b,h)))}),d=c("#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )"),d.find(".nav-menu-widget-form-controls:first").show(),d.find(".nav-menu-widget-no-menus-message:first").hide(),f=d.find(".widget-inside select:first"),0===f.find("option[value="+String(h)+"]").length&&f.append(new Option(b,h)))},_setupModel:function(){var b=this,c=b.params.menu_id;b.setting.bind(function(d){var f;!1===d?b._handleDeletion():(f=e(d.name),a.control.each(function(b){if(b.extended(a.controlConstructor.widget_form)&&"nav_menu"===b.params.widget_id_base){var d=b.container.find("select");d.find("option[value="+String(c)+"]").text(f)}}))}),b.container.find(".menu-delete").on("click",function(a){a.stopPropagation(),a.preventDefault(),b.setting.set(!1)})},_setupSortable:function(b){var c=this;if(!b.is(c.$sectionContent))throw new Error("Unexpected menuList.");b.on("sortstart",function(){c.isSorting=!0}),b.on("sortstop",function(){setTimeout(function(){var b=c.$sectionContent.sortable("toArray"),d=[],e=0,f=10;c.isSorting=!1,_.each(b,function(b){var c,e,f;f=b.match(/^customize-control-nav_menu_item-(-?\d+)$/,""),f&&(c=parseInt(f[1],10),e=a.control("nav_menu_item["+String(c)+"]"),e&&d.push(e))}),_.each(d,function(a){if(!1!==a.setting()){var b=_.clone(a.setting());e+=1,f+=1,b.position=e,a.priority(f),b.menu_item_parent=parseInt(a.container.find(".menu-item-data-parent-id").val(),10),b.menu_item_parent||(b.menu_item_parent=0),a.setting.set(b)}})})}),c.isReordering=!1,this.container.find(".reorder-toggle").on("click",function(){c.toggleReordering(!c.isReordering)})},_setupAddition:function(){var b=this;this.container.find(".add-new-menu-item").on("click",function(d){b.$sectionContent.hasClass("reordering")||(c("body").hasClass("adding-menu-items")?(c(this).attr("aria-expanded","false"),a.Menus.availableMenuItemsPanel.close(),d.stopPropagation()):(c(this).attr("aria-expanded","true"),a.Menus.availableMenuItemsPanel.open(b)))})},_handleDeletion:function(){var d,e,f,g=this,h=g.params.menu_id,i=0;d=a.section(g.section()),e=function(){d.container.remove(),a.section.remove(d.id)},d&&d.expanded()?d.collapse({completeCallback:function(){e(),b.a11y.speak(a.Menus.data.l10n.menuDeleted),a.panel("nav_menus").focus()}}):e(),a.each(function(a){/^nav_menu\[/.test(a.id)&&!1!==a()&&(i+=1)}),a.control.each(function(b){if(b.extended(a.controlConstructor.widget_form)&&"nav_menu"===b.params.widget_id_base){var c=b.container.find("select");c.val()===String(h)&&c.prop("selectedIndex",0).trigger("change"),b.container.find(".nav-menu-widget-form-controls:first").toggle(0!==i),b.container.find(".nav-menu-widget-no-menus-message:first").toggle(0===i),b.container.find("option[value="+String(h)+"]").remove()}}),f=c("#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )"),f.find(".nav-menu-widget-form-controls:first").toggle(0!==i),f.find(".nav-menu-widget-no-menus-message:first").toggle(0===i),f.find("option[value="+String(h)+"]").remove()},_setupLocations:function(){var b=this;b.container.find(".assigned-menu-location").each(function(){var d,f,g=c(this),h=g.find("input[type=checkbox]"),i=a("nav_menu_locations["+h.data("location-id")+"]");f=function(b){var c=a("nav_menu["+String(b)+"]");b&&c&&c()?g.find(".theme-location-set").show().find("span").text(e(c().name)):g.find(".theme-location-set").hide()},d=new a.Element(h),d.set(i.get()===b.params.menu_id),h.on("change",function(){i.set(this.checked?b.params.menu_id:0)}),i.bind(function(a){d.set(a===b.params.menu_id),f(a)}),f(i.get())})},_setupTitle:function(){var b=this;b.setting.bind(function(d){if(d){var f=b.container.closest(".accordion-section"),g=b.params.menu_id,h=f.find(".accordion-section-title"),i=f.find(".customize-section-title h3"),j=f.find(".menu-in-location"),k=i.find(".customize-action"),l=e(d.name);h.text(l),j.length&&j.appendTo(h),i.text(l),k.length&&k.prependTo(i),a.control.each(function(a){/^nav_menu_locations\[/.test(a.id)&&a.container.find("option[value="+g+"]").text(l)}),f.find(".customize-control-checkbox input").each(function(){c(this).prop("checked")&&c(".current-menu-location-name-"+c(this).data("location-id")).text(l)})}})},toggleReordering:function(c){var d=this.container.find(".add-new-menu-item"),e=this.container.find(".reorder-toggle"),f=this.$sectionContent.find(".item-title");c=Boolean(c),c!==this.$sectionContent.hasClass("reordering")&&(this.isReordering=c,this.$sectionContent.toggleClass("reordering",c),this.$sectionContent.sortable(this.isReordering?"disable":"enable"),this.isReordering?(d.attr({tabindex:"-1","aria-hidden":"true"}),e.attr("aria-label",a.Menus.data.l10n.reorderLabelOff),b.a11y.speak(a.Menus.data.l10n.reorderModeOn),f.attr("aria-hidden","false")):(d.removeAttr("tabindex aria-hidden"),e.attr("aria-label",a.Menus.data.l10n.reorderLabelOn),b.a11y.speak(a.Menus.data.l10n.reorderModeOff),f.attr("aria-hidden","true")),c&&_(this.getMenuItemControls()).each(function(a){a.collapseForm()}))},getMenuItemControls:function(){var b=this,c=[],d=b.params.menu_id;return a.control.each(function(a){"nav_menu_item"===a.params.type&&a.setting()&&d===a.setting().nav_menu_term_id&&c.push(a)}),c},reflowMenuItems:function(){var a,b=this,c=b.getMenuItemControls();a=function(b){var c=[],d=b.currentParent;_.each(b.menuItemControls,function(a){d===a.setting().menu_item_parent&&c.push(a)}),c.sort(function(a,b){return a.setting().position-b.setting().position}),_.each(c,function(c){b.currentAbsolutePosition+=1,c.priority.set(b.currentAbsolutePosition),c.container.hasClass("menu-item-depth-"+String(b.currentDepth))||(_.each(c.container.prop("className").match(/menu-item-depth-\d+/g),function(a){c.container.removeClass(a)}),c.container.addClass("menu-item-depth-"+String(b.currentDepth))),c.container.data("item-depth",b.currentDepth),b.currentDepth+=1,b.currentParent=c.params.menu_item_id,a(b),b.currentDepth-=1,b.currentParent=d}),c.length&&(_(c).each(function(a){a.container.removeClass("move-up-disabled move-down-disabled move-left-disabled move-right-disabled"),0===b.currentDepth?a.container.addClass("move-left-disabled"):10===b.currentDepth&&a.container.addClass("move-right-disabled")}),c[0].container.addClass("move-up-disabled").addClass("move-right-disabled").toggleClass("move-down-disabled",1===c.length),c[c.length-1].container.addClass("move-down-disabled").toggleClass("move-up-disabled",1===c.length))},a({menuItemControls:c,currentParent:0,currentDepth:0,currentAbsolutePosition:0}),b.container.find(".reorder-toggle").toggle(c.length>1);
+},debouncedReflowMenuItems:_.debounce(function(){this.reflowMenuItems.apply(this,arguments)},0),addItemToMenu:function(d){var e,f,g,h,i,j=this,k=0,l=10;return _.each(j.getMenuItemControls(),function(a){!1!==a.setting()&&(l=Math.max(l,a.priority()),0===a.setting().menu_item_parent&&(k=Math.max(k,a.setting().position)))}),k+=1,l+=1,d=c.extend({},a.Menus.data.defaultSettingValues.nav_menu_item,d,{nav_menu_term_id:j.params.menu_id,original_title:d.title,position:k}),delete d.id,i=a.Menus.generatePlaceholderAutoIncrementId(),e="nav_menu_item["+String(i)+"]",f={type:"nav_menu_item",transport:"postMessage",previewer:a.previewer},g=a.create(e,e,{},f),g.set(d),h=new a.controlConstructor.nav_menu_item(e,{params:{type:"nav_menu_item",content:'<li id="customize-control-nav_menu_item-'+String(i)+'" class="customize-control customize-control-nav_menu_item"></li>',section:j.id,priority:l,active:!0,settings:{"default":e},menu_item_id:i},previewer:a.previewer}),a.control.add(e,h),g.preview(),j.debouncedReflowMenuItems(),b.a11y.speak(a.Menus.data.l10n.itemAdded),h}}),a.Menus.NewMenuControl=a.Control.extend({ready:function(){this._bindHandlers()},_bindHandlers:function(){var a=this,b=c("#customize-control-new_menu_name input"),d=c("#create-new-menu-submit");b.on("keydown",function(b){13===b.which&&a.submit()}),d.on("click",function(b){a.submit(),b.stopPropagation(),b.preventDefault()})},submit:function(){var d,f,g=this,h=g.container.closest(".accordion-section-new-menu"),i=h.find(".menu-name-field").first(),j=i.val(),k=a.Menus.generatePlaceholderAutoIncrementId();return j?(f="nav_menu["+String(k)+"]",a.create(f,f,{},{type:"nav_menu",transport:"postMessage",previewer:a.previewer}),a(f).set(c.extend({},a.Menus.data.defaultSettingValues.nav_menu,{name:j})),d=new a.Menus.MenuSection(f,{params:{id:f,panel:"nav_menus",title:e(j),customizeAction:a.Menus.data.l10n.customizingMenus,type:"nav_menu",priority:10,menu_id:k}}),a.section.add(f,d),i.val(""),i.removeClass("invalid"),b.a11y.speak(a.Menus.data.l10n.menuAdded),a.section(f).focus(),void c("#menu-to-edit").css("margin-top",0)):(i.addClass("invalid"),void i.focus())}}),c.extend(a.controlConstructor,{nav_menu_location:a.Menus.MenuLocationControl,nav_menu_item:a.Menus.MenuItemControl,nav_menu:a.Menus.MenuControl,nav_menu_name:a.Menus.MenuNameControl,nav_menu_auto_add:a.Menus.MenuAutoAddControl,new_menu:a.Menus.NewMenuControl}),c.extend(a.panelConstructor,{nav_menus:a.Menus.MenusPanel}),c.extend(a.sectionConstructor,{nav_menu:a.Menus.MenuSection,new_menu:a.Menus.NewMenuSection}),a.bind("ready",function(){a.Menus.availableMenuItemsPanel=new a.Menus.AvailableMenuItemsPanelView({collection:a.Menus.availableMenuItems}),a.bind("saved",function(b){(b.nav_menu_updates||b.nav_menu_item_updates)&&a.Menus.applySavedData(b)}),a.previewer.bind("refresh",function(){a.previewer.refresh()})}),a.Menus.applySavedData=function(d){var e={};_(d.nav_menu_updates).each(function(d){var f,g,h,i,j,k,l,m,n,o,p,q;if("inserted"===d.status){if(!d.previous_term_id)throw new Error("Expected previous_term_id");if(!d.term_id)throw new Error("Expected term_id");if(f="nav_menu["+String(d.previous_term_id)+"]",!a.has(f))throw new Error("Expected setting to exist: "+f);if(i=a(f),!a.section.has(f))throw new Error("Expected control to exist: "+f);if(m=a.section(f),l=i.get(),!l)throw new Error("Did not expect setting to be empty (deleted).");l=c.extend(_.clone(l),d.saved_value),e[d.previous_term_id]=d.term_id,g="nav_menu["+String(d.term_id)+"]",j=a.create(g,g,l,{type:"nav_menu",transport:"postMessage",previewer:a.previewer}),m.expanded()&&m.collapse(),n=new a.Menus.MenuSection(g,{params:{id:g,panel:"nav_menus",title:l.name,customizeAction:a.Menus.data.l10n.customizingMenus,type:"nav_menu",priority:m.priority.get(),active:!0,menu_id:d.term_id}}),a.section.add(g,n),a.control.each(function(b){if(b.extended(a.controlConstructor.widget_form)&&"nav_menu"===b.params.widget_id_base){var c,e,f;c=b.container.find("select"),e=c.find("option[value="+String(d.previous_term_id)+"]"),f=c.find("option[value="+String(d.term_id)+"]"),f.prop("selected",e.prop("selected")),e.remove()}}),i.callbacks.disable(),i.set(!1),i.preview(),j.preview(),i._dirty=!1,m.container.remove(),a.section.remove(f),q=0,a.each(function(a){/^nav_menu\[/.test(a.id)&&!1!==a()&&(q+=1)}),p=c("#available-widgets-list .widget-tpl:has( input.id_base[ value=nav_menu ] )"),p.find(".nav-menu-widget-form-controls:first").toggle(0!==q),p.find(".nav-menu-widget-no-menus-message:first").toggle(0===q),p.find("option[value="+String(d.previous_term_id)+"]").remove(),b.customize.control.each(function(a){/^nav_menu_locations\[/.test(a.id)&&a.container.find("option[value="+String(d.previous_term_id)+"]").remove()}),a.each(function(b){var c=a.state("saved").get();/^nav_menu_locations\[/.test(b.id)&&b.get()===d.previous_term_id&&(b.set(d.term_id),b._dirty=!1,a.state("saved").set(c),b.preview())}),m.expanded.get()&&n.expand()}else if("updated"===d.status){if(h="nav_menu["+String(d.term_id)+"]",!a.has(h))throw new Error("Expected setting to exist: "+h);k=a(h),_.isEqual(d.saved_value,k.get())||(o=a.state("saved").get(),k.set(d.saved_value),k._dirty=!1,a.state("saved").set(o))}}),_(d.nav_menu_item_updates).each(function(b){var c,d,f,g,h,i,j;if("inserted"===b.status){if(!b.previous_post_id)throw new Error("Expected previous_post_id");if(!b.post_id)throw new Error("Expected post_id");if(c="nav_menu_item["+String(b.previous_post_id)+"]",!a.has(c))throw new Error("Expected setting to exist: "+c);if(f=a(c),!a.control.has(c))throw new Error("Expected control to exist: "+c);if(i=a.control(c),h=f.get(),!h)throw new Error("Did not expect setting to be empty (deleted).");h=_.clone(h),e[h.nav_menu_term_id]&&(h.nav_menu_term_id=e[h.nav_menu_term_id]),d="nav_menu_item["+String(b.post_id)+"]",g=a.create(d,d,h,{type:"nav_menu_item",transport:"postMessage",previewer:a.previewer}),j=new a.controlConstructor.nav_menu_item(d,{params:{type:"nav_menu_item",content:'<li id="customize-control-nav_menu_item-'+String(b.post_id)+'" class="customize-control customize-control-nav_menu_item"></li>',menu_id:b.post_id,section:"nav_menu["+String(h.nav_menu_term_id)+"]",priority:i.priority.get(),active:!0,settings:{"default":d},menu_item_id:b.post_id},previewer:a.previewer}),i.container.remove(),a.control.remove(c),a.control.add(d,j),f.callbacks.disable(),f.set(!1),f.preview(),g.preview(),f._dirty=!1,j.container.toggleClass("menu-item-edit-inactive",i.container.hasClass("menu-item-edit-inactive"))}}),_.each(d.widget_nav_menu_updates,function(b,c){var d=a(c);d&&(d._value=b,d.preview())})},a.Menus.focusMenuItemControl=function(b){var c=a.Menus.getMenuItemControl(b);c&&c.focus()},a.Menus.getMenuControl=function(b){return a.control("nav_menu["+b+"]")},a.Menus.getMenuItemControl=function(b){return a.control(d(b))}}(wp.customize,wp,jQuery);
\ No newline at end of file
index 729e6a8f1e0779646dc06806b9c605a628855311..6a640e0efa544b1a0701b2a40f331d87007c4858 100644 (file)
 
                        // If the available widgets panel is open and the customize controls are
                        // interacted with (i.e. available widgets panel is blurred) then close the
-                       // available widgets panel.
-                       $( '#customize-controls, .customize-overlay-close' ).on( 'click keydown', function( e ) {
+                       // available widgets panel. Also close on back button click.
+                       $( '#customize-controls, #available-widgets .customize-section-title' ).on( 'click keydown', function( e ) {
                                var isAddNewBtn = $( e.target ).is( '.add-new-widget, .add-new-widget *' );
                                if ( $( 'body' ).hasClass( 'adding-widget' ) && ! isAddNewBtn ) {
                                        self.close();
                                this.close( { returnFocus: true } );
                        }
 
-                       if ( isTab && ( isShift && isSearchFocused || ! isShift && isLastWidgetFocused ) ) {
+                       if ( this.currentSidebarControl && isTab && ( isShift && isSearchFocused || ! isShift && isLastWidgetFocused ) ) {
                                this.currentSidebarControl.container.find( '.add-new-widget' ).focus();
                                event.preventDefault();
                        }
 
                        // Handle widgets that support live previews
                        $widgetContent.on( 'change input propertychange', ':input', function( e ) {
-                               if ( self.liveUpdateMode ) {
-                                       if ( e.type === 'change' ) {
-                                               self.updateWidget();
-                                       } else if ( this.checkValidity && this.checkValidity() ) {
-                                               updateWidgetDebounced();
-                                       }
+                               if ( ! self.liveUpdateMode ) {
+                                       return;
+                               }
+                               if ( e.type === 'change' || ( this.checkValidity && this.checkValidity() ) ) {
+                                       updateWidgetDebounced();
                                }
                        } );
 
                        params.wp_customize = 'on';
                        params.nonce = api.Widgets.data.nonce;
                        params.theme = api.settings.theme.stylesheet;
+                       params.customized = wp.customize.previewer.query().customized;
 
                        data = $.param( params );
                        $inputs = this._getInputs( $widgetContent );
 
                        if ( expanded ) {
 
-                               self.expandControlSection();
+                               if ( self.section() && api.section( self.section() ) ) {
+                                       self.expandControlSection();
+                               }
 
                                // Close all other widget controls before expanding this one
                                api.control.each( function( otherControl ) {
                                items: '> .customize-control-widget_form',
                                handle: '.widget-top',
                                axis: 'y',
+                               tolerance: 'pointer',
                                connectWith: '.accordion-section-content:has(.customize-control-sidebar_widgets)',
                                update: function() {
                                        var widgetContainerIds = self.$sectionContent.sortable( 'toArray' ), widgetIds;
index d7e4513d244b9b092e452925eb08cded53e02813..4210b04b4ba55c24cd60fe293d563f1348111556 100644 (file)
@@ -1 +1 @@
-!function(a,b){function c(a){var b,c={number:null,id_base:null};return b=a.match(/^(.+)-(\d+)$/),b?(c.id_base=b[1],c.number=parseInt(b[2],10)):c.id_base=a,c}function d(a){var b,d=c(a);return b="widget_"+d.id_base,d.number&&(b+="["+d.number+"]"),b}if(a&&a.customize){var e,f=a.customize;f.Widgets=f.Widgets||{},f.Widgets.data=_wpCustomizeWidgetsSettings||{},e=f.Widgets.data.l10n,delete f.Widgets.data.l10n,f.Widgets.WidgetModel=Backbone.Model.extend({id:null,temp_id:null,classname:null,control_tpl:null,description:null,is_disabled:null,is_multi:null,multi_number:null,name:null,id_base:null,transport:"refresh",params:[],width:null,height:null,search_matched:!0}),f.Widgets.WidgetCollection=Backbone.Collection.extend({model:f.Widgets.WidgetModel,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.each(function(a){a.set("search_matched",!0)}))},search:function(a){var b,c;a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),b=new RegExp("^(?=.*"+a+").+","i"),this.each(function(a){c=[a.get("name"),a.get("id"),a.get("description")].join(" "),a.set("search_matched",b.test(c))})}}),f.Widgets.availableWidgets=new f.Widgets.WidgetCollection(f.Widgets.data.availableWidgets),f.Widgets.SidebarModel=Backbone.Model.extend({after_title:null,after_widget:null,before_title:null,before_widget:null,"class":null,description:null,id:null,name:null,is_rendered:!1}),f.Widgets.SidebarCollection=Backbone.Collection.extend({model:f.Widgets.SidebarModel}),f.Widgets.registeredSidebars=new f.Widgets.SidebarCollection(f.Widgets.data.registeredSidebars),f.Widgets.AvailableWidgetsPanelView=a.Backbone.View.extend({el:"#available-widgets",events:{"input #widgets-search":"search","keyup #widgets-search":"search","change #widgets-search":"search","search #widgets-search":"search","focus .widget-tpl":"focus","click .widget-tpl":"_submit","keypress .widget-tpl":"_submit",keydown:"keyboardAccessible"},selected:null,currentSidebarControl:null,$search:null,initialize:function(){var a=this;this.$search=b("#widgets-search"),_.bindAll(this,"close"),this.listenTo(this.collection,"change",this.updateList),this.updateList(),b("#customize-controls, .customize-overlay-close").on("click keydown",function(c){var d=b(c.target).is(".add-new-widget, .add-new-widget *");b("body").hasClass("adding-widget")&&!d&&a.close()}),f.previewer.bind("url",this.close)},search:function(a){var b;this.collection.doSearch(a.target.value),this.selected&&!this.selected.is(":visible")&&(this.selected.removeClass("selected"),this.selected=null),this.selected&&!a.target.value&&(this.selected.removeClass("selected"),this.selected=null),!this.selected&&a.target.value&&(b=this.$el.find("> .widget-tpl:visible:first"),b.length&&this.select(b))},updateList:function(){this.collection.each(function(a){var c=b("#widget-tpl-"+a.id);c.toggle(a.get("search_matched")&&!a.get("is_disabled")),a.get("is_disabled")&&c.is(this.selected)&&(this.selected=null)})},select:function(a){this.selected=b(a),this.selected.siblings(".widget-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(b(a.currentTarget))},_submit:function(a){("keypress"!==a.type||13===a.which||32===a.which)&&this.submit(b(a.currentTarget))},submit:function(a){var c,d,e;a||(a=this.selected),a&&this.currentSidebarControl&&(this.select(a),c=b(this.selected).data("widget-id"),d=this.collection.findWhere({id:c}),d&&(e=this.currentSidebarControl.addWidget(d.get("id_base")),e&&e.focus(),this.close()))},open:function(a){this.currentSidebarControl=a,_(this.currentSidebarControl.getWidgetFormControls()).each(function(a){a.params.is_wide&&a.collapseForm()}),b("body").addClass("adding-widget"),this.$el.find(".selected").removeClass("selected"),this.collection.doSearch(""),f.settings.browser.mobile||this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentSidebarControl&&this.currentSidebarControl.container.find(".add-new-widget").focus(),this.currentSidebarControl=null,this.selected=null,b("body").removeClass("adding-widget"),this.$search.val("")},keyboardAccessible:function(a){var c=13===a.which,d=27===a.which,e=40===a.which,f=38===a.which,g=9===a.which,h=a.shiftKey,i=null,j=this.$el.find("> .widget-tpl:visible:first"),k=this.$el.find("> .widget-tpl:visible:last"),l=b(a.target).is(this.$search),m=b(a.target).is(".widget-tpl:visible:last");return e||f?(e?l?i=j:this.selected&&0!==this.selected.nextAll(".widget-tpl:visible").length&&(i=this.selected.nextAll(".widget-tpl:visible:first")):f&&(l?i=k:this.selected&&0!==this.selected.prevAll(".widget-tpl:visible").length&&(i=this.selected.prevAll(".widget-tpl:visible:first"))),this.select(i),void(i?i.focus():this.$search.focus())):void((!c||this.$search.val())&&(c?this.submit():d&&this.close({returnFocus:!0}),g&&(h&&l||!h&&m)&&(this.currentSidebarControl.container.find(".add-new-widget").focus(),a.preventDefault())))}}),f.Widgets.formSyncHandlers={rss:function(a,c,d){var e=c.find(".widget-error:first"),f=b("<div>"+d+"</div>").find(".widget-error:first");e.length&&f.length?e.replaceWith(f):e.length?e.remove():f.length&&c.find(".widget-content:first").prepend(f)}},f.Widgets.WidgetControl=f.Control.extend({defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d=this;f.Control.prototype.initialize.call(d,a,c),d.expanded=new f.Value,d.expandedArgumentsQueue=[],d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.expanded.set(!1)},ready:function(){this._setupModel(),this._setupWideWidget(),this._setupControlToggle(),this._setupWidgetTitle(),this._setupReorderUI(),this._setupHighlightEffects(),this._setupUpdateUI(),this._setupRemoveUI(),b(document).trigger("widget-added",[this.container.find(".widget:first")])},_setupModel:function(){var a,b=this;f.Widgets.savedWidgetIds=f.Widgets.savedWidgetIds||[],a=function(){f.Widgets.savedWidgetIds[b.params.widget_id]=!0},f.bind("ready",a),f.bind("saved",a),this._updateCount=0,this.isWidgetUpdating=!1,this.liveUpdateMode=!0,this.setting.bind(function(a,c){_(c).isEqual(a)||b.isWidgetUpdating||b.updateWidget({instance:a})})},_setupWideWidget:function(){var a,c,d,e,g,h=this;this.params.is_wide&&(a=this.container.find(".widget-inside"),c=a.find("> .form"),d=b(".wp-full-overlay-sidebar-content:first"),this.container.addClass("wide-widget-control"),this.container.find(".widget-content:first").css({"max-width":this.params.width,"min-height":this.params.height}),g=function(){var d,e=h.container.offset().top,f=b(window).height(),g=c.outerHeight();a.css("max-height",f),d=Math.max(0,Math.min(Math.max(e,0),f-g)),a.css("top",d)},e=b("#customize-theme-controls"),this.container.on("expand",function(){g(),d.on("scroll",g),b(window).on("resize",g),e.on("expanded collapsed",g)}),this.container.on("collapsed",function(){d.off("scroll",g),b(window).off("resize",g),e.off("expanded collapsed",g)}),f.each(function(a){0===a.id.indexOf("sidebars_widgets[")&&a.bind(function(){h.container.hasClass("expanded")&&g()})}))},_setupControlToggle:function(){var a,b=this;this.container.find(".widget-top").on("click",function(a){a.preventDefault();var c=b.getSidebarWidgetsControl();c.isReordering||b.expanded(!b.expanded())}),a=this.container.find(".widget-control-close"),a.on("click",function(a){a.preventDefault(),b.collapse(),b.container.find(".widget-top .widget-action:first").focus()})},_setupWidgetTitle:function(){var a,b=this;a=function(){var a=b.setting().title,c=b.container.find(".in-widget-title");c.text(a?": "+a:"")},this.setting.bind(a),a()},_setupReorderUI:function(){var c,d,g,h,i=this;c=function(a){a.siblings(".selected").removeClass("selected"),a.addClass("selected");var b=a.data("id")===i.params.sidebar_id;i.container.find(".move-widget-btn").prop("disabled",b)},this.container.find(".widget-title-action").after(b(f.Widgets.data.tpl.widgetReorderNav)),d=b(_.template(f.Widgets.data.tpl.moveWidgetArea,{sidebars:_(f.Widgets.registeredSidebars.toArray()).pluck("attributes")})),this.container.find(".widget-top").after(d),h=function(){var a,e=d.find("li"),g=0;a=e.filter(function(){return b(this).data("id")===i.params.sidebar_id}),e.each(function(){var d,e,h,i=b(this);d=i.data("id"),e=f.Widgets.registeredSidebars.get(d),h=e.get("is_rendered"),i.toggle(h),h&&(g+=1),i.hasClass("selected")&&!h&&c(a)}),g>1?i.container.find(".move-widget").show():i.container.find(".move-widget").hide()},h(),f.Widgets.registeredSidebars.on("change:is_rendered",h),g=this.container.find(".widget-reorder-nav"),g.find(".move-widget, .move-widget-down, .move-widget-up").each(function(){b(this).prepend(i.container.find(".widget-title").text()+": ")}).on("click keypress",function(c){if("keypress"!==c.type||13===c.which||32===c.which)if(b(this).focus(),b(this).is(".move-widget"))i.toggleWidgetMoveArea();else{var d=b(this).is(".move-widget-down"),f=b(this).is(".move-widget-up"),g=i.getWidgetSidebarPosition();if(f&&0===g||d&&g===i.getSidebarWidgetsControl().setting().length-1)return;f?(i.moveUp(),a.a11y.speak(e.widgetMovedUp)):(i.moveDown(),a.a11y.speak(e.widgetMovedDown)),b(this).focus()}}),this.container.find(".widget-area-select").on("click keypress","li",function(a){("keypress"!==a.type||13===a.which||32===a.which)&&(a.preventDefault(),c(b(this)))}),this.container.find(".move-widget-btn").click(function(){i.getSidebarWidgetsControl().toggleReordering(!1);var a,b,c,d,e,g=i.params.sidebar_id,h=i.container.find(".widget-area-select li.selected").data("id");a=f("sidebars_widgets["+g+"]"),b=f("sidebars_widgets["+h+"]"),c=Array.prototype.slice.call(a()),d=Array.prototype.slice.call(b()),e=i.getWidgetSidebarPosition(),c.splice(e,1),d.push(i.params.widget_id),a(c),b(d),i.focus()})},_setupHighlightEffects:function(){var a=this;this.container.on("mouseenter click",function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)}),this.setting.bind(function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)})},_setupUpdateUI:function(){var a,c,d,g,h,i=this;a=this.container.find(".widget:first"),c=a.find(".widget-content:first"),d=this.container.find(".widget-control-save"),d.val(e.saveBtnLabel),d.attr("title",e.saveBtnTooltip),d.removeClass("button-primary").addClass("button-secondary"),d.on("click",function(a){a.preventDefault(),i.updateWidget({disable_form:!0})}),g=_.debounce(function(){i.updateWidget()},250),c.on("keydown","input",function(a){13===a.which&&(a.preventDefault(),i.updateWidget({ignoreActiveElement:!0}))}),c.on("change input propertychange",":input",function(a){i.liveUpdateMode&&("change"===a.type?i.updateWidget():this.checkValidity&&this.checkValidity()&&g())}),this.setting.previewer.channel.bind("synced",function(){i.container.removeClass("previewer-loading")}),f.previewer.bind("widget-updated",function(a){a===i.params.widget_id&&i.container.removeClass("previewer-loading")}),h=f.Widgets.formSyncHandlers[this.params.widget_id_base],h&&b(document).on("widget-synced",function(b,c){a.is(c)&&h.apply(document,arguments)})},onChangeActive:function(a,b){this.container.toggleClass("widget-rendered",a),b.completeCallback&&b.completeCallback()},_setupRemoveUI:function(){var a,b,c=this;a=this.container.find("a.widget-control-remove"),a.on("click",function(a){a.preventDefault();var b;b=c.container.next().is(".customize-control-widget_form")?c.container.next().find(".widget-action:first"):c.container.prev().is(".customize-control-widget_form")?c.container.prev().find(".widget-action:first"):c.container.next(".customize-control-sidebar_widgets").find(".add-new-widget:first"),c.container.slideUp(function(){var a,d,e=f.Widgets.getSidebarWidgetControlContainingWidget(c.params.widget_id);e&&(a=e.setting().slice(),d=_.indexOf(a,c.params.widget_id),-1!==d&&(a.splice(d,1),e.setting(a),b.focus()))})}),b=function(){a.text(e.removeBtnLabel),a.attr("title",e.removeBtnTooltip)},this.params.is_new?f.bind("saved",b):b()},_getInputs:function(a){return b(a).find(":input[name]")},_getInputsSignature:function(a){var c=_(a).map(function(a){var c,d=b(a);return c=d.is(":checkbox, :radio")?[d.attr("id"),d.attr("name"),d.prop("value")]:[d.attr("id"),d.attr("name")],c.join(",")});return c.join(";")},_getInputState:function(a){return a=b(a),a.is(":radio, :checkbox")?a.prop("checked"):a.is("select[multiple]")?a.find("option:selected").map(function(){return b(this).val()}).get():a.val()},_setInputState:function(a,c){a=b(a),a.is(":radio, :checkbox")?a.prop("checked",c):a.is("select[multiple]")?(c=b.isArray(c)?_.map(c,function(a){return String(a)}):[],a.find("option").each(function(){b(this).prop("selected",-1!==_.indexOf(c,String(this.value)))})):a.val(c)},getSidebarWidgetsControl:function(){var a,b;return a="sidebars_widgets["+this.params.sidebar_id+"]",(b=f.control(a))?b:void 0},updateWidget:function(c){var d,g,h,i,j,k,l,m,n,o,p,q=this;c=b.extend({instance:null,complete:null,ignoreActiveElement:!1},c),d=c.instance,g=c.complete,this._updateCount+=1,j=this._updateCount,h=this.container.find(".widget:first"),i=h.find(".widget-content:first"),i.find(".widget-error").remove(),this.container.addClass("widget-form-loading"),this.container.addClass("previewer-loading"),n=f.state("processing"),n(n()+1),this.liveUpdateMode||this.container.addClass("widget-form-disabled"),k={},k.action="update-widget",k.wp_customize="on",k.nonce=f.Widgets.data.nonce,k.theme=f.settings.theme.stylesheet,l=b.param(k),m=this._getInputs(i),m.each(function(){b(this).data("state"+j,q._getInputState(this))}),l+=d?"&"+b.param({sanitized_widget_setting:JSON.stringify(d)}):"&"+m.serialize(),l+="&"+i.find("~ :input").serialize(),this._previousUpdateRequest&&this._previousUpdateRequest.abort(),o=b.post(a.ajax.settings.url,l),this._previousUpdateRequest=o,o.done(function(a){var d,k,l,n,o=!1;return"0"===a?(f.previewer.preview.iframe.hide(),void f.previewer.login().done(function(){q.updateWidget(c),f.previewer.preview.iframe.show()})):"-1"===a?void f.previewer.cheatin():void(a.success?(k=b("<div>"+a.data.form+"</div>"),l=q._getInputs(k),n=q._getInputsSignature(m)===q._getInputsSignature(l),n&&!q.liveUpdateMode&&(q.liveUpdateMode=!0,q.container.removeClass("widget-form-disabled"),q.container.find('input[name="savewidget"]').hide()),n&&q.liveUpdateMode?(m.each(function(a){var d,e,f,g=b(this),h=b(l[a]);d=g.data("state"+j),e=q._getInputState(h),g.data("sanitized",e),f=!_.isEqual(d,e)&&(c.ignoreActiveElement||!g.is(document.activeElement)),f&&q._setInputState(g,e)}),b(document).trigger("widget-synced",[h,a.data.form])):q.liveUpdateMode?(q.liveUpdateMode=!1,q.container.find('input[name="savewidget"]').show(),o=!0):(i.html(a.data.form),q.container.removeClass("widget-form-disabled"),b(document).trigger("widget-updated",[h])),p=!o&&!_(q.setting()).isEqual(a.data.instance),p?(q.isWidgetUpdating=!0,q.setting(a.data.instance),q.isWidgetUpdating=!1):q.container.removeClass("previewer-loading"),g&&g.call(q,null,{noChange:!p,ajaxFinished:!0})):(d=e.error,a.data&&a.data.message&&(d=a.data.message),g?g.call(q,d):i.prepend('<p class="widget-error"><strong>'+d+"</strong></p>")))}),o.fail(function(a,b){g&&g.call(q,b)}),o.always(function(){q.container.removeClass("widget-form-loading"),m.each(function(){b(this).removeData("state"+j)}),n(n()-1)})},expandControlSection:function(){f.Control.prototype.expand.call(this)},_toggleExpanded:f.Section.prototype._toggleExpanded,expand:f.Section.prototype.expand,expandForm:function(){this.expand()},collapse:f.Section.prototype.collapse,collapseForm:function(){this.collapse()},toggleForm:function(a){"undefined"==typeof a&&(a=!this.expanded()),this.expanded(a)},onChangeExpanded:function(a,b){var c,d,e,g,h=this;return b.unchanged?void(a&&f.Control.prototype.expand.call(h,{completeCallback:b.completeCallback})):(c=this.container.find("div.widget:first"),d=c.find(".widget-inside:first"),void(a?(h.expandControlSection(),f.control.each(function(a){h.params.type===a.params.type&&h!==a&&a.collapse()}),e=function(){h.container.removeClass("expanding"),h.container.addClass("expanded"),h.container.trigger("expanded")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.params.is_wide?d.fadeIn(b.duration,e):d.slideDown(b.duration,e),h.container.trigger("expand"),h.container.addClass("expanding")):(e=function(){h.container.removeClass("collapsing"),h.container.removeClass("expanded"),h.container.trigger("collapsed")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.container.trigger("collapse"),h.container.addClass("collapsing"),h.params.is_wide?d.fadeOut(b.duration,e):d.slideUp(b.duration,function(){c.css({width:"",margin:""}),e()}))))},getWidgetSidebarPosition:function(){var a,b;return a=this.getSidebarWidgetsControl().setting(),b=_.indexOf(a,this.params.widget_id),-1!==b?b:void 0},moveUp:function(){this._moveWidgetByOne(-1)},moveDown:function(){this._moveWidgetByOne(1)},_moveWidgetByOne:function(a){var b,c,d,e;b=this.getWidgetSidebarPosition(),c=this.getSidebarWidgetsControl().setting,d=Array.prototype.slice.call(c()),e=d[b+a],d[b+a]=this.params.widget_id,d[b]=e,c(d)},toggleWidgetMoveArea:function(a){var c,d=this;c=this.container.find(".move-widget-area"),"undefined"==typeof a&&(a=!c.hasClass("active")),a&&(c.find(".selected").removeClass("selected"),c.find("li").filter(function(){return b(this).data("id")===d.params.sidebar_id}).addClass("selected"),this.container.find(".move-widget-btn").prop("disabled",!0)),c.toggleClass("active",a)},highlightSectionAndControl:function(){var a;a=this.container.is(":hidden")?this.container.closest(".control-section"):this.container,b(".highlighted").removeClass("highlighted"),a.addClass("highlighted"),setTimeout(function(){a.removeClass("highlighted")},500)}}),f.Widgets.SidebarSection=f.Section.extend({ready:function(){var a,b=this;f.Section.prototype.ready.call(this),a=f.Widgets.registeredSidebars.get(b.params.sidebarId),b.active.bind(function(b){a.set("is_rendered",b)}),a.set("is_rendered",b.active())}}),f.Widgets.SidebarControl=f.Control.extend({ready:function(){this.$controlSection=this.container.closest(".control-section"),this.$sectionContent=this.container.closest(".accordion-section-content"),this._setupModel(),this._setupSortable(),this._setupAddition(),this._applyCardinalOrderClassNames()},_setupModel:function(){var a=this;this.setting.bind(function(d,e){var g,h,i;h=_(e).difference(d),d=_(d).filter(function(a){var b=c(a);return!!f.Widgets.availableWidgets.findWhere({id_base:b.id_base})}),g=_(d).map(function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);return c||(c=a.addWidget(b)),c}),g.sort(function(a,b){var c=_.indexOf(d,a.params.widget_id),e=_.indexOf(d,b.params.widget_id);return c-e}),i=0,_(g).each(function(b){b.priority(i),b.section(a.section()),i+=1}),a.priority(i),a._applyCardinalOrderClassNames(),_(g).each(function(b){b.params.sidebar_id=a.params.sidebar_id}),_(h).each(function(d){setTimeout(function(){var e,g,h,i,j,k=!1;f.each(function(b){if(b.id!==a.setting.id&&0===b.id.indexOf("sidebars_widgets[")&&"sidebars_widgets[wp_inactive_widgets]"!==b.id){var c,e=b();c=_.indexOf(e,d),-1!==c&&(k=!0)}}),k||(e=f.Widgets.getWidgetFormControlForWidget(d),g=e&&b.contains(document,e.container[0])&&!b.contains(a.$sectionContent[0],e.container[0]),e&&!g&&(f.control.remove(e.id),e.container.remove()),f.Widgets.savedWidgetIds[d]&&(h=f.value("sidebars_widgets[wp_inactive_widgets]")().slice(),h.push(d),f.value("sidebars_widgets[wp_inactive_widgets]")(_(h).unique())),i=c(d).id_base,j=f.Widgets.availableWidgets.findWhere({id_base:i}),j&&!j.get("is_multi")&&j.set("is_disabled",!1))})})})},_setupSortable:function(){var a=this;this.isReordering=!1,this.$sectionContent.sortable({items:"> .customize-control-widget_form",handle:".widget-top",axis:"y",connectWith:".accordion-section-content:has(.customize-control-sidebar_widgets)",update:function(){var c,d=a.$sectionContent.sortable("toArray");c=b.map(d,function(a){return b("#"+a).find(":input[name=widget-id]").val()}),a.setting(c)}}),this.$controlSection.find(".accordion-section-title").droppable({accept:".customize-control-widget_form",over:function(){var b=f.section(a.section.get());b.expand({allowMultiple:!0,completeCallback:function(){f.section.each(function(a){a.container.find(".customize-control-sidebar_widgets").length&&a.container.find(".accordion-section-content:first").sortable("refreshPositions")})}})}}),this.container.find(".reorder-toggle").on("click keydown",function(b){("keydown"!==b.type||13===b.which||32===b.which)&&a.toggleReordering(!a.isReordering)})},_setupAddition:function(){var a=this;this.container.find(".add-new-widget").on("click keydown",function(c){("keydown"!==c.type||13===c.which||32===c.which)&&(a.$sectionContent.hasClass("reordering")||(b("body").hasClass("adding-widget")?f.Widgets.availableWidgetsPanel.close():f.Widgets.availableWidgetsPanel.open(a)))})},_applyCardinalOrderClassNames:function(){var a=[];return _.each(this.setting(),function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);c&&a.push(c)}),a.length?(this.container.find(".reorder-toggle").show(),b(a).each(function(){b(this.container).removeClass("first-widget").removeClass("last-widget").find(".move-widget-down, .move-widget-up").prop("tabIndex",0)}),_.first(a).container.addClass("first-widget").find(".move-widget-up").prop("tabIndex",-1),void _.last(a).container.addClass("last-widget").find(".move-widget-down").prop("tabIndex",-1)):void this.container.find(".reorder-toggle").hide()},toggleReordering:function(a){a=Boolean(a),a!==this.$sectionContent.hasClass("reordering")&&(this.isReordering=a,this.$sectionContent.toggleClass("reordering",a),a?(_(this.getWidgetFormControls()).each(function(a){a.collapse()}),this.$sectionContent.find(".first-widget .move-widget").focus(),this.$sectionContent.find(".add-new-widget").prop("tabIndex",-1)):this.$sectionContent.find(".add-new-widget").prop("tabIndex",0))},getWidgetFormControls:function(){var a=[];return _(this.setting()).each(function(b){var c=d(b),e=f.control(c);e&&a.push(e)}),a},addWidget:function(a){var d,e,g,h,i,j,k,l,m,n,o=this,p="widget_form",q=c(a),r=q.number,s=q.id_base,t=f.Widgets.availableWidgets.findWhere({id_base:s});return t?r&&!t.get("is_multi")?!1:(t.get("is_multi")&&!r&&(t.set("multi_number",t.get("multi_number")+1),r=t.get("multi_number")),d=b.trim(b("#widget-tpl-"+t.get("id")).html()),t.get("is_multi")?d=d.replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,r)}):t.set("is_disabled",!0),e=b(d),g=b("<li/>").addClass("customize-control").addClass("customize-control-"+p).append(e),g.find("> .widget-icon").remove(),t.get("is_multi")&&(g.find('input[name="widget_number"]').val(r),g.find('input[name="multi_number"]').val(r)),a=g.find('[name="widget-id"]').val(),g.hide(),i="widget_"+t.get("id_base"),t.get("is_multi")&&(i+="["+r+"]"),g.attr("id","customize-control-"+i.replace(/\]/g,"").replace(/\[/g,"-")),j=f.has(i),j||(m={transport:"refresh",previewer:this.setting.previewer},n=f.create(i,i,"",m),n.set({})),h=f.controlConstructor[p],k=new h(i,{params:{settings:{"default":i},content:g,sidebar_id:o.params.sidebar_id,widget_id:a,widget_id_base:t.get("id_base"),type:p,is_new:!j,width:t.get("width"),height:t.get("height"),is_wide:t.get("is_wide")},previewer:o.setting.previewer}),f.control.add(i,k),f.each(function(b){if(b.id!==o.setting.id&&0===b.id.indexOf("sidebars_widgets[")){var c=b().slice(),d=_.indexOf(c,a);-1!==d&&(c.splice(d),b(c))}}),l=this.setting().slice(),-1===_.indexOf(l,a)&&(l.push(a),this.setting(l)),g.slideDown(function(){j&&k.updateWidget({instance:k.setting()})}),k):!1}}),b.extend(f.sectionConstructor,{sidebar:f.Widgets.SidebarSection}),b.extend(f.controlConstructor,{widget_form:f.Widgets.WidgetControl,sidebar_widgets:f.Widgets.SidebarControl}),f.bind("nonce-refresh",function(a){f.Widgets.data.nonce=a["update-widget"]}),f.bind("ready",function(){f.Widgets.availableWidgetsPanel=new f.Widgets.AvailableWidgetsPanelView({collection:f.Widgets.availableWidgets}),f.previewer.bind("highlight-widget-control",f.Widgets.highlightWidgetFormControl),f.previewer.bind("focus-widget-control",f.Widgets.focusWidgetFormControl)}),f.Widgets.highlightWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.highlightSectionAndControl()},f.Widgets.focusWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.focus()},f.Widgets.getSidebarWidgetControlContainingWidget=function(a){var b=null;return f.control.each(function(c){"sidebar_widgets"===c.params.type&&-1!==_.indexOf(c.setting(),a)&&(b=c)}),b},f.Widgets.getWidgetFormControlForWidget=function(a){var b=null;return f.control.each(function(c){"widget_form"===c.params.type&&c.params.widget_id===a&&(b=c)}),b}}}(window.wp,jQuery);
\ No newline at end of file
+!function(a,b){function c(a){var b,c={number:null,id_base:null};return b=a.match(/^(.+)-(\d+)$/),b?(c.id_base=b[1],c.number=parseInt(b[2],10)):c.id_base=a,c}function d(a){var b,d=c(a);return b="widget_"+d.id_base,d.number&&(b+="["+d.number+"]"),b}if(a&&a.customize){var e,f=a.customize;f.Widgets=f.Widgets||{},f.Widgets.data=_wpCustomizeWidgetsSettings||{},e=f.Widgets.data.l10n,delete f.Widgets.data.l10n,f.Widgets.WidgetModel=Backbone.Model.extend({id:null,temp_id:null,classname:null,control_tpl:null,description:null,is_disabled:null,is_multi:null,multi_number:null,name:null,id_base:null,transport:"refresh",params:[],width:null,height:null,search_matched:!0}),f.Widgets.WidgetCollection=Backbone.Collection.extend({model:f.Widgets.WidgetModel,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.each(function(a){a.set("search_matched",!0)}))},search:function(a){var b,c;a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),b=new RegExp("^(?=.*"+a+").+","i"),this.each(function(a){c=[a.get("name"),a.get("id"),a.get("description")].join(" "),a.set("search_matched",b.test(c))})}}),f.Widgets.availableWidgets=new f.Widgets.WidgetCollection(f.Widgets.data.availableWidgets),f.Widgets.SidebarModel=Backbone.Model.extend({after_title:null,after_widget:null,before_title:null,before_widget:null,"class":null,description:null,id:null,name:null,is_rendered:!1}),f.Widgets.SidebarCollection=Backbone.Collection.extend({model:f.Widgets.SidebarModel}),f.Widgets.registeredSidebars=new f.Widgets.SidebarCollection(f.Widgets.data.registeredSidebars),f.Widgets.AvailableWidgetsPanelView=a.Backbone.View.extend({el:"#available-widgets",events:{"input #widgets-search":"search","keyup #widgets-search":"search","change #widgets-search":"search","search #widgets-search":"search","focus .widget-tpl":"focus","click .widget-tpl":"_submit","keypress .widget-tpl":"_submit",keydown:"keyboardAccessible"},selected:null,currentSidebarControl:null,$search:null,initialize:function(){var a=this;this.$search=b("#widgets-search"),_.bindAll(this,"close"),this.listenTo(this.collection,"change",this.updateList),this.updateList(),b("#customize-controls, #available-widgets .customize-section-title").on("click keydown",function(c){var d=b(c.target).is(".add-new-widget, .add-new-widget *");b("body").hasClass("adding-widget")&&!d&&a.close()}),f.previewer.bind("url",this.close)},search:function(a){var b;this.collection.doSearch(a.target.value),this.selected&&!this.selected.is(":visible")&&(this.selected.removeClass("selected"),this.selected=null),this.selected&&!a.target.value&&(this.selected.removeClass("selected"),this.selected=null),!this.selected&&a.target.value&&(b=this.$el.find("> .widget-tpl:visible:first"),b.length&&this.select(b))},updateList:function(){this.collection.each(function(a){var c=b("#widget-tpl-"+a.id);c.toggle(a.get("search_matched")&&!a.get("is_disabled")),a.get("is_disabled")&&c.is(this.selected)&&(this.selected=null)})},select:function(a){this.selected=b(a),this.selected.siblings(".widget-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(b(a.currentTarget))},_submit:function(a){("keypress"!==a.type||13===a.which||32===a.which)&&this.submit(b(a.currentTarget))},submit:function(a){var c,d,e;a||(a=this.selected),a&&this.currentSidebarControl&&(this.select(a),c=b(this.selected).data("widget-id"),d=this.collection.findWhere({id:c}),d&&(e=this.currentSidebarControl.addWidget(d.get("id_base")),e&&e.focus(),this.close()))},open:function(a){this.currentSidebarControl=a,_(this.currentSidebarControl.getWidgetFormControls()).each(function(a){a.params.is_wide&&a.collapseForm()}),b("body").addClass("adding-widget"),this.$el.find(".selected").removeClass("selected"),this.collection.doSearch(""),f.settings.browser.mobile||this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentSidebarControl&&this.currentSidebarControl.container.find(".add-new-widget").focus(),this.currentSidebarControl=null,this.selected=null,b("body").removeClass("adding-widget"),this.$search.val("")},keyboardAccessible:function(a){var c=13===a.which,d=27===a.which,e=40===a.which,f=38===a.which,g=9===a.which,h=a.shiftKey,i=null,j=this.$el.find("> .widget-tpl:visible:first"),k=this.$el.find("> .widget-tpl:visible:last"),l=b(a.target).is(this.$search),m=b(a.target).is(".widget-tpl:visible:last");return e||f?(e?l?i=j:this.selected&&0!==this.selected.nextAll(".widget-tpl:visible").length&&(i=this.selected.nextAll(".widget-tpl:visible:first")):f&&(l?i=k:this.selected&&0!==this.selected.prevAll(".widget-tpl:visible").length&&(i=this.selected.prevAll(".widget-tpl:visible:first"))),this.select(i),void(i?i.focus():this.$search.focus())):void((!c||this.$search.val())&&(c?this.submit():d&&this.close({returnFocus:!0}),this.currentSidebarControl&&g&&(h&&l||!h&&m)&&(this.currentSidebarControl.container.find(".add-new-widget").focus(),a.preventDefault())))}}),f.Widgets.formSyncHandlers={rss:function(a,c,d){var e=c.find(".widget-error:first"),f=b("<div>"+d+"</div>").find(".widget-error:first");e.length&&f.length?e.replaceWith(f):e.length?e.remove():f.length&&c.find(".widget-content:first").prepend(f)}},f.Widgets.WidgetControl=f.Control.extend({defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d=this;f.Control.prototype.initialize.call(d,a,c),d.expanded=new f.Value,d.expandedArgumentsQueue=[],d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.expanded.set(!1)},ready:function(){this._setupModel(),this._setupWideWidget(),this._setupControlToggle(),this._setupWidgetTitle(),this._setupReorderUI(),this._setupHighlightEffects(),this._setupUpdateUI(),this._setupRemoveUI(),b(document).trigger("widget-added",[this.container.find(".widget:first")])},_setupModel:function(){var a,b=this;f.Widgets.savedWidgetIds=f.Widgets.savedWidgetIds||[],a=function(){f.Widgets.savedWidgetIds[b.params.widget_id]=!0},f.bind("ready",a),f.bind("saved",a),this._updateCount=0,this.isWidgetUpdating=!1,this.liveUpdateMode=!0,this.setting.bind(function(a,c){_(c).isEqual(a)||b.isWidgetUpdating||b.updateWidget({instance:a})})},_setupWideWidget:function(){var a,c,d,e,g,h=this;this.params.is_wide&&(a=this.container.find(".widget-inside"),c=a.find("> .form"),d=b(".wp-full-overlay-sidebar-content:first"),this.container.addClass("wide-widget-control"),this.container.find(".widget-content:first").css({"max-width":this.params.width,"min-height":this.params.height}),g=function(){var d,e=h.container.offset().top,f=b(window).height(),g=c.outerHeight();a.css("max-height",f),d=Math.max(0,Math.min(Math.max(e,0),f-g)),a.css("top",d)},e=b("#customize-theme-controls"),this.container.on("expand",function(){g(),d.on("scroll",g),b(window).on("resize",g),e.on("expanded collapsed",g)}),this.container.on("collapsed",function(){d.off("scroll",g),b(window).off("resize",g),e.off("expanded collapsed",g)}),f.each(function(a){0===a.id.indexOf("sidebars_widgets[")&&a.bind(function(){h.container.hasClass("expanded")&&g()})}))},_setupControlToggle:function(){var a,b=this;this.container.find(".widget-top").on("click",function(a){a.preventDefault();var c=b.getSidebarWidgetsControl();c.isReordering||b.expanded(!b.expanded())}),a=this.container.find(".widget-control-close"),a.on("click",function(a){a.preventDefault(),b.collapse(),b.container.find(".widget-top .widget-action:first").focus()})},_setupWidgetTitle:function(){var a,b=this;a=function(){var a=b.setting().title,c=b.container.find(".in-widget-title");a?c.text(": "+a):c.text("")},this.setting.bind(a),a()},_setupReorderUI:function(){var c,d,g,h,i=this;c=function(a){a.siblings(".selected").removeClass("selected"),a.addClass("selected");var b=a.data("id")===i.params.sidebar_id;i.container.find(".move-widget-btn").prop("disabled",b)},this.container.find(".widget-title-action").after(b(f.Widgets.data.tpl.widgetReorderNav)),d=b(_.template(f.Widgets.data.tpl.moveWidgetArea,{sidebars:_(f.Widgets.registeredSidebars.toArray()).pluck("attributes")})),this.container.find(".widget-top").after(d),h=function(){var a,e=d.find("li"),g=0;a=e.filter(function(){return b(this).data("id")===i.params.sidebar_id}),e.each(function(){var d,e,h,i=b(this);d=i.data("id"),e=f.Widgets.registeredSidebars.get(d),h=e.get("is_rendered"),i.toggle(h),h&&(g+=1),i.hasClass("selected")&&!h&&c(a)}),g>1?i.container.find(".move-widget").show():i.container.find(".move-widget").hide()},h(),f.Widgets.registeredSidebars.on("change:is_rendered",h),g=this.container.find(".widget-reorder-nav"),g.find(".move-widget, .move-widget-down, .move-widget-up").each(function(){b(this).prepend(i.container.find(".widget-title").text()+": ")}).on("click keypress",function(c){if("keypress"!==c.type||13===c.which||32===c.which)if(b(this).focus(),b(this).is(".move-widget"))i.toggleWidgetMoveArea();else{var d=b(this).is(".move-widget-down"),f=b(this).is(".move-widget-up"),g=i.getWidgetSidebarPosition();if(f&&0===g||d&&g===i.getSidebarWidgetsControl().setting().length-1)return;f?(i.moveUp(),a.a11y.speak(e.widgetMovedUp)):(i.moveDown(),a.a11y.speak(e.widgetMovedDown)),b(this).focus()}}),this.container.find(".widget-area-select").on("click keypress","li",function(a){("keypress"!==a.type||13===a.which||32===a.which)&&(a.preventDefault(),c(b(this)))}),this.container.find(".move-widget-btn").click(function(){i.getSidebarWidgetsControl().toggleReordering(!1);var a,b,c,d,e,g=i.params.sidebar_id,h=i.container.find(".widget-area-select li.selected").data("id");a=f("sidebars_widgets["+g+"]"),b=f("sidebars_widgets["+h+"]"),c=Array.prototype.slice.call(a()),d=Array.prototype.slice.call(b()),e=i.getWidgetSidebarPosition(),c.splice(e,1),d.push(i.params.widget_id),a(c),b(d),i.focus()})},_setupHighlightEffects:function(){var a=this;this.container.on("mouseenter click",function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)}),this.setting.bind(function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)})},_setupUpdateUI:function(){var a,c,d,g,h,i=this;a=this.container.find(".widget:first"),c=a.find(".widget-content:first"),d=this.container.find(".widget-control-save"),d.val(e.saveBtnLabel),d.attr("title",e.saveBtnTooltip),d.removeClass("button-primary").addClass("button-secondary"),d.on("click",function(a){a.preventDefault(),i.updateWidget({disable_form:!0})}),g=_.debounce(function(){i.updateWidget()},250),c.on("keydown","input",function(a){13===a.which&&(a.preventDefault(),i.updateWidget({ignoreActiveElement:!0}))}),c.on("change input propertychange",":input",function(a){i.liveUpdateMode&&("change"===a.type||this.checkValidity&&this.checkValidity())&&g()}),this.setting.previewer.channel.bind("synced",function(){i.container.removeClass("previewer-loading")}),f.previewer.bind("widget-updated",function(a){a===i.params.widget_id&&i.container.removeClass("previewer-loading")}),h=f.Widgets.formSyncHandlers[this.params.widget_id_base],h&&b(document).on("widget-synced",function(b,c){a.is(c)&&h.apply(document,arguments)})},onChangeActive:function(a,b){this.container.toggleClass("widget-rendered",a),b.completeCallback&&b.completeCallback()},_setupRemoveUI:function(){var a,b,c=this;a=this.container.find("a.widget-control-remove"),a.on("click",function(a){a.preventDefault();var b;b=c.container.next().is(".customize-control-widget_form")?c.container.next().find(".widget-action:first"):c.container.prev().is(".customize-control-widget_form")?c.container.prev().find(".widget-action:first"):c.container.next(".customize-control-sidebar_widgets").find(".add-new-widget:first"),c.container.slideUp(function(){var a,d,e=f.Widgets.getSidebarWidgetControlContainingWidget(c.params.widget_id);e&&(a=e.setting().slice(),d=_.indexOf(a,c.params.widget_id),-1!==d&&(a.splice(d,1),e.setting(a),b.focus()))})}),b=function(){a.text(e.removeBtnLabel),a.attr("title",e.removeBtnTooltip)},this.params.is_new?f.bind("saved",b):b()},_getInputs:function(a){return b(a).find(":input[name]")},_getInputsSignature:function(a){var c=_(a).map(function(a){var c,d=b(a);return c=d.is(":checkbox, :radio")?[d.attr("id"),d.attr("name"),d.prop("value")]:[d.attr("id"),d.attr("name")],c.join(",")});return c.join(";")},_getInputState:function(a){return a=b(a),a.is(":radio, :checkbox")?a.prop("checked"):a.is("select[multiple]")?a.find("option:selected").map(function(){return b(this).val()}).get():a.val()},_setInputState:function(a,c){a=b(a),a.is(":radio, :checkbox")?a.prop("checked",c):a.is("select[multiple]")?(c=b.isArray(c)?_.map(c,function(a){return String(a)}):[],a.find("option").each(function(){b(this).prop("selected",-1!==_.indexOf(c,String(this.value)))})):a.val(c)},getSidebarWidgetsControl:function(){var a,b;return a="sidebars_widgets["+this.params.sidebar_id+"]",(b=f.control(a))?b:void 0},updateWidget:function(c){var d,g,h,i,j,k,l,m,n,o,p,q=this;c=b.extend({instance:null,complete:null,ignoreActiveElement:!1},c),d=c.instance,g=c.complete,this._updateCount+=1,j=this._updateCount,h=this.container.find(".widget:first"),i=h.find(".widget-content:first"),i.find(".widget-error").remove(),this.container.addClass("widget-form-loading"),this.container.addClass("previewer-loading"),n=f.state("processing"),n(n()+1),this.liveUpdateMode||this.container.addClass("widget-form-disabled"),k={},k.action="update-widget",k.wp_customize="on",k.nonce=f.Widgets.data.nonce,k.theme=f.settings.theme.stylesheet,k.customized=a.customize.previewer.query().customized,l=b.param(k),m=this._getInputs(i),m.each(function(){b(this).data("state"+j,q._getInputState(this))}),l+=d?"&"+b.param({sanitized_widget_setting:JSON.stringify(d)}):"&"+m.serialize(),l+="&"+i.find("~ :input").serialize(),this._previousUpdateRequest&&this._previousUpdateRequest.abort(),o=b.post(a.ajax.settings.url,l),this._previousUpdateRequest=o,o.done(function(a){var d,k,l,n,o=!1;return"0"===a?(f.previewer.preview.iframe.hide(),void f.previewer.login().done(function(){q.updateWidget(c),f.previewer.preview.iframe.show()})):"-1"===a?void f.previewer.cheatin():void(a.success?(k=b("<div>"+a.data.form+"</div>"),l=q._getInputs(k),n=q._getInputsSignature(m)===q._getInputsSignature(l),n&&!q.liveUpdateMode&&(q.liveUpdateMode=!0,q.container.removeClass("widget-form-disabled"),q.container.find('input[name="savewidget"]').hide()),n&&q.liveUpdateMode?(m.each(function(a){var d,e,f,g=b(this),h=b(l[a]);d=g.data("state"+j),e=q._getInputState(h),g.data("sanitized",e),f=!_.isEqual(d,e)&&(c.ignoreActiveElement||!g.is(document.activeElement)),f&&q._setInputState(g,e)}),b(document).trigger("widget-synced",[h,a.data.form])):q.liveUpdateMode?(q.liveUpdateMode=!1,q.container.find('input[name="savewidget"]').show(),o=!0):(i.html(a.data.form),q.container.removeClass("widget-form-disabled"),b(document).trigger("widget-updated",[h])),p=!o&&!_(q.setting()).isEqual(a.data.instance),p?(q.isWidgetUpdating=!0,q.setting(a.data.instance),q.isWidgetUpdating=!1):q.container.removeClass("previewer-loading"),g&&g.call(q,null,{noChange:!p,ajaxFinished:!0})):(d=e.error,a.data&&a.data.message&&(d=a.data.message),g?g.call(q,d):i.prepend('<p class="widget-error"><strong>'+d+"</strong></p>")))}),o.fail(function(a,b){g&&g.call(q,b)}),o.always(function(){q.container.removeClass("widget-form-loading"),m.each(function(){b(this).removeData("state"+j)}),n(n()-1)})},expandControlSection:function(){f.Control.prototype.expand.call(this)},_toggleExpanded:f.Section.prototype._toggleExpanded,expand:f.Section.prototype.expand,expandForm:function(){this.expand()},collapse:f.Section.prototype.collapse,collapseForm:function(){this.collapse()},toggleForm:function(a){"undefined"==typeof a&&(a=!this.expanded()),this.expanded(a)},onChangeExpanded:function(a,b){var c,d,e,g,h=this;return b.unchanged?void(a&&f.Control.prototype.expand.call(h,{completeCallback:b.completeCallback})):(c=this.container.find("div.widget:first"),d=c.find(".widget-inside:first"),void(a?(h.section()&&f.section(h.section())&&h.expandControlSection(),f.control.each(function(a){h.params.type===a.params.type&&h!==a&&a.collapse()}),e=function(){h.container.removeClass("expanding"),h.container.addClass("expanded"),h.container.trigger("expanded")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.params.is_wide?d.fadeIn(b.duration,e):d.slideDown(b.duration,e),h.container.trigger("expand"),h.container.addClass("expanding")):(e=function(){h.container.removeClass("collapsing"),h.container.removeClass("expanded"),h.container.trigger("collapsed")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.container.trigger("collapse"),h.container.addClass("collapsing"),h.params.is_wide?d.fadeOut(b.duration,e):d.slideUp(b.duration,function(){c.css({width:"",margin:""}),e()}))))},getWidgetSidebarPosition:function(){var a,b;return a=this.getSidebarWidgetsControl().setting(),b=_.indexOf(a,this.params.widget_id),-1!==b?b:void 0},moveUp:function(){this._moveWidgetByOne(-1)},moveDown:function(){this._moveWidgetByOne(1)},_moveWidgetByOne:function(a){var b,c,d,e;b=this.getWidgetSidebarPosition(),c=this.getSidebarWidgetsControl().setting,d=Array.prototype.slice.call(c()),e=d[b+a],d[b+a]=this.params.widget_id,d[b]=e,c(d)},toggleWidgetMoveArea:function(a){var c,d=this;c=this.container.find(".move-widget-area"),"undefined"==typeof a&&(a=!c.hasClass("active")),a&&(c.find(".selected").removeClass("selected"),c.find("li").filter(function(){return b(this).data("id")===d.params.sidebar_id}).addClass("selected"),this.container.find(".move-widget-btn").prop("disabled",!0)),c.toggleClass("active",a)},highlightSectionAndControl:function(){var a;a=this.container.is(":hidden")?this.container.closest(".control-section"):this.container,b(".highlighted").removeClass("highlighted"),a.addClass("highlighted"),setTimeout(function(){a.removeClass("highlighted")},500)}}),f.Widgets.SidebarSection=f.Section.extend({ready:function(){var a,b=this;f.Section.prototype.ready.call(this),a=f.Widgets.registeredSidebars.get(b.params.sidebarId),b.active.bind(function(b){a.set("is_rendered",b)}),a.set("is_rendered",b.active())}}),f.Widgets.SidebarControl=f.Control.extend({ready:function(){this.$controlSection=this.container.closest(".control-section"),this.$sectionContent=this.container.closest(".accordion-section-content"),this._setupModel(),this._setupSortable(),this._setupAddition(),this._applyCardinalOrderClassNames()},_setupModel:function(){var a=this;this.setting.bind(function(d,e){var g,h,i;h=_(e).difference(d),d=_(d).filter(function(a){var b=c(a);return!!f.Widgets.availableWidgets.findWhere({id_base:b.id_base})}),g=_(d).map(function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);return c||(c=a.addWidget(b)),c}),g.sort(function(a,b){var c=_.indexOf(d,a.params.widget_id),e=_.indexOf(d,b.params.widget_id);return c-e}),i=0,_(g).each(function(b){b.priority(i),b.section(a.section()),i+=1}),a.priority(i),a._applyCardinalOrderClassNames(),_(g).each(function(b){b.params.sidebar_id=a.params.sidebar_id}),_(h).each(function(d){setTimeout(function(){var e,g,h,i,j,k=!1;f.each(function(b){if(b.id!==a.setting.id&&0===b.id.indexOf("sidebars_widgets[")&&"sidebars_widgets[wp_inactive_widgets]"!==b.id){var c,e=b();c=_.indexOf(e,d),-1!==c&&(k=!0)}}),k||(e=f.Widgets.getWidgetFormControlForWidget(d),g=e&&b.contains(document,e.container[0])&&!b.contains(a.$sectionContent[0],e.container[0]),e&&!g&&(f.control.remove(e.id),e.container.remove()),f.Widgets.savedWidgetIds[d]&&(h=f.value("sidebars_widgets[wp_inactive_widgets]")().slice(),h.push(d),f.value("sidebars_widgets[wp_inactive_widgets]")(_(h).unique())),i=c(d).id_base,j=f.Widgets.availableWidgets.findWhere({id_base:i}),j&&!j.get("is_multi")&&j.set("is_disabled",!1))})})})},_setupSortable:function(){var a=this;this.isReordering=!1,this.$sectionContent.sortable({items:"> .customize-control-widget_form",handle:".widget-top",axis:"y",tolerance:"pointer",connectWith:".accordion-section-content:has(.customize-control-sidebar_widgets)",update:function(){var c,d=a.$sectionContent.sortable("toArray");c=b.map(d,function(a){return b("#"+a).find(":input[name=widget-id]").val()}),a.setting(c)}}),this.$controlSection.find(".accordion-section-title").droppable({accept:".customize-control-widget_form",over:function(){var b=f.section(a.section.get());b.expand({allowMultiple:!0,completeCallback:function(){f.section.each(function(a){a.container.find(".customize-control-sidebar_widgets").length&&a.container.find(".accordion-section-content:first").sortable("refreshPositions")})}})}}),this.container.find(".reorder-toggle").on("click keydown",function(b){("keydown"!==b.type||13===b.which||32===b.which)&&a.toggleReordering(!a.isReordering)})},_setupAddition:function(){var a=this;this.container.find(".add-new-widget").on("click keydown",function(c){("keydown"!==c.type||13===c.which||32===c.which)&&(a.$sectionContent.hasClass("reordering")||(b("body").hasClass("adding-widget")?f.Widgets.availableWidgetsPanel.close():f.Widgets.availableWidgetsPanel.open(a)))})},_applyCardinalOrderClassNames:function(){var a=[];return _.each(this.setting(),function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);c&&a.push(c)}),a.length?(this.container.find(".reorder-toggle").show(),b(a).each(function(){b(this.container).removeClass("first-widget").removeClass("last-widget").find(".move-widget-down, .move-widget-up").prop("tabIndex",0)}),_.first(a).container.addClass("first-widget").find(".move-widget-up").prop("tabIndex",-1),void _.last(a).container.addClass("last-widget").find(".move-widget-down").prop("tabIndex",-1)):void this.container.find(".reorder-toggle").hide()},toggleReordering:function(a){a=Boolean(a),a!==this.$sectionContent.hasClass("reordering")&&(this.isReordering=a,this.$sectionContent.toggleClass("reordering",a),a?(_(this.getWidgetFormControls()).each(function(a){a.collapse()}),this.$sectionContent.find(".first-widget .move-widget").focus(),this.$sectionContent.find(".add-new-widget").prop("tabIndex",-1)):this.$sectionContent.find(".add-new-widget").prop("tabIndex",0))},getWidgetFormControls:function(){var a=[];return _(this.setting()).each(function(b){var c=d(b),e=f.control(c);e&&a.push(e)}),a},addWidget:function(a){var d,e,g,h,i,j,k,l,m,n,o=this,p="widget_form",q=c(a),r=q.number,s=q.id_base,t=f.Widgets.availableWidgets.findWhere({id_base:s});return t?r&&!t.get("is_multi")?!1:(t.get("is_multi")&&!r&&(t.set("multi_number",t.get("multi_number")+1),r=t.get("multi_number")),d=b.trim(b("#widget-tpl-"+t.get("id")).html()),t.get("is_multi")?d=d.replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,r)}):t.set("is_disabled",!0),e=b(d),g=b("<li/>").addClass("customize-control").addClass("customize-control-"+p).append(e),g.find("> .widget-icon").remove(),t.get("is_multi")&&(g.find('input[name="widget_number"]').val(r),g.find('input[name="multi_number"]').val(r)),a=g.find('[name="widget-id"]').val(),g.hide(),i="widget_"+t.get("id_base"),t.get("is_multi")&&(i+="["+r+"]"),g.attr("id","customize-control-"+i.replace(/\]/g,"").replace(/\[/g,"-")),j=f.has(i),j||(m={transport:"refresh",previewer:this.setting.previewer},n=f.create(i,i,"",m),n.set({})),h=f.controlConstructor[p],k=new h(i,{params:{settings:{"default":i},content:g,sidebar_id:o.params.sidebar_id,widget_id:a,widget_id_base:t.get("id_base"),type:p,is_new:!j,width:t.get("width"),height:t.get("height"),is_wide:t.get("is_wide")},previewer:o.setting.previewer}),f.control.add(i,k),f.each(function(b){if(b.id!==o.setting.id&&0===b.id.indexOf("sidebars_widgets[")){var c=b().slice(),d=_.indexOf(c,a);-1!==d&&(c.splice(d),b(c))}}),l=this.setting().slice(),-1===_.indexOf(l,a)&&(l.push(a),this.setting(l)),g.slideDown(function(){j&&k.updateWidget({instance:k.setting()})}),k):!1}}),b.extend(f.sectionConstructor,{sidebar:f.Widgets.SidebarSection}),b.extend(f.controlConstructor,{widget_form:f.Widgets.WidgetControl,sidebar_widgets:f.Widgets.SidebarControl}),f.bind("nonce-refresh",function(a){f.Widgets.data.nonce=a["update-widget"]}),f.bind("ready",function(){f.Widgets.availableWidgetsPanel=new f.Widgets.AvailableWidgetsPanelView({collection:f.Widgets.availableWidgets}),f.previewer.bind("highlight-widget-control",f.Widgets.highlightWidgetFormControl),f.previewer.bind("focus-widget-control",f.Widgets.focusWidgetFormControl)}),f.Widgets.highlightWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.highlightSectionAndControl()},f.Widgets.focusWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.focus()},f.Widgets.getSidebarWidgetControlContainingWidget=function(a){var b=null;return f.control.each(function(c){"sidebar_widgets"===c.params.type&&-1!==_.indexOf(c.setting(),a)&&(b=c)}),b},f.Widgets.getWidgetFormControlForWidget=function(a){var b=null;return f.control.each(function(c){"widget_form"===c.params.type&&c.params.widget_id===a&&(b=c)}),b}}}(window.wp,jQuery);
\ No newline at end of file
index 3d55054a33490fed05a9accfa3cd54b0b3fe4645..bea253cec060016796b82637ec0d07d5ae6ff736 100644 (file)
@@ -313,8 +313,9 @@ commentReply = {
        },
 
        toggle : function(el) {
-               if ( $(el).css('display') != 'none' )
-                       $(el).find('a.vim-q').click();
+               if ( 'none' !== $( el ).css( 'display' ) && ( $( '#replyrow' ).parent().is('#com-reply') || window.confirm( adminCommentsL10n.warnQuickEdit ) ) ) {
+                       $( el ).find( 'a.vim-q' ).click();
+               }
        },
 
        revert : function() {
@@ -397,7 +398,7 @@ commentReply = {
                        });
                } else if ( action == 'add' ) {
                        $('#addhead, #addbtn', editRow).show();
-                       $('#replyhead, #replybtn, #edithead, #editbtn', editRow).hide();
+                       $('#replyhead, #replybtn, #edithead, #savebtn', editRow).hide();
                        $('#the-comment-list').prepend(editRow);
                        $('#replyrow').fadeIn(300);
                } else {
index 35ee42c2c8d794b7635bd76297c4fba6ff559f49..e0c609ed02c2132a54dea26151a67d6f07eccda1 100644 (file)
@@ -1 +1 @@
-var setCommentsList,theList,theExtraList,commentReply;!function(a){var b,c,d;setCommentsList=function(){var e,f,g,h,i,j,k,l,m,n=0;e=a('input[name="_total"]',"#comments-form"),f=a('input[name="_per_page"]',"#comments-form"),g=a('input[name="_page"]',"#comments-form"),h=function(b,c){var e,f,g,h=a("#"+c.element);e=a("#replyrow"),f=a("#comment_ID",e).val(),g=a("#replybtn",e),h.is(".unapproved")?(c.data.id==f&&g.text(adminCommentsL10n.replyApprove),h.find("div.comment_status").html("0")):(c.data.id==f&&g.text(adminCommentsL10n.reply),h.find("div.comment_status").html("1")),m=a("#"+c.element).is("."+c.dimClass)?1:-1,d(m)},i=function(b,c){var d,h,i,j,k,l,m,n=!1,o=a(b.target).attr("data-wp-lists");return b.data._total=e.val()||0,b.data._per_page=f.val()||0,b.data._page=g.val()||0,b.data._url=document.location.href,b.data.comment_status=a('input[name="comment_status"]',"#comments-form").val(),-1!=o.indexOf(":trash=1")?n="trash":-1!=o.indexOf(":spam=1")&&(n="spam"),n&&(h=o.replace(/.*?comment-([0-9]+).*/,"$1"),i=a("#comment-"+h),d=a("#"+n+"-undo-holder").html(),i.find(".check-column :checkbox").prop("checked",!1),i.siblings("#replyrow").length&&commentReply.cid==h&&commentReply.close(),i.is("tr")?(j=i.children(":visible").length,m=a(".author strong",i).text(),k=a('<tr id="undo-'+h+'" class="undo un'+n+'" style="display:none;"><td colspan="'+j+'">'+d+"</td></tr>")):(m=a(".comment-author",i).text(),k=a('<div id="undo-'+h+'" style="display:none;" class="undo un'+n+'">'+d+"</div>")),i.before(k),a("strong","#undo-"+h).text(m),l=a(".undo a","#undo-"+h),l.attr("href","comment.php?action=un"+n+"comment&c="+h+"&_wpnonce="+b.data._ajax_nonce),l.attr("data-wp-lists","delete:the-comment-list:comment-"+h+"::un"+n+"=1"),l.attr("class","vim-z vim-destructive"),a(".avatar",i).first().clone().prependTo("#undo-"+h+" ."+n+"-undo-inside"),l.click(function(){return c.wpList.del(this),a("#undo-"+h).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+h).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},j=function(a,b,c){n>b||(c&&(n=b),e.val(a.toString()))},b=function(a){var b=parseInt(a.html().replace(/[^0-9]+/g,""),10);return isNaN(b)?0:b},c=function(a,b){var c="";if(!isNaN(b)){if(b=1>b?"0":b.toString(),b.length>3){for(;b.length>3;)c=thousandsSeparator+b.substr(b.length-3)+c,b=b.substr(0,b.length-3);b+=c}a.html(b)}},d=function(d){a("span.pending-count").each(function(){var e=a(this),f=b(e)+d;1>f&&(f=0),e.closest(".awaiting-mod")[0===f?"addClass":"removeClass"]("count-0"),c(e,f)})},k=function(f,g){function h(b){return a(g.target).parent().is("span."+b)?1:a("#"+g.element).is("."+b)?-1:0}var i,k,m,o,p,q=a(g.target).parent().is("span.untrash"),r=a(g.target).parent().is("span.unspam"),s=a("#"+g.element).is(".unapproved");o=q?-1:h("trash"),m=r?-1:h("spam"),a(g.target).parent().is("span.unapprove")||(q||r)&&s?p=1:s&&(p=-1),p&&d(p),a("span.spam-count").each(function(){var d=a(this),e=b(d)+m;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+o;c(d,e)}),a("#dashboard_right_now").length||(k=e.val()?parseInt(e.val(),10):0,a(g.target).parent().is("span.undo")?k++:k--,0>k&&(k=0),"object"==typeof f&&n<g.parsed.responses[0].supplemental.time?(i=g.parsed.responses[0].supplemental.total_items_i18n||"",i&&(a(".displaying-num").text(i),a(".total-pages").text(g.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",g.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),j(k,g.parsed.responses[0].supplemental.time,!0)):j(k,f,!1)),!theExtraList||0===theExtraList.size()||0===theExtraList.children().size()||q||r||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),l())},l=function(b){var c=a.query.get(),d=a(".total-pages").text(),e=a('input[name="_per_page"]',"#comments-form").val();c.paged||(c.paged=1),c.paged>d||(b?(theExtraList.empty(),c.number=Math.min(8,e)):(c.number=1,c.offset=Math.min(8,e)-1),c.no_placeholder=!0,c.paged++,!0===c.comment_type&&(c.comment_type=""),c=a.extend(c,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()}),a.ajax({url:ajaxurl,global:!1,dataType:"json",data:c,success:function(a){theExtraList.get(0).wpList.add(a.rows)}}))},theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"}),theList=a("#the-comment-list").wpList({alt:"",delBefore:i,dimAfter:h,delAfter:k,addColor:"none"}).bind("wpListDelEnd",function(b,c){var d=a(c.target).attr("data-wp-lists"),e=c.element.replace(/[^0-9]+/g,"");(-1!=d.indexOf(":trash=1")||-1!=d.indexOf(":spam=1"))&&a("#undo-"+e).fadeIn(300,function(){a(this).show()})})},commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()}),a("a.save",b).click(function(){return commentReply.send()}),a("input#author, input#author-email, input#author-url",b).keypress(function(a){return 13==a.which?(commentReply.send(),a.preventDefault(),!1):void 0}),a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())}),a("#doaction, #doaction2, #post-query-submit").click(function(){a("#the-comment-list #replyrow").length>0&&commentReply.close()}),this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){"none"!=a(b).css("display")&&a(b).find("a.vim-q").click()},revert:function(){return a("#the-comment-list #replyrow").length<1?!1:(a("#replyrow").fadeOut("fast",function(){commentReply.close()}),!1)},close:function(){var b,c=a("#replyrow");c.parent().is("#com-reply")||(this.cid&&"edit-comment"==this.act&&(b=a("#comment-"+this.cid),b.fadeIn(300,function(){b.show()}).css("backgroundColor","")),"undefined"!=typeof QTags&&QTags.closeAllTags("replycontent"),a("#add-new-comment").css("display",""),c.hide(),a("#com-reply").append(c),a("#replycontent").css("height","").val(""),a("#edithead input").val(""),a(".error",c).empty().hide(),a(".spinner",c).removeClass("is-active"),this.cid="")},open:function(b,c,d){var e,f,g,h,i,j=this,k=a("#comment-"+b),l=k.height();return j.close(),j.cid=b,e=a("#replyrow"),f=a("#inline-"+b),d=d||"replyto",g="edit"==d?"edit":"replyto",g=j.act=g+"-comment",a("#action",e).val(g),a("#comment_post_ID",e).val(c),a("#comment_ID",e).val(b),"edit"==d?(a("#author",e).val(a("div.author",f).text()),a("#author-email",e).val(a("div.author-email",f).text()),a("#author-url",e).val(a("div.author-url",f).text()),a("#status",e).val(a("div.comment_status",f).text()),a("#replycontent",e).val(a("textarea.comment",f).val()),a("#edithead, #savebtn",e).show(),a("#replyhead, #replybtn, #addhead, #addbtn",e).hide(),l>120&&(i=l>500?500:l,a("#replycontent",e).css("height",i+"px")),k.after(e).fadeOut("fast",function(){a("#replyrow").fadeIn(300,function(){a(this).show()})})):"add"==d?(a("#addhead, #addbtn",e).show(),a("#replyhead, #replybtn, #edithead, #editbtn",e).hide(),a("#the-comment-list").prepend(e),a("#replyrow").fadeIn(300)):(h=a("#replybtn",e),a("#edithead, #savebtn, #addhead, #addbtn",e).hide(),a("#replyhead, #replybtn",e).show(),k.after(e),h.text(k.hasClass("unapproved")?adminCommentsL10n.replyApprove:adminCommentsL10n.reply),a("#replyrow").fadeIn(300,function(){a(this).show()})),setTimeout(function(){var b,c,d,e,f;b=a("#replyrow").offset().top,c=b+a("#replyrow").height(),d=window.pageYOffset||document.documentElement.scrollTop,e=document.documentElement.clientHeight||window.innerHeight||0,f=d+e,c>f-20?window.scroll(0,c-e+35):d>b-20&&window.scroll(0,b-35),a("#replycontent").focus().keyup(function(a){27==a.which&&commentReply.revert()})},600),!1},send:function(){var b={};return a("#replysubmit .error").hide(),a("#replysubmit .spinner").addClass("is-active"),a("#replyrow input").not(":button").each(function(){var c=a(this);b[c.attr("name")]=c.val()}),b.content=a("#replycontent").val(),b.id=b.comment_post_ID,b.comments_listing=this.comments_listing,b.p=a('[name="p"]').val(),a("#comment-"+a("#comment_ID").val()).hasClass("unapproved")&&(b.approve_parent=1),a.ajax({type:"POST",url:ajaxurl,data:b,success:function(a){commentReply.show(a)},error:function(a){commentReply.error(a)}}),!1},show:function(b){var c,e,f,g,h,i=this;return"string"==typeof b?(i.error({responseText:b}),!1):(c=wpAjax.parseAjaxResponse(b),c.errors?(i.error({responseText:wpAjax.broken}),!1):(i.revert(),c=c.responses[0],f="#comment-"+c.id,"edit-comment"==i.act&&a(f).remove(),c.supplemental.parent_approved&&(h=a("#comment-"+c.supplemental.parent_approved),d(-1),"moderated"==this.comments_listing)?void h.animate({backgroundColor:"#CCEEBB"},400,function(){h.fadeOut()}):(e=a.trim(c.data),a(e).hide(),a("#replyrow").after(e),f=a(f),i.addEvents(f),g=f.hasClass("unapproved")?"#FFFFE0":f.closest(".widefat, .postbox").css("backgroundColor"),void f.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300,function(){h&&h.length&&h.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}))))},error:function(b){var c=b.statusText;a("#replysubmit .spinner").removeClass("is-active"),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#replysubmit .error").html(c).show()},addcomment:function(b){var c=this;a("#add-new-comment").fadeOut(200,function(){c.open(0,b,"add"),a("table.comments-box").css("display",""),a("#no-comments").remove()})}},a(document).ready(function(){var b,c,d,e;setCommentsList(),commentReply.init(),a(document).delegate("span.delete a.delete","click",function(){return!1}),"undefined"!=typeof a.table_hotkeys&&(b=function(b){return function(){var c,d;c="next"==b?"first":"last",d=a(".tablenav-pages ."+b+"-page:not(.disabled)"),d.length&&(window.location=d[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+c+"=1")}},c=function(b,c){window.location=a("span.edit a",c).attr("href")},d=function(){a("#cb-select-all-1").data("wp-toggle",1).trigger("click").removeData("wp-toggle")},e=function(b){return function(){var c=a('select[name="action"]');a('option[value="'+b+'"]',c).prop("selected",!0),a("#doaction").click()}},a.table_hotkeys(a("table.widefat"),["a","u","s","d","r","q","z",["e",c],["shift+x",d],["shift+a",e("approve")],["shift+s",e("spam")],["shift+d",e("delete")],["shift+t",e("trash")],["shift+z",e("untrash")],["shift+u",e("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:b("prev"),next_page_link_cb:b("next"),hotkeys_opts:{disableInInput:!0,type:"keypress",noDisable:'.check-column input[type="checkbox"]'},cycle_expr:"#the-comment-list tr",start_row_index:0})),a("#the-comment-list").on("click",".comment-inline",function(b){b.preventDefault();var c=a(this),d="replyto";"undefined"!=typeof c.data("action")&&(d=c.data("action")),commentReply.open(c.data("commentId"),c.data("postId"),d)})})}(jQuery);
\ No newline at end of file
+var setCommentsList,theList,theExtraList,commentReply;!function(a){var b,c,d;setCommentsList=function(){var e,f,g,h,i,j,k,l,m,n=0;e=a('input[name="_total"]',"#comments-form"),f=a('input[name="_per_page"]',"#comments-form"),g=a('input[name="_page"]',"#comments-form"),h=function(b,c){var e,f,g,h=a("#"+c.element);e=a("#replyrow"),f=a("#comment_ID",e).val(),g=a("#replybtn",e),h.is(".unapproved")?(c.data.id==f&&g.text(adminCommentsL10n.replyApprove),h.find("div.comment_status").html("0")):(c.data.id==f&&g.text(adminCommentsL10n.reply),h.find("div.comment_status").html("1")),m=a("#"+c.element).is("."+c.dimClass)?1:-1,d(m)},i=function(b,c){var d,h,i,j,k,l,m,n=!1,o=a(b.target).attr("data-wp-lists");return b.data._total=e.val()||0,b.data._per_page=f.val()||0,b.data._page=g.val()||0,b.data._url=document.location.href,b.data.comment_status=a('input[name="comment_status"]',"#comments-form").val(),-1!=o.indexOf(":trash=1")?n="trash":-1!=o.indexOf(":spam=1")&&(n="spam"),n&&(h=o.replace(/.*?comment-([0-9]+).*/,"$1"),i=a("#comment-"+h),d=a("#"+n+"-undo-holder").html(),i.find(".check-column :checkbox").prop("checked",!1),i.siblings("#replyrow").length&&commentReply.cid==h&&commentReply.close(),i.is("tr")?(j=i.children(":visible").length,m=a(".author strong",i).text(),k=a('<tr id="undo-'+h+'" class="undo un'+n+'" style="display:none;"><td colspan="'+j+'">'+d+"</td></tr>")):(m=a(".comment-author",i).text(),k=a('<div id="undo-'+h+'" style="display:none;" class="undo un'+n+'">'+d+"</div>")),i.before(k),a("strong","#undo-"+h).text(m),l=a(".undo a","#undo-"+h),l.attr("href","comment.php?action=un"+n+"comment&c="+h+"&_wpnonce="+b.data._ajax_nonce),l.attr("data-wp-lists","delete:the-comment-list:comment-"+h+"::un"+n+"=1"),l.attr("class","vim-z vim-destructive"),a(".avatar",i).first().clone().prependTo("#undo-"+h+" ."+n+"-undo-inside"),l.click(function(){return c.wpList.del(this),a("#undo-"+h).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+h).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},j=function(a,b,c){n>b||(c&&(n=b),e.val(a.toString()))},b=function(a){var b=parseInt(a.html().replace(/[^0-9]+/g,""),10);return isNaN(b)?0:b},c=function(a,b){var c="";if(!isNaN(b)){if(b=1>b?"0":b.toString(),b.length>3){for(;b.length>3;)c=thousandsSeparator+b.substr(b.length-3)+c,b=b.substr(0,b.length-3);b+=c}a.html(b)}},d=function(d){a("span.pending-count").each(function(){var e=a(this),f=b(e)+d;1>f&&(f=0),e.closest(".awaiting-mod")[0===f?"addClass":"removeClass"]("count-0"),c(e,f)})},k=function(f,g){function h(b){return a(g.target).parent().is("span."+b)?1:a("#"+g.element).is("."+b)?-1:0}var i,k,m,o,p,q=a(g.target).parent().is("span.untrash"),r=a(g.target).parent().is("span.unspam"),s=a("#"+g.element).is(".unapproved");o=q?-1:h("trash"),m=r?-1:h("spam"),a(g.target).parent().is("span.unapprove")||(q||r)&&s?p=1:s&&(p=-1),p&&d(p),a("span.spam-count").each(function(){var d=a(this),e=b(d)+m;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+o;c(d,e)}),a("#dashboard_right_now").length||(k=e.val()?parseInt(e.val(),10):0,a(g.target).parent().is("span.undo")?k++:k--,0>k&&(k=0),"object"==typeof f&&n<g.parsed.responses[0].supplemental.time?(i=g.parsed.responses[0].supplemental.total_items_i18n||"",i&&(a(".displaying-num").text(i),a(".total-pages").text(g.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",g.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),j(k,g.parsed.responses[0].supplemental.time,!0)):j(k,f,!1)),!theExtraList||0===theExtraList.size()||0===theExtraList.children().size()||q||r||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),l())},l=function(b){var c=a.query.get(),d=a(".total-pages").text(),e=a('input[name="_per_page"]',"#comments-form").val();c.paged||(c.paged=1),c.paged>d||(b?(theExtraList.empty(),c.number=Math.min(8,e)):(c.number=1,c.offset=Math.min(8,e)-1),c.no_placeholder=!0,c.paged++,!0===c.comment_type&&(c.comment_type=""),c=a.extend(c,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()}),a.ajax({url:ajaxurl,global:!1,dataType:"json",data:c,success:function(a){theExtraList.get(0).wpList.add(a.rows)}}))},theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"}),theList=a("#the-comment-list").wpList({alt:"",delBefore:i,dimAfter:h,delAfter:k,addColor:"none"}).bind("wpListDelEnd",function(b,c){var d=a(c.target).attr("data-wp-lists"),e=c.element.replace(/[^0-9]+/g,"");(-1!=d.indexOf(":trash=1")||-1!=d.indexOf(":spam=1"))&&a("#undo-"+e).fadeIn(300,function(){a(this).show()})})},commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()}),a("a.save",b).click(function(){return commentReply.send()}),a("input#author, input#author-email, input#author-url",b).keypress(function(a){return 13==a.which?(commentReply.send(),a.preventDefault(),!1):void 0}),a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())}),a("#doaction, #doaction2, #post-query-submit").click(function(){a("#the-comment-list #replyrow").length>0&&commentReply.close()}),this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){"none"!==a(b).css("display")&&(a("#replyrow").parent().is("#com-reply")||window.confirm(adminCommentsL10n.warnQuickEdit))&&a(b).find("a.vim-q").click()},revert:function(){return a("#the-comment-list #replyrow").length<1?!1:(a("#replyrow").fadeOut("fast",function(){commentReply.close()}),!1)},close:function(){var b,c=a("#replyrow");c.parent().is("#com-reply")||(this.cid&&"edit-comment"==this.act&&(b=a("#comment-"+this.cid),b.fadeIn(300,function(){b.show()}).css("backgroundColor","")),"undefined"!=typeof QTags&&QTags.closeAllTags("replycontent"),a("#add-new-comment").css("display",""),c.hide(),a("#com-reply").append(c),a("#replycontent").css("height","").val(""),a("#edithead input").val(""),a(".error",c).empty().hide(),a(".spinner",c).removeClass("is-active"),this.cid="")},open:function(b,c,d){var e,f,g,h,i,j=this,k=a("#comment-"+b),l=k.height();return j.close(),j.cid=b,e=a("#replyrow"),f=a("#inline-"+b),d=d||"replyto",g="edit"==d?"edit":"replyto",g=j.act=g+"-comment",a("#action",e).val(g),a("#comment_post_ID",e).val(c),a("#comment_ID",e).val(b),"edit"==d?(a("#author",e).val(a("div.author",f).text()),a("#author-email",e).val(a("div.author-email",f).text()),a("#author-url",e).val(a("div.author-url",f).text()),a("#status",e).val(a("div.comment_status",f).text()),a("#replycontent",e).val(a("textarea.comment",f).val()),a("#edithead, #savebtn",e).show(),a("#replyhead, #replybtn, #addhead, #addbtn",e).hide(),l>120&&(i=l>500?500:l,a("#replycontent",e).css("height",i+"px")),k.after(e).fadeOut("fast",function(){a("#replyrow").fadeIn(300,function(){a(this).show()})})):"add"==d?(a("#addhead, #addbtn",e).show(),a("#replyhead, #replybtn, #edithead, #savebtn",e).hide(),a("#the-comment-list").prepend(e),a("#replyrow").fadeIn(300)):(h=a("#replybtn",e),a("#edithead, #savebtn, #addhead, #addbtn",e).hide(),a("#replyhead, #replybtn",e).show(),k.after(e),k.hasClass("unapproved")?h.text(adminCommentsL10n.replyApprove):h.text(adminCommentsL10n.reply),a("#replyrow").fadeIn(300,function(){a(this).show()})),setTimeout(function(){var b,c,d,e,f;b=a("#replyrow").offset().top,c=b+a("#replyrow").height(),d=window.pageYOffset||document.documentElement.scrollTop,e=document.documentElement.clientHeight||window.innerHeight||0,f=d+e,c>f-20?window.scroll(0,c-e+35):d>b-20&&window.scroll(0,b-35),a("#replycontent").focus().keyup(function(a){27==a.which&&commentReply.revert()})},600),!1},send:function(){var b={};return a("#replysubmit .error").hide(),a("#replysubmit .spinner").addClass("is-active"),a("#replyrow input").not(":button").each(function(){var c=a(this);b[c.attr("name")]=c.val()}),b.content=a("#replycontent").val(),b.id=b.comment_post_ID,b.comments_listing=this.comments_listing,b.p=a('[name="p"]').val(),a("#comment-"+a("#comment_ID").val()).hasClass("unapproved")&&(b.approve_parent=1),a.ajax({type:"POST",url:ajaxurl,data:b,success:function(a){commentReply.show(a)},error:function(a){commentReply.error(a)}}),!1},show:function(b){var c,e,f,g,h,i=this;return"string"==typeof b?(i.error({responseText:b}),!1):(c=wpAjax.parseAjaxResponse(b),c.errors?(i.error({responseText:wpAjax.broken}),!1):(i.revert(),c=c.responses[0],f="#comment-"+c.id,"edit-comment"==i.act&&a(f).remove(),c.supplemental.parent_approved&&(h=a("#comment-"+c.supplemental.parent_approved),d(-1),"moderated"==this.comments_listing)?void h.animate({backgroundColor:"#CCEEBB"},400,function(){h.fadeOut()}):(e=a.trim(c.data),a(e).hide(),a("#replyrow").after(e),f=a(f),i.addEvents(f),g=f.hasClass("unapproved")?"#FFFFE0":f.closest(".widefat, .postbox").css("backgroundColor"),void f.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300,function(){h&&h.length&&h.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}))))},error:function(b){var c=b.statusText;a("#replysubmit .spinner").removeClass("is-active"),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#replysubmit .error").html(c).show()},addcomment:function(b){var c=this;a("#add-new-comment").fadeOut(200,function(){c.open(0,b,"add"),a("table.comments-box").css("display",""),a("#no-comments").remove()})}},a(document).ready(function(){var b,c,d,e;setCommentsList(),commentReply.init(),a(document).delegate("span.delete a.delete","click",function(){return!1}),"undefined"!=typeof a.table_hotkeys&&(b=function(b){return function(){var c,d;c="next"==b?"first":"last",d=a(".tablenav-pages ."+b+"-page:not(.disabled)"),d.length&&(window.location=d[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+c+"=1")}},c=function(b,c){window.location=a("span.edit a",c).attr("href")},d=function(){a("#cb-select-all-1").data("wp-toggle",1).trigger("click").removeData("wp-toggle")},e=function(b){return function(){var c=a('select[name="action"]');a('option[value="'+b+'"]',c).prop("selected",!0),a("#doaction").click()}},a.table_hotkeys(a("table.widefat"),["a","u","s","d","r","q","z",["e",c],["shift+x",d],["shift+a",e("approve")],["shift+s",e("spam")],["shift+d",e("delete")],["shift+t",e("trash")],["shift+z",e("untrash")],["shift+u",e("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:b("prev"),next_page_link_cb:b("next"),hotkeys_opts:{disableInInput:!0,type:"keypress",noDisable:'.check-column input[type="checkbox"]'},cycle_expr:"#the-comment-list tr",start_row_index:0})),a("#the-comment-list").on("click",".comment-inline",function(b){b.preventDefault();var c=a(this),d="replyto";"undefined"!=typeof c.data("action")&&(d=c.data("action")),commentReply.open(c.data("commentId"),c.data("postId"),d)})})}(jQuery);
\ No newline at end of file
index 5d1d632cbae42fdf548ca63db1006f26057d3821..51e20857d58a03e5b0b79c828ff7f25fd9f54abe 100644 (file)
@@ -1 +1 @@
-!function(a,b){"use strict";var c=b(a),d=b(document),e=b("#wpadminbar"),f=b("#wpfooter");b(function(){function g(){var a=c.width();T={windowHeight:c.height(),windowWidth:a,adminBarHeight:a>600?e.outerHeight():0,toolsHeight:t.outerHeight()||0,menuBarHeight:A.outerHeight()||0,visualTopHeight:u.outerHeight()||0,textTopHeight:w.outerHeight()||0,bottomHeight:z.outerHeight()||0,statusBarHeight:B.outerHeight()||0,sideSortablesHeight:C.height()||0},T.menuBarHeight<3&&(T.menuBarHeight=0)}function h(b){var c,d,e,f,g,h=jQuery.ui.keyCode,i=b.keyCode,j=document.createRange(),k=x[0].selectionStart,l=x[0].selectionEnd,m=y[0].firstChild,n=10;if(!k||!l||k===l){try{j.setStart(m,k),j.setEnd(m,l+1)}catch(o){}c=j.getBoundingClientRect(),c.height&&(d=c.top-n,e=d+c.height+n,f=T.adminBarHeight+T.toolsHeight+T.textTopHeight,g=T.windowHeight-T.bottomHeight,f>d&&(i===h.UP||i===h.LEFT||i===h.BACKSPACE)?a.scrollTo(a.pageXOffset,d+a.pageYOffset-f):e>g&&a.scrollTo(a.pageXOffset,e+a.pageYOffset-g))}}function i(){if(!(p&&!p.isHidden()||!p&&"tinymce"===R)){var a,b=x.height();y.width(x.width()-22),y.text(x.val()+"&nbsp;"),a=y.height(),Q>a&&(a=Q),a!==b&&(x.height(a),j())}}function j(b){if(!F||!F.settings.visible){var e,h,j,k,l,m,n,o,q,r=c.scrollTop(),G=b&&b.type,H="scroll"!==G,N=p&&!p.isHidden(),R=Q,U=E.offset().top,V=1,W=s.width();(H||!T.windowHeight)&&g(),N||"resize"!==G||i(),N?(e=u,h=v,n=T.visualTopHeight):(e=w,h=x,n=T.textTopHeight),(N||e.length)&&(m=e.parent().offset().top,o=h.offset().top,q=h.outerHeight(),l=N?Q+n:Q+20,l=q>l+5,l?((!I||H)&&r>=m-T.toolsHeight-T.adminBarHeight&&r<=m-T.toolsHeight-T.adminBarHeight+q-R?(I=!0,t.css({position:"fixed",top:T.adminBarHeight,width:W}),N&&A.length&&A.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}),e.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight+T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())})):(I||H)&&(r<=m-T.toolsHeight-T.adminBarHeight?(I=!1,t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),e.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())})):r>=m-T.toolsHeight-T.adminBarHeight+q-R&&(I=!1,t.css({position:"absolute",top:q-R,width:W}),N&&A.length&&A.css({position:"absolute",top:q-R,width:W-2*V}),e.css({position:"absolute",top:q-R+T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}))),(!J||H&&S)&&r+T.windowHeight<=o+q+T.bottomHeight+T.statusBarHeight+V?b&&b.deltaHeight>0&&b.deltaHeight<100?a.scrollBy(0,b.deltaHeight):S&&(J=!0,B.css({position:"fixed",bottom:T.bottomHeight,visibility:"",width:W-2*V}),z.css({position:"fixed",bottom:0,width:W})):(!S&&J||(J||H)&&r+T.windowHeight>o+q+T.bottomHeight+T.statusBarHeight-V)&&(J=!1,B.attr("style",S?"":"visibility: hidden;"),z.attr("style",""))):H&&(t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),e.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}),B.attr("style",S?"":"visibility: hidden;"),z.attr("style","")),D.width()<300&&T.windowWidth>600&&d.height()>C.height()+U+120&&T.windowHeight<q?(T.sideSortablesHeight+O+P>T.windowHeight||K||L?U>=r+O?(C.attr("style",""),K=L=!1):r>M?K?(K=!1,j=C.offset().top-T.adminBarHeight,k=f.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!L&&T.sideSortablesHeight+C.offset().top+P<r+T.windowHeight&&(L=!0,C.css({position:"fixed",top:"auto",bottom:P})):M>r&&(L?(L=!1,j=C.offset().top-P,k=f.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!K&&C.offset().top>=r+O&&(K=!0,C.css({position:"fixed",top:O,bottom:""}))):(r>=U-O?C.css({position:"fixed",top:O}):C.attr("style",""),K=L=!1),M=r):(C.attr("style",""),K=L=!1),H&&(s.css({paddingTop:T.toolsHeight}),N?v.css({paddingTop:T.visualTopHeight+T.menuBarHeight}):(x.css({marginTop:T.textTopHeight}),y.width(W-20-2*V))))}}function k(){i(),j()}function l(a){for(var b=1;6>b;b++)setTimeout(a,500*b)}function m(){clearTimeout(q),q=setTimeout(j,100)}function n(){a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.addClass("wp-editor-expand"),c.on("scroll.editor-expand resize.editor-expand",function(a){j(a.type),m()}),d.on("wp-collapse-menu.editor-expand postboxes-columnchange.editor-expand editor-classchange.editor-expand",j).on("postbox-toggled.editor-expand",function(){!K&&!L&&a.pageYOffset>O&&(L=!0,a.scrollBy(0,-1),j(),a.scrollBy(0,1)),j()}).on("wp-window-resized.editor-expand",function(){p&&!p.isHidden()?p.execCommand("wpAutoResize"):i()}),x.on("focus.editor-expand input.editor-expand propertychange.editor-expand",i),x.on("keyup.editor-expand",h),G(),F&&F.pubsub.subscribe("hidden",k),p&&(p.settings.wp_autoresize_on=!0,p.execCommand("wpAutoResizeOn"),p.isHidden()||p.execCommand("wpAutoResize")),(!p||p.isHidden())&&i(),j(),d.trigger("editor-expand-on")}function o(){var e=parseInt(a.getUserSetting("ed_size",300),10);50>e?e=50:e>5e3&&(e=5e3),a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.removeClass("wp-editor-expand"),c.off(".editor-expand"),d.off(".editor-expand"),x.off(".editor-expand"),H(),F&&F.pubsub.unsubscribe("hidden",k),b.each([u,w,t,A,z,B,s,v,x,C],function(a,b){b&&b.attr("style","")}),I=J=K=L=!1,p&&(p.settings.wp_autoresize_on=!1,p.execCommand("wpAutoResizeOff"),p.isHidden()||(x.hide(),e&&p.theme.resizeTo(null,e))),e&&x.height(e),d.trigger("editor-expand-off")}var p,q,r=b("#postdivrich"),s=b("#wp-content-wrap"),t=b("#wp-content-editor-tools"),u=b(),v=b(),w=b("#ed_toolbar"),x=b("#content"),y=b('<div id="content-textarea-clone" class="wp-exclude-emoji"></div>'),z=b("#post-status-info"),A=b(),B=b(),C=b("#side-sortables"),D=b("#postbox-container-1"),E=b("#post-body"),F=a.wp.editor&&a.wp.editor.fullscreen,G=function(){},H=function(){},I=!1,J=!1,K=!1,L=!1,M=0,N=130,O=56,P=20,Q=300,R=s.hasClass("tmce-active")?"tinymce":"html",S=!!parseInt(a.getUserSetting("hidetb"),10),T={windowHeight:0,windowWidth:0,adminBarHeight:0,toolsHeight:0,menuBarHeight:0,visualTopHeight:0,textTopHeight:0,bottomHeight:0,statusBarHeight:0,sideSortablesHeight:0};y.insertAfter(x),y.css({"font-family":x.css("font-family"),"font-size":x.css("font-size"),"line-height":x.css("line-height"),"white-space":"pre-wrap","word-wrap":"break-word"}),d.on("tinymce-editor-init.editor-expand",function(d,e){function f(){var a,b,c,d=e.selection.getNode();if(e.wp&&e.wp.getView&&(b=e.wp.getView(d)))c=b.getBoundingClientRect();else{a=e.selection.getRng();try{c=a.getClientRects()[0]}catch(f){}c||(c=d.getBoundingClientRect())}return c.height?c:!1}function g(a){var b=a.keyCode;47>=b&&b!==q.SPACEBAR&&b!==q.ENTER&&b!==q.DELETE&&b!==q.BACKSPACE&&b!==q.UP&&b!==q.LEFT&&b!==q.DOWN&&b!==q.UP||b>=91&&93>=b||b>=112&&123>=b||144===b||145===b||h(b)}function h(b){var c,d,g,h,i=f(),j=50;i&&(c=i.top+e.iframeElement.getBoundingClientRect().top,d=c+i.height,c-=j,d+=j,g=T.adminBarHeight+T.toolsHeight+T.menuBarHeight+T.visualTopHeight,h=T.windowHeight-(S?T.bottomHeight+T.statusBarHeight:0),h-g<i.height||(g>c&&(b===q.UP||b===q.LEFT||b===q.BACKSPACE)?a.scrollTo(a.pageXOffset,c+a.pageYOffset-g):d>h&&a.scrollTo(a.pageXOffset,d+a.pageYOffset-h)))}function k(a){a.state||j()}function m(){c.on("scroll.mce-float-panels",t),setTimeout(function(){e.execCommand("wpAutoResize"),j()},300)}function n(){c.off("scroll.mce-float-panels"),setTimeout(function(){var b=s.offset().top;a.pageYOffset>b&&a.scrollTo(a.pageXOffset,b-T.adminBarHeight),i(),j()},100),j()}function o(){S=!S}var q=a.tinymce.util.VK,t=_.debounce(function(){!b(".mce-floatpanel:hover").length&&a.tinymce.ui.FloatPanel.hideAll(),b(".mce-tooltip").hide()},1e3,!0);"content"===e.id&&(p=e,e.settings.autoresize_min_height=Q,u=s.find(".mce-toolbar-grp"),v=s.find(".mce-edit-area"),B=s.find(".mce-statusbar"),A=s.find(".mce-menubar"),G=function(){e.on("keyup",g),e.on("show",m),e.on("hide",n),e.on("wp-toolbar-toggle",o),e.on("setcontent wp-autoresize wp-toolbar-toggle",j),e.on("undo redo",h),e.on("FullscreenStateChanged",k),c.off("scroll.mce-float-panels").on("scroll.mce-float-panels",t)},H=function(){e.off("keyup",g),e.off("show",m),e.off("hide",n),e.off("wp-toolbar-toggle",o),e.off("setcontent wp-autoresize wp-toolbar-toggle",j),e.off("undo redo",h),e.off("FullscreenStateChanged",k),c.off("scroll.mce-float-panels")},r.hasClass("wp-editor-expand")&&(G(),l(j)))}),r.hasClass("wp-editor-expand")&&(n(),s.hasClass("html-active")&&l(function(){j(),i()})),b("#adv-settings .editor-expand").show(),b("#editor-expand-toggle").on("change.editor-expand",function(){b(this).prop("checked")?(n(),a.setUserSetting("editor_expand","on")):(o(),a.setUserSetting("editor_expand","off"))}),a.editorExpand={on:n,off:o}}),b(function(){function g(){z=J.offset(),z.right=z.left+J.outerWidth(),z.bottom=z.top+J.outerHeight()}function h(){S||(S=!0,d.trigger("dfw-activate"),L.on("keydown.focus-shortcut",v))}function i(){S&&(l(),S=!1,d.trigger("dfw-deactivate"),L.off("keydown.focus-shortcut"))}function j(){return S}function k(){!T&&S&&(T=!0,L.on("keydown.focus",o),K.add(L).on("blur.focus",q),o(),a.setUserSetting("post_dfw","on"),d.trigger("dfw-on"))}function l(){T&&(T=!1,K.add(L).off(".focus"),p(),J.off(".focus"),a.setUserSetting("post_dfw","off"),d.trigger("dfw-off"))}function m(){T?l():k()}function n(){return T}function o(b){var d=b&&b.keyCode;return 27===d||87===d&&b.altKey&&b.shiftKey?void p(b):void(b&&(b.metaKey||b.ctrlKey&&!b.altKey||b.altKey&&b.shiftKey||d&&(47>=d&&8!==d&&13!==d&&32!==d&&46!==d||d>=91&&93>=d||d>=112&&135>=d||d>=144&&150>=d||d>=224))||(w||(w=!0,clearTimeout(F),F=setTimeout(function(){M.show()},600),J.css("z-index",9998),M.on("mouseenter.focus",function(){g(),c.on("scroll.focus",function(){var b=a.pageYOffset;D&&C&&D!==b&&(C<z.top-W||C>z.bottom+W)&&p(),D=b})}).on("mouseleave.focus",function(){A=B=null,U=V=0,c.off("scroll.focus")}).on("mousemove.focus",function(b){var c=b.clientX,d=b.clientY,e=a.pageYOffset,f=a.pageXOffset;if(A&&B&&(c!==A||d!==B))if(B>=d&&d<z.top-e||d>=B&&d>z.bottom-e||A>=c&&c<z.left-f||c>=A&&c>z.right-f){if(U+=Math.abs(A-c),V+=Math.abs(B-d),(d<=z.top-W-e||d>=z.bottom+W-e||c<=z.left-W-f||c>=z.right+W-f)&&(U>10||V>10))return p(),A=B=null,void(U=V=0)}else U=V=0;A=c,B=d}).on("touchstart.focus",function(a){a.preventDefault(),p()}),J.off("mouseenter.focus"),E&&(clearTimeout(E),E=null),H.addClass("focus-on").removeClass("focus-off")),r(),t()))}function p(a){w&&(w=!1,clearTimeout(F),F=setTimeout(function(){M.hide()},200),J.css("z-index",""),M.off("mouseenter.focus mouseleave.focus mousemove.focus touchstart.focus"),"undefined"==typeof a&&J.on("mouseenter.focus",function(){(b.contains(J.get(0),document.activeElement)||G)&&o()}),E=setTimeout(function(){E=null,J.off("mouseenter.focus")},1e3),H.addClass("focus-off").removeClass("focus-on")),s(),u()}function q(){setTimeout(function(){function a(a){return b.contains(a.get(0),document.activeElement)}var c=document.activeElement.compareDocumentPosition(J.get(0));2!==c&&4!==c||!(a(P)||a(I)||a(f))||p()},0)}function r(){!x&&w&&(x=!0,e.on("mouseenter.focus",function(){e.addClass("focus-off")}).on("mouseleave.focus",function(){e.removeClass("focus-off")}))}function s(){x&&(x=!1,e.off(".focus"))}function t(){y||!w||N.find(":focus").length||(y=!0,N.stop().fadeTo("fast",.3).on("mouseenter.focus",u).off("mouseleave.focus"),O.on("focus.focus",u).off("blur.focus"))}function u(){y&&(y=!1,N.stop().fadeTo("fast",1).on("mouseleave.focus",t).off("mouseenter.focus"),O.on("blur.focus",t).off("focus.focus"))}function v(a){a.altKey&&a.shiftKey&&87===a.keyCode&&m()}var w,x,y,z,A,B,C,D,E,F,G,H=b(document.body),I=b("#wpcontent"),J=b("#post-body-content"),K=b("#title"),L=b("#content"),M=b(document.createElement("DIV")),N=b("#edit-slug-box"),O=N.find("a").add(N.find("button")).add(N.find("input")),P=b("#adminmenuwrap"),Q=b(),R=b(),S="on"===a.getUserSetting("editor_expand","on"),T=S?"on"===a.getUserSetting("post_dfw"):!1,U=0,V=0,W=20;H.append(M),M.css({display:"none",position:"fixed",top:e.height(),right:0,bottom:0,left:0,"z-index":9997}),J.css({position:"relative"}),c.on("mousemove.focus",function(a){C=a.pageY}),b("#postdivrich").hasClass("wp-editor-expand")&&L.on("keydown.focus-shortcut",v),d.on("tinymce-editor-setup.focus",function(a,b){b.addButton("dfw",{active:T,classes:"wp-dfw btn widget",disabled:!S,onclick:m,onPostRender:function(){var a=this;d.on("dfw-activate.focus",function(){a.disabled(!1)}).on("dfw-deactivate.focus",function(){a.disabled(!0)}).on("dfw-on.focus",function(){a.active(!0)}).on("dfw-off.focus",function(){a.active(!1)})},tooltip:"Distraction-free writing mode",shortcut:"Alt+Shift+W"}),b.addCommand("wpToggleDFW",m),b.addShortcut("alt+shift+w","","wpToggleDFW")}),d.on("tinymce-editor-init.focus",function(a,c){function e(){G=!0}function f(){G=!1}var h,i;"content"===c.id&&(Q=b(c.getWin()),R=b(c.getContentAreaContainer()).find("iframe"),h=function(){c.on("keydown",o),c.on("blur",q),c.on("focus",e),c.on("blur",f),c.on("wp-autoresize",g)},i=function(){c.off("keydown",o),c.off("blur",q),c.off("focus",e),c.off("blur",f),c.off("wp-autoresize",g)},T&&h(),d.on("dfw-on.focus",h).on("dfw-off.focus",i),c.on("click",function(a){a.target===c.getDoc().documentElement&&c.focus()}))}),d.on("quicktags-init",function(a,c){var d;c.settings.buttons&&-1!==(","+c.settings.buttons+",").indexOf(",dfw,")&&(d=b("#"+c.name+"_dfw"),b(document).on("dfw-activate",function(){d.prop("disabled",!1)}).on("dfw-deactivate",function(){d.prop("disabled",!0)}).on("dfw-on",function(){d.addClass("active")}).on("dfw-off",function(){d.removeClass("active")}))}),d.on("editor-expand-on.focus",h).on("editor-expand-off.focus",i),T&&(L.on("keydown.focus",o),K.add(L).on("blur.focus",q)),a.wp=a.wp||{},a.wp.editor=a.wp.editor||{},a.wp.editor.dfw={activate:h,deactivate:i,isActive:j,on:k,off:l,toggle:m,isOn:n}})}(window,window.jQuery);
\ No newline at end of file
+!function(a,b,c){"use strict";var d=b(a),e=b(document),f=b("#wpadminbar"),g=b("#wpfooter");b(function(){function c(){var a=d.width();T={windowHeight:d.height(),windowWidth:a,adminBarHeight:a>600?f.outerHeight():0,toolsHeight:t.outerHeight()||0,menuBarHeight:A.outerHeight()||0,visualTopHeight:u.outerHeight()||0,textTopHeight:w.outerHeight()||0,bottomHeight:z.outerHeight()||0,statusBarHeight:B.outerHeight()||0,sideSortablesHeight:C.height()||0},T.menuBarHeight<3&&(T.menuBarHeight=0)}function h(b){var c,d,e,f,g,h=jQuery.ui.keyCode,i=b.keyCode,j=document.createRange(),k=x[0].selectionStart,l=x[0].selectionEnd,m=y[0].firstChild,n=10;if(!k||!l||k===l){try{j.setStart(m,k),j.setEnd(m,l+1)}catch(o){}c=j.getBoundingClientRect(),c.height&&(d=c.top-n,e=d+c.height+n,f=T.adminBarHeight+T.toolsHeight+T.textTopHeight,g=T.windowHeight-T.bottomHeight,f>d&&(i===h.UP||i===h.LEFT||i===h.BACKSPACE)?a.scrollTo(a.pageXOffset,d+a.pageYOffset-f):e>g&&a.scrollTo(a.pageXOffset,e+a.pageYOffset-g))}}function i(){if(!(p&&!p.isHidden()||!p&&"tinymce"===R)){var a,b=x.height();y.width(x.width()-22),y.text(x.val()+"&nbsp;"),a=y.height(),Q>a&&(a=Q),a!==b&&(x.height(a),j())}}function j(b){if(!F||!F.settings.visible){var f,h,j,k,l,m,n,o,q,r=d.scrollTop(),G=b&&b.type,H="scroll"!==G,N=p&&!p.isHidden(),R=Q,U=E.offset().top,V=1,W=s.width();(H||!T.windowHeight)&&c(),N||"resize"!==G||i(),N?(f=u,h=v,n=T.visualTopHeight):(f=w,h=x,n=T.textTopHeight),(N||f.length)&&(m=f.parent().offset().top,o=h.offset().top,q=h.outerHeight(),l=N?Q+n:Q+20,l=q>l+5,l?((!I||H)&&r>=m-T.toolsHeight-T.adminBarHeight&&r<=m-T.toolsHeight-T.adminBarHeight+q-R?(I=!0,t.css({position:"fixed",top:T.adminBarHeight,width:W}),N&&A.length&&A.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight,width:W-2*V-(N?0:f.outerWidth()-f.width())}),f.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight+T.menuBarHeight,width:W-2*V-(N?0:f.outerWidth()-f.width())})):(I||H)&&(r<=m-T.toolsHeight-T.adminBarHeight?(I=!1,t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),f.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:f.outerWidth()-f.width())})):r>=m-T.toolsHeight-T.adminBarHeight+q-R&&(I=!1,t.css({position:"absolute",top:q-R,width:W}),N&&A.length&&A.css({position:"absolute",top:q-R,width:W-2*V}),f.css({position:"absolute",top:q-R+T.menuBarHeight,width:W-2*V-(N?0:f.outerWidth()-f.width())}))),(!J||H&&S)&&r+T.windowHeight<=o+q+T.bottomHeight+T.statusBarHeight+V?b&&b.deltaHeight>0&&b.deltaHeight<100?a.scrollBy(0,b.deltaHeight):S&&(J=!0,B.css({position:"fixed",bottom:T.bottomHeight,visibility:"",width:W-2*V}),z.css({position:"fixed",bottom:0,width:W})):(!S&&J||(J||H)&&r+T.windowHeight>o+q+T.bottomHeight+T.statusBarHeight-V)&&(J=!1,B.attr("style",S?"":"visibility: hidden;"),z.attr("style",""))):H&&(t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),f.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:f.outerWidth()-f.width())}),B.attr("style",S?"":"visibility: hidden;"),z.attr("style","")),D.width()<300&&T.windowWidth>600&&e.height()>C.height()+U+120&&T.windowHeight<q?(T.sideSortablesHeight+O+P>T.windowHeight||K||L?U>=r+O?(C.attr("style",""),K=L=!1):r>M?K?(K=!1,j=C.offset().top-T.adminBarHeight,k=g.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!L&&T.sideSortablesHeight+C.offset().top+P<r+T.windowHeight&&(L=!0,C.css({position:"fixed",top:"auto",bottom:P})):M>r&&(L?(L=!1,j=C.offset().top-P,k=g.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!K&&C.offset().top>=r+O&&(K=!0,C.css({position:"fixed",top:O,bottom:""}))):(r>=U-O?C.css({position:"fixed",top:O}):C.attr("style",""),K=L=!1),M=r):(C.attr("style",""),K=L=!1),H&&(s.css({paddingTop:T.toolsHeight}),N?v.css({paddingTop:T.visualTopHeight+T.menuBarHeight}):(x.css({marginTop:T.textTopHeight}),y.width(W-20-2*V))))}}function k(){i(),j()}function l(a){for(var b=1;6>b;b++)setTimeout(a,500*b)}function m(){clearTimeout(q),q=setTimeout(j,100)}function n(){a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.addClass("wp-editor-expand"),d.on("scroll.editor-expand resize.editor-expand",function(a){j(a.type),m()}),e.on("wp-collapse-menu.editor-expand postboxes-columnchange.editor-expand editor-classchange.editor-expand",j).on("postbox-toggled.editor-expand",function(){!K&&!L&&a.pageYOffset>O&&(L=!0,a.scrollBy(0,-1),j(),a.scrollBy(0,1)),j()}).on("wp-window-resized.editor-expand",function(){p&&!p.isHidden()?p.execCommand("wpAutoResize"):i()}),x.on("focus.editor-expand input.editor-expand propertychange.editor-expand",i),x.on("keyup.editor-expand",h),G(),F&&F.pubsub.subscribe("hidden",k),p&&(p.settings.wp_autoresize_on=!0,p.execCommand("wpAutoResizeOn"),p.isHidden()||p.execCommand("wpAutoResize")),(!p||p.isHidden())&&i(),j(),e.trigger("editor-expand-on")}function o(){var c=parseInt(a.getUserSetting("ed_size",300),10);50>c?c=50:c>5e3&&(c=5e3),a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.removeClass("wp-editor-expand"),d.off(".editor-expand"),e.off(".editor-expand"),x.off(".editor-expand"),H(),F&&F.pubsub.unsubscribe("hidden",k),b.each([u,w,t,A,z,B,s,v,x,C],function(a,b){b&&b.attr("style","")}),I=J=K=L=!1,p&&(p.settings.wp_autoresize_on=!1,p.execCommand("wpAutoResizeOff"),p.isHidden()||(x.hide(),c&&p.theme.resizeTo(null,c))),c&&x.height(c),e.trigger("editor-expand-off")}var p,q,r=b("#postdivrich"),s=b("#wp-content-wrap"),t=b("#wp-content-editor-tools"),u=b(),v=b(),w=b("#ed_toolbar"),x=b("#content"),y=b('<div id="content-textarea-clone" class="wp-exclude-emoji"></div>'),z=b("#post-status-info"),A=b(),B=b(),C=b("#side-sortables"),D=b("#postbox-container-1"),E=b("#post-body"),F=a.wp.editor&&a.wp.editor.fullscreen,G=function(){},H=function(){},I=!1,J=!1,K=!1,L=!1,M=0,N=130,O=56,P=20,Q=300,R=s.hasClass("tmce-active")?"tinymce":"html",S=!!parseInt(a.getUserSetting("hidetb"),10),T={windowHeight:0,windowWidth:0,adminBarHeight:0,toolsHeight:0,menuBarHeight:0,visualTopHeight:0,textTopHeight:0,bottomHeight:0,statusBarHeight:0,sideSortablesHeight:0};y.insertAfter(x),y.css({"font-family":x.css("font-family"),"font-size":x.css("font-size"),"line-height":x.css("line-height"),"white-space":"pre-wrap","word-wrap":"break-word"}),e.on("tinymce-editor-init.editor-expand",function(c,e){function f(){var a,b,c,d=e.selection.getNode();if(e.wp&&e.wp.getView&&(b=e.wp.getView(d)))c=b.getBoundingClientRect();else{a=e.selection.getRng();try{c=a.getClientRects()[0]}catch(f){}c||(c=d.getBoundingClientRect())}return c.height?c:!1}function g(a){var b=a.keyCode;47>=b&&b!==q.SPACEBAR&&b!==q.ENTER&&b!==q.DELETE&&b!==q.BACKSPACE&&b!==q.UP&&b!==q.LEFT&&b!==q.DOWN&&b!==q.UP||b>=91&&93>=b||b>=112&&123>=b||144===b||145===b||h(b)}function h(b){var c,d,g,h,i=f(),j=50;i&&(c=i.top+e.iframeElement.getBoundingClientRect().top,d=c+i.height,c-=j,d+=j,g=T.adminBarHeight+T.toolsHeight+T.menuBarHeight+T.visualTopHeight,h=T.windowHeight-(S?T.bottomHeight+T.statusBarHeight:0),h-g<i.height||(g>c&&(b===q.UP||b===q.LEFT||b===q.BACKSPACE)?a.scrollTo(a.pageXOffset,c+a.pageYOffset-g):d>h&&a.scrollTo(a.pageXOffset,d+a.pageYOffset-h)))}function k(a){a.state||j()}function m(){d.on("scroll.mce-float-panels",t),setTimeout(function(){e.execCommand("wpAutoResize"),j()},300)}function n(){d.off("scroll.mce-float-panels"),setTimeout(function(){var b=s.offset().top;a.pageYOffset>b&&a.scrollTo(a.pageXOffset,b-T.adminBarHeight),i(),j()},100),j()}function o(){S=!S}var q=a.tinymce.util.VK,t=_.debounce(function(){!b(".mce-floatpanel:hover").length&&a.tinymce.ui.FloatPanel.hideAll(),b(".mce-tooltip").hide()},1e3,!0);"content"===e.id&&(p=e,e.settings.autoresize_min_height=Q,u=s.find(".mce-toolbar-grp"),v=s.find(".mce-edit-area"),B=s.find(".mce-statusbar"),A=s.find(".mce-menubar"),G=function(){e.on("keyup",g),e.on("show",m),e.on("hide",n),e.on("wp-toolbar-toggle",o),e.on("setcontent wp-autoresize wp-toolbar-toggle",j),e.on("undo redo",h),e.on("FullscreenStateChanged",k),d.off("scroll.mce-float-panels").on("scroll.mce-float-panels",t)},H=function(){e.off("keyup",g),e.off("show",m),e.off("hide",n),e.off("wp-toolbar-toggle",o),e.off("setcontent wp-autoresize wp-toolbar-toggle",j),e.off("undo redo",h),e.off("FullscreenStateChanged",k),d.off("scroll.mce-float-panels")},r.hasClass("wp-editor-expand")&&(G(),l(j)))}),r.hasClass("wp-editor-expand")&&(n(),s.hasClass("html-active")&&l(function(){j(),i()})),b("#adv-settings .editor-expand").show(),b("#editor-expand-toggle").on("change.editor-expand",function(){b(this).prop("checked")?(n(),a.setUserSetting("editor_expand","on")):(o(),a.setUserSetting("editor_expand","off"))}),a.editorExpand={on:n,off:o}}),b(function(){function c(){z=J.offset(),z.right=z.left+J.outerWidth(),z.bottom=z.top+J.outerHeight()}function h(){S||(S=!0,e.trigger("dfw-activate"),L.on("keydown.focus-shortcut",v))}function i(){S&&(l(),S=!1,e.trigger("dfw-deactivate"),L.off("keydown.focus-shortcut"))}function j(){return S}function k(){!T&&S&&(T=!0,L.on("keydown.focus",o),K.add(L).on("blur.focus",q),o(),a.setUserSetting("post_dfw","on"),e.trigger("dfw-on"))}function l(){T&&(T=!1,K.add(L).off(".focus"),p(),J.off(".focus"),a.setUserSetting("post_dfw","off"),e.trigger("dfw-off"))}function m(){T?l():k()}function n(){return T}function o(b){var e=b&&b.keyCode;return 27===e||87===e&&b.altKey&&b.shiftKey?void p(b):void(b&&(b.metaKey||b.ctrlKey&&!b.altKey||b.altKey&&b.shiftKey||e&&(47>=e&&8!==e&&13!==e&&32!==e&&46!==e||e>=91&&93>=e||e>=112&&135>=e||e>=144&&150>=e||e>=224))||(w||(w=!0,clearTimeout(F),F=setTimeout(function(){M.show()},600),J.css("z-index",9998),M.on("mouseenter.focus",function(){c(),d.on("scroll.focus",function(){var b=a.pageYOffset;D&&C&&D!==b&&(C<z.top-W||C>z.bottom+W)&&p(),D=b})}).on("mouseleave.focus",function(){A=B=null,U=V=0,d.off("scroll.focus")}).on("mousemove.focus",function(b){var c=b.clientX,d=b.clientY,e=a.pageYOffset,f=a.pageXOffset;if(A&&B&&(c!==A||d!==B))if(B>=d&&d<z.top-e||d>=B&&d>z.bottom-e||A>=c&&c<z.left-f||c>=A&&c>z.right-f){if(U+=Math.abs(A-c),V+=Math.abs(B-d),(d<=z.top-W-e||d>=z.bottom+W-e||c<=z.left-W-f||c>=z.right+W-f)&&(U>10||V>10))return p(),A=B=null,void(U=V=0)}else U=V=0;A=c,B=d}).on("touchstart.focus",function(a){a.preventDefault(),p()}),J.off("mouseenter.focus"),E&&(clearTimeout(E),E=null),H.addClass("focus-on").removeClass("focus-off")),r(),t()))}function p(a){w&&(w=!1,clearTimeout(F),F=setTimeout(function(){M.hide()},200),J.css("z-index",""),M.off("mouseenter.focus mouseleave.focus mousemove.focus touchstart.focus"),"undefined"==typeof a&&J.on("mouseenter.focus",function(){(b.contains(J.get(0),document.activeElement)||G)&&o()}),E=setTimeout(function(){E=null,J.off("mouseenter.focus")},1e3),H.addClass("focus-off").removeClass("focus-on")),s(),u()}function q(){setTimeout(function(){function a(a){return b.contains(a.get(0),document.activeElement)}var c=document.activeElement.compareDocumentPosition(J.get(0));2!==c&&4!==c||!(a(P)||a(I)||a(g))||p()},0)}function r(){!x&&w&&(x=!0,f.on("mouseenter.focus",function(){f.addClass("focus-off")}).on("mouseleave.focus",function(){f.removeClass("focus-off")}))}function s(){x&&(x=!1,f.off(".focus"))}function t(){y||!w||N.find(":focus").length||(y=!0,N.stop().fadeTo("fast",.3).on("mouseenter.focus",u).off("mouseleave.focus"),O.on("focus.focus",u).off("blur.focus"))}function u(){y&&(y=!1,N.stop().fadeTo("fast",1).on("mouseleave.focus",t).off("mouseenter.focus"),O.on("blur.focus",t).off("focus.focus"))}function v(a){a.altKey&&a.shiftKey&&87===a.keyCode&&m()}var w,x,y,z,A,B,C,D,E,F,G,H=b(document.body),I=b("#wpcontent"),J=b("#post-body-content"),K=b("#title"),L=b("#content"),M=b(document.createElement("DIV")),N=b("#edit-slug-box"),O=N.find("a").add(N.find("button")).add(N.find("input")),P=b("#adminmenuwrap"),Q=b(),R=b(),S="on"===a.getUserSetting("editor_expand","on"),T=S?"on"===a.getUserSetting("post_dfw"):!1,U=0,V=0,W=20;H.append(M),M.css({display:"none",position:"fixed",top:f.height(),right:0,bottom:0,left:0,"z-index":9997}),J.css({position:"relative"}),d.on("mousemove.focus",function(a){C=a.pageY}),b("#postdivrich").hasClass("wp-editor-expand")&&L.on("keydown.focus-shortcut",v),e.on("tinymce-editor-setup.focus",function(a,b){b.addButton("dfw",{active:T,classes:"wp-dfw btn widget",disabled:!S,onclick:m,onPostRender:function(){var a=this;e.on("dfw-activate.focus",function(){a.disabled(!1)}).on("dfw-deactivate.focus",function(){a.disabled(!0)}).on("dfw-on.focus",function(){a.active(!0)}).on("dfw-off.focus",function(){a.active(!1)})},tooltip:"Distraction-free writing mode",shortcut:"Alt+Shift+W"}),b.addCommand("wpToggleDFW",m),b.addShortcut("alt+shift+w","","wpToggleDFW")}),e.on("tinymce-editor-init.focus",function(a,d){function f(){G=!0}function g(){G=!1}var h,i;"content"===d.id&&(Q=b(d.getWin()),R=b(d.getContentAreaContainer()).find("iframe"),h=function(){d.on("keydown",o),d.on("blur",q),d.on("focus",f),d.on("blur",g),d.on("wp-autoresize",c)},i=function(){d.off("keydown",o),d.off("blur",q),d.off("focus",f),d.off("blur",g),d.off("wp-autoresize",c)},T&&h(),e.on("dfw-on.focus",h).on("dfw-off.focus",i),d.on("click",function(a){a.target===d.getDoc().documentElement&&d.focus()}))}),e.on("quicktags-init",function(a,c){var d;c.settings.buttons&&-1!==(","+c.settings.buttons+",").indexOf(",dfw,")&&(d=b("#"+c.name+"_dfw"),b(document).on("dfw-activate",function(){d.prop("disabled",!1)}).on("dfw-deactivate",function(){d.prop("disabled",!0)}).on("dfw-on",function(){d.addClass("active")}).on("dfw-off",function(){d.removeClass("active")}))}),e.on("editor-expand-on.focus",h).on("editor-expand-off.focus",i),T&&(L.on("keydown.focus",o),K.add(L).on("blur.focus",q)),a.wp=a.wp||{},a.wp.editor=a.wp.editor||{},a.wp.editor.dfw={activate:h,deactivate:i,isActive:j,on:k,off:l,toggle:m,isOn:n}})}(window,window.jQuery);
\ No newline at end of file
index 4ff70df848846acce2a696cb11a7cbe6465ee1bb..d64d3e6045b8407f95921312cbc9b2690d1d37b8 100644 (file)
@@ -1,38 +1,29 @@
-/* global tinymce, tinyMCEPreInit, QTags, setUserSetting */
 
-window.switchEditors = {
+( function( $ ) {
+       function SwitchEditors() {
+               var tinymce, $$,
+                       exports = {};
 
-       switchto: function( el ) {
-               var aid = el.id,
-                       l = aid.length,
-                       id = aid.substr( 0, l - 5 ),
-                       mode = aid.substr( l - 4 );
+               function init() {
+                       if ( ! tinymce && window.tinymce ) {
+                               tinymce = window.tinymce;
+                               $$ = tinymce.$;
 
-               this.go( id, mode );
-       },
+                               $$( document ).on( 'click', function( event ) {
+                                       var id, mode,
+                                               target = $$( event.target );
 
-       // mode can be 'html', 'tmce', or 'toggle'; 'html' is used for the 'Text' editor tab.
-       go: function( id, mode ) {
-               var t = this, ed, wrap_id, txtarea_el, iframe, editorHeight, toolbarHeight,
-                       DOM = tinymce.DOM; //DOMUtils outside the editor iframe
-
-               id = id || 'content';
-               mode = mode || 'toggle';
-
-               ed = tinymce.get( id );
-               wrap_id = 'wp-' + id + '-wrap';
-               txtarea_el = DOM.get( id );
-
-               if ( 'toggle' === mode ) {
-                       if ( ed && ! ed.isHidden() ) {
-                               mode = 'html';
-                       } else {
-                               mode = 'tmce';
+                                       if ( target.hasClass( 'wp-switch-editor' ) ) {
+                                               id = target.attr( 'data-wp-editor-id' );
+                                               mode = target.hasClass( 'switch-tmce' ) ? 'tmce' : 'html';
+                                               switchEditor( id, mode );
+                                       }
+                               });
                        }
                }
 
-               function getToolbarHeight() {
-                       var node = DOM.select( '.mce-toolbar-grp', ed.getContainer() )[0],
+               function getToolbarHeight( editor ) {
+                       var node = $$( '.mce-toolbar-grp', editor.getContainer() )[0],
                                height = node && node.clientHeight;
 
                        if ( height && height > 10 && height < 200 ) {
@@ -42,283 +33,338 @@ window.switchEditors = {
                        return 30;
                }
 
-               if ( 'tmce' === mode || 'tinymce' === mode ) {
-                       if ( ed && ! ed.isHidden() ) {
-                               return false;
+               function switchEditor( id, mode ) {
+                       id = id || 'content';
+                       mode = mode || 'toggle';
+
+                       var editorHeight, toolbarHeight, iframe,
+                               editor = tinymce.get( id ),
+                               wrap = $$( '#wp-' + id + '-wrap' ),
+                               $textarea = $$( '#' + id ),
+                               textarea = $textarea[0];
+
+                       if ( 'toggle' === mode ) {
+                               if ( editor && ! editor.isHidden() ) {
+                                       mode = 'html';
+                               } else {
+                                       mode = 'tmce';
+                               }
                        }
 
-                       if ( typeof( QTags ) !== 'undefined' ) {
-                               QTags.closeAllTags( id );
-                       }
+                       if ( 'tmce' === mode || 'tinymce' === mode ) {
+                               if ( editor && ! editor.isHidden() ) {
+                                       return false;
+                               }
 
-                       editorHeight = txtarea_el ? parseInt( txtarea_el.style.height, 10 ) : 0;
+                               if ( typeof( window.QTags ) !== 'undefined' ) {
+                                       window.QTags.closeAllTags( id );
+                               }
 
-                       if ( tinyMCEPreInit.mceInit[ id ] && tinyMCEPreInit.mceInit[ id ].wpautop ) {
-                               txtarea_el.value = t.wpautop( txtarea_el.value );
-                       }
+                               editorHeight = parseInt( textarea.style.height, 10 ) || 0;
 
-                       if ( ed ) {
-                               ed.show();
+                               if ( editor ) {
+                                       editor.show();
 
-                               // No point resizing the iframe in iOS
-                               if ( ! tinymce.Env.iOS && editorHeight ) {
-                                       toolbarHeight = getToolbarHeight();
-                                       editorHeight = editorHeight - toolbarHeight + 14;
+                                       // No point resizing the iframe in iOS
+                                       if ( ! tinymce.Env.iOS && editorHeight ) {
+                                               toolbarHeight = getToolbarHeight( editor );
+                                               editorHeight = editorHeight - toolbarHeight + 14;
 
-                                       // height cannot be under 50 or over 5000
-                                       if ( editorHeight > 50 && editorHeight < 5000 ) {
-                                               ed.theme.resizeTo( null, editorHeight );
+                                               // height cannot be under 50 or over 5000
+                                               if ( editorHeight > 50 && editorHeight < 5000 ) {
+                                                       editor.theme.resizeTo( null, editorHeight );
+                                               }
                                        }
+                               } else {
+                                       tinymce.init( window.tinyMCEPreInit.mceInit[id] );
                                }
-                       } else {
-                               tinymce.init( tinyMCEPreInit.mceInit[id] );
-                       }
-
-                       DOM.removeClass( wrap_id, 'html-active' );
-                       DOM.addClass( wrap_id, 'tmce-active' );
-                       DOM.setAttrib( txtarea_el, 'aria-hidden', true );
-                       setUserSetting( 'editor', 'tinymce' );
 
-               } else if ( 'html' === mode ) {
+                               wrap.removeClass( 'html-active' ).addClass( 'tmce-active' );
+                               $textarea.attr( 'aria-hidden', true );
+                               window.setUserSetting( 'editor', 'tinymce' );
 
-                       if ( ed && ed.isHidden() ) {
-                               return false;
-                       }
+                       } else if ( 'html' === mode ) {
+                               if ( editor && editor.isHidden() ) {
+                                       return false;
+                               }
 
-                       if ( ed ) {
-                               if ( ! tinymce.Env.iOS ) {
-                                       iframe = DOM.get( id + '_ifr' );
-                                       editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0;
+                               if ( editor ) {
+                                       if ( ! tinymce.Env.iOS ) {
+                                               iframe = editor.iframeElement;
+                                               editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0;
 
-                                       if ( editorHeight ) {
-                                               toolbarHeight = getToolbarHeight();
-                                               editorHeight = editorHeight + toolbarHeight - 14;
+                                               if ( editorHeight ) {
+                                                       toolbarHeight = getToolbarHeight( editor );
+                                                       editorHeight = editorHeight + toolbarHeight - 14;
 
-                                               // height cannot be under 50 or over 5000
-                                               if ( editorHeight > 50 && editorHeight < 5000 ) {
-                                                       txtarea_el.style.height = editorHeight + 'px';
+                                                       // height cannot be under 50 or over 5000
+                                                       if ( editorHeight > 50 && editorHeight < 5000 ) {
+                                                               textarea.style.height = editorHeight + 'px';
+                                                       }
                                                }
                                        }
-                               }
 
-                               ed.hide();
-                       } else {
-                               // The TinyMCE instance doesn't exist, run the content through 'pre_wpautop()' and show the textarea
-                               if ( tinyMCEPreInit.mceInit[ id ] && tinyMCEPreInit.mceInit[ id ].wpautop ) {
-                                       txtarea_el.value = t.pre_wpautop( txtarea_el.value );
+                                       editor.hide();
+                               } else {
+                                       // The TinyMCE instance doesn't exist, show the textarea
+                                       $textarea.css({ 'display': '', 'visibility': '' });
                                }
 
-                               DOM.setStyles( txtarea_el, {'display': '', 'visibility': ''} );
+                               wrap.removeClass( 'tmce-active' ).addClass( 'html-active' );
+                               $textarea.attr( 'aria-hidden', false );
+                               window.setUserSetting( 'editor', 'html' );
                        }
-
-                       DOM.removeClass( wrap_id, 'tmce-active' );
-                       DOM.addClass( wrap_id, 'html-active' );
-                       DOM.setAttrib( txtarea_el, 'aria-hidden', false );
-                       setUserSetting( 'editor', 'html' );
-               }
-               return false;
-       },
-
-       _wp_Nop: function( content ) {
-               var blocklist1, blocklist2,
-                       preserve_linebreaks = false,
-                       preserve_br = false;
-
-               // Protect pre|script tags
-               if ( content.indexOf( '<pre' ) !== -1 || content.indexOf( '<script' ) !== -1 ) {
-                       preserve_linebreaks = true;
-                       content = content.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) {
-                               a = a.replace( /<br ?\/?>(\r\n|\n)?/g, '<wp-line-break>' );
-                               a = a.replace( /<\/?p( [^>]*)?>(\r\n|\n)?/g, '<wp-line-break>' );
-                               return a.replace( /\r?\n/g, '<wp-line-break>' );
-                       });
                }
 
-               // keep <br> tags inside captions and remove line breaks
-               if ( content.indexOf( '[caption' ) !== -1 ) {
-                       preserve_br = true;
-                       content = content.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) {
-                               return a.replace( /<br([^>]*)>/g, '<wp-temp-br$1>' ).replace( /[\r\n\t]+/, '' );
-                       });
-               }
+               // Replace paragraphs with double line breaks
+               function removep( html ) {
+                       var blocklist = 'blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|fieldset',
+                               blocklist1 = blocklist + '|div|p',
+                               blocklist2 = blocklist + '|pre',
+                               preserve_linebreaks = false,
+                               preserve_br = false;
 
-               // Pretty it up for the source editor
-               blocklist1 = 'blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset';
-               content = content.replace( new RegExp( '\\s*</(' + blocklist1 + ')>\\s*', 'g' ), '</$1>\n' );
-               content = content.replace( new RegExp( '\\s*<((?:' + blocklist1 + ')(?: [^>]*)?)>', 'g' ), '\n<$1>' );
-
-               // Mark </p> if it has any attributes.
-               content = content.replace( /(<p [^>]+>.*?)<\/p>/g, '$1</p#>' );
-
-               // Separate <div> containing <p>
-               content = content.replace( /<div( [^>]*)?>\s*<p>/gi, '<div$1>\n\n' );
-
-               // Remove <p> and <br />
-               content = content.replace( /\s*<p>/gi, '' );
-               content = content.replace( /\s*<\/p>\s*/gi, '\n\n' );
-               content = content.replace( /\n[\s\u00a0]+\n/g, '\n\n' );
-               content = content.replace( /\s*<br ?\/?>\s*/gi, '\n' );
-
-               // Fix some block element newline issues
-               content = content.replace( /\s*<div/g, '\n<div' );
-               content = content.replace( /<\/div>\s*/g, '</div>\n' );
-               content = content.replace( /\s*\[caption([^\[]+)\[\/caption\]\s*/gi, '\n\n[caption$1[/caption]\n\n' );
-               content = content.replace( /caption\]\n\n+\[caption/g, 'caption]\n\n[caption' );
-
-               blocklist2 = 'blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset';
-               content = content.replace( new RegExp('\\s*<((?:' + blocklist2 + ')(?: [^>]*)?)\\s*>', 'g' ), '\n<$1>' );
-               content = content.replace( new RegExp('\\s*</(' + blocklist2 + ')>\\s*', 'g' ), '</$1>\n' );
-               content = content.replace( /<li([^>]*)>/g, '\t<li$1>' );
-
-               if ( content.indexOf( '<option' ) !== -1 ) {
-                       content = content.replace( /\s*<option/g, '\n<option' );
-                       content = content.replace( /\s*<\/select>/g, '\n</select>' );
-               }
+                       if ( ! html ) {
+                               return '';
+                       }
 
-               if ( content.indexOf( '<hr' ) !== -1 ) {
-                       content = content.replace( /\s*<hr( [^>]*)?>\s*/g, '\n\n<hr$1>\n\n' );
-               }
+                       // Protect pre|script tags
+                       if ( html.indexOf( '<pre' ) !== -1 || html.indexOf( '<script' ) !== -1 ) {
+                               preserve_linebreaks = true;
+                               html = html.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) {
+                                       a = a.replace( /<br ?\/?>(\r\n|\n)?/g, '<wp-line-break>' );
+                                       a = a.replace( /<\/?p( [^>]*)?>(\r\n|\n)?/g, '<wp-line-break>' );
+                                       return a.replace( /\r?\n/g, '<wp-line-break>' );
+                               });
+                       }
 
-               if ( content.indexOf( '<object' ) !== -1 ) {
-                       content = content.replace( /<object[\s\S]+?<\/object>/g, function( a ) {
-                               return a.replace( /[\r\n]+/g, '' );
-                       });
-               }
+                       // keep <br> tags inside captions and remove line breaks
+                       if ( html.indexOf( '[caption' ) !== -1 ) {
+                               preserve_br = true;
+                               html = html.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) {
+                                       return a.replace( /<br([^>]*)>/g, '<wp-temp-br$1>' ).replace( /[\r\n\t]+/, '' );
+                               });
+                       }
 
-               // Unmark special paragraph closing tags
-               content = content.replace( /<\/p#>/g, '</p>\n' );
-               content = content.replace( /\s*(<p [^>]+>[\s\S]*?<\/p>)/g, '\n$1' );
+                       // Pretty it up for the source editor
+                       html = html.replace( new RegExp( '\\s*</(' + blocklist1 + ')>\\s*', 'g' ), '</$1>\n' );
+                       html = html.replace( new RegExp( '\\s*<((?:' + blocklist1 + ')(?: [^>]*)?)>', 'g' ), '\n<$1>' );
 
-               // Trim whitespace
-               content = content.replace( /^\s+/, '' );
-               content = content.replace( /[\s\u00a0]+$/, '' );
+                       // Mark </p> if it has any attributes.
+                       html = html.replace( /(<p [^>]+>.*?)<\/p>/g, '$1</p#>' );
 
-               // put back the line breaks in pre|script
-               if ( preserve_linebreaks ) {
-                       content = content.replace( /<wp-line-break>/g, '\n' );
-               }
+                       // Separate <div> containing <p>
+                       html = html.replace( /<div( [^>]*)?>\s*<p>/gi, '<div$1>\n\n' );
 
-               // and the <br> tags in captions
-               if ( preserve_br ) {
-                       content = content.replace( /<wp-temp-br([^>]*)>/g, '<br$1>' );
-               }
+                       // Remove <p> and <br />
+                       html = html.replace( /\s*<p>/gi, '' );
+                       html = html.replace( /\s*<\/p>\s*/gi, '\n\n' );
+                       html = html.replace( /\n[\s\u00a0]+\n/g, '\n\n' );
+                       html = html.replace( /\s*<br ?\/?>\s*/gi, '\n' );
 
-               return content;
-       },
+                       // Fix some block element newline issues
+                       html = html.replace( /\s*<div/g, '\n<div' );
+                       html = html.replace( /<\/div>\s*/g, '</div>\n' );
+                       html = html.replace( /\s*\[caption([^\[]+)\[\/caption\]\s*/gi, '\n\n[caption$1[/caption]\n\n' );
+                       html = html.replace( /caption\]\n\n+\[caption/g, 'caption]\n\n[caption' );
 
-       _wp_Autop: function(pee) {
-               var preserve_linebreaks = false,
-                       preserve_br = false,
-                       blocklist = '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|figcaption|details|menu|summary';
+                       html = html.replace( new RegExp('\\s*<((?:' + blocklist2 + ')(?: [^>]*)?)\\s*>', 'g' ), '\n<$1>' );
+                       html = html.replace( new RegExp('\\s*</(' + blocklist2 + ')>\\s*', 'g' ), '</$1>\n' );
+                       html = html.replace( /<li([^>]*)>/g, '\t<li$1>' );
 
-               if ( pee.indexOf( '<object' ) !== -1 ) {
-                       pee = pee.replace( /<object[\s\S]+?<\/object>/g, function( a ) {
-                               return a.replace( /[\r\n]+/g, '' );
-                       });
+                       if ( html.indexOf( '<option' ) !== -1 ) {
+                               html = html.replace( /\s*<option/g, '\n<option' );
+                               html = html.replace( /\s*<\/select>/g, '\n</select>' );
+                       }
+
+                       if ( html.indexOf( '<hr' ) !== -1 ) {
+                               html = html.replace( /\s*<hr( [^>]*)?>\s*/g, '\n\n<hr$1>\n\n' );
+                       }
+
+                       if ( html.indexOf( '<object' ) !== -1 ) {
+                               html = html.replace( /<object[\s\S]+?<\/object>/g, function( a ) {
+                                       return a.replace( /[\r\n]+/g, '' );
+                               });
+                       }
+
+                       // Unmark special paragraph closing tags
+                       html = html.replace( /<\/p#>/g, '</p>\n' );
+                       html = html.replace( /\s*(<p [^>]+>[\s\S]*?<\/p>)/g, '\n$1' );
+
+                       // Trim whitespace
+                       html = html.replace( /^\s+/, '' );
+                       html = html.replace( /[\s\u00a0]+$/, '' );
+
+                       // put back the line breaks in pre|script
+                       if ( preserve_linebreaks ) {
+                               html = html.replace( /<wp-line-break>/g, '\n' );
+                       }
+
+                       // and the <br> tags in captions
+                       if ( preserve_br ) {
+                               html = html.replace( /<wp-temp-br([^>]*)>/g, '<br$1>' );
+                       }
+
+                       return html;
                }
 
-               pee = pee.replace( /<[^<>]+>/g, function( a ){
-                       return a.replace( /[\r\n]+/g, ' ' );
-               });
+               // Similar to `wpautop()` in formatting.php
+               function autop( text ) {
+                       var preserve_linebreaks = false,
+                               preserve_br = false,
+                               blocklist = '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|figcaption|details|menu|summary';
+
+                       // Normalize line breaks
+                       text = text.replace( /\r\n|\r/g, '\n' );
+
+                       if ( text.indexOf( '\n' ) === -1 ) {
+                               return text;
+                       }
+
+                       if ( text.indexOf( '<object' ) !== -1 ) {
+                               text = text.replace( /<object[\s\S]+?<\/object>/g, function( a ) {
+                                       return a.replace( /\n+/g, '' );
+                               });
+                       }
 
-               // Protect pre|script tags
-               if ( pee.indexOf( '<pre' ) !== -1 || pee.indexOf( '<script' ) !== -1 ) {
-                       preserve_linebreaks = true;
-                       pee = pee.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) {
-                               return a.replace( /(\r\n|\n)/g, '<wp-line-break>' );
+                       text = text.replace( /<[^<>]+>/g, function( a ) {
+                               return a.replace( /[\n\t ]+/g, ' ' );
                        });
-               }
 
-               // keep <br> tags inside captions and convert line breaks
-               if ( pee.indexOf( '[caption' ) !== -1 ) {
-                       preserve_br = true;
-                       pee = pee.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) {
-                               // keep existing <br>
-                               a = a.replace( /<br([^>]*)>/g, '<wp-temp-br$1>' );
-                               // no line breaks inside HTML tags
-                               a = a.replace( /<[a-zA-Z0-9]+( [^<>]+)?>/g, function( b ) {
-                                       return b.replace( /[\r\n\t]+/, ' ' );
+                       // Protect pre|script tags
+                       if ( text.indexOf( '<pre' ) !== -1 || text.indexOf( '<script' ) !== -1 ) {
+                               preserve_linebreaks = true;
+                               text = text.replace( /<(pre|script)[^>]*>[\s\S]+?<\/\1>/g, function( a ) {
+                                       return a.replace( /\n/g, '<wp-line-break>' );
                                });
-                               // convert remaining line breaks to <br>
-                               return a.replace( /\s*\n\s*/g, '<wp-temp-br />' );
+                       }
+
+                       // keep <br> tags inside captions and convert line breaks
+                       if ( text.indexOf( '[caption' ) !== -1 ) {
+                               preserve_br = true;
+                               text = text.replace( /\[caption[\s\S]+?\[\/caption\]/g, function( a ) {
+                                       // keep existing <br>
+                                       a = a.replace( /<br([^>]*)>/g, '<wp-temp-br$1>' );
+                                       // no line breaks inside HTML tags
+                                       a = a.replace( /<[^<>]+>/g, function( b ) {
+                                               return b.replace( /[\n\t ]+/, ' ' );
+                                       });
+                                       // convert remaining line breaks to <br>
+                                       return a.replace( /\s*\n\s*/g, '<wp-temp-br />' );
+                               });
+                       }
+
+                       text = text + '\n\n';
+                       text = text.replace( /<br \/>\s*<br \/>/gi, '\n\n' );
+                       text = text.replace( new RegExp( '(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '\n$1' );
+                       text = text.replace( new RegExp( '(</(?:' + blocklist + ')>)', 'gi' ), '$1\n\n' );
+                       text = text.replace( /<hr( [^>]*)?>/gi, '<hr$1>\n\n' ); // hr is self closing block element
+                       text = text.replace( /\s*<option/gi, '<option' ); // No <p> or <br> around <option>
+                       text = text.replace( /<\/option>\s*/gi, '</option>' );
+                       text = text.replace( /\n\s*\n+/g, '\n\n' );
+                       text = text.replace( /([\s\S]+?)\n\n/g, '<p>$1</p>\n' );
+                       text = text.replace( /<p>\s*?<\/p>/gi, '');
+                       text = text.replace( new RegExp( '<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi' ), '$1' );
+                       text = text.replace( /<p>(<li.+?)<\/p>/gi, '$1');
+                       text = text.replace( /<p>\s*<blockquote([^>]*)>/gi, '<blockquote$1><p>');
+                       text = text.replace( /<\/blockquote>\s*<\/p>/gi, '</p></blockquote>');
+                       text = text.replace( new RegExp( '<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '$1' );
+                       text = text.replace( new RegExp( '(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi' ), '$1' );
+
+                       // Remove redundant spaces and line breaks after existing <br /> tags
+                       text = text.replace( /(<br[^>]*>)\s*\n/gi, '$1' );
+
+                       // Create <br /> from the remaining line breaks
+                       text = text.replace( /\s*\n/g, '<br />\n');
+
+                       text = text.replace( new RegExp( '(</?(?:' + blocklist + ')[^>]*>)\\s*<br />', 'gi' ), '$1' );
+                       text = text.replace( /<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1' );
+                       text = text.replace( /(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi, '[caption$1[/caption]' );
+
+                       text = text.replace( /(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function( a, b, c ) {
+                               if ( c.match( /<p( [^>]*)?>/ ) ) {
+                                       return a;
+                               }
+
+                               return b + '<p>' + c + '</p>';
                        });
-               }
 
-               pee = pee + '\n\n';
-               pee = pee.replace( /<br \/>\s*<br \/>/gi, '\n\n' );
-               pee = pee.replace( new RegExp( '(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '\n$1' );
-               pee = pee.replace( new RegExp( '(</(?:' + blocklist + ')>)', 'gi' ), '$1\n\n' );
-               pee = pee.replace( /<hr( [^>]*)?>/gi, '<hr$1>\n\n' ); // hr is self closing block element
-               pee = pee.replace( /\s*<option/gi, '<option' ); // No <p> or <br> around <option>
-               pee = pee.replace( /<\/option>\s*/gi, '</option>' );
-               pee = pee.replace( /\r\n|\r/g, '\n' );
-               pee = pee.replace( /\n\s*\n+/g, '\n\n' );
-               pee = pee.replace( /([\s\S]+?)\n\n/g, '<p>$1</p>\n' );
-               pee = pee.replace( /<p>\s*?<\/p>/gi, '');
-               pee = pee.replace( new RegExp( '<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi' ), '$1' );
-               pee = pee.replace( /<p>(<li.+?)<\/p>/gi, '$1');
-               pee = pee.replace( /<p>\s*<blockquote([^>]*)>/gi, '<blockquote$1><p>');
-               pee = pee.replace( /<\/blockquote>\s*<\/p>/gi, '</p></blockquote>');
-               pee = pee.replace( new RegExp( '<p>\\s*(</?(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '$1' );
-               pee = pee.replace( new RegExp( '(</?(?:' + blocklist + ')(?: [^>]*)?>)\\s*</p>', 'gi' ), '$1' );
-               pee = pee.replace( /\s*\n/gi, '<br />\n');
-               pee = pee.replace( new RegExp( '(</?(?:' + blocklist + ')[^>]*>)\\s*<br />', 'gi' ), '$1' );
-               pee = pee.replace( /<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi, '$1' );
-               pee = pee.replace( /(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi, '[caption$1[/caption]' );
-
-               pee = pee.replace( /(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g, function( a, b, c ) {
-                       if ( c.match( /<p( [^>]*)?>/ ) ) {
-                               return a;
+                       // put back the line breaks in pre|script
+                       if ( preserve_linebreaks ) {
+                               text = text.replace( /<wp-line-break>/g, '\n' );
                        }
 
-                       return b + '<p>' + c + '</p>';
-               });
+                       if ( preserve_br ) {
+                               text = text.replace( /<wp-temp-br([^>]*)>/g, '<br$1>' );
+                       }
 
-               // put back the line breaks in pre|script
-               if ( preserve_linebreaks ) {
-                       pee = pee.replace( /<wp-line-break>/g, '\n' );
+                       return text;
                }
 
-               if ( preserve_br ) {
-                       pee = pee.replace( /<wp-temp-br([^>]*)>/g, '<br$1>' );
-               }
+               // Add old events
+               function pre_wpautop( html ) {
+                       var obj = { o: exports, data: html, unfiltered: html };
 
-               return pee;
-       },
+                       if ( $ ) {
+                               $( 'body' ).trigger( 'beforePreWpautop', [ obj ] );
+                       }
 
-       pre_wpautop: function( content ) {
-               var t = this, o = { o: t, data: content, unfiltered: content },
-                       q = typeof( jQuery ) !== 'undefined';
+                       obj.data = removep( obj.data );
 
-               if ( q ) {
-                       jQuery( 'body' ).trigger( 'beforePreWpautop', [ o ] );
+                       if ( $ ) {
+                               $( 'body' ).trigger( 'afterPreWpautop', [ obj ] );
+                       }
+
+                       return obj.data;
                }
 
-               o.data = t._wp_Nop( o.data );
+               function wpautop( text ) {
+                       var obj = { o: exports, data: text, unfiltered: text };
 
-               if ( q ) {
-                       jQuery('body').trigger('afterPreWpautop', [ o ] );
-               }
+                       if ( $ ) {
+                               $( 'body' ).trigger( 'beforeWpautop', [ obj ] );
+                       }
 
-               return o.data;
-       },
+                       obj.data = autop( obj.data );
 
-       wpautop: function( pee ) {
-               var t = this, o = { o: t, data: pee, unfiltered: pee },
-                       q = typeof( jQuery ) !== 'undefined';
+                       if ( $ ) {
+                               $( 'body' ).trigger( 'afterWpautop', [ obj ] );
+                       }
 
-               if ( q ) {
-                       jQuery( 'body' ).trigger('beforeWpautop', [ o ] );
+                       return obj.data;
                }
 
-               o.data = t._wp_Autop( o.data );
-
-               if ( q ) {
-                       jQuery( 'body' ).trigger('afterWpautop', [ o ] );
+               if ( $ ) {
+                       $( document ).ready( init );
+               } else if ( document.addEventListener ) {
+                       document.addEventListener( 'DOMContentLoaded', init, false );
+                       window.addEventListener( 'load', init, false );
+               } else if ( window.attachEvent ) {
+                       window.attachEvent( 'onload', init );
+                       document.attachEvent( 'onreadystatechange', function() {
+                               if ( 'complete' === document.readyState ) {
+                                       init();
+                               }
+                       } );
                }
 
-               return o.data;
+               window.wp = window.wp || {};
+               window.wp.editor = window.wp.editor || {};
+               window.wp.editor.autop = wpautop;
+               window.wp.editor.removep = pre_wpautop;
+
+               exports = {
+                       go: switchEditor,
+                       wpautop: wpautop,
+                       pre_wpautop: pre_wpautop,
+                       _wp_Autop: autop,
+                       _wp_Nop: removep
+               };
+
+               return exports;
        }
-};
+
+       window.switchEditors = new SwitchEditors();
+}( window.jQuery ));
index fa44e531757f1b89827769079afa22bac1262bab..925164ab04bc855f6e093d33a4294956762c2692 100644 (file)
@@ -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"),k.setAttrib(f,"aria-hidden",!0),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"),k.setAttrib(f,"aria-hidden",!1),setUserSetting("editor","html")}return!1},_wp_Nop:function(a){var b,c,d=!1,e=!1;return(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(d=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-line-break>"),a=a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-line-break>"),a.replace(/\r?\n/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(e=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").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 [^>]+>.*?)<\/p>/g,"$1</p#>"),a=a.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n"),a=a.replace(/\s*<p>/gi,""),a=a.replace(/\s*<\/p>\s*/gi,"\n\n"),a=a.replace(/\n[\s\u00a0]+\n/g,"\n\n"),a=a.replace(/\s*<br ?\/?>\s*/gi,"\n"),a=a.replace(/\s*<div/g,"\n<div"),a=a.replace(/<\/div>\s*/g,"</div>\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(/<li([^>]*)>/g," <li$1>"),-1!==a.indexOf("<option")&&(a=a.replace(/\s*<option/g,"\n<option"),a=a.replace(/\s*<\/select>/g,"\n</select>")),-1!==a.indexOf("<hr")&&(a=a.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")),-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<\/p#>/g,"</p>\n"),a=a.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1"),a=a.replace(/^\s+/,""),a=a.replace(/[\s\u00a0]+$/,""),d&&(a=a.replace(/<wp-line-break>/g,"\n")),e&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),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|figcaption|details|menu|summary";return-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\r\n]+/g," ")}),(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(b=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a.replace(/(\r\n|\n)/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(c=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a=a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),a=a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),a.replace(/\s*\n\s*/g,"<wp-temp-br />")})),a+="\n\n",a=a.replace(/<br \/>\s*<br \/>/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(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),a=a.replace(/\s*<option/gi,"<option"),a=a.replace(/<\/option>\s*/gi,"</option>"),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,"<p>$1</p>\n"),a=a.replace(/<p>\s*?<\/p>/gi,""),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1"),a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)","gi"),"$1"),a=a.replace(new RegExp("(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/\s*\n/gi,"<br />\n"),a=a.replace(new RegExp("(</?(?:"+d+")[^>]*>)\\s*<br />","gi"),"$1"),a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(a,b,c){return c.match(/<p( [^>]*)?>/)?a:b+"<p>"+c+"</p>"}),b&&(a=a.replace(/<wp-line-break>/g,"\n")),c&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),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
+!function(a){function b(){function b(){!i&&window.tinymce&&(i=window.tinymce,j=i.$,j(document).on("click",function(a){var b,c,e=j(a.target);e.hasClass("wp-switch-editor")&&(b=e.attr("data-wp-editor-id"),c=e.hasClass("switch-tmce")?"tmce":"html",d(b,c))}))}function c(a){var b=j(".mce-toolbar-grp",a.getContainer())[0],c=b&&b.clientHeight;return c&&c>10&&200>c?parseInt(c,10):30}function d(a,b){a=a||"content",b=b||"toggle";var d,e,f,g=i.get(a),h=j("#wp-"+a+"-wrap"),k=j("#"+a),l=k[0];if("toggle"===b&&(b=g&&!g.isHidden()?"html":"tmce"),"tmce"===b||"tinymce"===b){if(g&&!g.isHidden())return!1;"undefined"!=typeof window.QTags&&window.QTags.closeAllTags(a),d=parseInt(l.style.height,10)||0,g?(g.show(),!i.Env.iOS&&d&&(e=c(g),d=d-e+14,d>50&&5e3>d&&g.theme.resizeTo(null,d))):i.init(window.tinyMCEPreInit.mceInit[a]),h.removeClass("html-active").addClass("tmce-active"),k.attr("aria-hidden",!0),window.setUserSetting("editor","tinymce")}else if("html"===b){if(g&&g.isHidden())return!1;g?(i.Env.iOS||(f=g.iframeElement,d=f?parseInt(f.style.height,10):0,d&&(e=c(g),d=d+e-14,d>50&&5e3>d&&(l.style.height=d+"px"))),g.hide()):k.css({display:"",visibility:""}),h.removeClass("tmce-active").addClass("html-active"),k.attr("aria-hidden",!1),window.setUserSetting("editor","html")}}function e(a){var b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|fieldset",c=b+"|div|p",d=b+"|pre",e=!1,f=!1;return a?((-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(e=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-line-break>"),a=a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-line-break>"),a.replace(/\r?\n/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(f=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")})),a=a.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n"),a=a.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)>","g"),"\n<$1>"),a=a.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>"),a=a.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n"),a=a.replace(/\s*<p>/gi,""),a=a.replace(/\s*<\/p>\s*/gi,"\n\n"),a=a.replace(/\n[\s\u00a0]+\n/g,"\n\n"),a=a.replace(/\s*<br ?\/?>\s*/gi,"\n"),a=a.replace(/\s*<div/g,"\n<div"),a=a.replace(/<\/div>\s*/g,"</div>\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"),a=a.replace(new RegExp("\\s*<((?:"+d+")(?: [^>]*)?)\\s*>","g"),"\n<$1>"),a=a.replace(new RegExp("\\s*</("+d+")>\\s*","g"),"</$1>\n"),a=a.replace(/<li([^>]*)>/g,"     <li$1>"),-1!==a.indexOf("<option")&&(a=a.replace(/\s*<option/g,"\n<option"),a=a.replace(/\s*<\/select>/g,"\n</select>")),-1!==a.indexOf("<hr")&&(a=a.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")),-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<\/p#>/g,"</p>\n"),a=a.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1"),a=a.replace(/^\s+/,""),a=a.replace(/[\s\u00a0]+$/,""),e&&(a=a.replace(/<wp-line-break>/g,"\n")),f&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a):""}function f(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|figcaption|details|menu|summary";return a=a.replace(/\r\n|\r/g,"\n"),-1===a.indexOf("\n")?a:(-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/\n+/g,"")})),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\n\t ]+/g," ")}),(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(b=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a.replace(/\n/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(c=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a=a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\n\t ]+/," ")}),a.replace(/\s*\n\s*/g,"<wp-temp-br />")})),a+="\n\n",a=a.replace(/<br \/>\s*<br \/>/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(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),a=a.replace(/\s*<option/gi,"<option"),a=a.replace(/<\/option>\s*/gi,"</option>"),a=a.replace(/\n\s*\n+/g,"\n\n"),a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n"),a=a.replace(/<p>\s*?<\/p>/gi,""),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1"),a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)","gi"),"$1"),a=a.replace(new RegExp("(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/(<br[^>]*>)\s*\n/gi,"$1"),a=a.replace(/\s*\n/g,"<br />\n"),a=a.replace(new RegExp("(</?(?:"+d+")[^>]*>)\\s*<br />","gi"),"$1"),a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(a,b,c){return c.match(/<p( [^>]*)?>/)?a:b+"<p>"+c+"</p>"}),b&&(a=a.replace(/<wp-line-break>/g,"\n")),c&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a)}function g(b){var c={o:k,data:b,unfiltered:b};return a&&a("body").trigger("beforePreWpautop",[c]),c.data=e(c.data),a&&a("body").trigger("afterPreWpautop",[c]),c.data}function h(b){var c={o:k,data:b,unfiltered:b};return a&&a("body").trigger("beforeWpautop",[c]),c.data=f(c.data),a&&a("body").trigger("afterWpautop",[c]),c.data}var i,j,k={};return a?a(document).ready(b):document.addEventListener?(document.addEventListener("DOMContentLoaded",b,!1),window.addEventListener("load",b,!1)):window.attachEvent&&(window.attachEvent("onload",b),document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&b()})),window.wp=window.wp||{},window.wp.editor=window.wp.editor||{},window.wp.editor.autop=h,window.wp.editor.removep=g,k={go:d,wpautop:h,pre_wpautop:g,_wp_Autop:f,_wp_Nop:e}}window.switchEditors=new b}(window.jQuery);
\ No newline at end of file
index a1a9c028ab909aac137b4a84551ca430557dc9da..02f5c76ea2f8f4d1e1c8179f861c181e97d8ecbc 100644 (file)
@@ -22,10 +22,10 @@ inlineEditPost = {
                        }
                });
 
-               $('a.cancel', qeRow).click(function(){
+               $( '.cancel', qeRow ).click( function() {
                        return inlineEditPost.revert();
                });
-               $('a.save', qeRow).click(function(){
+               $( '.save', qeRow ).click( function() {
                        return inlineEditPost.save(this);
                });
                $('td', qeRow).keydown(function(e){
@@ -34,7 +34,7 @@ inlineEditPost = {
                        }
                });
 
-               $('a.cancel', bulkRow).click(function(){
+               $( '.cancel', bulkRow ).click( function() {
                        return inlineEditPost.revert();
                });
 
@@ -81,7 +81,7 @@ inlineEditPost = {
                var te = '', type = this.type, tax, c = true;
                this.revert();
 
-               $('#bulk-edit td').attr('colspan', $('.widefat:first thead th:visible').length);
+               $( '#bulk-edit td' ).attr( 'colspan', $( 'th:visible, td:visible', '.widefat:first thead' ).length );
                // Insert the editor at the top of the table with an empty row above to maintain zebra striping.
                $('table.widefat tbody').prepend( $('#bulk-edit') ).prepend('<tr class="hidden"></tr>');
                $('#bulk-edit').addClass('inline-editor').show();
@@ -117,7 +117,7 @@ inlineEditPost = {
        },
 
        edit : function(id) {
-               var t = this, fields, editRow, rowData, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, cur_format, f, val;
+               var t = this, fields, editRow, rowData, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, cur_format, f, val, pw;
                t.revert();
 
                if ( typeof(id) === 'object' ) {
@@ -131,9 +131,9 @@ inlineEditPost = {
 
                // add the new edit row with an extra blank row underneath to maintain zebra striping.
                editRow = $('#inline-edit').clone(true);
-               $('td', editRow).attr('colspan', $('.widefat:first thead th:visible').length);
+               $( 'td', editRow ).attr( 'colspan', $( 'th:visible, td:visible', '.widefat:first thead' ).length );
 
-               $(t.what+id).hide().after(editRow).after('<tr class="hidden"></tr>');
+               $(t.what+id).removeClass('is-expanded').hide().after(editRow).after('<tr class="hidden"></tr>');
 
                // populate the data
                rowData = $('#inline_'+id);
@@ -209,9 +209,10 @@ inlineEditPost = {
                        $('select[name="_status"] option[value="future"]', editRow).remove();
                }
 
+               pw = $( '.inline-edit-password-input' ).prop( 'disabled', false );
                if ( 'private' === status ) {
                        $('input[name="keep_private"]', editRow).prop('checked', true);
-                       $('input.inline-edit-password-input').val('').prop('disabled', true);
+                       pw.val( '' ).prop( 'disabled', true );
                }
 
                // remove the current page and children from the parent dropdown
index c9712985a760588cc2c844fe91644fb0c9e3fd9b..46ccb74ee0805005eb39daf4bff88cc06838b8b2 100644 (file)
@@ -1 +1 @@
-var inlineEditPost;!function(a){inlineEditPost={init:function(){var b=this,c=a("#inline-edit"),d=a("#bulk-edit");b.type=a("table.widefat").hasClass("pages")?"page":"post",b.what="#post-",c.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),d.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),a("a.cancel",c).click(function(){return inlineEditPost.revert()}),a("a.save",c).click(function(){return inlineEditPost.save(this)}),a("td",c).keydown(function(b){return 13!==b.which||a(b.target).hasClass("cancel")?void 0:inlineEditPost.save(this)}),a("a.cancel",d).click(function(){return inlineEditPost.revert()}),a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var b=a("input.inline-edit-password-input");a(this).prop("checked")?b.val("").prop("disabled",!0):b.prop("disabled",!1)}),a("#the-list").on("click","a.editinline",function(){return inlineEditPost.edit(this),!1}),a("#bulk-edit").find("fieldset:first").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone()),a('select[name="_status"] option[value="future"]',d).remove(),a("#doaction, #doaction2").click(function(c){var d=a(this).attr("id").substr(2);"edit"===a('select[name="'+d+'"]').val()?(c.preventDefault(),b.setBulk()):a("form#posts-filter tr.inline-editor").length>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")).prepend('<tr class="hidden"></tr>'),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+='<div id="ttle'+d+'"><a id="_'+d+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+b+"</div>"}}),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,n=this,o=!0;for(n.revert(),"object"==typeof b&&(b=n.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===n.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(n.what+b).hide().after(d).after('<tr class="hidden"></tr>'),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('<option value="'+a(".post_author",e).text()+'">'+a("#"+n.type+"-"+b+" .author").text()+"</option>"),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;l<c.length;l++)m=a("."+c[l],e),m.find("img").replaceWith(function(){return this.alt}),m=m.text(),a(':input[name="'+c[l]+'"]',d).val(m);if("open"===a(".comment_status",e).text()&&a('input[name="comment_status"]',d).prop("checked",!0),"open"===a(".ping_status",e).text()&&a('input[name="ping_status"]',d).prop("checked",!0),"sticky"===a(".sticky",e).text()&&a('input[name="sticky"]',d).prop("checked",!0),a(".post_category",e).each(function(){var c,e=a(this).text();e&&(c=a(this).attr("id").replace("_"+b,""),a("ul."+c+"-checklist :checkbox",d).val(e.split(",")))}),a(".tags_input",e).each(function(){var c=a(this),e=a(this).attr("id").replace("_"+b,""),f=a("textarea.tax_input_"+e,d),g=inlineEditL10n.comma;c.find("img").replaceWith(function(){return this.alt}),c=c.text(),c&&(","!==g&&(c=c.replace(/,/g,g)),f.val(c)),f.suggest(ajaxurl+"?action=ajax-tag-search&tax="+e,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma})}),f=a("._status",e).text(),"future"!==f&&a('select[name="_status"] option[value="future"]',d).remove(),"private"===f&&(a('input[name="keep_private"]',d).prop("checked",!0),a("input.inline-edit-password-input").val("").prop("disabled",!0)),g=a('select[name="post_parent"] option[value="'+b+'"]',d),g.length>0){for(h=g[0].className.split("-")[1],i=g;o&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?o=!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").addClass("is-active"),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").removeClass("is-active"),c?-1!==c.indexOf("<tr")?(a(inlineEditPost.what+b).siblings("tr.hidden").addBack().remove(),a("#edit-"+b).before(c).remove(),a(inlineEditPost.what+b).hide().fadeIn()):(c=c.replace(/<.[^<>]*?>/g,""),a("#edit-"+b+" .inline-edit-save .error").html(c).show()):a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show()},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").removeClass("is-active"),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide().siblings("tr.hidden").remove(),a("#bulk-titles").empty(),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).siblings("tr.hidden").addBack().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('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",e.avatar_src.replace(/&amp;/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(a){inlineEditPost={init:function(){var b=this,c=a("#inline-edit"),d=a("#bulk-edit");b.type=a("table.widefat").hasClass("pages")?"page":"post",b.what="#post-",c.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),d.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),a(".cancel",c).click(function(){return inlineEditPost.revert()}),a(".save",c).click(function(){return inlineEditPost.save(this)}),a("td",c).keydown(function(b){return 13!==b.which||a(b.target).hasClass("cancel")?void 0:inlineEditPost.save(this)}),a(".cancel",d).click(function(){return inlineEditPost.revert()}),a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var b=a("input.inline-edit-password-input");a(this).prop("checked")?b.val("").prop("disabled",!0):b.prop("disabled",!1)}),a("#the-list").on("click","a.editinline",function(){return inlineEditPost.edit(this),!1}),a("#bulk-edit").find("fieldset:first").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone()),a('select[name="_status"] option[value="future"]',d).remove(),a("#doaction, #doaction2").click(function(c){var d=a(this).attr("id").substr(2);"edit"===a('select[name="'+d+'"]').val()?(c.preventDefault(),b.setBulk()):a("form#posts-filter tr.inline-editor").length>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("th:visible, td:visible",".widefat:first thead").length),a("table.widefat tbody").prepend(a("#bulk-edit")).prepend('<tr class="hidden"></tr>'),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+='<div id="ttle'+d+'"><a id="_'+d+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+b+"</div>"}}),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,n,o=this,p=!0;for(o.revert(),"object"==typeof b&&(b=o.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===o.type&&c.push("post_parent","page_template"),d=a("#inline-edit").clone(!0),a("td",d).attr("colspan",a("th:visible, td:visible",".widefat:first thead").length),a(o.what+b).removeClass("is-expanded").hide().after(d).after('<tr class="hidden"></tr>'),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('<option value="'+a(".post_author",e).text()+'">'+a("#"+o.type+"-"+b+" .author").text()+"</option>"),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;l<c.length;l++)m=a("."+c[l],e),m.find("img").replaceWith(function(){return this.alt}),m=m.text(),a(':input[name="'+c[l]+'"]',d).val(m);if("open"===a(".comment_status",e).text()&&a('input[name="comment_status"]',d).prop("checked",!0),"open"===a(".ping_status",e).text()&&a('input[name="ping_status"]',d).prop("checked",!0),"sticky"===a(".sticky",e).text()&&a('input[name="sticky"]',d).prop("checked",!0),a(".post_category",e).each(function(){var c,e=a(this).text();e&&(c=a(this).attr("id").replace("_"+b,""),a("ul."+c+"-checklist :checkbox",d).val(e.split(",")))}),a(".tags_input",e).each(function(){var c=a(this),e=a(this).attr("id").replace("_"+b,""),f=a("textarea.tax_input_"+e,d),g=inlineEditL10n.comma;c.find("img").replaceWith(function(){return this.alt}),c=c.text(),c&&(","!==g&&(c=c.replace(/,/g,g)),f.val(c)),f.suggest(ajaxurl+"?action=ajax-tag-search&tax="+e,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma})}),f=a("._status",e).text(),"future"!==f&&a('select[name="_status"] option[value="future"]',d).remove(),n=a(".inline-edit-password-input").prop("disabled",!1),"private"===f&&(a('input[name="keep_private"]',d).prop("checked",!0),n.val("").prop("disabled",!0)),g=a('select[name="post_parent"] option[value="'+b+'"]',d),g.length>0){for(h=g[0].className.split("-")[1],i=g;p&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?p=!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").addClass("is-active"),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").removeClass("is-active"),c?-1!==c.indexOf("<tr")?(a(inlineEditPost.what+b).siblings("tr.hidden").addBack().remove(),a("#edit-"+b).before(c).remove(),a(inlineEditPost.what+b).hide().fadeIn()):(c=c.replace(/<.[^<>]*?>/g,""),a("#edit-"+b+" .inline-edit-save .error").html(c).show()):a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show()},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").removeClass("is-active"),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide().siblings("tr.hidden").remove(),a("#bulk-titles").empty(),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).siblings("tr.hidden").addBack().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('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",e.avatar_src.replace(/&amp;/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
index e1746462f53d1010b35f3b600aa4159a342e09e6..99bfca463249d987c4abf7c03e6c71a821314ac9 100644 (file)
@@ -54,7 +54,7 @@ inlineEditTax = {
                }
 
                editRow = $('#inline-edit').clone(true), rowData = $('#inline_'+id);
-               $('td', editRow).attr('colspan', $('.widefat:first thead th:visible').length);
+               $( 'td', editRow ).attr( 'colspan', $( 'th:visible, td:visible', '.widefat:first thead' ).length );
 
                $(t.what+id).hide().after(editRow).after('<tr class="hidden"></tr>');
 
index 801c1b7f20ce984a5fd296d25cdc5a1173e22c6f..93140e74fc82942657a1f4f65fec1e4f83569542 100644 (file)
@@ -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,f=this;return f.revert(),"object"==typeof b&&(b=f.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(f.what+b).hide().after(c).after('<tr class="hidden"></tr>'),e=a(".name",d),e.find("img").replaceWith(function(){return this.alt}),e=e.text(),a(':input[name="name"]',c).val(e),e=a(".slug",d),e.find("img").replaceWith(function(){return this.alt}),e=e.text(),a(':input[name="slug"]',c).val(e),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").addClass("is-active"),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,f;a("table.widefat .spinner").removeClass("is-active"),c?-1!==c.indexOf("<tr")?(a(inlineEditTax.what+b).siblings("tr.hidden").addBack().remove(),e=a(c).attr("id"),a("#edit-"+b).before(c).remove(),e?(f=e.replace(inlineEditTax.type+"-",""),d=a("#"+e)):(f=b,d=a(inlineEditTax.what+b)),a("#parent").find("option[value="+f+"]").text(d.find(".row-title").text()),d.hide().fadeIn()):a("#edit-"+b+" .inline-edit-save .error").html(c).show():a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show()}),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").removeClass("is-active"),a("#"+b).siblings("tr.hidden").addBack().remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show()),!1},getId:function(b){var c="TR"===b.tagName?b.id:a(b).parents("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditTax.init()})}(jQuery);
\ No newline at end of file
+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,f=this;return f.revert(),"object"==typeof b&&(b=f.getId(b)),c=a("#inline-edit").clone(!0),d=a("#inline_"+b),a("td",c).attr("colspan",a("th:visible, td:visible",".widefat:first thead").length),a(f.what+b).hide().after(c).after('<tr class="hidden"></tr>'),e=a(".name",d),e.find("img").replaceWith(function(){return this.alt}),e=e.text(),a(':input[name="name"]',c).val(e),e=a(".slug",d),e.find("img").replaceWith(function(){return this.alt}),e=e.text(),a(':input[name="slug"]',c).val(e),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").addClass("is-active"),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,f;a("table.widefat .spinner").removeClass("is-active"),c?-1!==c.indexOf("<tr")?(a(inlineEditTax.what+b).siblings("tr.hidden").addBack().remove(),e=a(c).attr("id"),a("#edit-"+b).before(c).remove(),e?(f=e.replace(inlineEditTax.type+"-",""),d=a("#"+e)):(f=b,d=a(inlineEditTax.what+b)),a("#parent").find("option[value="+f+"]").text(d.find(".row-title").text()),d.hide().fadeIn()):a("#edit-"+b+" .inline-edit-save .error").html(c).show():a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show()}),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").removeClass("is-active"),a("#"+b).siblings("tr.hidden").addBack().remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show()),!1},getId:function(b){var c="TR"===b.tagName?b.id:a(b).parents("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditTax.init()})}(jQuery);
\ No newline at end of file
index efebce4fbe66be87fe197d2beab13f300af19725..c23fc69683a88799b7e5509dc1655873cbe4c135 100644 (file)
@@ -20,7 +20,9 @@ var wpNavMenu;
 
                options : {
                        menuItemDepthPerLevel : 30, // Do not use directly. Use depthToPx and pxToDepth instead.
-                       globalMaxDepth : 11
+                       globalMaxDepth:  11,
+                       sortableItems:   '> *',
+                       targetTolerance: 0
                },
 
                menuList : undefined,   // Set in init.
@@ -87,10 +89,10 @@ var wpNavMenu;
                                childMenuItems : function() {
                                        var result = $();
                                        this.each(function(){
-                                               var t = $(this), depth = t.menuItemDepth(), next = t.next();
+                                               var t = $(this), depth = t.menuItemDepth(), next = t.next( '.menu-item' );
                                                while( next.length && next.menuItemDepth() > depth ) {
                                                        result = result.add( next );
-                                                       next = next.next();
+                                                       next = next.next( '.menu-item' );
                                                }
                                        });
                                        return result;
@@ -388,11 +390,11 @@ var wpNavMenu;
 
                        // Refresh the accessibility when the user comes close to the item in any way
                        menu.on( 'mouseenter.refreshAccessibility focus.refreshAccessibility touchstart.refreshAccessibility' , '.menu-item' , function(){
-                               api.refreshAdvancedAccessibilityOfItem( $( this ).find( '.item-edit' ) );
+                               api.refreshAdvancedAccessibilityOfItem( $( this ).find( 'a.item-edit' ) );
                        } );
 
                        // We have to update on click as well because we might hover first, change the item, and then click.
-                       menu.on( 'click', '.item-edit', function() {
+                       menu.on( 'click', 'a.item-edit', function() {
                                api.refreshAdvancedAccessibilityOfItem( $( this ) );
                        } );
 
@@ -437,7 +439,7 @@ var wpNavMenu;
                                totalMenuItems = $('#menu-to-edit li').length,
                                hasSameDepthSibling = menuItem.nextAll( '.menu-item-depth-' + depth ).length;
 
-                               menuItem.find( '.field-move' ).toggle( totalMenuItems > 1 ); 
+                               menuItem.find( '.field-move' ).toggle( totalMenuItems > 1 );
 
                        // Where can they move this menu item?
                        if ( 0 !== position ) {
@@ -509,16 +511,16 @@ var wpNavMenu;
                        $( '.menu-item-settings .field-move a' ).hide();
 
                        // Mark all menu items as unprocessed
-                       $( '.item-edit' ).data( 'needs_accessibility_refresh', true );
+                       $( 'a.item-edit' ).data( 'needs_accessibility_refresh', true );
 
                        // All open items have to be refreshed or they will show no links
-                       $( '.menu-item-edit-active .item-edit' ).each( function() {
+                       $( '.menu-item-edit-active a.item-edit' ).each( function() {
                                api.refreshAdvancedAccessibilityOfItem( this );
                        } );
                },
 
                refreshKeyboardAccessibility : function() {
-                       $( '.item-edit' ).off( 'focus' ).on( 'focus', function(){
+                       $( 'a.item-edit' ).off( 'focus' ).on( 'focus', function(){
                                $(this).off( 'keydown' ).on( 'keydown', function(e){
 
                                        var arrows,
@@ -620,6 +622,7 @@ var wpNavMenu;
                        api.menuList.sortable({
                                handle: '.menu-item-handle',
                                placeholder: 'sortable-placeholder',
+                               items: api.options.sortableItems,
                                start: function(e, ui) {
                                        var height, width, parent, children, tempHolder;
 
@@ -660,7 +663,7 @@ var wpNavMenu;
                                        ui.placeholder.width(width);
 
                                        // Update the list of menu items.
-                                       tempHolder = ui.placeholder.next();
+                                       tempHolder = ui.placeholder.next( '.menu-item' );
                                        tempHolder.css( 'margin-top', helperHeight + 'px' ); // Set the margin to absorb the placeholder
                                        ui.placeholder.detach(); // detach or jQuery UI will think the placeholder is a menu item
                                        $(this).sortable( 'refresh' ); // The children aren't sortable. We should let jQ UI know.
@@ -719,11 +722,15 @@ var wpNavMenu;
                                        var offset = ui.helper.offset(),
                                                edge = api.isRTL ? offset.left + ui.helper.width() : offset.left,
                                                depth = api.negateIfRTL * api.pxToDepth( edge - menuEdge );
+
                                        // Check and correct if depth is not within range.
                                        // Also, if the dragged element is dragged upwards over
                                        // an item, shift the placeholder to a child position.
-                                       if ( depth > maxDepth || offset.top < prevBottom ) depth = maxDepth;
-                                       else if ( depth < minDepth ) depth = minDepth;
+                                       if ( depth > maxDepth || offset.top < ( prevBottom - api.options.targetTolerance ) ) {
+                                               depth = maxDepth;
+                                       } else if ( depth < minDepth ) {
+                                               depth = minDepth;
+                                       }
 
                                        if( depth != currentDepth )
                                                updateCurrentDepth(ui, depth);
@@ -740,12 +747,12 @@ var wpNavMenu;
                        function updateSharedVars(ui) {
                                var depth;
 
-                               prev = ui.placeholder.prev();
-                               next = ui.placeholder.next();
+                               prev = ui.placeholder.prev( '.menu-item' );
+                               next = ui.placeholder.next( '.menu-item' );
 
                                // Make sure we don't select the moving item.
-                               if( prev[0] == ui.item[0] ) prev = prev.prev();
-                               if( next[0] == ui.item[0] ) next = next.next();
+                               if( prev[0] == ui.item[0] ) prev = prev.prev( '.menu-item' );
+                               if( next[0] == ui.item[0] ) next = next.next( '.menu-item' );
 
                                prevBottom = (prev.length) ? prev.offset().top + prev.height() : 0;
                                nextThreshold = (next.length) ? next.offset().top + next.height() / 3 : 0;
@@ -817,6 +824,8 @@ var wpNavMenu;
                                }
                        });
                        $('#add-custom-links input[type="text"]').keypress(function(e){
+                               $('#customlinkdiv').removeClass('form-invalid');
+
                                if ( e.keyCode === 13 ) {
                                        e.preventDefault();
                                        $( '#submit-customlinkdiv' ).click();
@@ -919,8 +928,10 @@ var wpNavMenu;
 
                        processMethod = processMethod || api.addMenuItemToBottom;
 
-                       if ( '' === url || 'http://' == url )
+                       if ( '' === url || 'http://' == url ) {
+                               $('#customlinkdiv').addClass('form-invalid');
                                return false;
+                       }
 
                        // Show the ajax spinner
                        $( '.customlinkdiv .spinner' ).addClass( 'is-active' );
index 66f1f3d1113140684e9cd2a8efff3a73d07331c8..64a5bbd3c434746df820cbb2ff539daf588dcb6e 100644 (file)
@@ -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").addClass("is-active"),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").removeClass("is-active")})):!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("mouseenter.refreshAccessibility focus.refreshAccessibility touchstart.refreshAccessibility",".menu-item",function(){b.refreshAdvancedAccessibilityOfItem(a(this).find(".item-edit"))}),c.on("click",".item-edit",function(){b.refreshAdvancedAccessibilityOfItem(a(this))}),c.on("click",".menus-move",function(c){var d=a(this),e=d.data("dir");"undefined"!=typeof e&&b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),e),c.preventDefault()})},refreshAdvancedAccessibilityOfItem:function(b){if(!0===a(b).data("needs_accessibility_refresh")){var c,d,e,f,g,h,i,j,k,l=a(b),m=l.closest("li.menu-item").first(),n=m.menuItemDepth(),o=0===n,p=l.closest(".menu-item-handle").find(".menu-item-title").text(),q=parseInt(m.index(),10),r=o?n:parseInt(n-1,10),s=m.prevAll(".menu-item-depth-"+r).first().find(".menu-item-title").text(),t=m.prevAll(".menu-item-depth-"+n).first().find(".menu-item-title").text(),u=a("#menu-to-edit li").length,v=m.nextAll(".menu-item-depth-"+n).length;m.find(".field-move").toggle(u>1),0!==q&&(c=m.find(".menus-move-up"),c.prop("title",menus.moveUp).css("display","inline")),0!==q&&o&&(c=m.find(".menus-move-top"),c.prop("title",menus.moveToTop).css("display","inline")),q+1!==u&&0!==q&&(c=m.find(".menus-move-down"),c.prop("title",menus.moveDown).css("display","inline")),0===q&&0!==v&&(c=m.find(".menus-move-down"),c.prop("title",menus.moveDown).css("display","inline")),o||(c=m.find(".menus-move-left"),d=menus.outFrom.replace("%s",s),c.prop("title",menus.moveOutFrom.replace("%s",s)).text(d).css("display","inline")),0!==q&&m.find(".menu-item-data-parent-id").val()!==m.prev().find(".menu-item-data-db-id").val()&&(c=m.find(".menus-move-right"),d=menus.under.replace("%s",t),c.prop("title",menus.moveUnder.replace("%s",t)).text(d).css("display","inline")),o?(e=a(".menu-item-depth-0"),f=e.index(m)+1,u=e.length,g=menus.menuFocus.replace("%1$s",p).replace("%2$d",f).replace("%3$d",u)):(h=m.prevAll(".menu-item-depth-"+parseInt(n-1,10)).first(),i=h.find(".menu-item-data-db-id").val(),j=h.find(".menu-item-title").text(),k=a('.menu-item .menu-item-data-parent-id[value="'+i+'"]'),f=a(k.parents(".menu-item").get().reverse()).index(m)+1,g=menus.subMenuFocus.replace("%1$s",p).replace("%2$d",f).replace("%3$s",j)),l.prop("title",g).text(g),l.data("needs_accessibility_refresh",!1)}},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").hide(),a(".item-edit").data("needs_accessibility_refresh",!0),a(".menu-item-edit-active .item-edit").each(function(){b.refreshAdvancedAccessibilityOfItem(this)})},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.top<l?o=i:h>o&&(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").addClass("is-active"),a.post(ajaxurl,c,function(){b.find(".spinner").removeClass("is-active")}),!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<f||(d=c.parents(".tabs-panel"),e={action:"menu-quick-search","response-format":"markup",menu:a("#menu").val(),"menu-settings-column-nonce":a("#menu-settings-column-nonce").val(),q:g,type:c.attr("name")},a(".spinner",d).addClass("is-active"),a.post(ajaxurl,e,function(a){b.processQuickSearchQueryResponse(a,e,d)}))},addCustomLink:function(c){var d=a("#custom-menu-item-url").val(),e=a("#custom-menu-item-name").val();return c=c||b.addMenuItemToBottom,""===d||"http://"==d?!1:(a(".customlinkdiv .spinner").addClass("is-active"),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").removeClass("is-active"),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}))},addLinkToMenu:function(a,c,d,e){d=d||b.addMenuItemToBottom,e=e||function(){},b.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":a,"menu-item-title":c}},d,e)},addItemToMenu:function(b,c,d){var e,f=a("#menu").val(),g=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},e={action:"add-menu-item",menu:f,"menu-settings-column-nonce":g,"menu-item":b},a.post(ajaxurl,e,function(b){var f=a("#menu-instructions");b=a.trim(b),c(b,e),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!f.hasClass("menu-instructions-inactive")&&f.siblings().length&&f.addClass("menu-instructions-inactive"),d()})},addMenuItemToBottom:function(c){a(c).hideAdvancedMenuItemFields().appendTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},addMenuItemToTop:function(c){a(c).hideAdvancedMenuItemFields().prependTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){a("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){b.registerChange()}),0!==a("#menu-to-edit").length||0!==a(".menu-location-menus select").length?window.onbeforeunload=function(){return b.menusChanged?navMenuL10n.saveAlert:void 0}:a("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){b.menusChanged=!0},attachTabsPanelListeners:function(){a("#menu-settings-column").bind("click",function(c){var d,e,f,g,h=a(c.target);if(h.hasClass("nav-tab-link"))e=h.data("type"),f=h.parents(".accordion-section-content").first(),a("input",f).removeAttr("checked"),a(".tabs-panel-active",f).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a("#"+e,f).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),a(".tabs",f).removeClass("tabs"),h.parent().addClass("tabs"),a(".quick-search",f).focus(),c.preventDefault();else if(h.hasClass("select-all")){if(d=/#(.*)$/.exec(c.target.href),d&&d[1])return g=a("#"+d[1]+" .tabs-panel-active .menu-item-title input"),g.length===g.filter(":checked").length?g.removeAttr("checked"):g.prop("checked",!0),!1}else{if(h.hasClass("submit-add-to-menu"))return b.registerChange(),c.target.id&&"submit-customlinkdiv"==c.target.id?b.addCustomLink(b.addMenuItemToBottom):c.target.id&&-1!=c.target.id.indexOf("submit-")&&a("#"+c.target.id.replace(/submit-/,"")).addSelectedToMenu(b.addMenuItemToBottom),!1;if(h.hasClass("page-numbers"))return a.post(ajaxurl,c.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(b){if(-1!=b.indexOf("replace-id")){var c=a.parseJSON(b),d=document.getElementById(c["replace-id"]),e=document.createElement("div"),f=document.createElement("div");c.markup&&d&&(f.innerHTML=c.markup?c.markup:"",d.parentNode.insertBefore(e,d),e.parentNode.removeChild(d),e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e))}}),!1}})},eventOnClickEditLink:function(b){var c,d,e=/#(.*)$/.exec(b.href);return e&&e[1]&&(c=a("#"+e[1]),d=c.parent(),0!==d.length)?(d.hasClass("menu-item-edit-inactive")?(c.data("menu-item-data")||c.data("menu-item-data",c.getItemData()),c.slideDown("fast"),d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(c.slideUp("fast"),d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1):void 0},eventOnClickCancelLink:function(b){var c=a(b).closest(".menu-item-settings"),d=a(b).closest(".menu-item");return d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),c.setItemData(c.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var c="",d=a("#menu-name"),e=d.val();return e&&e!=d.attr("title")&&e.replace(/\s+/,"")?(a("#nav-menu-theme-locations select").each(function(){c+='<input type="hidden" name="'+this.name+'" value="'+a(this).val()+'" />'}),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("<div>").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).removeClass("is-active")):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).removeClass("is-active"))},removeMenuItem:function(c){var d=c.childMenuItems();c.addClass("deleting").animate({opacity:0,height:0},350,function(){var e=a("#menu-instructions");c.remove(),d.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),e.removeClass("menu-instructions-inactive")),b.refreshAdvancedAccessibility()})},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(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11,sortableItems:"> *",targetTolerance:0},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=b.isRTL?this.eq(0).css("margin-right"):this.eq(0).css("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(".menu-item");e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next(".menu-item")}),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();0===d?c.val(0):c.val(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=menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?d.find('#page-all li input[type="checkbox"]'):d.find(".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").addClass("is-active"),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").removeClass("is-active")})):!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("mouseenter.refreshAccessibility focus.refreshAccessibility touchstart.refreshAccessibility",".menu-item",function(){b.refreshAdvancedAccessibilityOfItem(a(this).find("a.item-edit"))}),c.on("click","a.item-edit",function(){b.refreshAdvancedAccessibilityOfItem(a(this))}),c.on("click",".menus-move",function(c){var d=a(this),e=d.data("dir");"undefined"!=typeof e&&b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),e),c.preventDefault()})},refreshAdvancedAccessibilityOfItem:function(b){if(!0===a(b).data("needs_accessibility_refresh")){var c,d,e,f,g,h,i,j,k,l=a(b),m=l.closest("li.menu-item").first(),n=m.menuItemDepth(),o=0===n,p=l.closest(".menu-item-handle").find(".menu-item-title").text(),q=parseInt(m.index(),10),r=o?n:parseInt(n-1,10),s=m.prevAll(".menu-item-depth-"+r).first().find(".menu-item-title").text(),t=m.prevAll(".menu-item-depth-"+n).first().find(".menu-item-title").text(),u=a("#menu-to-edit li").length,v=m.nextAll(".menu-item-depth-"+n).length;m.find(".field-move").toggle(u>1),0!==q&&(c=m.find(".menus-move-up"),c.prop("title",menus.moveUp).css("display","inline")),0!==q&&o&&(c=m.find(".menus-move-top"),c.prop("title",menus.moveToTop).css("display","inline")),q+1!==u&&0!==q&&(c=m.find(".menus-move-down"),c.prop("title",menus.moveDown).css("display","inline")),0===q&&0!==v&&(c=m.find(".menus-move-down"),c.prop("title",menus.moveDown).css("display","inline")),o||(c=m.find(".menus-move-left"),d=menus.outFrom.replace("%s",s),c.prop("title",menus.moveOutFrom.replace("%s",s)).text(d).css("display","inline")),0!==q&&m.find(".menu-item-data-parent-id").val()!==m.prev().find(".menu-item-data-db-id").val()&&(c=m.find(".menus-move-right"),d=menus.under.replace("%s",t),c.prop("title",menus.moveUnder.replace("%s",t)).text(d).css("display","inline")),o?(e=a(".menu-item-depth-0"),f=e.index(m)+1,u=e.length,g=menus.menuFocus.replace("%1$s",p).replace("%2$d",f).replace("%3$d",u)):(h=m.prevAll(".menu-item-depth-"+parseInt(n-1,10)).first(),i=h.find(".menu-item-data-db-id").val(),j=h.find(".menu-item-title").text(),k=a('.menu-item .menu-item-data-parent-id[value="'+i+'"]'),f=a(k.parents(".menu-item").get().reverse()).index(m)+1,g=menus.subMenuFocus.replace("%1$s",p).replace("%2$d",f).replace("%3$s",j)),l.prop("title",g).text(g),l.data("needs_accessibility_refresh",!1)}},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").hide(),a("a.item-edit").data("needs_accessibility_refresh",!0),a(".menu-item-edit-active a.item-edit").each(function(){b.refreshAdvancedAccessibilityOfItem(this)})},refreshKeyboardAccessibility:function(){a("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(".menu-item"),k=a.placeholder.next(".menu-item"),j[0]==a.item[0]&&(j=j.prev(".menu-item")),k[0]==a.item[0]&&(k=k.next(".menu-item")),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",items:b.options.sortableItems,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(".menu-item"),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.top<l-b.options.targetTolerance?o=i:h>o&&(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){a("#customlinkdiv").removeClass("form-invalid"),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").addClass("is-active"),a.post(ajaxurl,c,function(){b.find(".spinner").removeClass("is-active")}),!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<f||(d=c.parents(".tabs-panel"),e={action:"menu-quick-search","response-format":"markup",menu:a("#menu").val(),"menu-settings-column-nonce":a("#menu-settings-column-nonce").val(),q:g,type:c.attr("name")},a(".spinner",d).addClass("is-active"),a.post(ajaxurl,e,function(a){b.processQuickSearchQueryResponse(a,e,d)}))},addCustomLink:function(c){var d=a("#custom-menu-item-url").val(),e=a("#custom-menu-item-name").val();return c=c||b.addMenuItemToBottom,""===d||"http://"==d?(a("#customlinkdiv").addClass("form-invalid"),!1):(a(".customlinkdiv .spinner").addClass("is-active"),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").removeClass("is-active"),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}))},addLinkToMenu:function(a,c,d,e){d=d||b.addMenuItemToBottom,e=e||function(){},b.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":a,"menu-item-title":c}},d,e)},addItemToMenu:function(b,c,d){var e,f=a("#menu").val(),g=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},e={action:"add-menu-item",menu:f,"menu-settings-column-nonce":g,"menu-item":b},a.post(ajaxurl,e,function(b){var f=a("#menu-instructions");b=a.trim(b),c(b,e),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!f.hasClass("menu-instructions-inactive")&&f.siblings().length&&f.addClass("menu-instructions-inactive"),d()})},addMenuItemToBottom:function(c){a(c).hideAdvancedMenuItemFields().appendTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},addMenuItemToTop:function(c){a(c).hideAdvancedMenuItemFields().prependTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){a("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){b.registerChange()}),0!==a("#menu-to-edit").length||0!==a(".menu-location-menus select").length?window.onbeforeunload=function(){return b.menusChanged?navMenuL10n.saveAlert:void 0}:a("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){b.menusChanged=!0},attachTabsPanelListeners:function(){a("#menu-settings-column").bind("click",function(c){var d,e,f,g,h=a(c.target);if(h.hasClass("nav-tab-link"))e=h.data("type"),f=h.parents(".accordion-section-content").first(),a("input",f).removeAttr("checked"),a(".tabs-panel-active",f).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a("#"+e,f).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),a(".tabs",f).removeClass("tabs"),h.parent().addClass("tabs"),a(".quick-search",f).focus(),c.preventDefault();else if(h.hasClass("select-all")){if(d=/#(.*)$/.exec(c.target.href),d&&d[1])return g=a("#"+d[1]+" .tabs-panel-active .menu-item-title input"),g.length===g.filter(":checked").length?g.removeAttr("checked"):g.prop("checked",!0),!1}else{if(h.hasClass("submit-add-to-menu"))return b.registerChange(),c.target.id&&"submit-customlinkdiv"==c.target.id?b.addCustomLink(b.addMenuItemToBottom):c.target.id&&-1!=c.target.id.indexOf("submit-")&&a("#"+c.target.id.replace(/submit-/,"")).addSelectedToMenu(b.addMenuItemToBottom),!1;if(h.hasClass("page-numbers"))return a.post(ajaxurl,c.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(b){if(-1!=b.indexOf("replace-id")){var c=a.parseJSON(b),d=document.getElementById(c["replace-id"]),e=document.createElement("div"),f=document.createElement("div");c.markup&&d&&(f.innerHTML=c.markup?c.markup:"",d.parentNode.insertBefore(e,d),e.parentNode.removeChild(d),e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e))}}),!1}})},eventOnClickEditLink:function(b){var c,d,e=/#(.*)$/.exec(b.href);return e&&e[1]&&(c=a("#"+e[1]),d=c.parent(),0!==d.length)?(d.hasClass("menu-item-edit-inactive")?(c.data("menu-item-data")||c.data("menu-item-data",c.getItemData()),c.slideDown("fast"),d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(c.slideUp("fast"),d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1):void 0},eventOnClickCancelLink:function(b){var c=a(b).closest(".menu-item-settings"),d=a(b).closest(".menu-item");return d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),c.setItemData(c.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var c="",d=a("#menu-name"),e=d.val();return e&&e!=d.attr("title")&&e.replace(/\s+/,"")?(a("#nav-menu-theme-locations select").each(function(){c+='<input type="hidden" name="'+this.name+'" value="'+a(this).val()+'" />'}),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("<div>").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).removeClass("is-active")):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).removeClass("is-active"))},removeMenuItem:function(c){var d=c.childMenuItems();c.addClass("deleting").animate({opacity:0,height:0},350,function(){var e=a("#menu-instructions");c.remove(),d.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),e.removeClass("menu-instructions-inactive")),b.refreshAdvancedAccessibility()})},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
index cd23dc7049dc9b8b16fb99348485ae2f486c93d6..87c27d1b61041e8b71aa30f9861999ef1680ad4e 100644 (file)
@@ -38,7 +38,7 @@ jQuery( document ).ready( function( $ ) {
                tb_position();
        });
 
-       $( '.plugin-card, .plugins .column-description' ).on( 'click', 'a.thickbox', function() {
+       $( '.plugin-card, .plugins .plugin-version-author-uri' ).on( 'click', 'a.thickbox', function() {
                tb_click.call(this);
 
                $('#TB_title').css({'background-color':'#23282d','color':'#cfcfcf'});
index beed366fca1bd6490b589a9c363a24686aee7e23..0b43ae596e41fdd32c5d150b43b6af045fbe0564 100644 (file)
@@ -1 +1 @@
-var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height()-(c>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":"#23282d",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+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()})});
\ No newline at end of file
+var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height()-(c>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 .plugin-version-author-uri").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#23282d",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+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()})});
\ No newline at end of file
index 8dfdf3715f41e019f8f61bddc21e5644c9c84a6f..085c5d865a4cd58eabc47449e351c3b5734f72a7 100644 (file)
@@ -1,5 +1,5 @@
 /* global postL10n, ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting */
-/* global theList:true, theExtraList:true, getUserSetting, setUserSetting */
+/* global theList:true, theExtraList:true, getUserSetting, setUserSetting, commentReply */
 
 var commentsBox, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint, makeSlugeditClickable, editPermalink;
 // Back-compat: prevent fatal errors
@@ -170,13 +170,13 @@ $(document).on( 'heartbeat-send.refresh-lock', function( e, data ) {
        }
 
        $(document).on( 'heartbeat-send.wp-refresh-nonces', function( e, data ) {
-               var nonce, post_id;
+               var post_id,
+                       $authCheck = $('#wp-auth-check-wrap');
 
-               if ( check ) {
-                       if ( ( post_id = $('#post_ID').val() ) && ( nonce = $('#_wpnonce').val() ) ) {
+               if ( check || ( $authCheck.length && ! $authCheck.hasClass( 'hidden' ) ) ) {
+                       if ( ( post_id = $('#post_ID').val() ) && $('#_wpnonce').val() ) {
                                data['wp-refresh-post-nonces'] = {
-                                       post_id: post_id,
-                                       post_nonce: nonce
+                                       post_id: post_id
                                };
                        }
                }
@@ -203,8 +203,7 @@ $(document).on( 'heartbeat-send.refresh-lock', function( e, data ) {
 jQuery(document).ready( function($) {
        var stamp, visibility, $submitButtons, updateVisibility, updateText,
                sticky = '',
-               last = 0,
-               co = $('#content'),
+               $textarea = $('#content'),
                $document = $(document),
                $editSlugWrap = $('#edit-slug-box'),
                postId = $('#post_ID').val() || 0,
@@ -212,7 +211,8 @@ jQuery(document).ready( function($) {
                releaseLock = true,
                $postVisibilitySelect = $('#post-visibility-select'),
                $timestampdiv = $('#timestampdiv'),
-               $postStatusSelect = $('#post-status-select');
+               $postStatusSelect = $('#post-status-select'),
+               isMac = window.navigator.platform ? window.navigator.platform.indexOf( 'Mac' ) !== -1 : false;
 
        postboxes.add_postbox_toggles(pagenow);
 
@@ -266,6 +266,14 @@ jQuery(document).ready( function($) {
                                wp.autosave.server.suspend();
                        }
 
+                       if ( typeof commentReply !== 'undefined' ) {
+                               /*
+                                * Close the comment edit/reply form if open to stop the form
+                                * action from interfering with the post's form action.
+                                */
+                               commentReply.close();
+                       }
+
                        releaseLock = false;
                        $(window).off( 'beforeunload.edit-post' );
 
@@ -313,11 +321,10 @@ jQuery(document).ready( function($) {
 
        // This code is meant to allow tabbing from Title to Post content.
        $('#title').on( 'keydown.editor-focus', function( event ) {
-               var editor, $textarea;
+               var editor;
 
                if ( event.keyCode === 9 && ! event.ctrlKey && ! event.altKey && ! event.shiftKey ) {
                        editor = typeof tinymce != 'undefined' && tinymce.get('content');
-                       $textarea = $('#content');
 
                        if ( editor && ! editor.isHidden() ) {
                                editor.focus();
@@ -551,12 +558,13 @@ jQuery(document).ready( function($) {
                                $('#timestamp').html(stamp);
                        } else {
                                $('#timestamp').html(
-                                       publishOn + ' <b>' +
-                                       postL10n.dateFormat.replace( '%1$s', $('option[value="' + $('#mm').val() + '"]', '#mm').text() )
-                                               .replace( '%2$s', jj )
+                                       '\n' + publishOn + ' <b>' +
+                                       postL10n.dateFormat
+                                               .replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) )
+                                               .replace( '%2$s', parseInt( jj, 10 ) )
                                                .replace( '%3$s', aa )
-                                               .replace( '%4$s', hh )
-                                               .replace( '%5$s', mn ) +
+                                               .replace( '%4$s', ( '00' + hh ).slice( -2 ) )
+                                               .replace( '%5$s', ( '00' + mn ).slice( -2 ) ) +
                                                '</b> '
                                );
                        }
@@ -599,7 +607,9 @@ jQuery(document).ready( function($) {
                $( '#visibility .edit-visibility').click( function () {
                        if ( $postVisibilitySelect.is(':hidden') ) {
                                updateVisibility();
-                               $postVisibilitySelect.slideDown('fast').find('input[type="radio"]').first().focus();
+                               $postVisibilitySelect.slideDown( 'fast', function() {
+                                       $postVisibilitySelect.find( 'input[type="radio"]' ).first().focus();
+                               } );
                                $(this).hide();
                        }
                        return false;
@@ -618,7 +628,7 @@ jQuery(document).ready( function($) {
 
                $postVisibilitySelect.find('.save-post-visibility').click( function( event ) { // crazyhorse - multiple ok cancels
                        $postVisibilitySelect.slideUp('fast');
-                       $('#visibility .edit-visibility').show();
+                       $('#visibility .edit-visibility').show().focus();
                        updateText();
 
                        if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) {
@@ -641,8 +651,9 @@ jQuery(document).ready( function($) {
 
                $timestampdiv.siblings('a.edit-timestamp').click( function( event ) {
                        if ( $timestampdiv.is( ':hidden' ) ) {
-                               $timestampdiv.slideDown('fast');
-                               $('#mm').focus();
+                               $timestampdiv.slideDown( 'fast', function() {
+                                       $( 'input, select', $timestampdiv.find( '.timestamp-wrap' ) ).first().focus();
+                               } );
                                $(this).hide();
                        }
                        event.preventDefault();
@@ -662,7 +673,7 @@ jQuery(document).ready( function($) {
                $timestampdiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels
                        if ( updateText() ) {
                                $timestampdiv.slideUp('fast');
-                               $timestampdiv.siblings('a.edit-timestamp').show();
+                               $timestampdiv.siblings('a.edit-timestamp').show().focus();
                        }
                        event.preventDefault();
                });
@@ -682,20 +693,22 @@ jQuery(document).ready( function($) {
 
                $postStatusSelect.siblings('a.edit-post-status').click( function( event ) {
                        if ( $postStatusSelect.is( ':hidden' ) ) {
-                               $postStatusSelect.slideDown('fast').find('select').focus();
+                               $postStatusSelect.slideDown( 'fast', function() {
+                                       $postStatusSelect.find('select').focus();
+                               } );
                                $(this).hide();
                        }
                        event.preventDefault();
                });
 
                $postStatusSelect.find('.save-post-status').click( function( event ) {
-                       $postStatusSelect.slideUp('fast').siblings('a.edit-post-status').show();
+                       $postStatusSelect.slideUp( 'fast' ).siblings( 'a.edit-post-status' ).show().focus();
                        updateText();
                        event.preventDefault();
                });
 
                $postStatusSelect.find('.cancel-post-status').click( function( event ) {
-                       $('#post-status-select').slideUp('fast').siblings( 'a.edit-post-status' ).show().focus();
+                       $postStatusSelect.slideUp( 'fast' ).siblings( 'a.edit-post-status' ).show().focus();
                        $('#post_status').val( $('#hidden_post_status').val() );
                        updateText();
                        event.preventDefault();
@@ -788,24 +801,6 @@ jQuery(document).ready( function($) {
                });
        }
 
-       // word count
-       if ( typeof(wpWordCount) != 'undefined' ) {
-               $document.triggerHandler('wpcountwords', [ co.val() ]);
-
-               co.keyup( function(e) {
-                       var k = e.keyCode || e.charCode;
-
-                       if ( k == last )
-                               return true;
-
-                       if ( 13 == k || 8 == last || 46 == last )
-                               $document.triggerHandler('wpcountwords', [ co.val() ]);
-
-                       last = k;
-                       return true;
-               });
-       }
-
        wptitlehint = function(id) {
                id = id || 'title';
 
@@ -835,7 +830,6 @@ jQuery(document).ready( function($) {
        // Resize the visual and text editors
        ( function() {
                var editor, offset, mce,
-                       $textarea = $('textarea#content'),
                        $handle = $('#post-status-info'),
                        $postdivrich = $('#postdivrich');
 
@@ -923,4 +917,57 @@ jQuery(document).ready( function($) {
                        }
                });
        }
+
+       // Save on pressing Ctrl/Command + S in the Text editor
+       $textarea.on( 'keydown.wp-autosave', function( event ) {
+               if ( event.which === 83 ) {
+                       if ( event.shiftKey || event.altKey || ( isMac && ( ! event.metaKey || event.ctrlKey ) ) || ( ! isMac && ! event.ctrlKey ) ) {
+                               return;
+                       }
+
+                       wp.autosave && wp.autosave.server.triggerSave();
+                       event.preventDefault();
+               }
+       });
 });
+
+( function( $, counter ) {
+       $( function() {
+               var $content = $( '#content' ),
+                       $count = $( '#wp-word-count' ).find( '.word-count' ),
+                       prevCount = 0,
+                       contentEditor;
+
+               function update() {
+                       var text, count;
+
+                       if ( ! contentEditor || contentEditor.isHidden() ) {
+                               text = $content.val();
+                       } else {
+                               text = contentEditor.getContent( { format: 'raw' } );
+                       }
+
+                       count = counter.count( text );
+
+                       if ( count !== prevCount ) {
+                               $count.text( count );
+                       }
+
+                       prevCount = count;
+               }
+
+               $( document ).on( 'tinymce-editor-init', function( event, editor ) {
+                       if ( editor.id !== 'content' ) {
+                               return;
+                       }
+
+                       contentEditor = editor;
+
+                       editor.on( 'nodechange keyup', _.debounce( update, 1000 ) );
+               } );
+
+               $content.on( 'input keyup', _.debounce( update, 1000 ) );
+
+               update();
+       } );
+} )( jQuery, new wp.utils.WordCounter() );
index 8c864240ab33d83aead2a63a4a6cb031bff414a5..aab467cd880d88cb0cfdee962479ee796c80de8f 100644 (file)
@@ -1 +1 @@
-var commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(a){var b=!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").addClass("is-active"),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").removeClass("is-active"),"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('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")}),!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('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",d.lock_error.avatar_src.replace(/&amp;/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");for(k.find("img").replaceWith(function(){return this.alt}),k=k.html(),a("#view-post-btn").hide(),i.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>"),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;b<k.length;++b)"%"==k.charAt(b)&&d++;c=d>k.length/4?"":k,e.html('<input type="text" id="new-post-slug" value="'+c+'" />').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(":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").addClass("is-active"):n.find("#minor-publishing .spinner").addClass("is-active"))}))}),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?window.tagBox&&window.tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(window.tagBox&&window.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+" <b>"+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)+"</b> "),"private"==p.find("input:radio:checked").val()?(a("#publish").val(postL10n.update),0===h.length?g.append('<option value="publish">'+postL10n.privatelyPublished+"</option>"):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").removeClass("is-active"))}),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 commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(a){var b=!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").addClass("is-active"),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").removeClass("is-active"),"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('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")}),!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('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",d.lock_error.avatar_src.replace(/&amp;/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=a("#wp-auth-check-wrap");(c||f.length&&!f.hasClass("hidden"))&&(e=a("#post_ID").val())&&a("#_wpnonce").val()&&(d["wp-refresh-post-nonces"]={post_id: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");for(k.find("img").replaceWith(function(){return this.alt}),k=k.html(),a("#view-post-btn").hide(),i.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>"),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:l,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;b<k.length;++b)"%"==k.charAt(b)&&d++;c=d>k.length/4?"":k,e.html('<input type="text" id="new-post-slug" value="'+c+'" />').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=a("#content"),j=a(document),k=a("#edit-slug-box"),l=a("#post_ID").val()||0,m=a("#submitpost"),n=!0,o=a("#post-visibility-select"),p=a("#timestampdiv"),q=a("#post-status-select"),r=window.navigator.platform?-1!==window.navigator.platform.indexOf("Mac"):!1;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=m.find(":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(),"undefined"!=typeof commentReply&&commentReply.close(),n=!1,a(window).off("beforeunload.edit-post"),e.addClass("disabled"),"publish"===c.attr("id")?m.find("#major-publishing-actions .spinner").addClass("is-active"):m.find("#minor-publishing .spinner").addClass("is-active"))}))}),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(a){var b;if(9===a.keyCode&&!a.ctrlKey&&!a.altKey&&!a.shiftKey){if(b="undefined"!=typeof tinymce&&tinymce.get("content"),b&&!b.isHidden())b.focus();else{if(!i.length)return;i.focus()}a.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))}),j.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){n&&(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?window.tagBox&&window.tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(window.tagBox&&window.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"!=o.find("input:radio:checked").val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=o.find("input:radio:checked").val()?a("#password-span").hide():a("#password-span").show()},g=function(){if(!p.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?(p.find(".timestamp-wrap").addClass("form-invalid"),!1):(p.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)),d.toUTCString()==b.toUTCString()?a("#timestamp").html(c):a("#timestamp").html("\n"+f+" <b>"+postL10n.dateFormat.replace("%1$s",a('option[value="'+j+'"]',"#mm").attr("data-text")).replace("%2$s",parseInt(k,10)).replace("%3$s",i).replace("%4$s",("00"+l).slice(-2)).replace("%5$s",("00"+m).slice(-2))+"</b> "),"private"==o.find("input:radio:checked").val()?(a("#publish").val(postL10n.update),0===h.length?g.append('<option value="publish">'+postL10n.privatelyPublished+"</option>"):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(),"pending"==a("option:selected",g).val()?a("#save-post").show().val(postL10n.savePending):a("#save-post").show().val(postL10n.saveDraft)),!0)},a("#visibility .edit-visibility").click(function(){return o.is(":hidden")&&(f(),o.slideDown("fast",function(){o.find('input[type="radio"]').first().focus()}),a(this).hide()),!1}),o.find(".cancel-post-visibility").click(function(b){o.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()}),o.find(".save-post-visibility").click(function(b){o.slideUp("fast"),a("#visibility .edit-visibility").show().focus(),g(),"public"!=o.find("input:radio:checked").val()&&a("#sticky").prop("checked",!1),h=a("#sticky").prop("checked")?"Sticky":"",a("#post-visibility-display").html(postL10n[o.find("input:radio:checked").val()+h]),b.preventDefault()}),o.find("input:radio").change(function(){f()}),p.siblings("a.edit-timestamp").click(function(b){p.is(":hidden")&&(p.slideDown("fast",function(){a("input, select",p.find(".timestamp-wrap")).first().focus()}),a(this).hide()),b.preventDefault()}),p.find(".cancel-timestamp").click(function(b){p.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()}),p.find(".save-timestamp").click(function(a){g()&&(p.slideUp("fast"),p.siblings("a.edit-timestamp").show().focus()),a.preventDefault()}),a("#post").on("submit",function(b){g()||(b.preventDefault(),p.show(),wp.autosave&&wp.autosave.enableButtons(),a("#publishing-action .spinner").removeClass("is-active"))}),q.siblings("a.edit-post-status").click(function(b){q.is(":hidden")&&(q.slideDown("fast",function(){q.find("select").focus()}),a(this).hide()),b.preventDefault()}),q.find(".save-post-status").click(function(a){q.slideUp("fast").siblings("a.edit-post-status").show().focus(),g(),a.preventDefault()}),q.find(".cancel-post-status").click(function(b){q.slideUp("fast").siblings("a.edit-post-status").show().focus(),a("#post_status").val(a("#hidden_post_status").val()),g(),b.preventDefault()})),k.length&&k.on("click",function(c){var d=a(c.target);(d.is("#editable-post-name")||d.hasClass("edit-slug"))&&b()}),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){h.hasClass("wp-editor-expand")||(f?d.theme.resizeTo(null,e+a.pageY):i.height(Math.max(50,e+a.pageY)),a.preventDefault())}function c(){var b,c;h.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):(i.focus(),b=parseInt(i.css("height"),10)),j.off(".wp-editor-resize"),b&&b>50&&5e3>b&&setUserSetting("ed_size",b))}var d,e,f,g=a("#post-status-info"),h=a("#postdivrich");return!i.length||"ontouchstart"in window?void a("#content-resize-handle").hide():void g.on("mousedown.wp-editor-resize",function(g){"undefined"!=typeof tinymce&&(d=tinymce.get("content")),d&&!d.isHidden()?(f=!0,e=a("#content_ifr").height()-g.pageY):(f=!1,e=i.height()-g.pageY,i.blur()),j.on("mousemove.wp-editor-resize",b).on("mouseup.wp-editor-resize mouseleave.wp-editor-resize",c),g.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"))}),i.on("keydown.wp-autosave",function(a){if(83===a.which){if(a.shiftKey||a.altKey||r&&(!a.metaKey||a.ctrlKey)||!r&&!a.ctrlKey)return;wp.autosave&&wp.autosave.server.triggerSave(),a.preventDefault()}})}),function(a,b){a(function(){function c(){var a,c;a=!d||d.isHidden()?e.val():d.getContent({format:"raw"}),c=b.count(a),c!==g&&f.text(c),g=c}var d,e=a("#content"),f=a("#wp-word-count").find(".word-count"),g=0;a(document).on("tinymce-editor-init",function(a,b){"content"===b.id&&(d=b,b.on("nodechange keyup",_.debounce(c,1e3)))}),e.on("input keyup",_.debounce(c,1e3)),c()})}(jQuery,new wp.utils.WordCounter);
\ No newline at end of file
index b8f28c98a22c890806112486dccbefaa94a87e8e..beaca67224cf1eb05d2904a113b31918a22fa498 100644 (file)
@@ -5,8 +5,9 @@
 ( function( $, window ) {
        var PressThis = function() {
                var editor, $mediaList, $mediaThumbWrap,
+                       $window               = $( window ),
+                       $document             = $( document ),
                        saveAlert             = false,
-                       editLinkVisible       = false,
                        textarea              = document.createElement( 'textarea' ),
                        sidebarIsOpen         = false,
                        settings              = window.wpPressThisConfig || {},
                        isOffScreen           = 'is-off-screen',
                        isHidden              = 'is-hidden',
                        offscreenHidden       = isOffScreen + ' ' + isHidden,
+                       iOS                   = /iPad|iPod|iPhone/.test( window.navigator.userAgent ),
+                       $textEditor           = $( '#pressthis' ),
+                       textEditor            = $textEditor[0],
+                       textEditorMinHeight   = 600,
+                       textLength            = 0,
                        transitionEndEvent    = ( function() {
                                var style = document.documentElement.style;
 
                        $( '.post-actions button' ).removeAttr( 'disabled' );
                }
 
+               function textEditorResize( reset ) {
+                       var pageYOffset, height;
+
+                       if ( editor && ! editor.isHidden() ) {
+                               return;
+                       }
+
+                       reset = ( reset === 'reset' ) || ( textLength && textLength > textEditor.value.length );
+                       height = textEditor.style.height;
+
+                       if ( reset ) {
+                               pageYOffset = window.pageYOffset;
+
+                               textEditor.style.height = 'auto';
+                               textEditor.style.height = Math.max( textEditor.scrollHeight, textEditorMinHeight ) + 'px';
+                               window.scrollTo( window.pageXOffset, pageYOffset );
+                       } else if ( parseInt( textEditor.style.height, 10 ) < textEditor.scrollHeight ) {
+                               textEditor.style.height = textEditor.scrollHeight + 'px';
+                       }
+
+                       textLength = textEditor.value.length;
+               }
+
+               function mceGetCursorOffset() {
+                       if ( ! editor ) {
+                               return false;
+                       }
+
+                       var node = editor.selection.getNode(),
+                               range, view, offset;
+
+                       if ( editor.wp && editor.wp.getView && ( view = editor.wp.getView( node ) ) ) {
+                               offset = view.getBoundingClientRect();
+                       } else {
+                               range = editor.selection.getRng();
+
+                               try {
+                                       offset = range.getClientRects()[0];
+                               } catch( er ) {}
+
+                               if ( ! offset ) {
+                                       offset = node.getBoundingClientRect();
+                               }
+                       }
+
+                       return offset.height ? offset : false;
+               }
+
+               // Make sure the caret is always visible.
+               function mceKeyup( event ) {
+                       var VK = window.tinymce.util.VK,
+                               key = event.keyCode;
+
+                       // Bail on special keys.
+                       if ( key <= 47 && ! ( key === VK.SPACEBAR || key === VK.ENTER || key === VK.DELETE || key === VK.BACKSPACE || key === VK.UP || key === VK.LEFT || key === VK.DOWN || key === VK.UP ) ) {
+                               return;
+                       // OS keys, function keys, num lock, scroll lock
+                       } else if ( ( key >= 91 && key <= 93 ) || ( key >= 112 && key <= 123 ) || key === 144 || key === 145 ) {
+                               return;
+                       }
+
+                       mceScroll( key );
+               }
+
+               function mceScroll( key ) {
+                       var cursorTop, cursorBottom, editorBottom,
+                               offset = mceGetCursorOffset(),
+                               bufferTop = 50,
+                               bufferBottom = 65,
+                               VK = window.tinymce.util.VK;
+
+                       if ( ! offset ) {
+                               return;
+                       }
+
+                       cursorTop = offset.top + editor.iframeElement.getBoundingClientRect().top;
+                       cursorBottom = cursorTop + offset.height;
+                       cursorTop = cursorTop - bufferTop;
+                       cursorBottom = cursorBottom + bufferBottom;
+                       editorBottom = $window.height();
+
+                       // Don't scroll if the node is taller than the visible part of the editor
+                       if ( editorBottom < offset.height ) {
+                               return;
+                       }
+
+                       if ( cursorTop < 0 && ( key === VK.UP || key === VK.LEFT || key === VK.BACKSPACE ) ) {
+                               window.scrollTo( window.pageXOffset, cursorTop + window.pageYOffset );
+                       } else if ( cursorBottom > editorBottom ) {
+                               window.scrollTo( window.pageXOffset, cursorBottom + window.pageYOffset - editorBottom );
+                       }
+               }
+
                /**
                 * Replace emoji images with chars and sanitize the text content.
                 */
                 * @param action string publish|draft
                 */
                function submitPost( action ) {
-                       var data,
-                               keepFocus = $( document.activeElement ).hasClass( 'draft-button' );
+                       var data;
 
                        saveAlert = false;
                        showSpinner();
                        }).always( function() {
                                hideSpinner();
                                clearNotices();
+                               $( '.publish-button' ).removeClass( 'is-saving' );
                        }).done( function( response ) {
-                               var $link, $button;
-
                                if ( ! response.success ) {
                                        renderError( response.data.errorMessage );
                                } else if ( response.data.redirect ) {
-                                       if ( window.opener && settings.redirInParent ) {
+                                       if ( window.opener && ( settings.redirInParent || response.data.force ) ) {
                                                try {
                                                        window.opener.location.href = response.data.redirect;
-                                               } catch( er ) {}
 
-                                               window.self.close();
+                                                       window.setTimeout( function() {
+                                                               window.self.close();
+                                                       }, 200 );
+                                               } catch( er ) {
+                                                       window.location.href = response.data.redirect;
+                                               }
                                        } else {
                                                window.location.href = response.data.redirect;
                                        }
-                               } else if ( response.data.postSaved ) {
-                                       $link = $( '.edit-post-link' );
-                                       $button = $( '.draft-button' );
-                                       editLinkVisible = true;
-
-                                       $button.fadeOut( 200, function() {
-                                               $button.removeClass( 'is-saving' );
-                                               $link.fadeIn( 200, function() {
-                                                       var active = document.activeElement;
-                                                       // Different browsers move the focus to different places when the button is disabled.
-                                                       if ( keepFocus && ( active === $button[0] || $( active ).hasClass( 'post-actions' ) || active.nodeName === 'BODY' ) ) {
-                                                               $link.focus();
-                                                       }
-                                               });
-                                       });
                                }
                        }).fail( function() {
                                renderError( __( 'serverError' ) );
                        });
                }
 
-               function resetDraftButton() {
-                       if ( editLinkVisible ) {
-                               editLinkVisible = false;
-
-                               $( '.edit-post-link' ).fadeOut( 200, function() {
-                                       $( '.draft-button' ).removeClass( 'is-saving' ).fadeIn( 200 );
-                               });
-                       }
-               }
-
                /**
                 * Inserts the media a user has selected from the presented list inside the editor, as an image or embed, based on type
                 *
                function insertSelectedMedia( $element ) {
                        var src, link, newContent = '';
 
-                       if ( ! editor ) {
-                               return;
-                       }
-
                        src = checkUrl( $element.attr( 'data-wp-src' ) || '' );
                        link = checkUrl( data.u );
 
                                newContent = '[embed]' + src + '[/embed]';
                        }
 
-                       if ( ! hasSetFocus ) {
-                               editor.setContent( '<p>' + newContent + '</p>' + editor.getContent() );
-                       } else {
-                               editor.execCommand( 'mceInsertContent', false, newContent );
+                       if ( editor && ! editor.isHidden() ) {
+                               if ( ! hasSetFocus ) {
+                                       editor.setContent( '<p>' + newContent + '</p>' + editor.getContent() );
+                               } else {
+                                       editor.execCommand( 'mceInsertContent', false, newContent );
+                               }
+                       } else if ( window.QTags ) {
+                               window.QTags.insertContent( newContent );
                        }
                }
 
 
                        $titleField.on( 'focus', function() {
                                $placeholder.addClass( 'is-hidden' );
-                               resetDraftButton();
                        }).on( 'blur', function() {
                                if ( ! $titleField.text() && ! $titleField.html() ) {
                                        $placeholder.removeClass( 'is-hidden' );
                        });
                }
 
+               function splitButtonClose() {
+                       $( '.split-button' ).removeClass( 'is-open' );
+                       $( '.split-button-toggle' ).attr( 'aria-expanded', 'false' );
+               }
+
                /* ***************************************************************
                 * PROCESSING FUNCTIONS
                 *************************************************************** */
                        if ( window.tagBox ) {
                                window.tagBox.init();
                        }
+
+                       // iOS doesn't fire click events on "standard" elements without this...
+                       if ( iOS ) {
+                               $( document.body ).css( 'cursor', 'pointer' );
+                       }
                }
 
                /**
                 * Set app events and other state monitoring related code.
                 */
                function monitor() {
-                       $( document ).on( 'tinymce-editor-init', function( event, ed ) {
+                       var $splitButton = $( '.split-button' );
+
+                       $document.on( 'tinymce-editor-init', function( event, ed ) {
                                editor = ed;
 
                                editor.on( 'nodechange', function() {
                                        hasSetFocus = true;
-                                       resetDraftButton();
-                               } );
+                               });
+
+                               editor.on( 'focus', function() {
+                                       splitButtonClose();
+                               });
+
+                               editor.on( 'show', function() {
+                                       setTimeout( function() {
+                                               editor.execCommand( 'wpAutoResize' );
+                                       }, 300 );
+                               });
+
+                               editor.on( 'hide', function() {
+                                       setTimeout( function() {
+                                               textEditorResize( 'reset' );
+                                       }, 100 );
+                               });
+
+                               editor.on( 'keyup', mceKeyup );
+                               editor.on( 'undo redo', mceScroll );
+
                        }).on( 'click.press-this keypress.press-this', '.suggested-media-thumbnail', function( event ) {
                                if ( event.type === 'click' || event.keyCode === 13 ) {
                                        insertSelectedMedia( $( this ) );
                                }
+                       }).on( 'click.press-this', function( event ) {
+                               if ( ! $( event.target ).closest( 'button' ).hasClass( 'split-button-toggle' ) ) {
+                                       splitButtonClose();
+                               }
                        });
 
                        // Publish, Draft and Preview buttons
 
                                if ( $button.length ) {
                                        if ( $button.hasClass( 'draft-button' ) ) {
-                                               $button.addClass( 'is-saving' );
+                                               $( '.publish-button' ).addClass( 'is-saving' );
                                                submitPost( 'draft' );
                                        } else if ( $button.hasClass( 'publish-button' ) ) {
+                                               $button.addClass( 'is-saving' );
                                                submitPost( 'publish' );
                                        } else if ( $button.hasClass( 'preview-button' ) ) {
                                                prepareFormData();
                                                $( '#wp-preview' ).val( 'dopreview' );
                                                $( '#pressthis-form' ).attr( 'target', '_blank' ).submit().attr( 'target', '' );
                                                $( '#wp-preview' ).val( '' );
+                                       } else if ( $button.hasClass( 'standard-editor-button' ) ) {
+                                               $( '.publish-button' ).addClass( 'is-saving' );
+                                               $( '#pt-force-redirect' ).val( 'true' );
+                                               submitPost( 'draft' );
+                                       } else if ( $button.hasClass( 'split-button-toggle' ) ) {
+                                               if ( $splitButton.hasClass( 'is-open' ) ) {
+                                                       $splitButton.removeClass( 'is-open' );
+                                                       $button.attr( 'aria-expanded', 'false' );
+                                               } else {
+                                                       $splitButton.addClass( 'is-open' );
+                                                       $button.attr( 'aria-expanded', 'true' );
+                                               }
                                        }
-                               } else if ( $target.hasClass( 'edit-post-link' ) && window.opener ) {
-                                       window.opener.focus();
-                                       window.self.close();
                                }
                        });
 
                                }
                        } );
 
-                       $( window ).on( 'beforeunload.press-this', function() {
+                       $window.on( 'beforeunload.press-this', function() {
                                if ( saveAlert || ( editor && editor.isDirty() ) ) {
                                        return __( 'saveAlert' );
                                }
-                       } );
+                       } ).on( 'resize.press-this', function() {
+                               if ( ! editor || editor.isHidden() ) {
+                                       textEditorResize( 'reset' );
+                               }
+                       });
 
                        $( 'button.add-cat-toggle' ).on( 'click.press-this', function() {
                                var $this = $( this );
                                }
                        } );
 
+                       $textEditor.on( 'focus.press-this input.press-this propertychange.press-this', textEditorResize );
+
                        return true;
                }
 
                }
 
                // Let's go!
-               $( document ).ready( function() {
+               $document.ready( function() {
                        render();
                        monitor();
                        refreshCatsCache();
index a9951bb26edd0a1a2cb6339fe2a20b7b21b01c64..f4c7556cf9270d9cab526e5b5278835c2d375d06 100644 (file)
@@ -1 +1 @@
-!function(a,b){var c=function(){function c(a){return a&&b.pressThisL10n?b.pressThisL10n[a]||a:a||""}function d(a){return a=a||"",a.replace(/<!--[\s\S]*?(-->|$)/g,"").replace(/<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/gi,"").replace(/<\/?[a-z][\s\S]*?(>|$)/gi,"")}function e(a){var b=d(a);try{J.innerHTML=b,b=d(J.value)}catch(c){}return b}function f(b){return b=a.trim(b||""),/^(?:https?:)?\/\//.test(b)?(b=d(b),b.replace(/["\\]+/g,"")):""}function g(){a(".spinner").addClass("is-active"),a(".post-actions button").attr("disabled","disabled")}function h(){a(".spinner").removeClass("is-active"),a(".post-actions button").removeAttr("disabled")}function i(){var b=a("#title-container");return b.find("img.emoji").each(function(){var b=a(this);b.replaceWith(a("<span>").text(b.attr("alt")))}),e(b.text())}function j(){var c=a("#pressthis-form"),d=a('<input type="hidden" name="post_category[]" value="">');E&&E.save(),a("#post_title").val(i()),b.tagBox&&a("div.tagsdiv").each(function(){b.tagBox.flushTags(this,!1,1)}),a(".categories-select .category").each(function(b,e){var f=a(e);f.hasClass("selected")&&c.append(d.clone().val(f.attr("data-term-id")||""))})}function k(d){var e,f=a(document.activeElement).hasClass("draft-button");H=!1,g(),"publish"===d&&a("#post_status").val("publish"),j(),e=a("#pressthis-form").serialize(),a.ajax({type:"post",url:b.ajaxurl,data:e}).always(function(){h(),r()}).done(function(c){var d,e;if(c.success)if(c.data.redirect)if(b.opener&&L.redirInParent){try{b.opener.location.href=c.data.redirect}catch(g){}b.self.close()}else b.location.href=c.data.redirect;else c.data.postSaved&&(d=a(".edit-post-link"),e=a(".draft-button"),I=!0,e.fadeOut(200,function(){e.removeClass("is-saving"),d.fadeIn(200,function(){var b=document.activeElement;f&&(b===e[0]||a(b).hasClass("post-actions")||"BODY"===b.nodeName)&&d.focus()})}));else q(c.data.errorMessage)}).fail(function(){q(c("serverError"))})}function l(){I&&(I=!1,a(".edit-post-link").fadeOut(200,function(){a(".draft-button").removeClass("is-saving").fadeIn(200)}))}function m(a){var b,c,d="";E&&(b=f(a.attr("data-wp-src")||""),c=f(M.u),a.hasClass("is-image")?(c||(c=b),d='<a href="'+c+'"><img class="alignnone size-full" src="'+b+'" /></a>'):d="[embed]"+b+"[/embed]",O?E.execCommand("mceInsertContent",!1,d):E.setContent("<p>"+d+"</p>"+E.getContent()))}function n(){var c,d=a("#new-category").val();d&&(c={action:"press-this-add-category",post_id:a("#post_ID").val()||0,name:d,new_cat_nonce:a("#_ajax_nonce-add-category").val()||"",parent:a("#new-category-parent").val()||0},a.post(b.ajaxurl,c,function(b){if(b.success){var c,d,e=a("ul.categories-select");a.each(b.data,function(b,f){var g=a("<li>").append(a('<div class="category selected" tabindex="0" role="checkbox" aria-checked="true">').attr("data-term-id",f.term_id).text(f.name));f.parent?(d&&d.length||(c=e.find('div[data-term-id="'+f.parent+'"]').parent(),d=c.find("ul.children:first"),d.length||(d=a('<ul class="children">').appendTo(c))),d.prepend(g)):e.prepend(g),g.focus()}),D()}else q(b.data.errorMessage)}))}function o(){M.hasData&&a("#scanbar").hide()}function p(b,c){var d=a(".editor-wrapper div.alerts"),e=c?"is-error":"is-notice";d.append(a('<p class="alert '+e+'">').text(b))}function q(a){p(a,!0)}function r(){a("div.alerts").empty()}function s(){M.errors&&a.each(M.errors,function(a,b){q(b)})}function t(a,b,d){var e=G.clone().addClass("is-image");e.attr("data-wp-src",a).css("background-image","url("+b+")").find("span").text(c("suggestedImgAlt").replace("%d",d+1)),F.append(e)}function u(){var b=0;F=a("ul.media-list"),G=a('<li class="suggested-media-thumbnail" tabindex="0"><span class="screen-reader-text"></span></li>'),M._embeds&&a.each(M._embeds,function(a,d){var e="",g="",h=G.clone().addClass("is-embed");d=f(d),d.indexOf("youtube.com/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/.+v=([^&]+).*/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("youtu.be/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/\/([^\/])$/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("dailymotion.com")>-1?(e=d.replace("/video/","/thumbnail/video/"),g+=" is-video"):g+=d.indexOf("soundcloud.com")>-1?" is-audio":d.indexOf("twitter.com")>-1?" is-tweet":" is-video",h.attr("data-wp-src",d).find("span").text(c("suggestedEmbedAlt").replace("%d",a+1)),e&&h.css("background-image","url("+e+")"),F.append(h),b++}),M._images&&a.each(M._images,function(a,c){var d,e=new Image;c=f(c),d=c.replace(/^(http[^\?]+)(\?.*)?$/,"$1"),d=c.indexOf("files.wordpress.com/")>-1?d.replace(/\?.*$/,"")+"?w="+N:c.indexOf("gravatar.com/")>-1?d.replace(/\?.*$/,"")+"?s="+N:c,e.onload=function(){e.width&&e.width<256||e.height&&e.height<128||t(c,d,a)},e.src=c,b++}),b&&a(".media-list-container").addClass("has-media")}function v(){var b=a(".post-options"),c=a(".post-option"),d=a(".setting-modal"),e=a(".modal-close");c.on("click",function(){var c=a(this).index(),e=d.eq(c);b.addClass(Q).one(T,function(){a(this).addClass(R)}),e.removeClass(S).one(T,function(){a(this).find(".modal-close").focus()})}),e.on("click",function(){var d=a(this).parent(),e=d.index();b.removeClass(S),d.addClass(Q),T?d.one(T,function(){a(this).addClass(R),c.eq(e-1).focus()}):setTimeout(function(){d.addClass(R),c.eq(e-1).focus()},350)})}function w(){K=!0,a(".options").removeClass("closed").addClass("open"),a(".press-this-actions, #scanbar").addClass(R),a(".options-panel-back").removeClass(R),a(".options-panel").removeClass(S).one(T,function(){a(".post-option:first").focus()})}function x(){K=!1,a(".options").removeClass("open").addClass("closed"),a(".options-panel-back").addClass(R),a(".press-this-actions, #scanbar").removeClass(R),a(".options-panel").addClass(Q).one(T,function(){a(this).addClass(R),a(".post-options").removeClass(S),a(".setting-modal").addClass(S)})}function y(){var c=a("#title-container"),d=a(".post-title-placeholder");c.on("focus",function(){d.addClass("is-hidden"),l()}).on("blur",function(){c.text()||c.html()||d.removeClass("is-hidden")}).on("keyup",function(){H=!0}).on("paste",function(d){var e,f,g=d.originalEvent.clipboardData||b.clipboardData;if(g){try{e=g.getData("Text")||g.getData("text/plain"),e&&(e=a.trim(e.replace(/\s+/g," ")),b.getSelection?(f=b.getSelection().getRangeAt(0),f&&(f.collapsed||f.deleteContents(),f.insertNode(document.createTextNode(e)))):document.selection&&(f=document.selection.createRange(),f&&(f.text=e)))}catch(h){}d.preventDefault()}H=!0,setTimeout(function(){c.text(i())},50)}),(c.text()||c.html())&&d.addClass("is-hidden")}function z(a){a.hasClass("selected")?a.removeClass("selected").attr("aria-checked","false"):a.addClass("selected").attr("aria-checked","true")}function A(){a(".categories-select").on("click.press-this keydown.press-this",function(b){var c=a(b.target);if(c.is("div.category")){if("keydown"===b.type&&32!==b.keyCode)return;z(c),b.preventDefault()}})}function B(){o(),u(),s(),b.tagBox&&b.tagBox.init()}function C(){return a(document).on("tinymce-editor-init",function(a,b){E=b,E.on("nodechange",function(){O=!0,l()})}).on("click.press-this keypress.press-this",".suggested-media-thumbnail",function(b){("click"===b.type||13===b.keyCode)&&m(a(this))}),a(".post-actions").on("click.press-this",function(c){var d=a(c.target),e=d.closest("button");e.length?e.hasClass("draft-button")?(e.addClass("is-saving"),k("draft")):e.hasClass("publish-button")?k("publish"):e.hasClass("preview-button")&&(j(),b.opener&&b.opener.focus(),a("#wp-preview").val("dopreview"),a("#pressthis-form").attr("target","_blank").submit().attr("target",""),a("#wp-preview").val("")):d.hasClass("edit-post-link")&&b.opener&&(b.opener.focus(),b.self.close())}),v(),y(),A(),a(".options").on("click.press-this",function(){a(this).hasClass("open")?x():w()}),a(".options-panel, .options-panel-back").on("focusout.press-this",function(){setTimeout(function(){var b=document.activeElement,c=a(b);!K||!b||c.hasClass("options-panel-back")||"BODY"!==b.nodeName&&(c.closest(".options-panel").length||c.closest(".options").length)||x()},50)}),a("#post-formats-select input").on("change",function(){var b=a(this);b.is(":checked")&&a("#post-option-post-format").text(a('label[for="'+b.attr("id")+'"]').text()||"")}),a(b).on("beforeunload.press-this",function(){return H||E&&E.isDirty()?c("saveAlert"):void 0}),a("button.add-cat-toggle").on("click.press-this",function(){var b=a(this);b.toggleClass("is-toggled"),b.attr("aria-expanded","false"===b.attr("aria-expanded")?"true":"false"),a(".setting-modal .add-category, .categories-search-wrapper").toggleClass("is-hidden")}),a("button.add-cat-submit").on("click.press-this",n),a(".categories-search").on("keyup.press-this",function(){var b=a(this).val().toLowerCase()||"";/[\x20-\xFF]+/.test(b)&&b.length<2||(a.each(P,function(a,b){b.node.removeClass("is-hidden searched-parent")}),b&&a.each(P,function(a,c){-1===c.text.indexOf(b)?c.node.addClass("is-hidden"):c.parents.addClass("searched-parent")}))}),!0}function D(){a(".categories-select").find("li").each(function(){var b=a(this);P.push({node:b,parents:b.parents("li"),text:b.children(".category").text().toLowerCase()})})}var E,F,G,H=!1,I=!1,J=document.createElement("textarea"),K=!1,L=b.wpPressThisConfig||{},M=b.wpPressThisData||{},N=128,O=!1,P=[],Q="is-off-screen",R="is-hidden",S=Q+" "+R,T=function(){var a=document.documentElement.style;return"undefined"!=typeof a.transition?"transitionend":"undefined"!=typeof a.WebkitTransition?"webkitTransitionEnd":!1}();return a(document).ready(function(){B(),C(),D()}),{renderNotice:p,renderError:q}};b.wp=b.wp||{},b.wp.pressThis=new c}(jQuery,window);
\ No newline at end of file
+!function(a,b){var c=function(){function c(a){return a&&b.pressThisL10n?b.pressThisL10n[a]||a:a||""}function d(a){return a=a||"",a.replace(/<!--[\s\S]*?(-->|$)/g,"").replace(/<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/gi,"").replace(/<\/?[a-z][\s\S]*?(>|$)/gi,"")}function e(a){var b=d(a);try{O.innerHTML=b,b=d(O.value)}catch(c){}return b}function f(b){return b=a.trim(b||""),/^(?:https?:)?\/\//.test(b)?(b=d(b),b.replace(/["\\]+/g,"")):""}function g(){a(".spinner").addClass("is-active"),a(".post-actions button").attr("disabled","disabled")}function h(){a(".spinner").removeClass("is-active"),a(".post-actions button").removeAttr("disabled")}function i(a){var c,d;(!I||I.isHidden())&&(a="reset"===a||aa&&aa>$.value.length,d=$.style.height,a?(c=b.pageYOffset,$.style.height="auto",$.style.height=Math.max($.scrollHeight,_)+"px",b.scrollTo(b.pageXOffset,c)):parseInt($.style.height,10)<$.scrollHeight&&($.style.height=$.scrollHeight+"px"),aa=$.value.length)}function j(){if(!I)return!1;var a,b,c,d=I.selection.getNode();if(I.wp&&I.wp.getView&&(b=I.wp.getView(d)))c=b.getBoundingClientRect();else{a=I.selection.getRng();try{c=a.getClientRects()[0]}catch(e){}c||(c=d.getBoundingClientRect())}return c.height?c:!1}function k(a){var c=b.tinymce.util.VK,d=a.keyCode;47>=d&&d!==c.SPACEBAR&&d!==c.ENTER&&d!==c.DELETE&&d!==c.BACKSPACE&&d!==c.UP&&d!==c.LEFT&&d!==c.DOWN&&d!==c.UP||d>=91&&93>=d||d>=112&&123>=d||144===d||145===d||l(d)}function l(a){var c,d,e,f=j(),g=50,h=65,i=b.tinymce.util.VK;f&&(c=f.top+I.iframeElement.getBoundingClientRect().top,d=c+f.height,c-=g,d+=h,e=L.height(),e<f.height||(0>c&&(a===i.UP||a===i.LEFT||a===i.BACKSPACE)?b.scrollTo(b.pageXOffset,c+b.pageYOffset):d>e&&b.scrollTo(b.pageXOffset,d+b.pageYOffset-e)))}function m(){var b=a("#title-container");return b.find("img.emoji").each(function(){var b=a(this);b.replaceWith(a("<span>").text(b.attr("alt")))}),e(b.text())}function n(){var c=a("#pressthis-form"),d=a('<input type="hidden" name="post_category[]" value="">');I&&I.save(),a("#post_title").val(m()),b.tagBox&&a("div.tagsdiv").each(function(){b.tagBox.flushTags(this,!1,1)}),a(".categories-select .category").each(function(b,e){var f=a(e);f.hasClass("selected")&&c.append(d.clone().val(f.attr("data-term-id")||""))})}function o(d){var e;N=!1,g(),"publish"===d&&a("#post_status").val("publish"),n(),e=a("#pressthis-form").serialize(),a.ajax({type:"post",url:b.ajaxurl,data:e}).always(function(){h(),u(),a(".publish-button").removeClass("is-saving")}).done(function(a){if(a.success){if(a.data.redirect)if(b.opener&&(Q.redirInParent||a.data.force))try{b.opener.location.href=a.data.redirect,b.setTimeout(function(){b.self.close()},200)}catch(c){b.location.href=a.data.redirect}else b.location.href=a.data.redirect}else t(a.data.errorMessage)}).fail(function(){t(c("serverError"))})}function p(a){var c,d,e="";c=f(a.attr("data-wp-src")||""),d=f(R.u),a.hasClass("is-image")?(d||(d=c),e='<a href="'+d+'"><img class="alignnone size-full" src="'+c+'" /></a>'):e="[embed]"+c+"[/embed]",I&&!I.isHidden()?T?I.execCommand("mceInsertContent",!1,e):I.setContent("<p>"+e+"</p>"+I.getContent()):b.QTags&&b.QTags.insertContent(e)}function q(){var c,d=a("#new-category").val();d&&(c={action:"press-this-add-category",post_id:a("#post_ID").val()||0,name:d,new_cat_nonce:a("#_ajax_nonce-add-category").val()||"",parent:a("#new-category-parent").val()||0},a.post(b.ajaxurl,c,function(b){if(b.success){var c,d,e=a("ul.categories-select");a.each(b.data,function(b,f){var g=a("<li>").append(a('<div class="category selected" tabindex="0" role="checkbox" aria-checked="true">').attr("data-term-id",f.term_id).text(f.name));f.parent?(d&&d.length||(c=e.find('div[data-term-id="'+f.parent+'"]').parent(),d=c.find("ul.children:first"),d.length||(d=a('<ul class="children">').appendTo(c))),d.prepend(g)):e.prepend(g),g.focus()}),H()}else t(b.data.errorMessage)}))}function r(){R.hasData&&a("#scanbar").hide()}function s(b,c){var d=a(".editor-wrapper div.alerts"),e=c?"is-error":"is-notice";d.append(a('<p class="alert '+e+'">').text(b))}function t(a){s(a,!0)}function u(){a("div.alerts").empty()}function v(){R.errors&&a.each(R.errors,function(a,b){t(b)})}function w(a,b,d){var e=K.clone().addClass("is-image");e.attr("data-wp-src",a).css("background-image","url("+b+")").find("span").text(c("suggestedImgAlt").replace("%d",d+1)),J.append(e)}function x(){var b=0;J=a("ul.media-list"),K=a('<li class="suggested-media-thumbnail" tabindex="0"><span class="screen-reader-text"></span></li>'),R._embeds&&a.each(R._embeds,function(a,d){var e="",g="",h=K.clone().addClass("is-embed");d=f(d),d.indexOf("youtube.com/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/.+v=([^&]+).*/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("youtu.be/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/\/([^\/])$/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("dailymotion.com")>-1?(e=d.replace("/video/","/thumbnail/video/"),g+=" is-video"):g+=d.indexOf("soundcloud.com")>-1?" is-audio":d.indexOf("twitter.com")>-1?" is-tweet":" is-video",h.attr("data-wp-src",d).find("span").text(c("suggestedEmbedAlt").replace("%d",a+1)),e&&h.css("background-image","url("+e+")"),J.append(h),b++}),R._images&&a.each(R._images,function(a,c){var d,e=new Image;c=f(c),d=c.replace(/^(http[^\?]+)(\?.*)?$/,"$1"),d=c.indexOf("files.wordpress.com/")>-1?d.replace(/\?.*$/,"")+"?w="+S:c.indexOf("gravatar.com/")>-1?d.replace(/\?.*$/,"")+"?s="+S:c,e.onload=function(){e.width&&e.width<256||e.height&&e.height<128||w(c,d,a)},e.src=c,b++}),b&&a(".media-list-container").addClass("has-media")}function y(){var b=a(".post-options"),c=a(".post-option"),d=a(".setting-modal"),e=a(".modal-close");c.on("click",function(){var c=a(this).index(),e=d.eq(c);b.addClass(V).one(ba,function(){a(this).addClass(W)}),e.removeClass(X).one(ba,function(){a(this).find(".modal-close").focus()})}),e.on("click",function(){var d=a(this).parent(),e=d.index();b.removeClass(X),d.addClass(V),ba?d.one(ba,function(){a(this).addClass(W),c.eq(e-1).focus()}):setTimeout(function(){d.addClass(W),c.eq(e-1).focus()},350)})}function z(){P=!0,a(".options").removeClass("closed").addClass("open"),a(".press-this-actions, #scanbar").addClass(W),a(".options-panel-back").removeClass(W),a(".options-panel").removeClass(X).one(ba,function(){a(".post-option:first").focus()})}function A(){P=!1,a(".options").removeClass("open").addClass("closed"),a(".options-panel-back").addClass(W),a(".press-this-actions, #scanbar").removeClass(W),a(".options-panel").addClass(V).one(ba,function(){a(this).addClass(W),a(".post-options").removeClass(X),a(".setting-modal").addClass(X)})}function B(){var c=a("#title-container"),d=a(".post-title-placeholder");c.on("focus",function(){d.addClass("is-hidden")}).on("blur",function(){c.text()||c.html()||d.removeClass("is-hidden")}).on("keyup",function(){N=!0}).on("paste",function(d){var e,f,g=d.originalEvent.clipboardData||b.clipboardData;if(g){try{e=g.getData("Text")||g.getData("text/plain"),e&&(e=a.trim(e.replace(/\s+/g," ")),b.getSelection?(f=b.getSelection().getRangeAt(0),f&&(f.collapsed||f.deleteContents(),f.insertNode(document.createTextNode(e)))):document.selection&&(f=document.selection.createRange(),f&&(f.text=e)))}catch(h){}d.preventDefault()}N=!0,setTimeout(function(){c.text(m())},50)}),(c.text()||c.html())&&d.addClass("is-hidden")}function C(a){a.hasClass("selected")?a.removeClass("selected").attr("aria-checked","false"):a.addClass("selected").attr("aria-checked","true")}function D(){a(".categories-select").on("click.press-this keydown.press-this",function(b){var c=a(b.target);if(c.is("div.category")){if("keydown"===b.type&&32!==b.keyCode)return;C(c),b.preventDefault()}})}function E(){a(".split-button").removeClass("is-open"),a(".split-button-toggle").attr("aria-expanded","false")}function F(){r(),x(),v(),b.tagBox&&b.tagBox.init(),Y&&a(document.body).css("cursor","pointer")}function G(){var d=a(".split-button");return M.on("tinymce-editor-init",function(a,b){I=b,I.on("nodechange",function(){T=!0}),I.on("focus",function(){E()}),I.on("show",function(){setTimeout(function(){I.execCommand("wpAutoResize")},300)}),I.on("hide",function(){setTimeout(function(){i("reset")},100)}),I.on("keyup",k),I.on("undo redo",l)}).on("click.press-this keypress.press-this",".suggested-media-thumbnail",function(b){("click"===b.type||13===b.keyCode)&&p(a(this))}).on("click.press-this",function(b){a(b.target).closest("button").hasClass("split-button-toggle")||E()}),a(".post-actions").on("click.press-this",function(c){var e=a(c.target),f=e.closest("button");f.length&&(f.hasClass("draft-button")?(a(".publish-button").addClass("is-saving"),o("draft")):f.hasClass("publish-button")?(f.addClass("is-saving"),o("publish")):f.hasClass("preview-button")?(n(),b.opener&&b.opener.focus(),a("#wp-preview").val("dopreview"),a("#pressthis-form").attr("target","_blank").submit().attr("target",""),a("#wp-preview").val("")):f.hasClass("standard-editor-button")?(a(".publish-button").addClass("is-saving"),a("#pt-force-redirect").val("true"),o("draft")):f.hasClass("split-button-toggle")&&(d.hasClass("is-open")?(d.removeClass("is-open"),f.attr("aria-expanded","false")):(d.addClass("is-open"),f.attr("aria-expanded","true"))))}),y(),B(),D(),a(".options").on("click.press-this",function(){a(this).hasClass("open")?A():z()}),a(".options-panel, .options-panel-back").on("focusout.press-this",function(){setTimeout(function(){var b=document.activeElement,c=a(b);!P||!b||c.hasClass("options-panel-back")||"BODY"!==b.nodeName&&(c.closest(".options-panel").length||c.closest(".options").length)||A()},50)}),a("#post-formats-select input").on("change",function(){var b=a(this);b.is(":checked")&&a("#post-option-post-format").text(a('label[for="'+b.attr("id")+'"]').text()||"")}),L.on("beforeunload.press-this",function(){return N||I&&I.isDirty()?c("saveAlert"):void 0}).on("resize.press-this",function(){(!I||I.isHidden())&&i("reset")}),a("button.add-cat-toggle").on("click.press-this",function(){var b=a(this);b.toggleClass("is-toggled"),b.attr("aria-expanded","false"===b.attr("aria-expanded")?"true":"false"),a(".setting-modal .add-category, .categories-search-wrapper").toggleClass("is-hidden")}),a("button.add-cat-submit").on("click.press-this",q),a(".categories-search").on("keyup.press-this",function(){var b=a(this).val().toLowerCase()||"";/[\x20-\xFF]+/.test(b)&&b.length<2||(a.each(U,function(a,b){b.node.removeClass("is-hidden searched-parent")}),b&&a.each(U,function(a,c){-1===c.text.indexOf(b)?c.node.addClass("is-hidden"):c.parents.addClass("searched-parent")}))}),Z.on("focus.press-this input.press-this propertychange.press-this",i),!0}function H(){a(".categories-select").find("li").each(function(){var b=a(this);U.push({node:b,parents:b.parents("li"),text:b.children(".category").text().toLowerCase()})})}var I,J,K,L=a(b),M=a(document),N=!1,O=document.createElement("textarea"),P=!1,Q=b.wpPressThisConfig||{},R=b.wpPressThisData||{},S=128,T=!1,U=[],V="is-off-screen",W="is-hidden",X=V+" "+W,Y=/iPad|iPod|iPhone/.test(b.navigator.userAgent),Z=a("#pressthis"),$=Z[0],_=600,aa=0,ba=function(){var a=document.documentElement.style;return"undefined"!=typeof a.transition?"transitionend":"undefined"!=typeof a.WebkitTransition?"webkitTransitionEnd":!1}();return M.ready(function(){F(),G(),H()}),{renderNotice:s,renderError:t}};b.wp=b.wp||{},b.wp.pressThis=new c}(jQuery,window);
\ No newline at end of file
index b4375fa53dfd6dba923ec1ab3fa85615099fd276..c970b3aa9d7ff83b83ce15c57ab949b81de1e3a0 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b;b=wp.revisions={model:{},view:{},controller:{}},b.settings=window._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.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.on("change:from",this.handleLocalChanges),this.on("change:to",this.handleLocalChanges),this.on("change:compareTwoMode",this.updateSliderSettings),this.on("update:revisions",this.updateSliderSettings),this.on("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.postId=b.postId,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,b,c){if("read"===a){c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-revision-diffs",post_id:this.postId});var d=wp.ajax.send(c),e=this.requests;return c.data.compare&&_.each(c.data.compare,function(a){e[a]=d}),d.always(function(){c.data.compare&&_.each(c.data.compare,function(a){delete e[a]})}),d}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=this.get("initialDiffState");_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=c.revisions,this.diffs=new b.model.Diffs([],{revisions:this.revisions,postId:this.get("postId")}),this.diffs.set(this.get("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),this.set({to:this.revisions.get(d.to),from:this.revisions.get(d.from),compareTwoMode:d.compareTwoMode}),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('<div style="'+this.direction+": "+100*b*a+'%"></div>')},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.pageX<f?l.css("left",j):b.pageX>i?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(){var a;window.adminpage&&"revision-php"===window.adminpage&&(a=new b.model.FrameState({initialDiffState:{to:parseInt(b.settings.to,10),from:parseInt(b.settings.from,10),compareTwoMode:"1"===b.settings.compareTwoMode},diffData:b.settings.diffData,baseUrl:b.settings.baseUrl,postId:parseInt(b.settings.postId,10)},{revisions:new b.model.Revisions(b.settings.revisionData)}),b.view.frame=new b.view.Frame({model:a}).render())},a(b.init)}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b;b=wp.revisions={model:{},view:{},controller:{}},b.settings=window._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.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.on("change:from",this.handleLocalChanges),this.on("change:to",this.handleLocalChanges),this.on("change:compareTwoMode",this.updateSliderSettings),this.on("update:revisions",this.updateSliderSettings),this.on("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.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(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.postId=b.postId,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,b,c){if("read"===a){c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-revision-diffs",post_id:this.postId});var d=wp.ajax.send(c),e=this.requests;return c.data.compare&&_.each(c.data.compare,function(a){e[a]=d}),d.always(function(){c.data.compare&&_.each(c.data.compare,function(a){delete e[a]})}),d}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=this.get("initialDiffState");_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=c.revisions,this.diffs=new b.model.Diffs([],{revisions:this.revisions,postId:this.get("postId")}),this.diffs.set(this.get("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),this.set({to:this.revisions.get(d.to),from:this.revisions.get(d.from),compareTwoMode:d.compareTwoMode}),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('<div style="'+this.direction+": "+100*b*a+'%"></div>')},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.pageX<f?l.css("left",j):b.pageX>i?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))},this.getPosition(b.value)>0?c.from=this.model.revisions.at(this.getPosition(b.value)-1):c.from=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(){var a;window.adminpage&&"revision-php"===window.adminpage&&(a=new b.model.FrameState({initialDiffState:{to:parseInt(b.settings.to,10),from:parseInt(b.settings.from,10),compareTwoMode:"1"===b.settings.compareTwoMode},diffData:b.settings.diffData,baseUrl:b.settings.baseUrl,postId:parseInt(b.settings.postId,10)},{revisions:new b.model.Revisions(b.settings.revisionData)}),b.view.frame=new b.view.Frame({model:a}).render())},a(b.init)}(jQuery);
\ No newline at end of file
index 7368f24f92d57ac9e04d1742bd68b4aa3ff20644..8747c0c83e64f0a243de3feb9d67796a3f0ec8b6 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},wp.svgPainter=function(a,b,c){"use strict";var d,e,f,g={},h=[];return a(c).ready(function(){c.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")&&(a(c.body).removeClass("no-svg").addClass("svg"),wp.svgPainter.init())}),e=function(){function a(){for(;256>j;)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<<f)+e,m+=f;m>=g;)m-=g,h=j>>m,l+=d.charAt(h),j^=h<<m;++k}return!b&&m>0&&(l+=d.charAt(j<<g-m)),l}function c(c){return e||a(),c=b(c,!1,i,f,8,6),c+"====".slice(c.length%4||4)}function d(c){var d;e||a(),c=c.replace(/[^A-Za-z0-9\+\/\=]/g,""),c=String(c).split("="),d=c.length;do--d,c[d]=b(c[d],!0,h,g,6,8);while(d>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(a,b,c,d){"use strict";var e,f,g,h={},i=[];return a(c).ready(function(){c.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")&&(a(c.body).removeClass("no-svg").addClass("svg"),wp.svgPainter.init())}),f=function(){function a(){for(;256>j;)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<<f)+e,m+=f;m>=g;)m-=g,h=j>>m,l+=d.charAt(h),j^=h<<m;++k}return!b&&m>0&&(l+=d.charAt(j<<g-m)),l}function c(c){return e||a(),c=b(c,!1,i,f,8,6),c+"====".slice(c.length%4||4)}function d(c){var d;e||a(),c=c.replace(/[^A-Za-z0-9\+\/\=]/g,""),c=String(c).split("="),d=c.length;do--d,c[d]=b(c[d],!0,h,g,6,8);while(d>0);return c=c.join("")}var e,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g="",h=[256],i=[256],j=0;return{atob:d,btoa:c}}(),{init:function(){g=this,e=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&&(h=a.icons)},findElements:function(){e.each(function(){var b=a(this),c=b.css("background-image");c&&-1!=c.indexOf("data:image/svg+xml;base64")&&i.push(b)})},paint:function(){a.each(i,function(a,c){var d=c.parent().parent();d.hasClass("current")||d.hasClass("wp-has-current-submenu")?g.paintElement(c,"current"):(g.paintElement(c,"base"),d.hover(function(){g.paintElement(c,"focus")},function(){b.setTimeout(function(){g.paintElement(c,"base")},100)}))})},paintElement:function(a,c){var d,e,g;if(c&&h.hasOwnProperty(c)&&(g=h[c],g.match(/^(#[0-9a-f]{3}|#[0-9a-f]{6})$/i)&&(d=a.data("wp-ui-svg-"+g),"none"!==d))){if(!d){if(e=a.css("background-image").match(/.+data:image\/svg\+xml;base64,([A-Za-z0-9\+\/\=]+)/),!e||!e[1])return void a.data("wp-ui-svg-"+g,"none");try{d="atob"in b?b.atob(e[1]):f.atob(e[1])}catch(i){}if(!d)return void a.data("wp-ui-svg-"+g,"none");d=d.replace(/fill="(.+?)"/g,'fill="'+g+'"'),d=d.replace(/style="(.+?)"/g,'style="fill:'+g+'"'),d=d.replace(/fill:.*?;/g,"fill: "+g+";"),d="btoa"in b?b.btoa(d):f.btoa(d),a.data("wp-ui-svg-"+g,d)}a.attr("style",'background-image: url("data:image/svg+xml;base64,'+d+'") !important;')}}}}(jQuery,window,document);
\ No newline at end of file
index 2cf5f770ad9322f019a2d7002eccc8d50f63c45c..0e83f4e04beac38df3a90881d64bd48a632ad32b 100644 (file)
@@ -84,7 +84,7 @@ themes.view.Appearance = wp.Backbone.View.extend({
        },
 
        // Defines search element container
-       searchContainer: $( '#wpbody h2:first' ),
+       searchContainer: $( '#wpbody h1:first' ),
 
        // Search input and view
        // for current theme collection
@@ -793,7 +793,13 @@ themes.view.Preview = themes.view.Details.extend({
                return false;
        },
 
-       collapse: function() {
+       collapse: function( event ) {
+               var $button = $( event.currentTarget );
+               if ( 'true' === $button.attr( 'aria-expanded' ) ) {
+                       $button.attr({ 'aria-expanded': 'false', 'aria-label': l10n.expandSidebar });
+               } else {
+                       $button.attr({ 'aria-expanded': 'true', 'aria-label': l10n.collapseSidebar });
+               }
 
                this.$el.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
                return false;
index 41623cb303fbd0d119399862df416a33f8f7ef3a..f784f41f7b1d8abc964ae265717190d9f0b825f3 100644 (file)
@@ -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('<br class="clear"/>')},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('<label class="screen-reader-text" for="wp-filter-search-input">'+c.search+"</label>")).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(c){this.terms!==c&&(this.terms=c,this.terms.length>0&&this.search(this.terms),""===this.terms&&(this.reset(b.data.themes),a("body").removeClass("no-results")),this.trigger("update"))},search:function(c){var d,e,f,g,h,i;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 g=a.get("name").replace(/(<([^>]+)>)/gi,""),h=a.get("description").replace(/(<([^>]+)>)/gi,""),i=a.get("author").replace(/(<([^>]+)>)/gi,""),f=_.union(g,a.get("id"),h,i,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(b.router.themePath+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(".wp-core-ui .theme-count"),liveThemeCount:0,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){_.isNumber(a)?(c.count.text(a),c.announceSearchResults(a)):(c.count.text(c.collection.length),c.announceSearchResults(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.empty(),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.liveThemeCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveThemeCount),this.announceSearchResults(this.liveThemeCount)},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('<div class="theme add-new-theme"><a href="'+b.data.settings.installURI+'"><div class="theme-screenshot"><span></span></div><h3 class="theme-name">'+c.addNew+"</h3></a></div>"),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(b.router.themePath+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))},announceSearchResults:function(a){wp.a11y.speak(0===a?c.noThemesFound:c.themesFound.replace("%d",a))}}),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","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){"keyup"===a.type&&27===a.which&&(a.target.value=""),this.doSearch(a)},doSearch:_.debounce(function(a){var c={};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(b.router.searchPath+a.target.value),c):b.router.navigate(b.router.baseUrl(""))},500),pushState:function(a){var c=b.router.baseUrl("");a.target.value&&(c=b.router.baseUrl(b.router.searchPath+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},themePath:"?theme=",searchPath:"?search=",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:{input:"search",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=""),this.doSearch(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(b.router.searchPath+c),{replace:!0})},500)}),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('<div class="error"><p>'+c.error+"</p></div>")}),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(b.router.browsePath+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('<span class="tag">'+c+"</span>")}),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},themePath:"?theme=",browsePath:"?browse=",searchPath:"?search=",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(),a(".broken-themes .delete-theme").on("click",function(){return confirm(_wpThemeSettings.settings.confirmDelete)})})}(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
+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('<br class="clear"/>')},searchContainer:a("#wpbody h1: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('<label class="screen-reader-text" for="wp-filter-search-input">'+c.search+"</label>")).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(c){this.terms!==c&&(this.terms=c,this.terms.length>0&&this.search(this.terms),""===this.terms&&(this.reset(b.data.themes),a("body").removeClass("no-results")),this.trigger("update"))},search:function(c){var d,e,f,g,h,i;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 g=a.get("name").replace(/(<([^>]+)>)/gi,""),h=a.get("description").replace(/(<([^>]+)>)/gi,""),i=a.get("author").replace(/(<([^>]+)>)/gi,""),f=_.union(g,a.get("id"),h,i,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(b.router.themePath+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(b){var d=a(b.currentTarget);return"true"===d.attr("aria-expanded")?d.attr({"aria-expanded":"false","aria-label":c.expandSidebar}):d.attr({"aria-expanded":"true","aria-label":c.collapseSidebar}),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(".wp-core-ui .theme-count"),liveThemeCount:0,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){_.isNumber(a)?(c.count.text(a),c.announceSearchResults(a)):(c.count.text(c.collection.length),c.announceSearchResults(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.empty(),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.liveThemeCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveThemeCount),this.announceSearchResults(this.liveThemeCount)},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('<div class="theme add-new-theme"><a href="'+b.data.settings.installURI+'"><div class="theme-screenshot"><span></span></div><h3 class="theme-name">'+c.addNew+"</h3></a></div>"),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(b.router.themePath+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))},announceSearchResults:function(a){0===a?wp.a11y.speak(c.noThemesFound):wp.a11y.speak(c.themesFound.replace("%d",a))}}),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","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){"keyup"===a.type&&27===a.which&&(a.target.value=""),this.doSearch(a)},doSearch:_.debounce(function(a){var c={};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(b.router.searchPath+a.target.value),c):b.router.navigate(b.router.baseUrl(""))},500),pushState:function(a){var c=b.router.baseUrl("");a.target.value&&(c=b.router.baseUrl(b.router.searchPath+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},themePath:"?theme=",searchPath:"?search=",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:{input:"search",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=""),this.doSearch(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(b.router.searchPath+c),{replace:!0})},500)}),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('<div class="error"><p>'+c.error+"</p></div>")}),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(b.router.browsePath+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('<span class="tag">'+c+"</span>")}),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},themePath:"?theme=",browsePath:"?browse=",searchPath:"?search=",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(),a(".broken-themes .delete-theme").on("click",function(){return confirm(_wpThemeSettings.settings.confirmDelete)})})}(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
index 2ddfc85dabe7c96c38243e499f97ce2d60a314b1..5bd0b7a7d9cec0cd570698e4cbe9ef52d0fa6ec0 100644 (file)
@@ -263,7 +263,7 @@ window.wp = window.wp || {};
                        $message.attr( 'aria-label', wp.updates.l10n.updateFailedLabel.replace( '%s', name ) );
                }
                $message.removeClass( 'updating-message' );
-               $message.html( wp.updates.l10n.updateFailed + ': ' + response.error );
+               $message.html( wp.updates.l10n.updateFailed.replace( '%s', response.error ) );
                wp.a11y.speak( wp.updates.l10n.updateFailed );
 
                /*
index f007af2f219f893f57c5654d1f6516c21da5d091..10267fb69f3f367dae000d14b8a2dc44240fbb20 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b,c){b.updates={},b.updates.ajaxNonce=window._wpUpdatesSettings.ajax_nonce,b.updates.l10n=window._wpUpdatesSettings.l10n,b.updates.shouldRequestFilesystemCredentials=null,b.updates.filesystemCredentials={ftp:{host:null,username:null,password:null,connectionType:null},ssh:{publicKey:null,privateKey:null}},b.updates.updateLock=!1,b.updates.updateDoneSuccessfully=!1,b.updates.updateQueue=[],b.updates.$elToReturnFocusToFromCredentialsModal=null,b.updates.decrementCount=function(b){var c,d,e=a("#wp-admin-bar-updates .ab-label"),f=a('a[href="update-core.php"] .update-plugins'),g=a("#menu-plugins");if(c=e.text(),c=parseInt(c,10)-1,!(0>c||isNaN(c))&&(a("#wp-admin-bar-updates .ab-item").removeAttr("title"),e.text(c),f.each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+c)}),f.removeAttr("title"),f.find(".update-count").text(c),"plugin"===b)){if(d=g.find(".plugin-count").eq(0).text(),d=parseInt(d,10)-1,0>d||isNaN(d))return;g.find(".plugin-count").text(d),g.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)}),d>0?a(".subsubsub .upgrade .count").text("("+d+")"):a(".subsubsub .upgrade").remove()}},b.updates.updatePlugin=function(d,e){var f,g;if("plugins"===c||"plugins-network"===c?f=a('[data-slug="'+e+'"]').next().find(".update-message"):"plugin-install"===c&&(f=a(".plugin-card-"+e).find(".update-now"),g=f.data("name"),f.attr("aria-label",b.updates.l10n.updatingLabel.replace("%s",g))),f.addClass("updating-message"),f.html()!==b.updates.l10n.updating&&f.data("originaltext",f.html()),f.text(b.updates.l10n.updating),b.a11y.speak(b.updates.l10n.updatingMsg),b.updates.updateLock)return void b.updates.updateQueue.push({type:"update-plugin",data:{plugin:d,slug:e}});b.updates.updateLock=!0;var h={_ajax_nonce:b.updates.ajaxNonce,plugin:d,slug:e,username:b.updates.filesystemCredentials.ftp.username,password:b.updates.filesystemCredentials.ftp.password,hostname:b.updates.filesystemCredentials.ftp.hostname,connection_type:b.updates.filesystemCredentials.ftp.connectionType,public_key:b.updates.filesystemCredentials.ssh.publicKey,private_key:b.updates.filesystemCredentials.ssh.privateKey};b.ajax.post("update-plugin",h).done(b.updates.updateSuccess).fail(b.updates.updateError)},b.updates.updateSuccess=function(d){var e,f,g,h;"plugins"===c||"plugins-network"===c?(g=a('[data-slug="'+d.slug+'"]').first(),e=g.next().find(".update-message"),g.addClass("updated").removeClass("update"),h=g.find(".plugin-version-author-uri").html().replace(d.oldVersion,d.newVersion),g.find(".plugin-version-author-uri").html(h),g.next().addClass("updated")):"plugin-install"===c&&(e=a(".plugin-card-"+d.slug).find(".update-now"),e.addClass("button-disabled"),f=e.data("name"),e.attr("aria-label",b.updates.l10n.updatedLabel.replace("%s",f))),e.removeClass("updating-message").addClass("updated-message"),e.text(b.updates.l10n.updated),b.a11y.speak(b.updates.l10n.updatedMsg),b.updates.decrementCount("plugin"),b.updates.updateDoneSuccessfully=!0,b.updates.updateLock=!1,a(document).trigger("wp-plugin-update-success",d),b.updates.queueChecker()},b.updates.updateError=function(d){var e,f;return b.updates.updateDoneSuccessfully=!1,d.errorCode&&"unable_to_connect_to_filesystem"==d.errorCode&&b.updates.shouldRequestFilesystemCredentials?void b.updates.credentialError(d,"update-plugin"):("plugins"===c||"plugins-network"===c?e=a('[data-slug="'+d.slug+'"]').next().find(".update-message"):"plugin-install"===c&&(e=a(".plugin-card-"+d.slug).find(".update-now"),f=e.data("name"),e.attr("aria-label",b.updates.l10n.updateFailedLabel.replace("%s",f))),e.removeClass("updating-message"),e.html(b.updates.l10n.updateFailed+": "+d.error),b.a11y.speak(b.updates.l10n.updateFailed),b.updates.updateLock=!1,a(document).trigger("wp-plugin-update-error",d),void b.updates.queueChecker())},b.updates.showErrorInCredentialsForm=function(b){var c=a(".notification-dialog");c.find(".error").remove(),c.find("h3").after('<div class="error">'+b+"</div>")},b.updates.credentialError=function(a,c){b.updates.updateQueue.push({type:c,data:{plugin:a.plugin,slug:a.slug}}),b.updates.showErrorInCredentialsForm(a.error),b.updates.requestFilesystemCredentials()},b.updates.queueChecker=function(){if(!(b.updates.updateLock||b.updates.updateQueue.length<=0)){var a=b.updates.updateQueue.shift();b.updates.updatePlugin(a.data.plugin,a.data.slug)}},b.updates.requestFilesystemCredentials=function(d){b.updates.updateDoneSuccessfully===!1&&("plugin-install"===c&&d&&(b.updates.$elToReturnFocusToFromCredentialsModal=a(d.target)),b.updates.updateLock=!0,b.updates.requestForCredentialsModalOpen())},b.updates.keydown=function(c){27===c.keyCode?b.updates.requestForCredentialsModalCancel():9===c.keyCode&&("upgrade"!==c.target.id||c.shiftKey?"hostname"===c.target.id&&c.shiftKey&&(a("#upgrade").focus(),c.preventDefault()):(a("#hostname").focus(),c.preventDefault()))},b.updates.requestForCredentialsModalOpen=function(){var c=a("#request-filesystem-credentials-dialog");a("body").addClass("modal-open"),c.show(),c.find("input:enabled:first").focus(),c.keydown(b.updates.keydown)},b.updates.requestForCredentialsModalClose=function(){a("#request-filesystem-credentials-dialog").hide(),a("body").removeClass("modal-open"),b.updates.$elToReturnFocusToFromCredentialsModal.focus()},b.updates.requestForCredentialsModalCancel=function(){var d,e;(b.updates.updateLock!==!1||0!==b.updates.updateQueue.length)&&(d=b.updates.updateQueue[0].data.slug,b.updates.updateLock=!1,b.updates.updateQueue=[],b.updates.requestForCredentialsModalClose(),"plugins"===c||"plugins-network"===c?e=a('[data-slug="'+d+'"]').next().find(".update-message"):"plugin-install"===c&&(e=a(".plugin-card-"+d).find(".update-now")),e.removeClass("updating-message"),e.html(e.data("originaltext")),b.a11y.speak(b.updates.l10n.updateCancel))},b.updates.beforeunload=function(){return b.updates.updateLock?b.updates.l10n.beforeunload:void 0},a(document).ready(function(){b.updates.shouldRequestFilesystemCredentials=a("#request-filesystem-credentials-dialog").length<=0?!1:!0,a("#request-filesystem-credentials-dialog form").on("submit",function(){return b.updates.filesystemCredentials.ftp.hostname=a("#hostname").val(),b.updates.filesystemCredentials.ftp.username=a("#username").val(),b.updates.filesystemCredentials.ftp.password=a("#password").val(),b.updates.filesystemCredentials.ftp.connectionType=a('input[name="connection_type"]:checked').val(),b.updates.filesystemCredentials.ssh.publicKey=a("#public_key").val(),b.updates.filesystemCredentials.ssh.privateKey=a("#private_key").val(),b.updates.requestForCredentialsModalClose(),b.updates.updateLock=!1,b.updates.queueChecker(),!1}),a('#request-filesystem-credentials-dialog [data-js-action="close"], .notification-dialog-background').on("click",function(){b.updates.requestForCredentialsModalCancel()}),a('#request-filesystem-credentials-dialog input[name="connection_type"]').on("change",function(){a(this).parents("form").find("#private_key, #public_key").parents("label").toggle("ssh"==a(this).val())}).change(),a(".plugin-update-tr").on("click",".update-link",function(c){c.preventDefault(),b.updates.shouldRequestFilesystemCredentials&&!b.updates.updateLock&&b.updates.requestFilesystemCredentials(c);var d=a(c.target).parents(".plugin-update-tr");b.updates.$elToReturnFocusToFromCredentialsModal=a("#"+d.data("slug")).find(".check-column input"),b.updates.updatePlugin(d.data("plugin"),d.data("slug"))}),a(".plugin-card").on("click",".update-now",function(c){c.preventDefault();var d=a(c.target);b.updates.shouldRequestFilesystemCredentials&&!b.updates.updateLock&&b.updates.requestFilesystemCredentials(c),b.updates.updatePlugin(d.data("plugin"),d.data("slug"))}),a("#plugin_update_from_iframe").on("click",function(b){var c,d;c=window.parent==window?null:window.parent,a.support.postMessage=!!window.postMessage,a.support.postMessage!==!1&&null!==c&&-1===window.parent.location.pathname.indexOf("update-core.php")&&(b.preventDefault(),d={action:"updatePlugin",slug:a(this).data("slug")},c.postMessage(JSON.stringify(d),window.location.origin))})}),a(window).on("message",function(d){var e,f=d.originalEvent,g=document.location,h=g.protocol+"//"+g.hostname;if(f.origin===h&&(e=a.parseJSON(f.data),"undefined"!=typeof e.action))switch(e.action){case"decrementUpdateCount":b.updates.decrementCount(e.upgradeType);break;case"updatePlugin":tb_remove(),"plugins"===c||"plugins-network"===c?(a("#"+e.slug).find(".check-column input").focus(),a('.plugin-update-tr[data-slug="'+e.slug+'"]').find(".update-link").trigger("click")):"plugin-install"===c&&(a(".plugin-card-"+e.slug).find("h4 a").focus(),a(".plugin-card-"+e.slug).find('[data-slug="'+e.slug+'"]').trigger("click"))}}),a(window).on("beforeunload",b.updates.beforeunload)}(jQuery,window.wp,window.pagenow,window.ajaxurl);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b,c){b.updates={},b.updates.ajaxNonce=window._wpUpdatesSettings.ajax_nonce,b.updates.l10n=window._wpUpdatesSettings.l10n,b.updates.shouldRequestFilesystemCredentials=null,b.updates.filesystemCredentials={ftp:{host:null,username:null,password:null,connectionType:null},ssh:{publicKey:null,privateKey:null}},b.updates.updateLock=!1,b.updates.updateDoneSuccessfully=!1,b.updates.updateQueue=[],b.updates.$elToReturnFocusToFromCredentialsModal=null,b.updates.decrementCount=function(b){var c,d,e=a("#wp-admin-bar-updates .ab-label"),f=a('a[href="update-core.php"] .update-plugins'),g=a("#menu-plugins");if(c=e.text(),c=parseInt(c,10)-1,!(0>c||isNaN(c))&&(a("#wp-admin-bar-updates .ab-item").removeAttr("title"),e.text(c),f.each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+c)}),f.removeAttr("title"),f.find(".update-count").text(c),"plugin"===b)){if(d=g.find(".plugin-count").eq(0).text(),d=parseInt(d,10)-1,0>d||isNaN(d))return;g.find(".plugin-count").text(d),g.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)}),d>0?a(".subsubsub .upgrade .count").text("("+d+")"):a(".subsubsub .upgrade").remove()}},b.updates.updatePlugin=function(d,e){var f,g;if("plugins"===c||"plugins-network"===c?f=a('[data-slug="'+e+'"]').next().find(".update-message"):"plugin-install"===c&&(f=a(".plugin-card-"+e).find(".update-now"),g=f.data("name"),f.attr("aria-label",b.updates.l10n.updatingLabel.replace("%s",g))),f.addClass("updating-message"),f.html()!==b.updates.l10n.updating&&f.data("originaltext",f.html()),f.text(b.updates.l10n.updating),b.a11y.speak(b.updates.l10n.updatingMsg),b.updates.updateLock)return void b.updates.updateQueue.push({type:"update-plugin",data:{plugin:d,slug:e}});b.updates.updateLock=!0;var h={_ajax_nonce:b.updates.ajaxNonce,plugin:d,slug:e,username:b.updates.filesystemCredentials.ftp.username,password:b.updates.filesystemCredentials.ftp.password,hostname:b.updates.filesystemCredentials.ftp.hostname,connection_type:b.updates.filesystemCredentials.ftp.connectionType,public_key:b.updates.filesystemCredentials.ssh.publicKey,private_key:b.updates.filesystemCredentials.ssh.privateKey};b.ajax.post("update-plugin",h).done(b.updates.updateSuccess).fail(b.updates.updateError)},b.updates.updateSuccess=function(d){var e,f,g,h;"plugins"===c||"plugins-network"===c?(g=a('[data-slug="'+d.slug+'"]').first(),e=g.next().find(".update-message"),g.addClass("updated").removeClass("update"),h=g.find(".plugin-version-author-uri").html().replace(d.oldVersion,d.newVersion),g.find(".plugin-version-author-uri").html(h),g.next().addClass("updated")):"plugin-install"===c&&(e=a(".plugin-card-"+d.slug).find(".update-now"),e.addClass("button-disabled"),f=e.data("name"),e.attr("aria-label",b.updates.l10n.updatedLabel.replace("%s",f))),e.removeClass("updating-message").addClass("updated-message"),e.text(b.updates.l10n.updated),b.a11y.speak(b.updates.l10n.updatedMsg),b.updates.decrementCount("plugin"),b.updates.updateDoneSuccessfully=!0,b.updates.updateLock=!1,a(document).trigger("wp-plugin-update-success",d),b.updates.queueChecker()},b.updates.updateError=function(d){var e,f;return b.updates.updateDoneSuccessfully=!1,d.errorCode&&"unable_to_connect_to_filesystem"==d.errorCode&&b.updates.shouldRequestFilesystemCredentials?void b.updates.credentialError(d,"update-plugin"):("plugins"===c||"plugins-network"===c?e=a('[data-slug="'+d.slug+'"]').next().find(".update-message"):"plugin-install"===c&&(e=a(".plugin-card-"+d.slug).find(".update-now"),f=e.data("name"),e.attr("aria-label",b.updates.l10n.updateFailedLabel.replace("%s",f))),e.removeClass("updating-message"),e.html(b.updates.l10n.updateFailed.replace("%s",d.error)),b.a11y.speak(b.updates.l10n.updateFailed),b.updates.updateLock=!1,a(document).trigger("wp-plugin-update-error",d),void b.updates.queueChecker())},b.updates.showErrorInCredentialsForm=function(b){var c=a(".notification-dialog");c.find(".error").remove(),c.find("h3").after('<div class="error">'+b+"</div>")},b.updates.credentialError=function(a,c){b.updates.updateQueue.push({type:c,data:{plugin:a.plugin,slug:a.slug}}),b.updates.showErrorInCredentialsForm(a.error),b.updates.requestFilesystemCredentials()},b.updates.queueChecker=function(){if(!(b.updates.updateLock||b.updates.updateQueue.length<=0)){var a=b.updates.updateQueue.shift();b.updates.updatePlugin(a.data.plugin,a.data.slug)}},b.updates.requestFilesystemCredentials=function(d){b.updates.updateDoneSuccessfully===!1&&("plugin-install"===c&&d&&(b.updates.$elToReturnFocusToFromCredentialsModal=a(d.target)),b.updates.updateLock=!0,b.updates.requestForCredentialsModalOpen())},b.updates.keydown=function(c){27===c.keyCode?b.updates.requestForCredentialsModalCancel():9===c.keyCode&&("upgrade"!==c.target.id||c.shiftKey?"hostname"===c.target.id&&c.shiftKey&&(a("#upgrade").focus(),c.preventDefault()):(a("#hostname").focus(),c.preventDefault()))},b.updates.requestForCredentialsModalOpen=function(){var c=a("#request-filesystem-credentials-dialog");a("body").addClass("modal-open"),c.show(),c.find("input:enabled:first").focus(),c.keydown(b.updates.keydown)},b.updates.requestForCredentialsModalClose=function(){a("#request-filesystem-credentials-dialog").hide(),a("body").removeClass("modal-open"),b.updates.$elToReturnFocusToFromCredentialsModal.focus()},b.updates.requestForCredentialsModalCancel=function(){var d,e;(b.updates.updateLock!==!1||0!==b.updates.updateQueue.length)&&(d=b.updates.updateQueue[0].data.slug,b.updates.updateLock=!1,b.updates.updateQueue=[],b.updates.requestForCredentialsModalClose(),"plugins"===c||"plugins-network"===c?e=a('[data-slug="'+d+'"]').next().find(".update-message"):"plugin-install"===c&&(e=a(".plugin-card-"+d).find(".update-now")),e.removeClass("updating-message"),e.html(e.data("originaltext")),b.a11y.speak(b.updates.l10n.updateCancel))},b.updates.beforeunload=function(){return b.updates.updateLock?b.updates.l10n.beforeunload:void 0},a(document).ready(function(){b.updates.shouldRequestFilesystemCredentials=a("#request-filesystem-credentials-dialog").length<=0?!1:!0,a("#request-filesystem-credentials-dialog form").on("submit",function(){return b.updates.filesystemCredentials.ftp.hostname=a("#hostname").val(),b.updates.filesystemCredentials.ftp.username=a("#username").val(),b.updates.filesystemCredentials.ftp.password=a("#password").val(),b.updates.filesystemCredentials.ftp.connectionType=a('input[name="connection_type"]:checked').val(),b.updates.filesystemCredentials.ssh.publicKey=a("#public_key").val(),b.updates.filesystemCredentials.ssh.privateKey=a("#private_key").val(),b.updates.requestForCredentialsModalClose(),b.updates.updateLock=!1,b.updates.queueChecker(),!1}),a('#request-filesystem-credentials-dialog [data-js-action="close"], .notification-dialog-background').on("click",function(){b.updates.requestForCredentialsModalCancel()}),a('#request-filesystem-credentials-dialog input[name="connection_type"]').on("change",function(){a(this).parents("form").find("#private_key, #public_key").parents("label").toggle("ssh"==a(this).val())}).change(),a(".plugin-update-tr").on("click",".update-link",function(c){c.preventDefault(),b.updates.shouldRequestFilesystemCredentials&&!b.updates.updateLock&&b.updates.requestFilesystemCredentials(c);var d=a(c.target).parents(".plugin-update-tr");b.updates.$elToReturnFocusToFromCredentialsModal=a("#"+d.data("slug")).find(".check-column input"),b.updates.updatePlugin(d.data("plugin"),d.data("slug"))}),a(".plugin-card").on("click",".update-now",function(c){c.preventDefault();var d=a(c.target);b.updates.shouldRequestFilesystemCredentials&&!b.updates.updateLock&&b.updates.requestFilesystemCredentials(c),b.updates.updatePlugin(d.data("plugin"),d.data("slug"))}),a("#plugin_update_from_iframe").on("click",function(b){var c,d;c=window.parent==window?null:window.parent,a.support.postMessage=!!window.postMessage,a.support.postMessage!==!1&&null!==c&&-1===window.parent.location.pathname.indexOf("update-core.php")&&(b.preventDefault(),d={action:"updatePlugin",slug:a(this).data("slug")},c.postMessage(JSON.stringify(d),window.location.origin))})}),a(window).on("message",function(d){var e,f=d.originalEvent,g=document.location,h=g.protocol+"//"+g.hostname;if(f.origin===h&&(e=a.parseJSON(f.data),"undefined"!=typeof e.action))switch(e.action){case"decrementUpdateCount":b.updates.decrementCount(e.upgradeType);break;case"updatePlugin":tb_remove(),"plugins"===c||"plugins-network"===c?(a("#"+e.slug).find(".check-column input").focus(),a('.plugin-update-tr[data-slug="'+e.slug+'"]').find(".update-link").trigger("click")):"plugin-install"===c&&(a(".plugin-card-"+e.slug).find("h4 a").focus(),a(".plugin-card-"+e.slug).find('[data-slug="'+e.slug+'"]').trigger("click"))}}),a(window).on("beforeunload",b.updates.beforeunload)}(jQuery,window.wp,window.pagenow,window.ajaxurl);
\ No newline at end of file
index 72a2465c56f0d6683435485f5de9637b63a95ff7..7ebdd778e24c0aec9498565a22139ca7239f529a 100644 (file)
-/* global ajaxurl, pwsL10n */
-(function($){
+/* global ajaxurl, pwsL10n, userProfileL10n */
+(function($) {
+       var updateLock = false,
+
+               $pass1Row,
+               $pass1Wrap,
+               $pass1,
+               $pass1Text,
+
+               $pass2,
+
+               $weakRow,
+               $weakCheckbox,
+
+               $toggleButton,
+               $submitButtons,
+               $submitButton,
+               currentPass;
+
+       function generatePassword() {
+               if ( typeof zxcvbn !== 'function' ) {
+                       setTimeout( generatePassword, 50 );
+               } else {
+                       $pass1.val( $pass1.data( 'pw' ) );
+                       $pass1.trigger( 'pwupdate' );
+                       if ( 1 !== parseInt( $toggleButton.data( 'start-masked' ), 10 ) ) {
+                               $pass1Wrap.addClass( 'show-password' );
+                       } else {
+                               $toggleButton.trigger( 'click' );
+                       }
+               }
+       }
+
+       function bindPass1() {
+               var passStrength = $('#pass-strength-result')[0];
+
+               currentPass = $pass1.val();
+
+               $pass1Wrap = $pass1.parent();
+
+               $pass1Text = $( '<input type="text"/>' )
+                       .attr( {
+                               'id':           'pass1-text',
+                               'name':         'pass1-text',
+                               'autocomplete': 'off'
+                       } )
+                       .addClass( $pass1[0].className )
+                       .data( 'pw', $pass1.data( 'pw' ) )
+                       .val( $pass1.val() )
+                       .on( 'keyup', function () {
+                               if ( $pass1Text.val() === currentPass ) {
+                                       return;
+                               }
+                               $pass2.val( $pass1Text.val() );
+                               $pass1.val( $pass1Text.val() ).trigger( 'pwupdate' );
+                               currentPass = $pass1Text.val();
+                       } );
+
+               $pass1.after( $pass1Text );
+
+               if ( 1 === parseInt( $pass1.data( 'reveal' ), 10 ) ) {
+                       generatePassword();
+               }
+
+               $pass1.on( 'keyup pwupdate', function () {
+                       if ( $pass1.val() === currentPass ) {
+                               return;
+                       }
+
+                       currentPass = $pass1.val();
+                       if ( $pass1Text.val() !== currentPass ) {
+                               $pass1Text.val( currentPass );
+                       }
+                       $pass1.add( $pass1Text ).removeClass( 'short bad good strong' );
+
+                       if ( passStrength.className ) {
+                               $pass1.add( $pass1Text ).addClass( passStrength.className );
+                               if ( 'short' === passStrength.className || 'bad' === passStrength.className ) {
+                                       if ( ! $weakCheckbox.prop( 'checked' ) ) {
+                                               $submitButtons.prop( 'disabled', true );
+                                       }
+                                       $weakRow.show();
+                               } else {
+                                       $submitButtons.prop( 'disabled', false );
+                                       $weakRow.hide();
+                               }
+                       }
+               } );
+       }
+
+       function bindToggleButton() {
+               $toggleButton = $pass1Row.find('.wp-hide-pw');
+               $toggleButton.show().on( 'click', function () {
+                       if ( 1 === parseInt( $toggleButton.data( 'toggle' ), 10 ) ) {
+                               $pass1Wrap.addClass( 'show-password' );
+                               $toggleButton
+                                       .data( 'toggle', 0 )
+                                       .attr({
+                                               'aria-label': userProfileL10n.ariaHide
+                                       })
+                                       .find( '.text' )
+                                               .text( userProfileL10n.hide )
+                                       .end()
+                                       .find( '.dashicons' )
+                                               .removeClass('dashicons-visibility')
+                                               .addClass('dashicons-hidden');
+
+                               $pass1Text.focus();
+
+                               if ( ! _.isUndefined( $pass1Text[0].setSelectionRange ) ) {
+                                       $pass1Text[0].setSelectionRange( 0, 100 );
+                               }
+                       } else {
+                               $pass1Wrap.removeClass( 'show-password' );
+                               $toggleButton
+                                       .data( 'toggle', 1 )
+                                       .attr({
+                                               'aria-label': userProfileL10n.ariaShow
+                                       })
+                                       .find( '.text' )
+                                               .text( userProfileL10n.show )
+                                       .end()
+                                       .find( '.dashicons' )
+                                               .removeClass('dashicons-hidden')
+                                               .addClass('dashicons-visibility');
+
+                               $pass1.focus();
+
+                               if ( ! _.isUndefined( $pass1[0].setSelectionRange ) ) {
+                                       $pass1[0].setSelectionRange( 0, 100 );
+                               }
+                       }
+               });
+       }
+
+       function bindPasswordForm() {
+               var $passwordWrapper,
+                       $generateButton,
+                       $cancelButton;
+
+               $pass1Row = $('.user-pass1-wrap');
+               // hide this
+               $('.user-pass2-wrap').hide();
+
+               $submitButton = $( '#submit' ).on( 'click', function () {
+                       updateLock = false;
+               });
+
+               $submitButtons = $submitButton.add( ' #createusersub' );
+
+               $weakRow = $( '.pw-weak' );
+               $weakCheckbox = $weakRow.find( '.pw-checkbox' );
+               $weakCheckbox.change( function() {
+                       $submitButtons.prop( 'disabled', ! $weakCheckbox.prop( 'checked' ) );
+               } );
+
+               $pass1 = $('#pass1');
+               if ( $pass1.length ) {
+                       bindPass1();
+               }
+
+               /**
+                * Fix a LastPass mismatch issue, LastPass only changes pass2.
+                *
+                * This fixes the issue by copying any changes from the hidden
+                * pass2 field to the pass1 field, then running check_pass_strength.
+                */
+               $pass2 = $('#pass2').on( 'keyup', function () {
+                       if ( $pass2.val().length > 0 ) {
+                               $pass1.val( $pass2.val() );
+                               $pass2.val('');
+                               currentPass = '';
+                               $pass1.trigger( 'pwupdate' );
+                       }
+               } );
+
+               $passwordWrapper = $pass1Row.find('.wp-pwd').hide();
+
+               bindToggleButton();
+
+               $generateButton = $pass1Row.find( 'button.wp-generate-pw' ).show();
+               $generateButton.on( 'click', function () {
+                       updateLock = true;
+
+                       $generateButton.hide();
+                       $passwordWrapper.show();
+
+                       if ( $pass1Text.val().length === 0 ) {
+                               generatePassword();
+                       }
+
+                       _.defer( function() {
+                               $pass1Text.focus();
+                               if ( ! _.isUndefined( $pass1Text[0].setSelectionRange ) ) {
+                                       $pass1Text[0].setSelectionRange( 0, 100 );
+                               }
+                       }, 0 );
+               } );
+
+               $cancelButton = $pass1Row.find( 'button.wp-cancel-pw' );
+               $cancelButton.on( 'click', function () {
+                       updateLock = false;
+
+                       $generateButton.show();
+                       $passwordWrapper.hide();
+               } );
+
+               $pass1Row.closest('form').on( 'submit', function () {
+                       updateLock = false;
+
+                       $pass2.val( $pass1.val() );
+                       $pass1Wrap.removeClass( 'show-password' );
+               });
+       }
 
        function check_pass_strength() {
-               var pass1 = $('#pass1').val(), pass2 = $('#pass2').val(), strength;
+               var pass1 = $('#pass1').val(), strength;
 
                $('#pass-strength-result').removeClass('short bad good strong');
                if ( ! pass1 ) {
-                       $('#pass-strength-result').html( pwsL10n.empty );
+                       $('#pass-strength-result').html( '&nbsp;' );
                        return;
                }
 
-               strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass2 );
+               strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass1 );
 
                switch ( strength ) {
                        case 2:
                var $colorpicker, $stylesheet, user_id, current_user_id,
                        select = $( '#display_name' );
 
-               $('#pass1').val('').on( 'input propertychange', check_pass_strength );
-               $('#pass2').val('').on( 'input propertychange', check_pass_strength );
+               $('#pass1').val('').on( 'keyup pwupdate', check_pass_strength );
                $('#pass-strength-result').show();
                $('.color-palette').click( function() {
                        $(this).siblings('input[name="admin_color"]').prop('checked', true);
                                });
                        }
                });
+
+               bindPasswordForm();
        });
 
        $( '#destroy-sessions' ).on( 'click', function( e ) {
                e.preventDefault();
        });
 
+       window.generatePassword = generatePassword;
+
+       /* Warn the user if password was generated but not saved */
+       $( window ).on( 'beforeunload', function () {
+               if ( true === updateLock ) {
+                       return userProfileL10n.warn;
+               }
+       } );
+
 })(jQuery);
index 0bc1cb677c393545ae7a5d93c5238b4afb791aae..1d632da4252bc99230f76568e84201b679a318e6 100644 (file)
@@ -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("").on("input propertychange",b),a("#pass2").val("").on("input propertychange",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("<option />",{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('<link rel="stylesheet" />').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()}).done(function(b){b.success&&a("body").removeClass(b.data.previousScheme).addClass(b.data.currentScheme)})}})}),a("#destroy-sessions").on("click",function(b){var c=a(this);wp.ajax.post("destroy-sessions",{nonce:a("#_wpnonce").val(),user_id:a("#user_id").val()}).done(function(a){c.prop("disabled",!0),c.siblings(".notice").remove(),c.before('<div class="notice notice-success inline"><p>'+a.message+"</p></div>")}).fail(function(a){c.siblings(".notice").remove(),c.before('<div class="notice notice-error inline"><p>'+a.message+"</p></div>")}),b.preventDefault()})}(jQuery);
\ No newline at end of file
+!function(a){function b(){"function"!=typeof zxcvbn?setTimeout(b,50):(i.val(i.data("pw")),i.trigger("pwupdate"),1!==parseInt(n.data("start-masked"),10)?h.addClass("show-password"):n.trigger("click"))}function c(){var c=a("#pass-strength-result")[0];q=i.val(),h=i.parent(),j=a('<input type="text"/>').attr({id:"pass1-text",name:"pass1-text",autocomplete:"off"}).addClass(i[0].className).data("pw",i.data("pw")).val(i.val()).on("keyup",function(){j.val()!==q&&(k.val(j.val()),i.val(j.val()).trigger("pwupdate"),q=j.val())}),i.after(j),1===parseInt(i.data("reveal"),10)&&b(),i.on("keyup pwupdate",function(){i.val()!==q&&(q=i.val(),j.val()!==q&&j.val(q),i.add(j).removeClass("short bad good strong"),c.className&&(i.add(j).addClass(c.className),"short"===c.className||"bad"===c.className?(m.prop("checked")||o.prop("disabled",!0),l.show()):(o.prop("disabled",!1),l.hide())))})}function d(){n=g.find(".wp-hide-pw"),n.show().on("click",function(){1===parseInt(n.data("toggle"),10)?(h.addClass("show-password"),n.data("toggle",0).attr({"aria-label":userProfileL10n.ariaHide}).find(".text").text(userProfileL10n.hide).end().find(".dashicons").removeClass("dashicons-visibility").addClass("dashicons-hidden"),j.focus(),_.isUndefined(j[0].setSelectionRange)||j[0].setSelectionRange(0,100)):(h.removeClass("show-password"),n.data("toggle",1).attr({"aria-label":userProfileL10n.ariaShow}).find(".text").text(userProfileL10n.show).end().find(".dashicons").removeClass("dashicons-hidden").addClass("dashicons-visibility"),i.focus(),_.isUndefined(i[0].setSelectionRange)||i[0].setSelectionRange(0,100))})}function e(){var e,f,n;g=a(".user-pass1-wrap"),a(".user-pass2-wrap").hide(),p=a("#submit").on("click",function(){r=!1}),o=p.add(" #createusersub"),l=a(".pw-weak"),m=l.find(".pw-checkbox"),m.change(function(){o.prop("disabled",!m.prop("checked"))}),i=a("#pass1"),i.length&&c(),k=a("#pass2").on("keyup",function(){k.val().length>0&&(i.val(k.val()),k.val(""),q="",i.trigger("pwupdate"))}),e=g.find(".wp-pwd").hide(),d(),f=g.find("button.wp-generate-pw").show(),f.on("click",function(){r=!0,f.hide(),e.show(),0===j.val().length&&b(),_.defer(function(){j.focus(),_.isUndefined(j[0].setSelectionRange)||j[0].setSelectionRange(0,100)},0)}),n=g.find("button.wp-cancel-pw"),n.on("click",function(){r=!1,f.show(),e.hide()}),g.closest("form").on("submit",function(){r=!1,k.val(i.val()),h.removeClass("show-password")})}function f(){var b,c=a("#pass1").val();if(a("#pass-strength-result").removeClass("short bad good strong"),!c)return void a("#pass-strength-result").html("&nbsp;");switch(b=wp.passwordStrength.meter(c,wp.passwordStrength.userInputBlacklist(),c)){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"])}}var g,h,i,j,k,l,m,n,o,p,q,r=!1;a(document).ready(function(){var b,c,d,g,h=a("#display_name");a("#pass1").val("").on("keyup pwupdate",f),a("#pass-strength-result").show(),a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",!0)}),h.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",h),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("<option />",{text:f}).appendTo(h))}})}),b=a("#color-picker"),c=a("#colors-css"),d=a("input#user_id").val(),g=a('input[name="checkuser_id"]').val(),b.on("click.colorpicker",".color-option",function(){var b,e=a(this);if(!e.hasClass("selected")&&(e.siblings(".selected").removeClass("selected"),e.addClass("selected").find('input[type="radio"]').prop("checked",!0),d===g)){if(0===c.length&&(c=a('<link rel="stylesheet" />').appendTo("head")),c.attr("href",e.children(".css_url").val()),"undefined"!=typeof wp&&wp.svgPainter){try{b=a.parseJSON(e.children(".icon_colors").val())}catch(f){}b&&(wp.svgPainter.setColors(b),wp.svgPainter.paint())}a.post(ajaxurl,{action:"save-user-color-scheme",color_scheme:e.children('input[name="admin_color"]').val(),nonce:a("#color-nonce").val()}).done(function(b){b.success&&a("body").removeClass(b.data.previousScheme).addClass(b.data.currentScheme)})}}),e()}),a("#destroy-sessions").on("click",function(b){var c=a(this);wp.ajax.post("destroy-sessions",{nonce:a("#_wpnonce").val(),user_id:a("#user_id").val()}).done(function(a){c.prop("disabled",!0),c.siblings(".notice").remove(),c.before('<div class="notice notice-success inline"><p>'+a.message+"</p></div>")}).fail(function(a){c.siblings(".notice").remove(),c.before('<div class="notice notice-error inline"><p>'+a.message+"</p></div>")}),b.preventDefault()}),window.generatePassword=b,a(window).on("beforeunload",function(){return!0===r?userProfileL10n.warn:void 0})}(jQuery);
\ No newline at end of file
index 7fdd02957be210d5206a8ed035ca78b8499db17a..000921a0be6b4567c7ec1a6177af5261c935669d 100644 (file)
@@ -4,6 +4,12 @@ var wpWidgets;
        var $document = $( document );
 
 wpWidgets = {
+       /**
+        * A closed Sidebar that gets a Widget dragged over it.
+        *
+        * @var element|null
+        */
+       hoveredSidebar: null,
 
        init : function() {
                var rem, the_id,
@@ -94,6 +100,7 @@ wpWidgets = {
                        helper: 'clone',
                        zIndex: 100,
                        containment: '#wpwrap',
+                       refreshPositions: true,
                        start: function( event, ui ) {
                                var chooser = $(this).find('.widgets-chooser');
 
@@ -117,6 +124,45 @@ wpWidgets = {
                        }
                });
 
+               /**
+                * Opens and closes previously closed Sidebars when Widgets are dragged over/out of them.
+                */
+               sidebars.droppable( {
+                       tolerance: 'intersect',
+
+                       /**
+                        * Open Sidebar when a Widget gets dragged over it.
+                        *
+                        * @param event
+                        */
+                       over: function( event ) {
+                               var $wrap = $( event.target ).parent();
+
+                               if ( wpWidgets.hoveredSidebar && ! $wrap.is( wpWidgets.hoveredSidebar ) ) {
+                                       // Close the previous Sidebar as the Widget has been dragged onto another Sidebar.
+                                       wpWidgets.closeSidebar( event );
+                               }
+
+                               if ( $wrap.hasClass( 'closed' ) ) {
+                                       wpWidgets.hoveredSidebar = $wrap;
+                                       $wrap.removeClass( 'closed' );
+                               }
+
+                               $( this ).sortable( 'refresh' );
+                       },
+
+                       /**
+                        * Close Sidebar when the Widget gets dragged out of it.
+                        *
+                        * @param event
+                        */
+                       out: function( event ) {
+                               if ( wpWidgets.hoveredSidebar ) {
+                                       wpWidgets.closeSidebar( event );
+                               }
+                       }
+               } );
+
                sidebars.sortable({
                        placeholder: 'widget-placeholder',
                        items: '> .widget',
@@ -124,6 +170,8 @@ wpWidgets = {
                        cursor: 'move',
                        distance: 2,
                        containment: '#wpwrap',
+                       tolerance: 'pointer',
+                       refreshPositions: true,
                        start: function( event, ui ) {
                                var height, $this = $(this),
                                        $wrap = $this.parent(),
@@ -147,6 +195,9 @@ wpWidgets = {
                                        $widget = ui.item,
                                        id = the_id;
 
+                               // Reset the var to hold a previously closed sidebar.
+                               wpWidgets.hoveredSidebar = null;
+
                                if ( $widget.hasClass('deleting') ) {
                                        wpWidgets.save( $widget, 1, 0, 1 ); // delete widget
                                        $widget.remove();
@@ -490,6 +541,19 @@ wpWidgets = {
        clearWidgetSelection: function() {
                $( '#widgets-left' ).removeClass( 'chooser' );
                $( '.widget-in-question' ).removeClass( 'widget-in-question' );
+       },
+
+       /**
+        * Closes a Sidebar that was previously closed, but opened by dragging a Widget over it.
+        *
+        * Used when a Widget gets dragged in/out of the Sidebar and never dropped.
+        *
+        * @param sidebar
+        */
+       closeSidebar: function( sidebar ) {
+               this.hoveredSidebar.addClass( 'closed' );
+               $( sidebar.target ).css( 'min-height', '' );
+               this.hoveredSidebar = null;
        }
 };
 
index f12409d424b6bf44865cc94444d2fff9431e0bd8..efee514180e2c4bee0b8c22a458701ad97543a76 100644 (file)
@@ -1 +1 @@
-var wpWidgets;!function(a){var b=a(document);wpWidgets={init:function(){var c,d,e=this,f=a(".widgets-chooser"),g=f.find(".widgets-chooser-sidebars"),h=a("div.widgets-sortables"),i=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var c=a(this),d=c.closest(".widgets-holder-wrap");d.hasClass("closed")?(d.removeClass("closed"),c.parent().sortable("refresh")):d.addClass("closed"),b.triggerHandler("wp-pin-menu")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed"),b.triggerHandler("wp-pin-menu")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,h=a(b.target),j={"z-index":100};h.parents(".widget-top").length&&!h.parents("#available-widgets").length?(c=h.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?i?"margin-right":"margin-left":i?"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()):h.hasClass("widget-control-save")?(wpWidgets.save(h.closest("div.widget"),0,1,0),b.preventDefault()):h.hasClass("widget-control-remove")?(wpWidgets.save(h.closest("div.widget"),1,1,0),b.preventDefault()):h.hasClass("widget-control-close")&&(c=h.closest("div.widget"),c.removeClass("open"),wpWidgets.close(c),b.preventDefault())}),h.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:"#wpwrap",start:function(b,c){var f=a(this).find(".widgets-chooser");c.helper.find("div.widget-description").hide(),d=this.id,f.length&&(a("#wpbody-content").append(f.hide()),c.helper.find(".widgets-chooser").remove(),e.clearWidgetSelection())},stop:function(){c&&a(c).hide(),c=""}}),h.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"#wpwrap",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(e,f){var g,h,i,j,k,l,m=f.item,n=d;return m.hasClass("deleting")?(wpWidgets.save(m,1,0,1),void m.remove()):(g=m.find("input.add_new").val(),h=m.find("input.multi_number").val(),m.attr("style","").removeClass("ui-draggable"),d="",g&&("multi"===g?(m.html(m.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,h)})),m.attr("id",n.replace("__i__",h)),h++,a("div#"+n).find("input.multi_number").val(h)):"single"===g&&(m.attr("id","new-"+n),c="div#"+n),wpWidgets.save(m,0,0,1),m.find("input.add_new").val(""),b.trigger("widget-added",[m])),i=m.parent(),i.parent().hasClass("closed")&&(i.parent().removeClass("closed"),j=i.children(".widget"),j.length>1&&(k=j.get(0),l=m.get(0),k.id&&l.id&&k.id!==l.id&&a(k).before(m))),void(g?m.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(i.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").empty()},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").empty()}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),f=d.find(".widgets-sortables").attr("id"),h=a('<li tabindex="0">').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),g.append(h),h.data("sidebarId",f)}),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")?e.closeChooser():(e.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question").children(".widget-description").after(f),f.slideDown(300,function(){g.find(".widgets-chooser-selected").focus()}),g.find("li").on("focusin.widgets-chooser",function(){g.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),f.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(e.addWidget(f),e.closeChooser()):c.hasClass("button-secondary")&&e.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?e.closeChooser():(e.addWidget(f),e.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&e.closeChooser()})},saveOrder:function(b){var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};b&&a("#"+b).find(".spinner:first").addClass("is-active"),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").removeClass("is-active")})},save:function(c,d,e,f){var g,h=c.closest("div.widgets-sortables").attr("id"),i=c.find("form").serialize();c=a(c),a(".spinner",c).addClass("is-active"),g={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h},d&&(g.delete_widget=1),i+="&"+a.param(g),a.post(ajaxurl,i,function(g){var h;d?(a("input.widget_number",c).val()||(h=a("input.widget-id",c).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===h&&a(this).closest("div.widget").show()})),e?(f=0,c.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):c.remove()):(a(".spinner").removeClass("is-active"),g&&g.length>2&&(a("div.widget-content",c).html(g),wpWidgets.appendTitle(c),b.trigger("widget-updated",[c]))),f&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(/</g,"&lt;").replace(/>/g,"&gt;")),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(c){var d,e,f,g,h,i,j,k=c.find(".widgets-chooser-selected").data("sidebarId"),l=a("#"+k);d=a("#available-widgets").find(".widget-in-question").clone(),e=d.attr("id"),f=d.find("input.add_new").val(),g=d.find("input.multi_number").val(),d.find(".widgets-chooser").remove(),"multi"===f?(d.html(d.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),d.attr("id",e.replace("__i__",g)),g++,a("#"+e).find("input.multi_number").val(g)):"single"===f&&(d.attr("id","new-"+e),a("#"+e).hide()),l.closest(".widgets-holder-wrap").removeClass("closed"),l.append(d),l.sortable("refresh"),wpWidgets.save(d,0,0,1),d.find("input.add_new").val(""),b.trigger("widget-added",[d]),h=a(window).scrollTop(),i=h+a(window).height(),j=l.offset(),j.bottom=j.top+l.outerHeight(),(h>j.bottom||i<j.top)&&a("html, body").animate({scrollTop:j.top-130},200),window.setTimeout(function(){d.find(".widget-title").trigger("click")},250)},closeChooser:function(){var b=this;a(".widgets-chooser").slideUp(200,function(){a("#wpbody-content").append(this),b.clearWidgetSelection()})},clearWidgetSelection:function(){a("#widgets-left").removeClass("chooser"),a(".widget-in-question").removeClass("widget-in-question")}},b.ready(function(){wpWidgets.init()})}(jQuery);
\ No newline at end of file
+var wpWidgets;!function(a){var b=a(document);wpWidgets={hoveredSidebar:null,init:function(){var c,d,e=this,f=a(".widgets-chooser"),g=f.find(".widgets-chooser-sidebars"),h=a("div.widgets-sortables"),i=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var c=a(this),d=c.closest(".widgets-holder-wrap");d.hasClass("closed")?(d.removeClass("closed"),c.parent().sortable("refresh")):d.addClass("closed"),b.triggerHandler("wp-pin-menu")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed"),b.triggerHandler("wp-pin-menu")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,h=a(b.target),j={"z-index":100};h.parents(".widget-top").length&&!h.parents("#available-widgets").length?(c=h.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?i?"margin-right":"margin-left":i?"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()):h.hasClass("widget-control-save")?(wpWidgets.save(h.closest("div.widget"),0,1,0),b.preventDefault()):h.hasClass("widget-control-remove")?(wpWidgets.save(h.closest("div.widget"),1,1,0),b.preventDefault()):h.hasClass("widget-control-close")&&(c=h.closest("div.widget"),c.removeClass("open"),wpWidgets.close(c),b.preventDefault())}),h.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:"#wpwrap",refreshPositions:!0,start:function(b,c){var f=a(this).find(".widgets-chooser");c.helper.find("div.widget-description").hide(),d=this.id,f.length&&(a("#wpbody-content").append(f.hide()),c.helper.find(".widgets-chooser").remove(),e.clearWidgetSelection())},stop:function(){c&&a(c).hide(),c=""}}),h.droppable({tolerance:"intersect",over:function(b){var c=a(b.target).parent();wpWidgets.hoveredSidebar&&!c.is(wpWidgets.hoveredSidebar)&&wpWidgets.closeSidebar(b),c.hasClass("closed")&&(wpWidgets.hoveredSidebar=c,c.removeClass("closed")),a(this).sortable("refresh")},out:function(a){wpWidgets.hoveredSidebar&&wpWidgets.closeSidebar(a)}}),h.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"#wpwrap",tolerance:"pointer",refreshPositions:!0,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(e,f){var g,h,i,j,k,l,m=f.item,n=d;return wpWidgets.hoveredSidebar=null,m.hasClass("deleting")?(wpWidgets.save(m,1,0,1),void m.remove()):(g=m.find("input.add_new").val(),h=m.find("input.multi_number").val(),m.attr("style","").removeClass("ui-draggable"),d="",g&&("multi"===g?(m.html(m.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,h)})),m.attr("id",n.replace("__i__",h)),h++,a("div#"+n).find("input.multi_number").val(h)):"single"===g&&(m.attr("id","new-"+n),c="div#"+n),wpWidgets.save(m,0,0,1),m.find("input.add_new").val(""),b.trigger("widget-added",[m])),i=m.parent(),i.parent().hasClass("closed")&&(i.parent().removeClass("closed"),j=i.children(".widget"),j.length>1&&(k=j.get(0),l=m.get(0),k.id&&l.id&&k.id!==l.id&&a(k).before(m))),void(g?m.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(i.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").empty()},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").empty()}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),f=d.find(".widgets-sortables").attr("id"),h=a('<li tabindex="0">').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),g.append(h),h.data("sidebarId",f)}),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")?e.closeChooser():(e.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question").children(".widget-description").after(f),f.slideDown(300,function(){g.find(".widgets-chooser-selected").focus()}),g.find("li").on("focusin.widgets-chooser",function(){g.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),f.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(e.addWidget(f),e.closeChooser()):c.hasClass("button-secondary")&&e.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?e.closeChooser():(e.addWidget(f),e.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&e.closeChooser()})},saveOrder:function(b){var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};b&&a("#"+b).find(".spinner:first").addClass("is-active"),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").removeClass("is-active")})},save:function(c,d,e,f){var g,h=c.closest("div.widgets-sortables").attr("id"),i=c.find("form").serialize();c=a(c),a(".spinner",c).addClass("is-active"),g={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h},d&&(g.delete_widget=1),i+="&"+a.param(g),a.post(ajaxurl,i,function(g){var h;d?(a("input.widget_number",c).val()||(h=a("input.widget-id",c).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===h&&a(this).closest("div.widget").show()})),e?(f=0,c.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):c.remove()):(a(".spinner").removeClass("is-active"),g&&g.length>2&&(a("div.widget-content",c).html(g),wpWidgets.appendTitle(c),b.trigger("widget-updated",[c]))),f&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(/</g,"&lt;").replace(/>/g,"&gt;")),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(c){var d,e,f,g,h,i,j,k=c.find(".widgets-chooser-selected").data("sidebarId"),l=a("#"+k);d=a("#available-widgets").find(".widget-in-question").clone(),e=d.attr("id"),f=d.find("input.add_new").val(),g=d.find("input.multi_number").val(),d.find(".widgets-chooser").remove(),"multi"===f?(d.html(d.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),d.attr("id",e.replace("__i__",g)),g++,a("#"+e).find("input.multi_number").val(g)):"single"===f&&(d.attr("id","new-"+e),a("#"+e).hide()),l.closest(".widgets-holder-wrap").removeClass("closed"),l.append(d),l.sortable("refresh"),wpWidgets.save(d,0,0,1),d.find("input.add_new").val(""),b.trigger("widget-added",[d]),h=a(window).scrollTop(),i=h+a(window).height(),j=l.offset(),j.bottom=j.top+l.outerHeight(),(h>j.bottom||i<j.top)&&a("html, body").animate({scrollTop:j.top-130},200),window.setTimeout(function(){d.find(".widget-title").trigger("click")},250)},closeChooser:function(){var b=this;a(".widgets-chooser").slideUp(200,function(){a("#wpbody-content").append(this),b.clearWidgetSelection()})},clearWidgetSelection:function(){a("#widgets-left").removeClass("chooser"),a(".widget-in-question").removeClass("widget-in-question")},closeSidebar:function(b){this.hoveredSidebar.addClass("closed"),a(b.target).css("min-height",""),this.hoveredSidebar=null}},b.ready(function(){wpWidgets.init()})}(jQuery);
\ No newline at end of file
index 0c537ba179c1fb75dd76ffbed3381cf11d4a5755..c0255fd295bed314e8af6bc9402eb103bde71a16 100644 (file)
-/* global wordCountL10n */
-var wpWordCount;
-(function($,undefined) {
-       wpWordCount = {
-
-               settings : {
-                       strip : /<[a-zA-Z\/][^<>]*>/g, // strip HTML tags
-                       clean : /[0-9.(),;:!?%#$¿'"_+=\\/-]+/g, // regexp to remove punctuation, etc.
-                       w : /\S\s+/g, // word-counting regexp
-                       c : /\S/g // char-counting regexp for asian languages
-               },
-
-               block : 0,
-
-               wc : function(tx, type) {
-                       var t = this, w = $('.word-count'), tc = 0;
-
-                       if ( type === undefined )
-                               type = wordCountL10n.type;
-                       if ( type !== 'w' && type !== 'c' )
-                               type = 'w';
-
-                       if ( t.block )
-                               return;
-
-                       t.block = 1;
-
-                       setTimeout( function() {
-                               if ( tx ) {
-                                       tx = tx.replace( t.settings.strip, ' ' ).replace( /&nbsp;|&#160;/gi, ' ' );
-                                       tx = tx.replace( t.settings.clean, '' );
-                                       tx.replace( t.settings[type], function(){tc++;} );
+( function() {
+       function WordCounter( settings ) {
+               var key,
+                       shortcodes;
+
+               if ( settings ) {
+                       for ( key in settings ) {
+                               if ( settings.hasOwnProperty( key ) ) {
+                                       this.settings[ key ] = settings[ key ];
                                }
-                               w.html(tc.toString());
+                       }
+               }
+
+               shortcodes = this.settings.l10n.shortcodes;
+
+               if ( shortcodes && shortcodes.length ) {
+                       this.settings.shortcodesRegExp = new RegExp( '\\[\\/?(?:' + shortcodes.join( '|' ) + ')[^\\]]*?\\]', 'g' );
+               }
+       }
+
+       WordCounter.prototype.settings = {
+               HTMLRegExp: /<\/?[a-z][^>]*?>/gi,
+               HTMLcommentRegExp: /<!--[\s\S]*?-->/g,
+               spaceRegExp: /&nbsp;|&#160;/gi,
+               HTMLEntityRegExp: /&\S+?;/g,
+               connectorRegExp: /--|\u2014/g,
+               removeRegExp: new RegExp( [
+                       '[',
+                               // Basic Latin (extract)
+                               '\u0021-\u0040\u005B-\u0060\u007B-\u007E',
+                               // Latin-1 Supplement (extract)
+                               '\u0080-\u00BF\u00D7\u00F7',
+                               // General Punctuation
+                               // Superscripts and Subscripts
+                               // Currency Symbols
+                               // Combining Diacritical Marks for Symbols
+                               // Letterlike Symbols
+                               // Number Forms
+                               // Arrows
+                               // Mathematical Operators
+                               // Miscellaneous Technical
+                               // Control Pictures
+                               // Optical Character Recognition
+                               // Enclosed Alphanumerics
+                               // Box Drawing
+                               // Block Elements
+                               // Geometric Shapes
+                               // Miscellaneous Symbols
+                               // Dingbats
+                               // Miscellaneous Mathematical Symbols-A
+                               // Supplemental Arrows-A
+                               // Braille Patterns
+                               // Supplemental Arrows-B
+                               // Miscellaneous Mathematical Symbols-B
+                               // Supplemental Mathematical Operators
+                               // Miscellaneous Symbols and Arrows
+                               '\u2000-\u2BFF',
+                               // Supplemental Punctuation
+                               '\u2E00-\u2E7F',
+                       ']'
+               ].join( '' ), 'g' ),
+               astralRegExp: /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
+               wordsRegExp: /\S\s+/g,
+               characters_excluding_spacesRegExp: /\S/g,
+               characters_including_spacesRegExp: /[^\f\n\r\t\v\u00AD\u2028\u2029]/g,
+               l10n: window.wordCountL10n || {}
+       };
+
+       WordCounter.prototype.count = function( text, type ) {
+               var count = 0;
+
+               type = type || this.settings.l10n.type;
 
-                               setTimeout( function() { t.block = 0; }, 2000 );
-                       }, 1 );
+               if ( type !== 'characters_excluding_spaces' && type !== 'characters_including_spaces' ) {
+                       type = 'words';
                }
+
+               if ( text ) {
+                       text = text + '\n';
+
+                       text = text.replace( this.settings.HTMLRegExp, '\n' );
+                       text = text.replace( this.settings.HTMLcommentRegExp, '' );
+
+                       if ( this.settings.shortcodesRegExp ) {
+                               text = text.replace( this.settings.shortcodesRegExp, '\n' );
+                       }
+
+                       text = text.replace( this.settings.spaceRegExp, ' ' );
+
+                       if ( type === 'words' ) {
+                               text = text.replace( this.settings.HTMLEntityRegExp, '' );
+                               text = text.replace( this.settings.connectorRegExp, ' ' );
+                               text = text.replace( this.settings.removeRegExp, '' );
+                       } else {
+                               text = text.replace( this.settings.HTMLEntityRegExp, 'a' );
+                               text = text.replace( this.settings.astralRegExp, 'a' );
+                       }
+
+                       text = text.match( this.settings[ type + 'RegExp' ] );
+
+                       if ( text ) {
+                               count = text.length;
+                       }
+               }
+
+               return count;
        };
 
-       $(document).bind( 'wpcountwords', function(e, txt) {
-               wpWordCount.wc(txt);
-       });
-}(jQuery));
+       window.wp = window.wp || {};
+       window.wp.utils = window.wp.utils || {};
+       window.wp.utils.WordCounter = WordCounter;
+} )();
index cfe5c702c1e78ed97f25392536773d1d963ea634..296ef2578f8742bea68e6157a1d5c4f3b11da80b 100644 (file)
@@ -1 +1 @@
-var wpWordCount;!function(a,b){wpWordCount={settings:{strip:/<[a-zA-Z\/][^<>]*>/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(/&nbsp;|&#160;/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
+!function(){function a(a){var b,c;if(a)for(b in a)a.hasOwnProperty(b)&&(this.settings[b]=a[b]);c=this.settings.l10n.shortcodes,c&&c.length&&(this.settings.shortcodesRegExp=new RegExp("\\[\\/?(?:"+c.join("|")+")[^\\]]*?\\]","g"))}a.prototype.settings={HTMLRegExp:/<\/?[a-z][^>]*?>/gi,HTMLcommentRegExp:/<!--[\s\S]*?-->/g,spaceRegExp:/&nbsp;|&#160;/gi,HTMLEntityRegExp:/&\S+?;/g,connectorRegExp:/--|\u2014/g,removeRegExp:new RegExp(["[","!-@[-`{-~","\x80-\xbf\xd7\xf7","\u2000-\u2bff","\u2e00-\u2e7f","]"].join(""),"g"),astralRegExp:/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,wordsRegExp:/\S\s+/g,characters_excluding_spacesRegExp:/\S/g,characters_including_spacesRegExp:/[^\f\n\r\t\v\u00AD\u2028\u2029]/g,l10n:window.wordCountL10n||{}},a.prototype.count=function(a,b){var c=0;return b=b||this.settings.l10n.type,"characters_excluding_spaces"!==b&&"characters_including_spaces"!==b&&(b="words"),a&&(a+="\n",a=a.replace(this.settings.HTMLRegExp,"\n"),a=a.replace(this.settings.HTMLcommentRegExp,""),this.settings.shortcodesRegExp&&(a=a.replace(this.settings.shortcodesRegExp,"\n")),a=a.replace(this.settings.spaceRegExp," "),"words"===b?(a=a.replace(this.settings.HTMLEntityRegExp,""),a=a.replace(this.settings.connectorRegExp," "),a=a.replace(this.settings.removeRegExp,"")):(a=a.replace(this.settings.HTMLEntityRegExp,"a"),a=a.replace(this.settings.astralRegExp,"a")),a=a.match(this.settings[b+"RegExp"]),a&&(c=a.length)),c},window.wp=window.wp||{},window.wp.utils=window.wp.utils||{},window.wp.utils.WordCounter=a}();
\ No newline at end of file
diff --git a/wp-admin/js/wp-fullscreen-stub.js b/wp-admin/js/wp-fullscreen-stub.js
new file mode 100644 (file)
index 0000000..c31c7ee
--- /dev/null
@@ -0,0 +1,39 @@
+/**
+ * Distraction-Free Writing (wp-fullscreen) backwards compatibility stub.
+ * Todo: remove at the end of 2016.
+ *
+ * Original was deprecated in 4.1, removed in 4.3.
+ */
+( function() {
+       var noop = function(){};
+
+       window.wp = window.wp || {};
+       window.wp.editor = window.wp.editor || {};
+       window.wp.editor.fullscreen = {
+               bind_resize: noop,
+               dfwWidth: noop,
+               off: noop,
+               on: noop,
+               refreshButtons: noop,
+               resizeTextarea: noop,
+               save: noop,
+               switchmode: noop,
+               toggleUI: noop,
+
+               settings: {},
+               pubsub: {
+                       publish: noop,
+                       subscribe: noop,
+                       unsubscribe: noop,
+                       topics: {}
+               },
+               fade: {
+                       In: noop,
+                       Out: noop
+               },
+               ui: {
+                       fade: noop,
+                       init: noop
+               }
+       };
+}());
diff --git a/wp-admin/js/wp-fullscreen-stub.min.js b/wp-admin/js/wp-fullscreen-stub.min.js
new file mode 100644 (file)
index 0000000..11f3357
--- /dev/null
@@ -0,0 +1 @@
+!function(){var a=function(){};window.wp=window.wp||{},window.wp.editor=window.wp.editor||{},window.wp.editor.fullscreen={bind_resize:a,dfwWidth:a,off:a,on:a,refreshButtons:a,resizeTextarea:a,save:a,switchmode:a,toggleUI:a,settings:{},pubsub:{publish:a,subscribe:a,unsubscribe:a,topics:{}},fade:{In:a,Out:a},ui:{fade:a,init:a}}}();
\ No newline at end of file
diff --git a/wp-admin/js/wp-fullscreen.js b/wp-admin/js/wp-fullscreen.js
deleted file mode 100644 (file)
index cb8c8e0..0000000
+++ /dev/null
@@ -1,704 +0,0 @@
-/* global deleteUserSetting, setUserSetting, switchEditors, tinymce, tinyMCEPreInit */
-/**
- * Distraction-Free Writing
- * (wp-fullscreen)
- *
- * Access the API globally using the window.wp.editor.fullscreen variable.
- */
-( function( $, window ) {
-       var api, ps, s, toggleUI, uiTimer, PubSub,
-               uiScrollTop = 0,
-               transitionend = 'transitionend webkitTransitionEnd',
-               $body = $( document.body ),
-               $document = $( document );
-
-       /**
-        * PubSub
-        *
-        * A lightweight publish/subscribe implementation.
-        *
-        * @access private
-        */
-       PubSub = function() {
-               this.topics = {};
-
-               this.subscribe = function( topic, callback ) {
-                       if ( ! this.topics[ topic ] )
-                               this.topics[ topic ] = [];
-
-                       this.topics[ topic ].push( callback );
-                       return callback;
-               };
-
-               this.unsubscribe = function( topic, callback ) {
-                       var i, l,
-                               topics = this.topics[ topic ];
-
-                       if ( ! topics )
-                               return callback || [];
-
-                       // Clear matching callbacks
-                       if ( callback ) {
-                               for ( i = 0, l = topics.length; i < l; i++ ) {
-                                       if ( callback == topics[i] )
-                                               topics.splice( i, 1 );
-                               }
-                               return callback;
-
-                       // Clear all callbacks
-                       } else {
-                               this.topics[ topic ] = [];
-                               return topics;
-                       }
-               };
-
-               this.publish = function( topic, args ) {
-                       var i, l, broken,
-                               topics = this.topics[ topic ];
-
-                       if ( ! topics )
-                               return;
-
-                       args = args || [];
-
-                       for ( i = 0, l = topics.length; i < l; i++ ) {
-                               broken = ( topics[i].apply( null, args ) === false || broken );
-                       }
-                       return ! broken;
-               };
-       };
-
-       // Initialize the fullscreen/api object
-       api = {};
-
-       // Create the PubSub (publish/subscribe) interface.
-       ps = api.pubsub = new PubSub();
-
-       s = api.settings = { // Settings
-               visible: false,
-               mode: 'tinymce',
-               id: '',
-               title_id: '',
-               timer: 0,
-               toolbar_shown: false
-       };
-
-       function _hideUI() {
-               $body.removeClass('wp-dfw-show-ui');
-       }
-
-       /**
-        * toggleUI
-        *
-        * Toggle the CSS class to show/hide the toolbar, borders and statusbar.
-        */
-       toggleUI = api.toggleUI = function( show ) {
-               clearTimeout( uiTimer );
-
-               if ( ! $body.hasClass('wp-dfw-show-ui') || show === 'show' ) {
-                       $body.addClass('wp-dfw-show-ui');
-               } else if ( show !== 'autohide' ) {
-                       $body.removeClass('wp-dfw-show-ui');
-               }
-
-               if ( show === 'autohide' ) {
-                       uiTimer = setTimeout( _hideUI, 2000 );
-               }
-       };
-
-       function resetCssPosition( add ) {
-               s.$dfwWrap.parents().each( function( i, parent ) {
-                       var cssPosition, $parent = $(parent);
-
-                       if ( add ) {
-                               if ( parent.style.position ) {
-                                       $parent.data( 'wp-dfw-css-position', parent.style.position );
-                               }
-
-                               $parent.css( 'position', 'static' );
-                       } else {
-                               cssPosition = $parent.data( 'wp-dfw-css-position' );
-                               cssPosition = cssPosition || '';
-                               $parent.css( 'position', cssPosition );
-                       }
-
-                       if ( parent.nodeName === 'BODY' ) {
-                               return false;
-                       }
-               });
-       }
-
-       /**
-        * on()
-        *
-        * Turns fullscreen on.
-        *
-        * @param string mode Optional. Switch to the given mode before opening.
-        */
-       api.on = function() {
-               var id, $dfwWrap, titleId;
-
-               if ( s.visible ) {
-                       return;
-               }
-
-               if ( ! s.$fullscreenFader ) {
-                       api.ui.init();
-               }
-
-               // Settings can be added or changed by defining "wp_fullscreen_settings" JS object.
-               if ( typeof window.wp_fullscreen_settings === 'object' )
-                       $.extend( s, window.wp_fullscreen_settings );
-
-               id = s.id || window.wpActiveEditor;
-
-               if ( ! id ) {
-                       if ( s.hasTinymce ) {
-                               id = tinymce.activeEditor.id;
-                       } else {
-                               return;
-                       }
-               }
-
-               s.id = id;
-               $dfwWrap = s.$dfwWrap = $( '#wp-' + id + '-wrap' );
-
-               if ( ! $dfwWrap.length ) {
-                       return;
-               }
-
-               s.$dfwTextarea = $( '#' + id );
-               s.$editorContainer = $dfwWrap.find( '.wp-editor-container' );
-               uiScrollTop = $document.scrollTop();
-
-               if ( s.hasTinymce ) {
-                       s.editor = tinymce.get( id );
-               }
-
-               if ( s.editor && ! s.editor.isHidden() ) {
-                       s.origHeight = $( '#' + id + '_ifr' ).height();
-                       s.mode = 'tinymce';
-               } else {
-                       s.origHeight = s.$dfwTextarea.height();
-                       s.mode = 'html';
-               }
-
-               // Try to find title field
-               if ( typeof window.adminpage !== 'undefined' &&
-                       ( window.adminpage === 'post-php' || window.adminpage === 'post-new-php' ) ) {
-
-                       titleId = 'title';
-               } else {
-                       titleId = id + '-title';
-               }
-
-               s.$dfwTitle = $( '#' + titleId );
-
-               if ( ! s.$dfwTitle.length ) {
-                       s.$dfwTitle = null;
-               }
-
-               api.ui.fade( 'show', 'showing', 'shown' );
-       };
-
-       /**
-        * off()
-        *
-        * Turns fullscreen off.
-        */
-       api.off = function() {
-               if ( ! s.visible )
-                       return;
-
-               api.ui.fade( 'hide', 'hiding', 'hidden' );
-       };
-
-       /**
-        * switchmode()
-        *
-        * @return string - The current mode.
-        *
-        * @param string to - The fullscreen mode to switch to.
-        * @event switchMode
-        * @eventparam string to   - The new mode.
-        * @eventparam string from - The old mode.
-        */
-       api.switchmode = function( to ) {
-               var from = s.mode;
-
-               if ( ! to || ! s.visible || ! s.hasTinymce || typeof switchEditors === 'undefined' ) {
-                       return from;
-               }
-
-               // Don't switch if the mode is the same.
-               if ( from == to )
-                       return from;
-
-               if ( to === 'tinymce' && ! s.editor ) {
-                       s.editor = tinymce.get( s.id );
-
-                       if ( ! s.editor &&  typeof tinyMCEPreInit !== 'undefined' &&
-                               tinyMCEPreInit.mceInit && tinyMCEPreInit.mceInit[ s.id ] ) {
-
-                               // If the TinyMCE instance hasn't been created, set the "wp_fulscreen" flag on creating it
-                               tinyMCEPreInit.mceInit[ s.id ].wp_fullscreen = true;
-                       }
-               }
-
-               s.mode = to;
-               switchEditors.go( s.id, to );
-               api.refreshButtons( true );
-
-               if ( to === 'html' ) {
-                       setTimeout( api.resizeTextarea, 200 );
-               }
-
-               return to;
-       };
-
-       /**
-        * General
-        */
-
-       api.save = function() {
-               var $hidden = $('#hiddenaction'),
-                       oldVal = $hidden.val(),
-                       $spinner = $('#wp-fullscreen-save .spinner'),
-                       $saveMessage = $('#wp-fullscreen-save .wp-fullscreen-saved-message'),
-                       $errorMessage = $('#wp-fullscreen-save .wp-fullscreen-error-message');
-
-               $spinner.addClass( 'is-active' );
-               $errorMessage.hide();
-               $saveMessage.hide();
-               $hidden.val('wp-fullscreen-save-post');
-
-               if ( s.editor && ! s.editor.isHidden() ) {
-                       s.editor.save();
-               }
-
-               $.ajax({
-                       url: window.ajaxurl,
-                       type: 'post',
-                       data: $('form#post').serialize(),
-                       dataType: 'json'
-               }).done( function( response ) {
-                       $spinner.removeClass( 'is-active' );
-
-                       if ( response && response.success ) {
-                               $saveMessage.show();
-
-                               setTimeout( function() {
-                                       $saveMessage.fadeOut(300);
-                               }, 3000 );
-
-                               if ( response.data && response.data.last_edited ) {
-                                       $('#wp-fullscreen-save input').attr( 'title',  response.data.last_edited );
-                               }
-                       } else {
-                               $errorMessage.show();
-                       }
-               }).fail( function() {
-                       $spinner.removeClass( 'is-active' );
-                       $errorMessage.show();
-               });
-
-               $hidden.val( oldVal );
-       };
-
-       api.dfwWidth = function( pixels, total ) {
-               var width;
-
-               if ( pixels && pixels.toString().indexOf('%') !== -1 ) {
-                       s.$editorContainer.css( 'width', pixels );
-                       s.$statusbar.css( 'width', pixels );
-
-                       if ( s.$dfwTitle ) {
-                               s.$dfwTitle.css( 'width', pixels );
-                       }
-                       return;
-               }
-
-               if ( ! pixels ) {
-                       // Reset to theme width
-                       width = $('#wp-fullscreen-body').data('theme-width') || 800;
-                       s.$editorContainer.width( width );
-                       s.$statusbar.width( width );
-
-                       if ( s.$dfwTitle ) {
-                               s.$dfwTitle.width( width - 16 );
-                       }
-
-                       deleteUserSetting('dfw_width');
-                       return;
-               }
-
-               if ( total ) {
-                       width = pixels;
-               } else {
-                       width = s.$editorContainer.width();
-                       width += pixels;
-               }
-
-               if ( width < 200 || width > 1200 ) {
-                       // sanity check
-                       return;
-               }
-
-               s.$editorContainer.width( width );
-               s.$statusbar.width( width );
-
-               if ( s.$dfwTitle ) {
-                       s.$dfwTitle.width( width - 16 );
-               }
-
-               setUserSetting( 'dfw_width', width );
-       };
-
-       // This event occurs before the overlay blocks the UI.
-       ps.subscribe( 'show', function() {
-               var title = $('#last-edit').text();
-
-               if ( title ) {
-                       $('#wp-fullscreen-save input').attr( 'title', title );
-               }
-       });
-
-       // This event occurs while the overlay blocks the UI.
-       ps.subscribe( 'showing', function() {
-               $body.addClass( 'wp-fullscreen-active' );
-               s.$dfwWrap.addClass( 'wp-fullscreen-wrap' );
-
-               if ( s.$dfwTitle ) {
-                       s.$dfwTitle.after( '<span id="wp-fullscreen-title-placeholder">' );
-                       s.$dfwWrap.prepend( s.$dfwTitle.addClass('wp-fullscreen-title') );
-               }
-
-               api.refreshButtons();
-               resetCssPosition( true );
-               $('#wpadminbar').hide();
-
-               // Show the UI for 2 sec. when opening
-               toggleUI('autohide');
-
-               api.bind_resize();
-
-               if ( s.editor ) {
-                       s.editor.execCommand( 'wpFullScreenOn' );
-               }
-
-               if ( 'ontouchstart' in window ) {
-                       api.dfwWidth( '90%' );
-               } else {
-                       api.dfwWidth( $( '#wp-fullscreen-body' ).data('dfw-width') || 800, true );
-               }
-
-               // scroll to top so the user is not disoriented
-               scrollTo(0, 0);
-       });
-
-       // This event occurs after the overlay unblocks the UI
-       ps.subscribe( 'shown', function() {
-               s.visible = true;
-
-               if ( s.editor && ! s.editor.isHidden() ) {
-                       s.editor.execCommand( 'wpAutoResize' );
-               } else {
-                       api.resizeTextarea( 'force' );
-               }
-       });
-
-       ps.subscribe( 'hide', function() { // This event occurs before the overlay blocks DFW.
-               $document.unbind( '.fullscreen' );
-               s.$dfwTextarea.unbind('.wp-dfw-resize');
-       });
-
-       ps.subscribe( 'hiding', function() { // This event occurs while the overlay blocks the DFW UI.
-               $body.removeClass( 'wp-fullscreen-active' );
-
-               if ( s.$dfwTitle ) {
-                       $( '#wp-fullscreen-title-placeholder' ).before( s.$dfwTitle.removeClass('wp-fullscreen-title').css( 'width', '' ) ).remove();
-               }
-
-               s.$dfwWrap.removeClass( 'wp-fullscreen-wrap' );
-               s.$editorContainer.css( 'width', '' );
-               s.$dfwTextarea.add( '#' + s.id + '_ifr' ).height( s.origHeight );
-
-               if ( s.editor ) {
-                       s.editor.execCommand( 'wpFullScreenOff' );
-               }
-
-               resetCssPosition( false );
-
-               window.scrollTo( 0, uiScrollTop );
-               $('#wpadminbar').show();
-       });
-
-       // This event occurs after DFW is removed.
-       ps.subscribe( 'hidden', function() {
-               s.visible = false;
-       });
-
-       api.refreshButtons = function( fade ) {
-               if ( s.mode === 'html' ) {
-                       $('#wp-fullscreen-mode-bar').removeClass('wp-tmce-mode').addClass('wp-html-mode')
-                               .find('a').removeClass( 'active' ).filter('.wp-fullscreen-mode-html').addClass( 'active' );
-
-                       if ( fade ) {
-                               $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
-                                       $(this).addClass('wp-html-mode').fadeIn( 150 );
-                               });
-                       } else {
-                               $('#wp-fullscreen-button-bar').addClass('wp-html-mode');
-                       }
-               } else if ( s.mode === 'tinymce' ) {
-                       $('#wp-fullscreen-mode-bar').removeClass('wp-html-mode').addClass('wp-tmce-mode')
-                               .find('a').removeClass( 'active' ).filter('.wp-fullscreen-mode-tinymce').addClass( 'active' );
-
-                       if ( fade ) {
-                               $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
-                                       $(this).removeClass('wp-html-mode').fadeIn( 150 );
-                               });
-                       } else {
-                               $('#wp-fullscreen-button-bar').removeClass('wp-html-mode');
-                       }
-               }
-       };
-
-       /**
-        * UI Elements
-        *
-        * Used for transitioning between states.
-        */
-       api.ui = {
-               init: function() {
-                       var toolbar;
-
-                       s.toolbar = toolbar = $('#fullscreen-topbar');
-                       s.$fullscreenFader = $('#fullscreen-fader');
-                       s.$statusbar = $('#wp-fullscreen-status');
-                       s.hasTinymce = typeof tinymce !== 'undefined';
-
-                       if ( ! s.hasTinymce )
-                               $('#wp-fullscreen-mode-bar').hide();
-
-                       $document.keyup( function(e) {
-                               var c = e.keyCode || e.charCode, modKey;
-
-                               if ( ! s.visible ) {
-                                       return;
-                               }
-
-                               if ( navigator.platform && navigator.platform.indexOf('Mac') !== -1 ) {
-                                       modKey = e.ctrlKey; // Ctrl key for Mac
-                               } else {
-                                       modKey = e.altKey; // Alt key for Win & Linux
-                               }
-
-                               if ( modKey && ( 61 === c || 107 === c || 187 === c ) ) { // +
-                                       api.dfwWidth( 25 );
-                                       e.preventDefault();
-                               }
-
-                               if ( modKey && ( 45 === c || 109 === c || 189 === c ) ) { // -
-                                       api.dfwWidth( -25 );
-                                       e.preventDefault();
-                               }
-
-                               if ( modKey && 48 === c ) { // 0
-                                       api.dfwWidth( 0 );
-                                       e.preventDefault();
-                               }
-                       });
-
-                       $( window ).on( 'keydown.wp-fullscreen', function( event ) {
-                               // Turn fullscreen off when Esc is pressed.
-                               if ( 27 === event.keyCode && s.visible ) {
-                                       api.off();
-                                       event.stopImmediatePropagation();
-                               }
-                       });
-
-                       if ( 'ontouchstart' in window ) {
-                               $body.addClass('wp-dfw-touch');
-                       }
-
-                       toolbar.on( 'mouseenter', function() {
-                               toggleUI('show');
-                       }).on( 'mouseleave', function() {
-                               toggleUI('autohide');
-                       });
-
-                       // Bind buttons
-                       $('#wp-fullscreen-buttons').on( 'click.wp-fullscreen', 'button', function( event ) {
-                               var command = event.currentTarget.id ? event.currentTarget.id.substr(6) : null;
-
-                               if ( s.editor && 'tinymce' === s.mode ) {
-                                       switch( command ) {
-                                               case 'bold':
-                                                       s.editor.execCommand('Bold');
-                                                       break;
-                                               case 'italic':
-                                                       s.editor.execCommand('Italic');
-                                                       break;
-                                               case 'bullist':
-                                                       s.editor.execCommand('InsertUnorderedList');
-                                                       break;
-                                               case 'numlist':
-                                                       s.editor.execCommand('InsertOrderedList');
-                                                       break;
-                                               case 'link':
-                                                       s.editor.execCommand('WP_Link');
-                                                       break;
-                                               case 'unlink':
-                                                       s.editor.execCommand('unlink');
-                                                       break;
-                                               case 'help':
-                                                       s.editor.execCommand('WP_Help');
-                                                       break;
-                                               case 'blockquote':
-                                                       s.editor.execCommand('mceBlockQuote');
-                                                       break;
-                                       }
-                               } else if ( command === 'link' && window.wpLink ) {
-                                       window.wpLink.open();
-                               }
-
-                               if ( command === 'wp-media-library' && typeof wp !== 'undefined' && wp.media && wp.media.editor ) {
-                                       wp.media.editor.open( s.id );
-                               }
-                       });
-               },
-
-               fade: function( before, during, after ) {
-                       if ( ! s.$fullscreenFader ) {
-                               api.ui.init();
-                       }
-
-                       // If any callback bound to before returns false, bail.
-                       if ( before && ! ps.publish( before ) ) {
-                               return;
-                       }
-
-                       api.fade.In( s.$fullscreenFader, 200, function() {
-                               if ( during ) {
-                                       ps.publish( during );
-                               }
-
-                               api.fade.Out( s.$fullscreenFader, 200, function() {
-                                       if ( after ) {
-                                               ps.publish( after );
-                                       }
-                               });
-                       });
-               }
-       };
-
-       api.fade = {
-               // Sensitivity to allow browsers to render the blank element before animating.
-               sensitivity: 100,
-
-               In: function( element, speed, callback, stop ) {
-
-                       callback = callback || $.noop;
-                       speed = speed || 400;
-                       stop = stop || false;
-
-                       if ( api.fade.transitions ) {
-                               if ( element.is(':visible') ) {
-                                       element.addClass( 'fade-trigger' );
-                                       return element;
-                               }
-
-                               element.show();
-                               element.first().one( transitionend, function() {
-                                       callback();
-                               });
-
-                               setTimeout( function() { element.addClass( 'fade-trigger' ); }, this.sensitivity );
-                       } else {
-                               if ( stop ) {
-                                       element.stop();
-                               }
-
-                               element.css( 'opacity', 1 );
-                               element.first().fadeIn( speed, callback );
-
-                               if ( element.length > 1 ) {
-                                       element.not(':first').fadeIn( speed );
-                               }
-                       }
-
-                       return element;
-               },
-
-               Out: function( element, speed, callback, stop ) {
-
-                       callback = callback || $.noop;
-                       speed = speed || 400;
-                       stop = stop || false;
-
-                       if ( ! element.is(':visible') ) {
-                               return element;
-                       }
-
-                       if ( api.fade.transitions ) {
-                               element.first().one( transitionend, function() {
-                                       if ( element.hasClass('fade-trigger') ) {
-                                               return;
-                                       }
-
-                                       element.hide();
-                                       callback();
-                               });
-                               setTimeout( function() { element.removeClass( 'fade-trigger' ); }, this.sensitivity );
-                       } else {
-                               if ( stop ) {
-                                       element.stop();
-                               }
-
-                               element.first().fadeOut( speed, callback );
-
-                               if ( element.length > 1 ) {
-                                       element.not(':first').fadeOut( speed );
-                               }
-                       }
-
-                       return element;
-               },
-
-               // Check if the browser supports CSS 3.0 transitions
-               transitions: ( function() {
-                       var style = document.documentElement.style;
-
-                       return ( typeof style.WebkitTransition === 'string' ||
-                               typeof style.MozTransition === 'string' ||
-                               typeof style.OTransition === 'string' ||
-                               typeof style.transition === 'string' );
-               })()
-       };
-
-       /**
-        * Resize API
-        *
-        * Automatically updates textarea height.
-        */
-       api.bind_resize = function() {
-               s.$dfwTextarea.on( 'keydown.wp-dfw-resize click.wp-dfw-resize paste.wp-dfw-resize', function() {
-                       api.resizeTextarea();
-               });
-       };
-
-       api.resizeTextarea = function() {
-               var node = s.$dfwTextarea[0];
-
-               if ( node.scrollHeight > node.clientHeight ) {
-                       node.style.height = node.scrollHeight + 50 + 'px';
-               }
-       };
-
-       // Export
-       window.wp = window.wp || {};
-       window.wp.editor = window.wp.editor || {};
-       window.wp.editor.fullscreen = api;
-
-})( jQuery, window );
diff --git a/wp-admin/js/wp-fullscreen.min.js b/wp-admin/js/wp-fullscreen.min.js
deleted file mode 100644 (file)
index b3977b8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!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.addClass("is-active"),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.removeClass("is-active"),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.removeClass("is-active"),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('<span id="wp-fullscreen-title-placeholder">'),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
index 9313f375089ef9b5a125fb49f449241d44015f66..8666f202c4b57b0102b5e3fbe6c9881d6791f9cf 100644 (file)
@@ -69,10 +69,10 @@ if ( ! current_user_can('manage_links') )
 ?>
 
 <div class="wrap nosubsub">
-<h2><?php echo esc_html( $title ); ?> <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a> <?php
+<h1><?php echo esc_html( $title ); ?> <a href="link-add.php" class="page-title-action"><?php echo esc_html_x('Add New', 'link'); ?></a> <?php
 if ( !empty($_REQUEST['s']) )
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( wp_unslash($_REQUEST['s']) ) ); ?>
-</h2>
+</h1>
 
 <?php
 if ( isset($_REQUEST['deleted']) ) {
index c1c5e3a33b132d8dab34f33db892d7157b235c91..1d051b523729e73a42c3d2825fc3038a2317f533 100644 (file)
@@ -9,6 +9,9 @@
 if ( ! defined('ABSPATH') )
        die();
 
+/**
+ * @global string $opml
+ */
 global $opml;
 
 /**
index 716592344e0c30963b0ff4883d97eb5b04dd4cfc..9133be3aa1ef6e8f95a401dc7d06ba9edcf17858 100644 (file)
@@ -81,6 +81,11 @@ function admin_url() {}
  */
 function wp_guess_url() {}
 
+/**
+ *
+ * @param string $path
+ * @return string
+ */
 function get_file($path) {
 
        if ( function_exists('realpath') )
index cdc6c0aa5f9725210eed6d9f5ca5974a8c0c0217..791450258b29f3c7eaa85f3b2931d761bc8c6078 100644 (file)
@@ -28,6 +28,34 @@ header( 'Content-Type: text/html; charset=utf-8' );
 
 if ( ! defined( 'WP_ALLOW_REPAIR' ) ) {
        echo '<p>' . __( 'To allow use of this page to automatically repair database problems, please add the following line to your <code>wp-config.php</code> file. Once this line is added to your config, reload this page.' ) . "</p><p><code>define('WP_ALLOW_REPAIR', true);</code></p>";
+
+       $default_key     = 'put your unique phrase here';
+       $missing_key     = false;
+       $duplicated_keys = array();
+
+       foreach ( array( 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT' ) as $key ) {
+               if ( defined( $key ) ) {
+                       // Check for unique values of each key.
+                       $duplicated_keys[ constant( $key ) ] = isset( $duplicated_keys[ constant( $key ) ] );
+               } else {
+                       // If a constant is not defined, it's missing.
+                       $missing_key = true;
+               }
+       }
+
+       // If at least one key uses the default value, consider it duplicated.
+       if ( isset( $duplicated_keys[ $default_key ] ) ) {
+               $duplicated_keys[ $default_key ] = true;
+       }
+
+       // Weed out all unique, non-default values.
+       $duplicated_keys = array_filter( $duplicated_keys );
+
+       if ( $duplicated_keys || $missing_key ) {
+               // Translators: 1: wp-config.php; 2: Secret key service URL.
+               echo '<p>' . sprintf( __( 'While you are editing your %1$s file, take a moment to make sure you have all 8 keys and that they are unique. You can generate these using the <a href="%2$s">WordPress.org secret key service</a>.' ), '<code>wp-config.php</code>', 'https://api.wordpress.org/secret-key/1.1/salt/' ) . '</p>';
+       }
+
 } elseif ( isset( $_GET['repair'] ) ) {
        $optimize = 2 == $_GET['repair'];
        $okay = true;
index f68a4eef2da0fcd9f200effc29678e1d4851adba..c8263d8ac9b33a288b369d15003d4a08eaca9c83 100644 (file)
@@ -65,7 +65,7 @@ if ( get_user_setting('uploader') || isset( $_GET['browser-uploader'] ) )
        $form_class .= ' html-uploader';
 ?>
 <div class="wrap">
-       <h2><?php echo esc_html( $title ); ?></h2>
+       <h1><?php echo esc_html( $title ); ?></h1>
 
        <form enctype="multipart/form-data" method="post" action="<?php echo admin_url('media-new.php'); ?>" class="<?php echo esc_attr( $form_class ); ?>" id="file-form">
 
index 62b2401be4d505df3a1479783e6b646d8c7ed4a1..d6c509621f7a5067416b435ef1e803a0c98363df 100644 (file)
@@ -103,13 +103,13 @@ case 'edit' :
 ?>
 
 <div class="wrap">
-<h2>
+<h1>
 <?php
 echo esc_html( $title );
 if ( current_user_can( 'upload_files' ) ) { ?>
-       <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a>
+       <a href="media-new.php" class="page-title-action"><?php echo esc_html_x('Add New', 'file'); ?></a>
 <?php } ?>
-</h2>
+</h1>
 
 <form method="post" class="media-upload-form" id="media-single-form">
 <p class="submit" style="padding-bottom: 0;">
index d73fe9bd3150b0222d479f400baa99404ab3f939..013686106fb4b930e7cf7c1e184ea6d986e43678 100644 (file)
  * The current page.
  *
  * @global string $self
- * @name $self
- * @var string
  */
 $self = preg_replace('|^.*/wp-admin/network/|i', '', $_SERVER['PHP_SELF']);
 $self = preg_replace('|^.*/wp-admin/|i', '', $self);
 $self = preg_replace('|^.*/plugins/|i', '', $self);
 $self = preg_replace('|^.*/mu-plugins/|i', '', $self);
 
-global $menu, $submenu, $parent_file; //For when admin-header is included from within a function.
+/**
+ * For when admin-header is included from within a function.
+ *
+ * @global array  $menu
+ * @global array  $submenu
+ * @global string $parent_file
+ */
+global $menu, $submenu, $parent_file;
 
 /**
  * Filter the parent file of an admin menu sub-menu item.
@@ -39,9 +44,15 @@ get_admin_page_parent();
  * @access private
  * @since 2.7.0
  *
+ * @global string $self
+ * @global string $parent_file
+ * @global string $submenu_file
+ * @global string $plugin_page
+ * @global string $typenow
+ *
  * @param array $menu
  * @param array $submenu
- * @param bool $submenu_as_parent
+ * @param bool  $submenu_as_parent
  */
 function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
        global $self, $parent_file, $submenu_file, $plugin_page, $typenow;
@@ -146,7 +157,7 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 
                if ( ! empty( $submenu_items ) ) {
                        echo "\n\t<ul class='wp-submenu wp-submenu-wrap'>";
-                       echo "<li class='wp-submenu-head'>{$item[0]}</li>";
+                       echo "<li class='wp-submenu-head' aria-hidden='true'>{$item[0]}</li>";
 
                        $first = true;
 
index f4fee7281f9d4ba2c4f840903a9287a53283a146..17096a97a8757cbe5e00fa2f07e1f249daa35bdd 100644 (file)
@@ -18,8 +18,6 @@
  *     5: Icon for top level menu
  *
  * @global array $menu
- * @name $menu
- * @var array
  */
 
 $menu[2] = array( __('Dashboard'), 'read', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard' );
@@ -172,8 +170,12 @@ $menu[60] = array( __( 'Appearance' ), $appearance_cap, 'themes.php', '', 'menu-
 unset( $appearance_cap );
 
 // Add 'Editor' to the bottom of the Appearance menu.
-if ( ! is_multisite() )
+if ( ! is_multisite() ) {
        add_action('admin_menu', '_add_themes_utility_last', 101);
+}
+/**
+ *
+ */
 function _add_themes_utility_last() {
        // Must use API on the admin_menu hook, direct modification is only possible on/before the _admin_menu hook
        add_submenu_page('themes.php', _x('Editor', 'theme editor'), _x('Editor', 'theme editor'), 'edit_themes', 'theme-editor.php');
index af8a5e05dc07c2d563dbf55f5388bfeab927d728..67f657b6d058947bcd27d52ef739b6865a811874 100644 (file)
@@ -32,7 +32,7 @@ $parent_file = 'tools.php';
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 echo '<div class="wrap">';
-echo '<h2>' . esc_html( $title ) . '</h2>';
+echo '<h1>' . esc_html( $title ) . '</h1>';
 
 if ( isset( $_POST['action'] ) && $_POST['action'] == 'deleteblog' && isset( $_POST['confirmdelete'] ) && $_POST['confirmdelete'] == '1' ) {
        check_admin_referer( 'delete-blog' );
@@ -42,6 +42,7 @@ if ( isset( $_POST['action'] ) && $_POST['action'] == 'deleteblog' && isset( $_P
 
        $url_delete = esc_url( admin_url( 'ms-delete-site.php?h=' . $hash ) );
 
+       /* translators: Do not translate USERNAME, URL_DELETE, SITE_NAME: those are placeholders. */
        $content = __( "Howdy ###USERNAME###,
 
 You recently clicked the 'Delete Site' link on your site and filled in a
@@ -74,7 +75,7 @@ Webmaster
        wp_mail( get_option( 'admin_email' ), "[ " . wp_specialchars_decode( get_option( 'blogname' ) ) . " ] ".__( 'Delete My Site' ), $content );
        ?>
 
-       <p><?php _e( 'Thank you. Please check your email for a link to confirm your action. Your site will not be deleted until this link is clicked. ') ?></p>
+       <p><?php _e( 'Thank you. Please check your email for a link to confirm your action. Your site will not be deleted until this link is clicked.) ?></p>
 
 <?php } else {
        ?>
index 269b081166e7b5fb25ad0a4f688cc6c957b030f4..fafa232932185ab0a877fe4208b26762e93078e4 100644 (file)
@@ -13,7 +13,7 @@ if ( !is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! current_user_can('read') )
-       wp_die( __( 'You do not have sufficient permissions to view this page.' ) );
+       wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
 
 $action = isset( $_POST['action'] ) ? $_POST['action'] : 'splash';
 
@@ -56,7 +56,7 @@ if ( $updated ) { ?>
 <?php } ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 <?php
 if ( empty( $blogs ) ) :
        echo '<p>';
@@ -68,14 +68,14 @@ else :
        <?php
        choose_primary_blog();
        /**
-        * Fires before the sites table on the My Sites screen.
+        * Fires before the sites list on the My Sites screen.
         *
         * @since 3.0.0
         */
        do_action( 'myblogs_allblogs_options' );
        ?>
        <br clear="all" />
-       <table class="widefat fixed striped">
+       <ul class="my-sites striped">
        <?php
        /**
         * Enable the Global Settings section on the My Sites screen.
@@ -91,51 +91,35 @@ else :
         */
        $settings_html = apply_filters( 'myblogs_options', '', 'global' );
        if ( $settings_html != '' ) {
-               echo '<tr><td><h3>' . __( 'Global Settings' ) . '</h3></td><td>';
+               echo '<h3>' . __( 'Global Settings' ) . '</h3>';
                echo $settings_html;
-               echo '</td></tr>';
        }
        reset( $blogs );
-       $num = count( $blogs );
-       $cols = 1;
-       if ( $num >= 20 )
-               $cols = 4;
-       elseif ( $num >= 10 )
-               $cols = 2;
-       $num_rows = ceil( $num / $cols );
-       $split = 0;
-       for ( $i = 1; $i <= $num_rows; $i++ ) {
-               $rows[] = array_slice( $blogs, $split, $cols );
-               $split = $split + $cols;
-       }
 
-       foreach ( $rows as $row ) {
-               echo "<tr>";
-               $i = 0;
-               foreach ( $row as $user_blog ) {
-                       $s = $i == 3 ? '' : 'border-right: 1px solid #ccc;';
-                       echo "<td style='$s'>";
-                       echo "<h3>{$user_blog->blogname}</h3>";
-                       /**
-                        * Filter the row links displayed for each site on the My Sites screen.
-                        *
-                        * @since MU
-                        *
-                        * @param string $string    The HTML site link markup.
-                        * @param object $user_blog An object containing the site data.
-                        */
-                       echo "<p>" . apply_filters( 'myblogs_blog_actions', "<a href='" . esc_url( get_home_url( $user_blog->userblog_id ) ). "'>" . __( 'Visit' ) . "</a> | <a href='" . esc_url( get_admin_url( $user_blog->userblog_id ) ) . "'>" . __( 'Dashboard' ) . "</a>", $user_blog ) . "</p>";
-                       /** This filter is documented in wp-admin/my-sites.php */
-                       echo apply_filters( 'myblogs_options', '', $user_blog );
-                       echo "</td>";
-                       $i++;
-               }
-               echo "</tr>";
+       foreach ( $blogs as $user_blog ) {
+               echo "<li>";
+               echo "<h3>{$user_blog->blogname}</h3>";
+               /**
+                * Filter the row links displayed for each site on the My Sites screen.
+                *
+                * @since MU
+                *
+                * @param string $string    The HTML site link markup.
+                * @param object $user_blog An object containing the site data.
+                */
+               echo "<p class='my-sites-actions'>" . apply_filters( 'myblogs_blog_actions', "<a href='" . esc_url( get_home_url( $user_blog->userblog_id ) ). "'>" . __( 'Visit' ) . "</a> | <a href='" . esc_url( get_admin_url( $user_blog->userblog_id ) ) . "'>" . __( 'Dashboard' ) . "</a>", $user_blog ) . "</p>";
+               /** This filter is documented in wp-admin/my-sites.php */
+               echo apply_filters( 'myblogs_options', '', $user_blog );
+               echo "</li>";
        }?>
-       </table>
-       <input type="hidden" name="action" value="updateblogsettings" />
-       <?php wp_nonce_field( 'update-my-sites' ); ?>
-       <?php submit_button(); ?>
+       </ul>
+       <?php
+       if ( count( $blogs ) > 1 || has_action( 'myblogs_allblogs_options' ) || has_filter( 'myblogs_options' ) ) {
+               ?><input type="hidden" name="action" value="updateblogsettings" /><?php
+               wp_nonce_field( 'update-my-sites' );
+               submit_button();
+       }
+       ?>
        </form>
 <?php endif; ?>
        </div>
index 384a85666daf0d2fc3901a81823cf9be4f66e144..ed9d0523337016517b56df405c1939a56493665f 100644 (file)
@@ -354,7 +354,13 @@ switch ( $action ) {
 
                        // Update menu items.
                        if ( ! is_wp_error( $_menu_object ) ) {
-                               $messages = array_merge( $messages, wp_nav_menu_update_menu_items( $nav_menu_selected_id, $nav_menu_selected_title ) );
+                               $messages = array_merge( $messages, wp_nav_menu_update_menu_items( $_nav_menu_selected_id, $nav_menu_selected_title ) );
+
+                               // If the menu ID changed, redirect to the new URL.
+                               if ( $nav_menu_selected_id != $_nav_menu_selected_id ) {
+                                       wp_redirect( admin_url( 'nav-menus.php?menu=' . intval( $_nav_menu_selected_id ) ) );
+                                       exit();
+                               }
                        }
                }
                break;
@@ -467,6 +473,8 @@ if ( current_theme_supports( 'menus' ) ) {
 /*
  * Ensure the user will be able to scroll horizontally
  * by adding a class for the max menu depth.
+ *
+ * @global int $_wp_nav_menu_max_depth
  */
 global $_wp_nav_menu_max_depth;
 $_wp_nav_menu_max_depth = 0;
@@ -477,7 +485,14 @@ if ( is_nav_menu( $nav_menu_selected_id ) ) {
        $edit_markup = wp_get_nav_menu_to_edit( $nav_menu_selected_id );
 }
 
-function wp_nav_menu_max_depth($classes) {
+/**
+ *
+ * @global int $_wp_nav_menu_max_depth
+ *
+ * @param string $classes
+ * @return string
+ */
+function wp_nav_menu_max_depth( $classes ) {
        global $_wp_nav_menu_max_depth;
        return "$classes menu-max-depth-$_wp_nav_menu_max_depth";
 }
@@ -549,11 +564,28 @@ get_current_screen()->set_help_sidebar(
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap">
+       <h1><?php echo esc_html( __( 'Menus' ) ); ?>
+               <?php
+               if ( current_user_can( 'customize' ) ) :
+                       $focus = $locations_screen ? array( 'section' => 'menu_locations' ) : array( 'panel' => 'nav_menus' );
+                       printf(
+                               ' <a class="page-title-action hide-if-no-customize" href="%1$s">%2$s</a>',
+                               esc_url( add_query_arg( array(
+                                       array( 'autofocus' => $focus ),
+                                       'return' => urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ),
+                               ), admin_url( 'customize.php' ) ) ),
+                               __( 'Manage in Customizer' )
+                       );
+               endif;
+               ?>
+       </h1>
        <h2 class="nav-tab-wrapper">
                <a href="<?php echo admin_url( 'nav-menus.php' ); ?>" class="nav-tab<?php if ( ! isset( $_GET['action'] ) || isset( $_GET['action'] ) && 'locations' != $_GET['action'] ) echo ' nav-tab-active'; ?>"><?php esc_html_e( 'Edit Menus' ); ?></a>
                <?php if ( $num_locations && $menu_count ) : ?>
                        <a href="<?php echo esc_url( add_query_arg( array( 'action' => 'locations' ), admin_url( 'nav-menus.php' ) ) ); ?>" class="nav-tab<?php if ( $locations_screen ) echo ' nav-tab-active'; ?>"><?php esc_html_e( 'Manage Locations' ); ?></a>
-               <?php endif; ?>
+               <?php
+                       endif;
+               ?>
        </h2>
        <?php
        foreach( $messages as $message ) :
@@ -631,8 +663,8 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
                <?php else : ?>
                        <form method="get" action="<?php echo admin_url( 'nav-menus.php' ); ?>">
                        <input type="hidden" name="action" value="edit" />
-                       <label for="menu" class="selected-menu"><?php _e( 'Select a menu to edit:' ); ?></label>
-                       <select name="menu" id="menu">
+                       <label for="select-menu-to-edit" class="selected-menu"><?php _e( 'Select a menu to edit:' ); ?></label>
+                       <select name="menu" id="select-menu-to-edit">
                                <?php if ( $add_new_screen ) : ?>
                                        <option value="0" selected="selected"><?php _e( '&mdash; Select &mdash;' ); ?></option>
                                <?php endif; ?>
index fdc0a51b52084926434960ded7f75b6766ea4988..ae3515105a35a24b10b4be54d8d025a4ad02cb10 100644 (file)
@@ -35,6 +35,9 @@ foreach ( $wpdb->tables( 'ms_global' ) as $table => $prefixed_table )
  * Check for an existing network.
  *
  * @since 3.0.0
+ *
+ * @global wpdb $wpdb
+ *
  * @return Whether a network exists.
  */
 function network_domain_check() {
@@ -55,7 +58,7 @@ function network_domain_check() {
  */
 function allow_subdomain_install() {
        $domain = preg_replace( '|https?://([^/]+)|', '$1', get_option( 'home' ) );
-       if( parse_url( get_option( 'home' ), PHP_URL_PATH ) || 'localhost' == $domain || preg_match( '|^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$|', $domain ) )
+       if ( parse_url( get_option( 'home' ), PHP_URL_PATH ) || 'localhost' == $domain || preg_match( '|^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$|', $domain ) )
                return false;
 
        return true;
@@ -64,6 +67,9 @@ function allow_subdomain_install() {
  * Allow subdirectory install.
  *
  * @since 3.0.0
+ *
+ * @global wpdb $wpdb
+ *
  * @return bool Whether subdirectory install is allowed
  */
 function allow_subdirectory_install() {
@@ -139,7 +145,7 @@ get_current_screen()->set_help_sidebar(
 include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <?php
 /**
@@ -149,6 +155,10 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
  *     should not be a sudden "Welcome to a new install process! Fill this out and click here." See also contextual help todo.
  *
  * @since 3.0.0
+ *
+ * @global bool $is_apache
+ *
+ * @param WP_Error $errors
  */
 function network_step1( $errors = false ) {
        global $is_apache;
@@ -326,6 +336,10 @@ function network_step1( $errors = false ) {
  * Prints step 2 for Network installation process.
  *
  * @since 3.0.0
+ *
+ * @global wpdb $wpdb
+ *
+ * @param WP_Error $errors
  */
 function network_step2( $errors = false ) {
        global $wpdb;
index 70f6bbf5fb33f5958589066070a287264b5c5b48..5c2bfe887dae73cd2d8349f3e43ee116a00faecc 100644 (file)
@@ -65,7 +65,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <div id="dashboard-widgets-wrap">
 
index bb28bff383c2a1bdc245dc9b4ed7e3701c807028..5e0fea86ace49f0333f5ae48af7203dc0ee767db 100644 (file)
 /* translators: Network menu item */
 $menu[2] = array(__('Dashboard'), 'manage_network', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard');
 
+$submenu['index.php'][0] = array( __( 'Home' ), 'read', 'index.php' );
+
+$update_data = wp_get_update_data();
+if ( $update_data['counts']['total'] ) {
+       $submenu['index.php'][10] = array( sprintf( __( 'Updates %s' ), "<span class='update-plugins count-{$update_data['counts']['total']}' title='{$update_data['title']}'><span class='update-count'>" . number_format_i18n( $update_data['counts']['total'] ) . "</span></span>" ), 'update_core', 'update-core.php' );
+} else {
+       $submenu['index.php'][10] = array( __( 'Updates' ), 'update_core', 'update-core.php' );
+}
+
+$submenu['index.php'][15] = array( __( 'Upgrade Network' ), 'manage_network', 'upgrade.php' );
+
 $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' );
 
 /* translators: Sites menu item */
@@ -21,8 +32,6 @@ $menu[10] = array(__('Users'), 'manage_network_users', 'users.php', '', 'menu-to
 $submenu['users.php'][5]  = array( __('All Users'), 'manage_network_users', 'users.php' );
 $submenu['users.php'][10]  = array( _x('Add New', 'user'), 'create_users', 'user-new.php' );
 
-$update_data = wp_get_update_data();
-
 if ( current_user_can( 'update_themes' ) && $update_data['counts']['themes'] ) {
        $menu[15] = array(sprintf( __( 'Themes %s' ), "<span class='update-plugins count-{$update_data['counts']['themes']}'><span class='theme-count'>" . number_format_i18n( $update_data['counts']['themes'] ) . "</span></span>" ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' );
 } else {
@@ -46,18 +55,8 @@ if ( defined( 'MULTISITE' ) && defined( 'WP_ALLOW_MULTISITE' ) && WP_ALLOW_MULTI
        $submenu['settings.php'][5]  = array( __('Network Settings'), 'manage_network_options', 'settings.php' );
        $submenu['settings.php'][10] = array( __('Network Setup'), 'manage_network_options', 'setup.php' );
 }
-
-if ( $update_data['counts']['total'] ) {
-       $menu[30] = array( sprintf( __( 'Updates %s' ), "<span class='update-plugins count-{$update_data['counts']['total']}' title='{$update_data['title']}'><span class='update-count'>" . number_format_i18n($update_data['counts']['total']) . "</span></span>" ), 'manage_network', 'upgrade.php', '', 'menu-top menu-icon-tools', 'menu-update', 'dashicons-admin-tools' );
-} else {
-       $menu[30] = array( __( 'Updates' ), 'manage_network', 'upgrade.php', '', 'menu-top menu-icon-tools', 'menu-update', 'dashicons-admin-tools' );
-}
-
 unset($update_data);
 
-$submenu[ 'upgrade.php' ][10] = array( __( 'Available Updates' ), 'update_core', 'update-core.php' );
-$submenu[ 'upgrade.php' ][15] = array( __( 'Upgrade Network' ), 'manage_network', 'upgrade.php' );
-
 $menu[99] = array( '', 'exist', 'separator-last', '', 'wp-menu-separator' );
 
-require_once(ABSPATH . 'wp-admin/includes/menu.php');
+require_once(ABSPATH . 'wp-admin/includes/menu.php');
\ No newline at end of file
index f3ef480056b946d10d9ae57f3f3f94b905943d3a..1872eb81c0932c13aa3dfcf543b615c6c5d56b6f 100644 (file)
@@ -119,7 +119,7 @@ if ( isset( $_GET['updated'] ) ) {
 ?>
 
 <div class="wrap">
-       <h2><?php echo esc_html( $title ); ?></h2>
+       <h1><?php echo esc_html( $title ); ?></h1>
        <form method="post" action="settings.php" novalidate="novalidate">
                <?php wp_nonce_field( 'siteoptions' ); ?>
                <h3><?php _e( 'Operational Settings' ); ?></h3>
index 87ca256378c2a6339517619573965eaf1068fa10..673367a1709433da23a9d0ecb70c40fc9668ffbc 100644 (file)
 /** Load WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-if ( ! is_multisite() )
+if ( ! is_multisite() ) {
        wp_die( __( 'Multisite support is not enabled.' ) );
+}
 
-if ( ! current_user_can( 'manage_sites' ) )
+if ( ! current_user_can( 'manage_sites' ) ) {
        wp_die( __( 'You do not have sufficient permissions to edit this site.' ) );
+}
 
-       get_current_screen()->add_help_tab( array(
-               'id'      => 'overview',
-               'title'   => __('Overview'),
-               'content' =>
-                       '<p>' . __('The menu is for editing information specific to individual sites, particularly if the admin area of a site is unavailable.') . '</p>' .
-                       '<p>' . __('<strong>Info</strong> - The domain and path are rarely edited as this can cause the site to not work properly. The Registered date and Last Updated date are displayed. Network admins can mark a site as archived, spam, deleted and mature, to remove from public listings or disable.') . '</p>' .
-                       '<p>' . __('<strong>Users</strong> - This displays the users associated with this site. You can also change their role, reset their password, or remove them from the site. Removing the user from the site does not remove the user from the network.') . '</p>' .
-                       '<p>' . sprintf( __('<strong>Themes</strong> - This area shows themes that are not already enabled across the network. Enabling a theme in this menu makes it accessible to this site. It does not activate the theme, but allows it to show in the site&#8217;s Appearance menu. To enable a theme for the entire network, see the <a href="%s">Network Themes</a> screen.' ), network_admin_url( 'themes.php' ) ) . '</p>' .
-                       '<p>' . __('<strong>Settings</strong> - This page shows a list of all settings associated with this site. Some are created by WordPress and others are created by plugins you activate. Note that some fields are grayed out and say Serialized Data. You cannot modify these values due to the way the setting is stored in the database.') . '</p>'
+get_current_screen()->add_help_tab( array(
+       'id'      => 'overview',
+       'title'   => __( 'Overview' ),
+       'content' =>
+               '<p>' . __( 'The menu is for editing information specific to individual sites, particularly if the admin area of a site is unavailable.' ) . '</p>' .
+               '<p>' . __( '<strong>Info</strong> - The domain and path are rarely edited as this can cause the site to not work properly. The Registered date and Last Updated date are displayed. Network admins can mark a site as archived, spam, deleted and mature, to remove from public listings or disable.' ) . '</p>' .
+               '<p>' . __( '<strong>Users</strong> - This displays the users associated with this site. You can also change their role, reset their password, or remove them from the site. Removing the user from the site does not remove the user from the network.' ) . '</p>' .
+               '<p>' . sprintf( __( '<strong>Themes</strong> - This area shows themes that are not already enabled across the network. Enabling a theme in this menu makes it accessible to this site. It does not activate the theme, but allows it to show in the site&#8217;s Appearance menu. To enable a theme for the entire network, see the <a href="%s">Network Themes</a> screen.' ), network_admin_url( 'themes.php' ) ) . '</p>' .
+               '<p>' . __( '<strong>Settings</strong> - This page shows a list of all settings associated with this site. Some are created by WordPress and others are created by plugins you activate. Note that some fields are grayed out and say Serialized Data. You cannot modify these values due to the way the setting is stored in the database.' ) . '</p>'
 ) );
 
 get_current_screen()->set_help_sidebar(
-       '<p><strong>' . __('For more information:') . '</strong></p>' .
-       '<p>' . __('<a href="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
-       '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+       '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
+       '<p>' . __( '<a href="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>' ) . '</p>' .
+       '<p>' . __( '<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
 $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
 
-if ( ! $id )
+if ( ! $id ) {
        wp_die( __('Invalid site ID.') );
+}
 
 $details = get_blog_details( $id );
-if ( !can_edit_network( $details->site_id ) )
+if ( ! $details ) {
+       wp_die( __( 'The requested site does not exist.' ) );
+}
+
+if ( ! can_edit_network( $details->site_id ) ) {
        wp_die( __( 'You do not have permission to access this page.' ), 403 );
+}
 
-$parsed = parse_url( $details->siteurl );
+$parsed_scheme = parse_url( $details->siteurl, PHP_URL_SCHEME );
 $is_main_site = is_main_site( $id );
 
-if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
+if ( isset( $_REQUEST['action'] ) && 'update-site' == $_REQUEST['action'] ) {
        check_admin_referer( 'edit-site' );
 
        switch_to_blog( $id );
@@ -53,43 +61,72 @@ if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
        // Rewrite rules can't be flushed during switch to blog.
        delete_option( 'rewrite_rules' );
 
-       // Update blogs table.
        $blog_data = wp_unslash( $_POST['blog'] );
+       $blog_data['scheme'] = $parsed_scheme;
+
+       if ( $is_main_site ) {
+               // On the network's main site, don't allow the domain or path to change.
+               $blog_data['domain'] = $details->domain;
+               $blog_data['path'] = $details->path;
+       } else {
+               // For any other site, the scheme, domain, and path can all be changed. We first
+               // need to ensure a scheme has been provided, otherwise fallback to the existing.
+               $new_url_scheme = parse_url( $blog_data['url'], PHP_URL_SCHEME );
+
+               if ( ! $new_url_scheme ) {
+                       $blog_data['url'] = esc_url( $parsed_scheme . '://' . $blog_data['url'] );
+               }
+               $update_parsed_url = parse_url( $blog_data['url'] );
+
+               $blog_data['scheme'] = $update_parsed_url['scheme'];
+               $blog_data['domain'] = $update_parsed_url['host'];
+               $blog_data['path'] = $update_parsed_url['path'];
+       }
+
        $existing_details = get_blog_details( $id, false );
        $blog_data_checkboxes = array( 'public', 'archived', 'spam', 'mature', 'deleted' );
        foreach ( $blog_data_checkboxes as $c ) {
-               if ( ! in_array( $existing_details->$c, array( 0, 1 ) ) )
+               if ( ! in_array( $existing_details->$c, array( 0, 1 ) ) ) {
                        $blog_data[ $c ] = $existing_details->$c;
-               else
+               } else {
                        $blog_data[ $c ] = isset( $_POST['blog'][ $c ] ) ? 1 : 0;
+               }
        }
+
        update_blog_details( $id, $blog_data );
 
-       if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
-               $new_details = get_blog_details( $id, false );
-               $blog_address = esc_url_raw( $new_details->domain . $new_details->path );
-               if ( get_option( 'siteurl' ) != $blog_address ) {
-                       update_option( 'siteurl', $blog_address );
-               }
-               if ( get_option( 'home' ) != $blog_address ) {
-                       update_option( 'home', $blog_address );
-               }
+       // Maybe update home and siteurl options.
+       $new_details = get_blog_details( $id, false );
+
+       $old_home_url = trailingslashit( esc_url( get_option( 'home' ) ) );
+       $old_home_parsed = parse_url( $old_home_url );
+
+       if ( $old_home_parsed['host'] === $existing_details->domain && $old_home_parsed['path'] === $existing_details->path ) {
+               $new_home_url = untrailingslashit( esc_url_raw( $blog_data['scheme'] . '://' . $new_details->domain . $new_details->path ) );
+               update_option( 'home', $new_home_url );
+       }
+
+       $old_site_url = trailingslashit( esc_url( get_option( 'siteurl' ) ) );
+       $old_site_parsed = parse_url( $old_site_url );
+
+       if ( $old_site_parsed['host'] === $existing_details->domain && $old_site_parsed['path'] === $existing_details->path ) {
+               $new_site_url = untrailingslashit( esc_url_raw( $blog_data['scheme'] . '://' . $new_details->domain . $new_details->path ) );
+               update_option( 'siteurl', $new_site_url );
        }
 
        restore_current_blog();
-       wp_redirect( add_query_arg( array( 'update' => 'updated', 'id' => $id ), 'site-info.php') );
+       wp_redirect( add_query_arg( array( 'update' => 'updated', 'id' => $id ), 'site-info.php' ) );
        exit;
 }
 
-if ( isset($_GET['update']) ) {
+if ( isset( $_GET['update'] ) ) {
        $messages = array();
-       if ( 'updated' == $_GET['update'] )
-               $messages[] = __('Site info updated.');
+       if ( 'updated' == $_GET['update'] ) {
+               $messages[] = __( 'Site info updated.' );
+       }
 }
 
-$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
-$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
+$title = sprintf( __( 'Edit Site: %s' ), esc_html( $details->blogname ) );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -99,7 +136,8 @@ require( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
+<h1 id="edit-site"><?php echo $title; ?></h1>
+<p class="edit-site-actions"><a href="<?php echo esc_url( get_home_url( $id, '/' ) ); ?>"><?php _e( 'Visit' ); ?></a> | <a href="<?php echo esc_url( get_admin_url( $id ) ); ?>"><?php _e( 'Dashboard' ); ?></a></p>
 <h3 class="nav-tab-wrapper">
 <?php
 $tabs = array(
@@ -116,39 +154,31 @@ foreach ( $tabs as $tab_id => $tab ) {
 </h3>
 <?php
 if ( ! empty( $messages ) ) {
-       foreach ( $messages as $msg )
+       foreach ( $messages as $msg ) {
                echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
-} ?>
+       }
+}
+?>
 <form method="post" action="site-info.php?action=update-site">
        <?php wp_nonce_field( 'edit-site' ); ?>
        <input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
        <table class="form-table">
-               <tr class="form-field form-required">
-                       <?php if ( $is_main_site ) { ?>
-                               <th scope="row"><?php _e( 'Domain' ) ?></th>
-                               <td><code><?php echo $parsed['scheme'] . '://' . esc_attr( $details->domain ) ?></code></td>
-                       <?php } else { ?>
-                               <th scope="row"><label for="domain"><?php _e( 'Domain' ) ?></label></th>
-                               <td><?php echo $parsed['scheme'] . '://'; ?><input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr( $details->domain ) ?>" /></td>
-                       <?php } ?>
+               <?php
+               // The main site of the network should not be updated on this page.
+               if ( $is_main_site ) : ?>
+               <tr class="form-field">
+                       <th scope="row"><?php _e( 'Site URL' ); ?></th>
+                       <td><?php echo esc_url( $details->siteurl ); ?></td>
                </tr>
+               <?php
+               // For any other site, the scheme, domain, and path can all be changed.
+               else : ?>
                <tr class="form-field form-required">
-                       <?php if ( $is_main_site ) { ?>
-                       <th scope="row"><?php _e( 'Path' ) ?></th>
-                       <td><code><?php echo esc_attr( $details->path ) ?></code></td>
-                       <?php
-                       } else {
-                               switch_to_blog( $id );
-                       ?>
-                       <th scope="row"><label for="path"><?php _e( 'Path' ) ?></label></th>
-                       <td>
-                               <input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" /><br />
-                               <input type="checkbox" name="update_home_url" id="update_home_url" value="update" <?php if ( get_option( 'siteurl' ) == untrailingslashit( get_blogaddress_by_id ($id ) ) || get_option( 'home' ) == untrailingslashit( get_blogaddress_by_id( $id ) ) ) echo 'checked="checked"'; ?> /> <label for="update_home_url"><?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></label>
-                       </td>
-                       <?php
-                               restore_current_blog();
-                       } ?>
+                       <th scope="row"><?php _e( 'Site URL' ); ?></th>
+                       <td><input name="blog[url]" type="text" id="url" value="<?php echo $parsed_scheme . '://' . esc_attr( $details->domain ) . esc_attr( $details->path ); ?>" /></td>
                </tr>
+               <?php endif; ?>
+
                <tr class="form-field">
                        <th scope="row"><label for="blog_registered"><?php _ex( 'Registered', 'site' ) ?></label></th>
                        <td><input name="blog[registered]" type="text" id="blog_registered" value="<?php echo esc_attr( $details->registered ) ?>" /></td>
index b2d28755e2482e09e8e1d1139e54d5c296296129..8dec36cf02c4bb614641a60fd670827afd87813b 100644 (file)
@@ -76,10 +76,10 @@ if ( isset($_REQUEST['action']) && 'add-site' == $_REQUEST['action'] ) {
        if ( !$user_id ) { // Create a new user with a random password
                $password = wp_generate_password( 12, false );
                $user_id = wpmu_create_user( $domain, $password, $email );
-               if ( false == $user_id )
+               if ( false === $user_id )
                        wp_die( __( 'There was an error creating the user.' ) );
                else
-                       wp_new_user_notification( $user_id, $password );
+                       wp_new_user_notification( $user_id, 'both' );
        }
 
        $wpdb->hide_errors();
@@ -130,7 +130,7 @@ require( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2 id="add-new-site"><?php _e('Add New Site') ?></h2>
+<h1 id="add-new-site"><?php _e( 'Add New Site' ); ?></h1>
 <?php
 if ( ! empty( $messages ) ) {
        foreach ( $messages as $msg )
@@ -143,9 +143,9 @@ if ( ! empty( $messages ) ) {
                        <th scope="row"><label for="site-address"><?php _e( 'Site Address' ) ?></label></th>
                        <td>
                        <?php if ( is_subdomain_install() ) { ?>
-                               <input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc" /><span class="no-break">.<?php echo preg_replace( '|^www\.|', '', $current_site->domain ); ?></span>
+                               <input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc" autocapitalize="none" autocorrect="off"/><span class="no-break">.<?php echo preg_replace( '|^www\.|', '', $current_site->domain ); ?></span>
                        <?php } else {
-                               echo $current_site->domain . $current_site->path ?><input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc" />
+                               echo $current_site->domain . $current_site->path ?><input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc"  autocapitalize="none" autocorrect="off" />
                        <?php }
                        echo '<p id="site-address-desc">' . __( 'Only lowercase letters (a-z) and numbers are allowed.' ) . '</p>';
                        ?>
@@ -156,7 +156,7 @@ if ( ! empty( $messages ) ) {
                        <td><input name="blog[title]" type="text" class="regular-text" id="site-title" /></td>
                </tr>
                <tr class="form-field form-required">
-                       <th scope="row"><label for="admin-email"><?php _e( 'Admin Email' ) ?></label></td>
+                       <th scope="row"><label for="admin-email"><?php _e( 'Admin Email' ) ?></label></th>
                        <td><input name="blog[email]" type="email" class="regular-text wp-suggest-user" id="admin-email" data-autocomplete-type="search" data-autocomplete-field="user_email" /></td>
                </tr>
                <tr class="form-field">
index ecf8a12a2255291195170b728cf4699644969e89..cdb031f515342901dc8c5099d20b35b765f69703 100644 (file)
@@ -39,6 +39,10 @@ if ( ! $id )
        wp_die( __('Invalid site ID.') );
 
 $details = get_blog_details( $id );
+if ( ! $details ) {
+       wp_die( __( 'The requested site does not exist.' ) );
+}
+
 if ( !can_edit_network( $details->site_id ) )
        wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
@@ -75,9 +79,7 @@ if ( isset($_GET['update']) ) {
                $messages[] = __('Site options updated.');
 }
 
-$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
-$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
+$title = sprintf( __( 'Edit Site: %s' ), esc_html( $details->blogname ) );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -87,7 +89,8 @@ require( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
+<h1 id="edit-site"><?php echo $title; ?></h1>
+<p class="edit-site-actions"><a href="<?php echo esc_url( get_home_url( $id, '/' ) ); ?>"><?php _e( 'Visit' ); ?></a> | <a href="<?php echo esc_url( get_admin_url( $id ) ); ?>"><?php _e( 'Dashboard' ); ?></a></p>
 <h3 class="nav-tab-wrapper">
 <?php
 $tabs = array(
index 384f58c64efcdeb63b8e6478eb5187ae3228075f..5209988fb31dc843435d68246861a37132661460 100644 (file)
@@ -56,6 +56,10 @@ if ( ! $id )
 $wp_list_table->prepare_items();
 
 $details = get_blog_details( $id );
+if ( ! $details ) {
+       wp_die( __( 'The requested site does not exist.' ) );
+}
+
 if ( !can_edit_network( $details->site_id ) )
        wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
@@ -129,9 +133,7 @@ if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) {
 add_thickbox();
 add_screen_option( 'per_page' );
 
-$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
-$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
+$title = sprintf( __( 'Edit Site: %s' ), esc_html( $details->blogname ) );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -139,7 +141,8 @@ $submenu_file = 'sites.php';
 require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
-<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
+<h1 id="edit-site"><?php echo $title; ?></h1>
+<p class="edit-site-actions"><a href="<?php echo esc_url( get_home_url( $id, '/' ) ); ?>"><?php _e( 'Visit' ); ?></a> | <a href="<?php echo esc_url( get_admin_url( $id ) ); ?>"><?php _e( 'Dashboard' ); ?></a></p>
 <h3 class="nav-tab-wrapper">
 <?php
 $tabs = array(
index 57a189b7ae512701e837c76399370b11910c71d1..0ab1771088a8185e48e02f0f41e113d5e385ffd1 100644 (file)
@@ -49,6 +49,10 @@ if ( ! $id )
        wp_die( __('Invalid site ID.') );
 
 $details = get_blog_details( $id );
+if ( ! $details ) {
+       wp_die( __( 'The requested site does not exist.' ) );
+}
+
 if ( ! can_edit_network( $details->site_id ) )
        wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
@@ -70,10 +74,10 @@ if ( $action ) {
                                $password = wp_generate_password( 12, false);
                                $user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) );
 
-                               if ( false == $user_id ) {
+                               if ( false === $user_id ) {
                                        $update = 'err_new_dup';
                                } else {
-                                       wp_new_user_notification( $user_id, $password );
+                                       wp_new_user_notification( $user_id, 'both' );
                                        add_user_to_blog( $id, $user_id, $_POST['new_role'] );
                                        $update = 'newuser';
                                }
@@ -157,9 +161,7 @@ if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) {
 
 add_screen_option( 'per_page' );
 
-$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
-$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
+$title = sprintf( __( 'Edit Site: %s' ), esc_html( $details->blogname ) );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -182,7 +184,8 @@ var current_site_id = <?php echo $id; ?>;
 
 
 <div class="wrap">
-<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2>
+<h1 id="edit-site"><?php echo $title; ?></h1>
+<p class="edit-site-actions"><a href="<?php echo esc_url( get_home_url( $id, '/' ) ); ?>"><?php _e( 'Visit' ); ?></a> | <a href="<?php echo esc_url( get_admin_url( $id ) ); ?>"><?php _e( 'Dashboard' ); ?></a></p>
 <h3 class="nav-tab-wrapper">
 <?php
 $tabs = array(
@@ -305,7 +308,7 @@ if ( current_user_can( 'create_users' ) && apply_filters( 'show_network_site_use
                        </select></td>
                </tr>
                <tr class="form-field">
-                       <td colspan="2"><?php _e( 'Username and password will be mailed to the above email address.' ) ?></td>
+                       <td colspan="2"><?php _e( 'A password reset link will be sent to the user via email.' ) ?></td>
                </tr>
        </table>
        <?php wp_nonce_field( 'add-user', '_wpnonce_add-new-user' ) ?>
index 922ce76532940e9904ffe441eb1eeccd29d8d469..733383acad6e5e6b24bc905e2416caa783c3bf05 100644 (file)
@@ -52,8 +52,33 @@ if ( isset( $_GET['action'] ) ) {
        /** This action is documented in wp-admin/network/edit.php */
        do_action( 'wpmuadminedit' );
 
+       // A list of valid actions and their associated messaging for confirmation output.
+       $manage_actions = array(
+               'activateblog'   => __( 'You are about to activate the site %s' ),
+               'deactivateblog' => __( 'You are about to deactivate the site %s' ),
+               'unarchiveblog'  => __( 'You are about to unarchive the site %s.' ),
+               'archiveblog'    => __( 'You are about to archive the site %s.' ),
+               'unspamblog'     => __( 'You are about to unspam the site %s.' ),
+               'spamblog'       => __( 'You are about to mark the site %s as spam.' ),
+               'deleteblog'     => __( 'You are about to delete the site %s.' ),
+               'unmatureblog'   => __( 'You are about to mark the site %s as mature.' ),
+               'matureblog'     => __( 'You are about to mark the site %s as not mature.' ),
+       );
+
        if ( 'confirm' === $_GET['action'] ) {
-               check_admin_referer( 'confirm' );
+               // The action2 parameter contains the action being taken on the site.
+               $site_action = $_GET['action2'];
+
+               if ( ! array_key_exists( $site_action, $manage_actions ) ) {
+                       wp_die( __( 'The requested action is not valid.' ) );
+               }
+
+               // The mature/unmature UI exists only as external code. Check the "confirm" nonce for backward compatibility.
+               if ( 'matureblog' === $site_action || 'unmatureblog' === $site_action ) {
+                       check_admin_referer( 'confirm' );
+               } else {
+                       check_admin_referer( $site_action . '_' . $id );
+               }
 
                if ( ! headers_sent() ) {
                        nocache_headers();
@@ -64,35 +89,34 @@ if ( isset( $_GET['action'] ) ) {
                        wp_die( __( 'You are not allowed to change the current site.' ) );
                }
 
+               $site_details = get_blog_details( $id );
+               $site_address = untrailingslashit( $site_details->domain . $site_details->path );
+
                require_once( ABSPATH . 'wp-admin/admin-header.php' );
                ?>
                        <div class="wrap">
-                               <h2><?php _e( 'Confirm your action' ); ?></h2>
-                               <form action="sites.php?action=<?php echo esc_attr( $_GET['action2'] ) ?>" method="post">
-                                       <input type="hidden" name="action" value="<?php echo esc_attr( $_GET['action2'] ) ?>" />
+                               <h1><?php _e( 'Confirm your action' ); ?></h1>
+                               <form action="sites.php?action=<?php echo esc_attr( $site_action ); ?>" method="post">
+                                       <input type="hidden" name="action" value="<?php echo esc_attr( $site_action ); ?>" />
                                        <input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" />
                                        <input type="hidden" name="_wp_http_referer" value="<?php echo esc_attr( wp_get_referer() ); ?>" />
-                                       <?php wp_nonce_field( $_GET['action2'], '_wpnonce', false ); ?>
-                                       <p><?php echo esc_html( wp_unslash( $_GET['msg'] ) ); ?></p>
+                                       <?php wp_nonce_field( $site_action . '_' . $id, '_wpnonce', false ); ?>
+                                       <p><?php echo sprintf( $manage_actions[ $site_action ], $site_address ); ?></p>
                                        <?php submit_button( __( 'Confirm' ), 'button' ); ?>
                                </form>
                        </div>
                <?php
                require_once( ABSPATH . 'wp-admin/admin-footer.php' );
                exit();
+       } elseif ( array_key_exists( $_GET['action'], $manage_actions ) ) {
+               $action = $_GET['action'];
+               check_admin_referer( $action . '_' . $id );
+       } elseif ( 'allblogs' === $_GET['action'] ) {
+               check_admin_referer( 'bulk-sites' );
        }
 
        $updated_action = '';
 
-       $manage_actions = array( 'deleteblog', 'allblogs', 'archiveblog', 'unarchiveblog', 'activateblog', 'deactivateblog', 'unspamblog', 'spamblog', 'unmatureblog', 'matureblog' );
-       if ( in_array( $_GET['action'], $manage_actions ) ) {
-               $action = $_GET['action'];
-               if ( 'allblogs' === $action )
-                       $action = 'bulk-sites';
-
-               check_admin_referer( $action );
-       }
-
        switch ( $_GET['action'] ) {
 
                case 'deleteblog':
@@ -178,8 +202,9 @@ if ( isset( $_GET['action'] ) ) {
                break;
        }
 
-       if ( empty( $updated_action ) && in_array( $_GET['action'], $manage_actions ) )
+       if ( empty( $updated_action ) && array_key_exists( $_GET['action'], $manage_actions ) ) {
                $updated_action = $_GET['action'];
+       }
 
        if ( ! empty( $updated_action ) ) {
                wp_safe_redirect( add_query_arg( array( 'updated' => $updated_action ), wp_get_referer() ) );
@@ -248,16 +273,16 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php _e( 'Sites' ) ?>
+<h1><?php _e( 'Sites' ); ?>
 
 <?php if ( current_user_can( 'create_sites') ) : ?>
-       <a href="<?php echo network_admin_url('site-new.php'); ?>" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'site' ); ?></a>
+       <a href="<?php echo network_admin_url('site-new.php'); ?>" class="page-title-action"><?php echo esc_html_x( 'Add New', 'site' ); ?></a>
 <?php endif; ?>
 
 <?php if ( isset( $_REQUEST['s'] ) && $_REQUEST['s'] ) {
        printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', esc_html( $s ) );
 } ?>
-</h2>
+</h1>
 
 <?php echo $msg; ?>
 
index 2b77f188fb448002eacd9cf0a92c48a08c6fe271..2b9132f1c7fe078fd7330026623735b5240cae2d 100644 (file)
@@ -86,7 +86,7 @@ if ( $action ) {
                        require_once(ABSPATH . 'wp-admin/admin-header.php');
 
                        echo '<div class="wrap">';
-                       echo '<h2>' . esc_html( $title ) . '</h2>';
+                       echo '<h1>' . esc_html( $title ) . '</h1>';
 
                        $url = self_admin_url('update.php?action=update-selected-themes&amp;themes=' . urlencode( join(',', $themes) ));
                        $url = wp_nonce_url($url, 'bulk-update-themes');
@@ -150,11 +150,11 @@ if ( $action ) {
                                ?>
                        <div class="wrap">
                                <?php if ( 1 == $themes_to_delete ) : ?>
-                                       <h2><?php _e( 'Delete Theme' ); ?></h2>
+                                       <h1><?php _e( 'Delete Theme' ); ?></h1>
                                        <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'This theme may be active on other sites in the network.' ); ?></p></div>
                                        <p><?php _e( 'You are about to remove the following theme:' ); ?></p>
                                <?php else : ?>
-                                       <h2><?php _e( 'Delete Themes' ); ?></h2>
+                                       <h1><?php _e( 'Delete Themes' ); ?></h1>
                                        <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'These themes may be active on other sites in the network.' ); ?></p></div>
                                        <p><?php _e( 'You are about to remove the following themes:' ); ?></p>
                                <?php endif; ?>
@@ -182,9 +182,9 @@ if ( $action ) {
                                                wp_nonce_field( 'bulk-themes' );
 
                                                if ( 1 == $themes_to_delete ) {
-                                                       submit_button( __( 'Yes, Delete this theme' ), 'button', 'submit', false );
+                                                       submit_button( __( 'Yes, delete this theme' ), 'button', 'submit', false );
                                                } else {
-                                                       submit_button( __( 'Yes, Delete these themes' ), 'button', 'submit', false );
+                                                       submit_button( __( 'Yes, delete these themes' ), 'button', 'submit', false );
                                                }
                                        ?>
                                </form>
@@ -192,7 +192,7 @@ if ( $action ) {
                                $referer = wp_get_referer();
                                ?>
                                <form method="post" action="<?php echo $referer ? esc_url( $referer ) : ''; ?>" style="display:inline;">
-                                       <?php submit_button( __( 'No, Return me to the theme list' ), 'button', 'submit', false ); ?>
+                                       <?php submit_button( __( 'No, return me to the theme list' ), 'button', 'submit', false ); ?>
                                </form>
 
                                <p><a href="#" onclick="jQuery('#files-list').toggle(); return false;"><?php _e('Click to view entire list of files which will be deleted'); ?></a></p>
@@ -261,10 +261,10 @@ require_once(ABSPATH . 'wp-admin/admin-header.php');
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); if ( current_user_can('install_themes') ) { ?> <a href="theme-install.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'theme'); ?></a><?php }
+<h1><?php echo esc_html( $title ); if ( current_user_can('install_themes') ) { ?> <a href="theme-install.php" class="page-title-action"><?php echo esc_html_x('Add New', 'theme'); ?></a><?php }
 if ( $s )
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $s ) ); ?>
-</h2>
+</h1>
 
 <?php
 if ( isset( $_GET['enabled'] ) ) {
index f1574aeabba856abd8433ee650557c759bcddf10..60d8d8951e6b177b419fa832e39f50185a279e5b 100644 (file)
@@ -39,7 +39,7 @@ if ( ! current_user_can( 'manage_network' ) )
        wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 echo '<div class="wrap">';
-echo '<h2>' . __( 'Upgrade Network' ) . '</h2>';
+echo '<h1>' . __( 'Upgrade Network' ) . '</h1>';
 
 $action = isset($_GET['action']) ? $_GET['action'] : 'show';
 
@@ -48,6 +48,9 @@ switch ( $action ) {
                $n = ( isset($_GET['n']) ) ? intval($_GET['n']) : 0;
 
                if ( $n < 5 ) {
+                       /**
+                        * @global string $wp_db_version
+                        */
                        global $wp_db_version;
                        update_site_option( 'wpmu_upgrade_site', $wp_db_version );
                }
index b47e74cc12583043b0add73f75a3cabbf1f26b89..002e098dc17a614f1c1db62eae22118de12df834 100644 (file)
@@ -51,7 +51,7 @@ if ( isset($_REQUEST['action']) && 'add-user' == $_REQUEST['action'] ) {
                if ( ! $user_id ) {
                        $add_user_errors = new WP_Error( 'add_user_fail', __( 'Cannot add user.' ) );
                } else {
-                       wp_new_user_notification( $user_id, $password );
+                       wp_new_user_notification( $user_id, 'both' );
                        wp_redirect( add_query_arg( array('update' => 'added'), 'user-new.php' ) );
                        exit;
                }
@@ -70,7 +70,7 @@ $parent_file = 'users.php';
 require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
-<h2 id="add-new-user"><?php _e('Add New User') ?></h2>
+<h1 id="add-new-user"><?php _e( 'Add New User' ); ?></h1>
 <?php
 if ( ! empty( $messages ) ) {
        foreach ( $messages as $msg )
@@ -85,18 +85,18 @@ if ( isset( $add_user_errors ) && is_wp_error( $add_user_errors ) ) { ?>
                ?>
        </div>
 <?php } ?>
-       <form action="<?php echo network_admin_url('user-new.php?action=add-user'); ?>" id="adduser" method="post">
+       <form action="<?php echo network_admin_url('user-new.php?action=add-user'); ?>" id="adduser" method="post" novalidate="novalidate">
        <table class="form-table">
                <tr class="form-field form-required">
                        <th scope="row"><label for="username"><?php _e( 'Username' ) ?></label></th>
-                       <td><input type="text" class="regular-text" name="user[username]" id="username" /></td>
+                       <td><input type="text" class="regular-text" name="user[username]" id="username" autocapitalize="none" autocorrect="off" /></td>
                </tr>
                <tr class="form-field form-required">
                        <th scope="row"><label for="email"><?php _e( 'Email' ) ?></label></th>
-                       <td><input type="text" class="regular-text" name="user[email]" id="email"/></td>
+                       <td><input type="email" class="regular-text" name="user[email]" id="email"/></td>
                </tr>
                <tr class="form-field">
-                       <td colspan="2"><?php _e( 'Username and password will be mailed to the above email address.' ) ?></td>
+                       <td colspan="2"><?php _e( 'A password reset link will be sent to the user via email.' ) ?></td>
                </tr>
        </table>
        <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ); ?>
index c900b825cee576bbb65f539087eff2d91acc29ed..4a06e401731a165a4b4d336fd32eda383d285ad8 100644 (file)
@@ -16,13 +16,17 @@ if ( ! is_multisite() )
 if ( ! current_user_can( 'manage_network_users' ) )
        wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
+/**
+ *
+ * @param array $users
+ */
 function confirm_delete_users( $users ) {
        $current_user = wp_get_current_user();
        if ( ! is_array( $users ) || empty( $users ) ) {
                return false;
        }
        ?>
-       <h2><?php esc_html_e( 'Users' ); ?></h2>
+       <h1><?php esc_html_e( 'Users' ); ?></h1>
 
        <?php if ( 1 == count( $users ) ) : ?>
                <p><?php _e( 'You have chosen to delete the user from all networks and sites.' ); ?></p>
@@ -86,7 +90,7 @@ function confirm_delete_users( $users ) {
                                                        <li><label><input type="radio" id="delete_option0" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="delete" checked="checked" />
                                                        <?php _e( 'Delete all content.' ); ?></label></li>
                                                        <li><label><input type="radio" id="delete_option1" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="reassign" />
-                                                       <?php echo __( 'Attribute all content to:' ) . "</label>\n" . $user_dropdown; ?></li>
+                                                       <?php _e( 'Attribute all content to:' ) . "</label>\n" . $user_dropdown; ?></li>
                                                </ul>
                                                <?php
                                        }
@@ -305,15 +309,15 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty(
 }
        ?>
 <div class="wrap">
-       <h2><?php esc_html_e( 'Users' );
+       <h1><?php esc_html_e( 'Users' );
        if ( current_user_can( 'create_users') ) : ?>
-               <a href="<?php echo network_admin_url('user-new.php'); ?>" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a><?php
+               <a href="<?php echo network_admin_url('user-new.php'); ?>" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a><?php
        endif;
 
        if ( !empty( $usersearch ) )
        printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', esc_html( $usersearch ) );
        ?>
-       </h2>
+       </h1>
 
        <?php $wp_list_table->views(); ?>
 
index 41450fc4d8a3cadddeaa9419684e4e8aa8765635..2ddaaac3306cc08ba4c0c9b297d1a411b67e1ac8 100644 (file)
@@ -51,7 +51,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <form method="post" action="options.php">
 <?php settings_fields('discussion'); ?>
@@ -66,7 +66,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <br />
 <label for="default_ping_status">
 <input name="default_ping_status" type="checkbox" id="default_ping_status" value="open" <?php checked('open', get_option('default_ping_status')); ?> />
-<?php _e('Allow link notifications from other blogs (pingbacks and trackbacks)'); ?></label>
+<?php _e('Allow link notifications from other blogs (pingbacks and trackbacks) on new articles'); ?></label>
 <br />
 <label for="default_comment_status">
 <input name="default_comment_status" type="checkbox" id="default_comment_status" value="open" <?php checked('open', get_option('default_comment_status')); ?> />
@@ -258,9 +258,7 @@ $avatar_defaults = array(
  * @param array $avatar_defaults Array of default avatars.
  */
 $avatar_defaults = apply_filters( 'avatar_defaults', $avatar_defaults );
-$default = get_option('avatar_default');
-if ( empty($default) )
-       $default = 'mystery';
+$default = get_option( 'avatar_default', 'mystery' );
 $size = 32;
 $avatar_list = '';
 
index cdcde0a9acb5ffd12304b9a4f0795d6088582cdc..7f2a14ea4f25b0eb07cd8d1104878ac71cb8b8dd 100644 (file)
@@ -109,7 +109,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <form method="post" action="options.php" novalidate="novalidate">
 <?php settings_fields('general'); ?>
@@ -321,6 +321,9 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 <th scope="row"><label for="start_of_week"><?php _e('Week Starts On') ?></label></th>
 <td><select name="start_of_week" id="start_of_week">
 <?php
+/**
+ * @global WP_Locale $wp_locale
+ */
 global $wp_locale;
 
 for ($day_index = 0; $day_index <= 6; $day_index++) :
index e1a628f99c66f2812467f17103ea55072f564a64..21b96eddbc51d484b3647e41b7d0c0779c40d956 100644 (file)
@@ -40,7 +40,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <form action="options.php" method="post">
 <?php settings_fields('media'); ?>
@@ -84,7 +84,11 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <?php do_settings_fields('media', 'default'); ?>
 </table>
 
-<?php if ( isset( $GLOBALS['wp_settings']['media']['embeds'] ) ) : ?>
+<?php
+/**
+ * @global array $wp_settings
+ */
+if ( isset( $GLOBALS['wp_settings']['media']['embeds'] ) ) : ?>
 <h3 class="title"><?php _e('Embeds') ?></h3>
 <table class="form-table">
 <?php do_settings_fields( 'media', 'embeds' ); ?>
index 0d241ae84ef624dffba32172f76ca184efa52f57..b1f84cc4ac4e9e2ab1e69fbcabb46d00fd58f5da 100644 (file)
@@ -175,7 +175,7 @@ if ( ! is_multisite() ) {
 <?php endif; ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <form name="form" action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
index 7d28208d6de96ed512c7f21c996ed51db0149e12..9341e7fcf42119434956a32dcdc2e21dc13f2d98 100644 (file)
@@ -74,7 +74,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <form method="post" action="options.php">
 <?php
index 5e62f54824096eb36bb7210a1e4015c83bb3dc4a..ba7eeca78dbbd4508b356142d44d0d2c21cc7adb 100644 (file)
@@ -50,12 +50,13 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <form method="post" action="options.php">
 <?php settings_fields('writing'); ?>
 
 <table class="form-table">
+<?php if ( get_site_option( 'initial_db_version' ) < 32453 ) : ?>
 <tr>
 <th scope="row"><?php _e('Formatting') ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Formatting') ?></span></legend>
@@ -65,6 +66,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <label for="use_balanceTags"><input name="use_balanceTags" type="checkbox" id="use_balanceTags" value="1" <?php checked('1', get_option('use_balanceTags')); ?> /> <?php _e('WordPress should correct invalidly nested XHTML automatically') ?></label>
 </fieldset></td>
 </tr>
+<?php endif; ?>
 <tr>
 <th scope="row"><label for="default_category"><?php _e('Default Post Category') ?></label></th>
 <td>
index 0f149c95c55665d54a030c0e6e8100686a5f9bc0..752d7b46ffe21a8003271b4eda405746646ceca6 100644 (file)
@@ -76,7 +76,7 @@ $whitelist_options = array(
        'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ),
        'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
        'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ),
-       'writing' => array( 'use_smilies', 'default_category', 'default_email_category', 'use_balanceTags', 'default_link_category', 'default_post_format' )
+       'writing' => array( 'default_category', 'default_email_category', 'default_link_category', 'default_post_format' )
 );
 $whitelist_options['misc'] = $whitelist_options['options'] = $whitelist_options['privacy'] = array();
 
@@ -85,6 +85,11 @@ $mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', '
 if ( ! in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) )
        $whitelist_options['reading'][] = 'blog_charset';
 
+if ( get_site_option( 'initial_db_version' ) < 32453 ) {
+       $whitelist_options['writing'][] = 'use_smilies';
+       $whitelist_options['writing'][] = 'use_balanceTags';
+}
+
 if ( !is_multisite() ) {
        if ( !defined( 'WP_SITEURL' ) )
                $whitelist_options['general'][] = 'siteurl';
@@ -221,7 +226,7 @@ if ( 'update' == $action ) {
 include( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
-  <h2><?php esc_html_e('All Settings'); ?></h2>
+  <h1><?php esc_html_e( 'All Settings' ); ?></h1>
   <form name="form" action="options.php" method="post" id="all-options">
   <?php wp_nonce_field('options-options') ?>
   <input type="hidden" name="action" value="update" />
index f6033e9a593c90c12515d59951107f2f8642b6b7..6ffadf69c16b5da627bce8b2d62c53a67ce61538 100644 (file)
@@ -28,7 +28,7 @@ if ( empty( $plugins ) ) {
        include( ABSPATH . 'wp-admin/admin-header.php' );
        ?>
        <div class="wrap">
-               <h2><?php echo esc_html( $title ); ?></h2>
+               <h1><?php echo esc_html( $title ); ?></h1>
                <div id="message" class="error"><p><?php _e( 'You do not appear to have any plugins available at this time.' ); ?></p></div>
        </div>
        <?php
@@ -174,7 +174,7 @@ default:
 </div>
 <?php endif; ?>
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <div class="fileedit-sub">
 <div class="alignleft">
index be8e80f6582ebb3b50541427b073887a310d0e6d..770572efd7beedc15813bb6b0729bf9d45b632e6 100644 (file)
@@ -94,7 +94,7 @@ get_current_screen()->set_help_sidebar(
 include(ABSPATH . 'wp-admin/admin-header.php');
 ?>
 <div class="wrap">
-<h2>
+<h1>
        <?php
        echo esc_html( $title );
        if ( ! empty( $tabs['upload'] ) && current_user_can( 'upload_plugins' ) ) {
@@ -105,10 +105,10 @@ include(ABSPATH . 'wp-admin/admin-header.php');
                        $href = self_admin_url( 'plugin-install.php?tab=upload' );
                        $text = __( 'Upload Plugin' );
                }
-               echo ' <a href="' . $href . '" class="upload add-new-h2">' . $text . '</a>';
+               echo ' <a href="' . $href . '" class="upload page-title-action">' . $text . '</a>';
        }
        ?>
-</h2>
+</h1>
 
 <?php
 if ( $tab !== 'upload' ) {
index d8676ec906eeacb978144efd0ff8b7e3c54afdbf..75f2491705ce837da582f4e128440fa997772c35 100644 (file)
@@ -122,7 +122,7 @@ if ( $action ) {
                        require_once(ABSPATH . 'wp-admin/admin-header.php');
 
                        echo '<div class="wrap">';
-                       echo '<h2>' . esc_html( $title ) . '</h2>';
+                       echo '<h1>' . esc_html( $title ) . '</h1>';
 
                        $url = self_admin_url('update.php?action=update-selected&amp;plugins=' . urlencode( join(',', $plugins) ));
                        $url = wp_nonce_url($url, 'bulk-update-plugins');
@@ -148,6 +148,9 @@ if ( $action ) {
 
                        @ini_set('display_errors', true); //Ensure that Fatal errors are displayed.
                        // Go back to "sandbox" scope so we get the same errors as before
+                       /**
+                        * @param string $plugin
+                        */
                        function plugin_sandbox_scrape( $plugin ) {
                                wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin );
                                include( WP_PLUGIN_DIR . '/' . $plugin );
@@ -285,13 +288,13 @@ if ( $action ) {
                                        $plugins_to_delete = count( $plugin_info );
                                ?>
                                <?php if ( 1 == $plugins_to_delete ) : ?>
-                                       <h2><?php _e( 'Delete Plugin' ); ?></h2>
+                                       <h1><?php _e( 'Delete Plugin' ); ?></h1>
                                        <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
                                                <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'This plugin may be active on other sites in the network.' ); ?></p></div>
                                        <?php endif; ?>
                                        <p><?php _e( 'You are about to remove the following plugin:' ); ?></p>
                                <?php else: ?>
-                                       <h2><?php _e( 'Delete Plugins' ); ?></h2>
+                                       <h1><?php _e( 'Delete Plugins' ); ?></h1>
                                        <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
                                                <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'These plugins may be active on other sites in the network.' ); ?></p></div>
                                        <?php endif; ?>
@@ -327,13 +330,13 @@ if ( $action ) {
                                                }
                                        ?>
                                        <?php wp_nonce_field('bulk-plugins') ?>
-                                       <?php submit_button( $data_to_delete ? __( 'Yes, Delete these files and data' ) : __( 'Yes, Delete these files' ), 'button', 'submit', false ); ?>
+                                       <?php submit_button( $data_to_delete ? __( 'Yes, delete these files and data' ) : __( 'Yes, delete these files' ), 'button', 'submit', false ); ?>
                                </form>
                                <?php
                                $referer = wp_get_referer();
                                ?>
                                <form method="post" action="<?php echo $referer ? esc_url( $referer ) : ''; ?>" style="display:inline;">
-                                       <?php submit_button( __( 'No, Return me to the plugin list' ), 'button', 'submit', false ); ?>
+                                       <?php submit_button( __( 'No, return me to the plugin list' ), 'button', 'submit', false ); ?>
                                </form>
 
                                <p><a href="#" onclick="jQuery('#files-list').toggle(); return false;"><?php _e('Click to view entire list of files which will be deleted'); ?></a></p>
@@ -443,13 +446,13 @@ if ( !empty($invalid) )
 <?php endif; ?>
 
 <div class="wrap">
-<h2><?php echo esc_html( $title );
+<h1><?php echo esc_html( $title );
 if ( ( ! is_multisite() || is_network_admin() ) && current_user_can('install_plugins') ) { ?>
- <a href="<?php echo self_admin_url( 'plugin-install.php' ); ?>" class="add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a>
+ <a href="<?php echo self_admin_url( 'plugin-install.php' ); ?>" class="page-title-action"><?php echo esc_html_x('Add New', 'plugin'); ?></a>
 <?php }
 if ( $s )
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $s ) ); ?>
-</h2>
+</h1>
 
 <?php
 /**
index 0a1181587d93c6c92333e72ea668d642d99dc1cc..74f81fba8974d6330ae8504280ddf3bb4635eae7 100644 (file)
@@ -9,6 +9,11 @@
 /** Load WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
+/**
+ * @global string  $post_type
+ * @global object  $post_type_object
+ * @global WP_Post $post
+ */
 global $post_type, $post_type_object, $post;
 
 if ( ! isset( $_GET['post_type'] ) ) {
index 9b9b20f84a0858afdc156a998a75bf26bde21285..89bdc38ce0476ac79469b8921478eea8cd8745c4 100644 (file)
@@ -23,6 +23,11 @@ elseif ( isset( $_POST['post_ID'] ) )
 else
        $post_id = $post_ID = 0;
 
+/**
+ * @global string  $post_type
+ * @global object  $post_type_object
+ * @global WP_Post $post
+ */
 global $post_type, $post_type_object, $post;
 
 if ( $post_id )
@@ -54,7 +59,7 @@ function redirect_post($post_id = '') {
                                        $message = 6;
                        }
                } else {
-                               $message = 'draft' == $status ? 10 : 1;
+                       $message = 'draft' == $status ? 10 : 1;
                }
 
                $location = add_query_arg( 'message', $message, get_edit_post_link( $post_id, 'url' ) );
@@ -125,8 +130,8 @@ case 'post-quickdraft-save':
        $post = get_post( $_REQUEST['post_ID'] );
        check_admin_referer( 'add-' . $post->post_type );
 
-       $_POST['comment_status'] = get_option( 'default_comment_status' );
-       $_POST['ping_status'] = get_option( 'default_ping_status' );
+       $_POST['comment_status'] = get_default_comment_status( $post->post_type );
+       $_POST['ping_status']    = get_default_comment_status( $post->post_type, 'pingback' );
 
        edit_post();
        wp_dashboard_quick_press();
@@ -274,7 +279,7 @@ case 'untrash':
                wp_die( __( 'Unknown post type.' ) );
 
        if ( ! current_user_can( 'delete_post', $post_id ) )
-               wp_die( __( 'You are not allowed to move this item out of the Trash.' ) );
+               wp_die( __( 'You are not allowed to restore this item from the Trash.' ) );
 
        if ( ! wp_untrash_post( $post_id ) )
                wp_die( __( 'Error in restoring from Trash.' ) );
index 5b405cc05886cba2d6a511f28e2925b0efea9956..6f27a095398d5ce9b89bc59072d38866082fa3be 100644 (file)
@@ -14,6 +14,9 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( ! current_user_can( 'edit_posts' ) || ! current_user_can( get_post_type_object( 'post' )->cap->create_posts ) )
        wp_die( __( 'Cheatin&#8217; uh?' ), 403 );
 
+/**
+ * @global WP_Press_This $wp_press_this
+ */
 if ( empty( $GLOBALS['wp_press_this'] ) ) {
        include( ABSPATH . 'wp-admin/includes/class-wp-press-this.php' );
 }
index 0f48ef9a2707a5231e37a51251592227db6170c3..40328599d4f37b76d22a1a6f39ae3981ddbc4cd4 100644 (file)
@@ -74,7 +74,7 @@ default :
 
        $post_edit_link = get_edit_post_link();
        $post_title     = '<a href="' . $post_edit_link . '">' . _draft_or_post_title() . '</a>';
-       $h2             = sprintf( __( 'Compare Revisions of &#8220;%1$s&#8221;' ), $post_title );
+       $h1             = sprintf( __( 'Compare Revisions of &#8220;%1$s&#8221;' ), $post_title );
        $return_to_post = '<a href="' . $post_edit_link . '">' . __( '&larr; Return to post editor' ) . '</a>';
        $title          = __( 'Revisions' );
 
@@ -126,7 +126,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-       <h2 class="long-header"><?php echo $h2; ?></h2>
+       <h1 class="long-header"><?php echo $h1; ?></h1>
        <?php echo $return_to_post; ?>
 </div>
 <?php
index 34e19c763307dcada5369bb8ad024ae2d8e251cd..7951e9677df8d5169f22e328b51bbb85de9e7e2a 100644 (file)
@@ -63,9 +63,13 @@ $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : -1;
  *
  * @ignore
  * @since 2.3.0
+ *
+ * @global string    $wp_local_package
+ * @global WP_Locale $wp_locale
+ *
+ * @param string|array $body_classes
  */
 function setup_config_display_header( $body_classes = array() ) {
-       global $wp_version;
        $body_classes = (array) $body_classes;
        $body_classes[] = 'wp-core-ui';
        if ( is_rtl() ) {
index e0ca475bd0210c731fb0825ced056644949277e7..c858c0bbcf4d13b46b10efd39cd2efa271d19dae 100644 (file)
@@ -131,7 +131,7 @@ if ( $description != $file_show )
        $description .= ' <span>(' . $file_show . ')</span>';
 ?>
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <div class="fileedit-sub">
 <div class="alignleft">
index 56c20b5859c6270b7db4cfd4fef67b4dcedbfd98..92fd53ccb1389af85175612b6ff5fb3690f41db6 100644 (file)
@@ -51,6 +51,8 @@ wp_localize_script( 'theme', '_wpThemeSettings', array(
                'error'  => __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ),
                'themesFound'   => __( 'Number of Themes found: %d' ),
                'noThemesFound' => __( 'No themes found. Try a different search.' ),
+               'collapseSidebar'    => __( 'Collapse Sidebar' ),
+               'expandSidebar'      => __( 'Expand Sidebar' ),
        ),
        'installedThemes' => array_keys( $installed_themes ),
 ) );
@@ -102,7 +104,7 @@ include(ABSPATH . 'wp-admin/admin-header.php');
 
 ?>
 <div class="wrap">
-       <h2><?php
+       <h1><?php
        echo esc_html( $title );
 
        /**
@@ -117,10 +119,10 @@ include(ABSPATH . 'wp-admin/admin-header.php');
         */
        $tabs = apply_filters( 'install_themes_tabs', array( 'upload' => __( 'Upload Theme' ) ) );
        if ( ! empty( $tabs['upload'] ) && current_user_can( 'upload_themes' ) ) {
-               echo ' <a href="#" class="upload add-new-h2">' . __( 'Upload Theme' ) . '</a>';
-               echo ' <a href="#" class="browse-themes add-new-h2">' . _x( 'Browse', 'themes' ) . '</a>';
+               echo ' <a href="#" class="upload page-title-action">' . __( 'Upload Theme' ) . '</a>';
+               echo ' <a href="#" class="browse-themes page-title-action">' . _x( 'Browse', 'themes' ) . '</a>';
        }
-       ?></h2>
+       ?></h1>
 
        <div class="upload-theme">
        <?php install_themes_upload(); ?>
@@ -237,16 +239,12 @@ if ( $tab ) {
 
                                <div class="theme-details">
                                        <# if ( data.rating ) { #>
-                                               <div class="rating rating-{{ Math.round( data.rating / 10 ) * 10 }}">
-                                                       <span class="one"></span>
-                                                       <span class="two"></span>
-                                                       <span class="three"></span>
-                                                       <span class="four"></span>
-                                                       <span class="five"></span>
+                                               <div class="star-rating rating-{{ Math.round( data.rating / 10 ) * 10 }}">
+                                                       <span class="one"></span><span class="two"></span><span class="three"></span><span class="four"></span><span class="five"></span>
                                                        <small class="ratings">{{ data.num_ratings }}</small>
                                                </div>
                                        <# } else { #>
-                                               <div class="rating">
+                                               <div class="star-rating">
                                                        <small class="ratings"><?php _e( 'This theme has not been rated yet.' ); ?></small>
                                                </div>
                                        <# } #>
@@ -256,10 +254,10 @@ if ( $tab ) {
                        </div>
                </div>
                <div class="wp-full-overlay-footer">
-                       <a href="#" class="collapse-sidebar" title="<?php esc_attr_e( 'Collapse Sidebar' ); ?>">
-                               <span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span>
+                       <button type="button" class="collapse-sidebar button-secondary" aria-expanded="true" aria-label="<?php esc_attr_e( 'Collapse Sidebar' ); ?>">
                                <span class="collapse-sidebar-arrow"></span>
-                       </a>
+                               <span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span>
+                       </button>
                </div>
        </div>
        <div class="wp-full-overlay-main">
index 45776cc967b167974f24810e9f980abb855a60b5..5c007df79ff5f9fd53231b1cdb3a5fdd74bd21bd 100644 (file)
@@ -124,12 +124,12 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-       <h2><?php esc_html_e( 'Themes' ); ?>
+       <h1><?php esc_html_e( 'Themes' ); ?>
                <span class="title-count theme-count"><?php echo count( $themes ); ?></span>
        <?php if ( ! is_multisite() && current_user_can( 'install_themes' ) ) : ?>
-               <a href="<?php echo admin_url( 'theme-install.php' ); ?>" class="hide-if-no-js add-new-h2"><?php echo esc_html_x( 'Add New', 'Add new theme' ); ?></a>
+               <a href="<?php echo admin_url( 'theme-install.php' ); ?>" class="hide-if-no-js page-title-action"><?php echo esc_html_x( 'Add New', 'Add new theme' ); ?></a>
        <?php endif; ?>
-       </h2>
+       </h1>
 <?php
 if ( ! validate_current_theme() || isset( $_GET['broken'] ) ) : ?>
 <div id="message1" class="updated notice is-dismissible"><p><?php _e('The active theme is broken. Reverting to the default theme.'); ?></p></div>
@@ -245,7 +245,6 @@ foreach ( $themes as $theme ) :
                <a class="button button-secondary activate" href="<?php echo $theme['actions']['activate']; ?>"><?php _e( 'Activate' ); ?></a>
                <?php if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { ?>
                        <a class="button button-primary load-customize hide-if-no-customize" href="<?php echo $theme['actions']['customize']; ?>"><?php _e( 'Live Preview' ); ?></a>
-                       <a class="button button-secondary hide-if-customize" href="<?php echo $theme['actions']['preview']; ?>"><?php _e( 'Preview' ); ?></a>
                <?php } ?>
        <?php } ?>
 
@@ -280,7 +279,7 @@ $can_delete = current_user_can( 'delete_themes' );
                <th><?php _ex('Name', 'theme name'); ?></th>
                <th><?php _e('Description'); ?></th>
                <?php if ( $can_delete ) { ?>
-                       <th></th>
+                       <td></td>
                <?php } ?>
                </tr>
        </tr>
@@ -331,7 +330,7 @@ $can_delete = current_user_can( 'delete_themes' );
                <h3 class="theme-name" id="{{ data.id }}-name">
                        <?php
                        /* translators: %s: theme name */
-                       printf( __( '<span>Active:</span> %s' ), '{{ data.name }}' );
+                       printf( __( '<span>Active:</span> %s' ), '{{{ data.name }}}' );
                        ?>
                </h3>
        <# } else { #>
@@ -347,7 +346,6 @@ $can_delete = current_user_can( 'delete_themes' );
        <# } else { #>
                <a class="button button-secondary activate" href="{{{ data.actions.activate }}}"><?php _e( 'Activate' ); ?></a>
                <a class="button button-primary load-customize hide-if-no-customize" href="{{{ data.actions.customize }}}"><?php _e( 'Live Preview' ); ?></a>
-               <a class="button button-secondary hide-if-customize" href="{{{ data.actions.preview }}}"><?php _e( 'Preview' ); ?></a>
        <# } #>
 
        </div>
@@ -363,7 +361,7 @@ $can_delete = current_user_can( 'delete_themes' );
                <div class="theme-header">
                        <button class="left dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Show previous theme' ); ?></span></button>
                        <button class="right dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Show next theme' ); ?></span></button>
-                       <button class="close dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Close overlay' ); ?></span></button>
+                       <button class="close dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Close details dialog' ); ?></span></button>
                </div>
                <div class="theme-about">
                        <div class="theme-screenshots">
@@ -409,7 +407,6 @@ $can_delete = current_user_can( 'delete_themes' );
                                        <a href="{{{ data.actions.activate }}}" class="button button-secondary activate"><?php _e( 'Activate' ); ?></a>
                                <# } #>
                                <a href="{{{ data.actions.customize }}}" class="button button-primary load-customize hide-if-no-customize"><?php _e( 'Live Preview' ); ?></a>
-                               <a href="{{{ data.actions.preview }}}" class="button button-secondary hide-if-customize"><?php _e( 'Preview' ); ?></a>
                        </div>
 
                        <# if ( ! data.active && data.actions['delete'] ) { #>
index 692fe9273b0900718638626114ca01ffcab9d8e0..726c55b52a1b8342b41fcc352a0e8b1030869fcd 100644 (file)
@@ -33,7 +33,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h1><?php echo esc_html( $title ); ?></h1>
 
 <?php if ( current_user_can('edit_posts') ) : ?>
 <div class="card pressthis">
index a8eb7f51e0675b86b49ce6777d8ff876532695aa..969021696560b410865d94a9b79364446ab99240 100644 (file)
@@ -22,6 +22,16 @@ if ( is_multisite() && ! is_network_admin() ) {
 if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_themes' ) && ! current_user_can( 'update_plugins' ) )
        wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
 
+/**
+ *
+ * @global string $wp_local_package
+ * @global wpdb   $wpdb
+ * @global string $wp_version
+ *
+ * @staticvar bool $first_pass
+ *
+ * @param object $update
+ */
 function list_core_update( $update ) {
        global $wp_local_package, $wpdb, $wp_version;
        static $first_pass = true;
@@ -104,6 +114,9 @@ function list_core_update( $update ) {
 
 }
 
+/**
+ * @since 2.7.0
+ */
 function dismissed_updates() {
        $dismissed = get_core_updates( array( 'dismissed' => true, 'available' => false ) );
        if ( $dismissed ) {
@@ -136,7 +149,9 @@ function dismissed_updates() {
  *
  * @since 2.7.0
  *
- * @return null
+ * @global string $wp_version
+ * @global string $required_php_version
+ * @global string $required_mysql_version
  */
 function core_upgrade_preamble() {
        global $wp_version, $required_php_version, $required_mysql_version;
@@ -162,7 +177,7 @@ function core_upgrade_preamble() {
                }
                echo '</h3>';
        } else {
-               echo '<div class="updated inline"><p>';
+               echo '<div class="notice notice-warning"><p>';
                _e('<strong>Important:</strong> before updating, please <a href="https://codex.wordpress.org/WordPress_Backups">back up your database and files</a>. For help with updates, visit the <a href="https://codex.wordpress.org/Updating_WordPress">Updating WordPress</a> Codex page.');
                echo '</p></div>';
 
@@ -198,6 +213,10 @@ function core_upgrade_preamble() {
        dismissed_updates();
 }
 
+/**
+ *
+ * @global string $wp_version
+ */
 function list_plugin_updates() {
        global $wp_version;
 
@@ -226,7 +245,7 @@ function list_plugin_updates() {
 <table class="widefat" id="update-plugins-table">
        <thead>
        <tr>
-               <th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all" /></th>
+               <td scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all" /></td>
                <th scope="col" class="manage-column"><label for="plugins-select-all"><?php _e('Select All'); ?></label></th>
        </tr>
        </thead>
@@ -279,7 +298,7 @@ function list_plugin_updates() {
 
        <tfoot>
        <tr>
-               <th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all-2" /></th>
+               <td scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all-2" /></td>
                <th scope="col" class="manage-column"><label for="plugins-select-all-2"><?php _e( 'Select All' ); ?></label></th>
        </tr>
        </tfoot>
@@ -289,6 +308,9 @@ function list_plugin_updates() {
 <?php
 }
 
+/**
+ * @since 2.9.0
+ */
 function list_theme_updates() {
        $themes = get_theme_updates();
        if ( empty( $themes ) ) {
@@ -298,7 +320,6 @@ function list_theme_updates() {
        }
 
        $form_action = 'update-core.php?action=do-theme-upgrade';
-
 ?>
 <h3><?php _e( 'Themes' ); ?></h3>
 <p><?php _e( 'The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.' ); ?></p>
@@ -309,7 +330,7 @@ function list_theme_updates() {
 <table class="widefat" id="update-themes-table">
        <thead>
        <tr>
-               <th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></th>
+               <td scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all" /></td>
                <th scope="col" class="manage-column"><label for="themes-select-all"><?php _e('Select All'); ?></label></th>
        </tr>
        </thead>
@@ -328,7 +349,7 @@ function list_theme_updates() {
 
        <tfoot>
        <tr>
-               <th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
+               <td scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></td>
                <th scope="col" class="manage-column"><label for="themes-select-all-2"><?php _e( 'Select All' ); ?></label></th>
        </tr>
        </tfoot>
@@ -338,6 +359,9 @@ function list_theme_updates() {
 <?php
 }
 
+/**
+ * @since 3.7.0
+ */
 function list_translation_updates() {
        $updates = wp_get_translation_updates();
        if ( ! $updates ) {
@@ -364,7 +388,9 @@ function list_translation_updates() {
  *
  * @since 2.7.0
  *
- * @return null
+ * @global WP_Filesystem_Base $wp_filesystem Subclass
+ *
+ * @param bool $reinstall
  */
 function do_core_upgrade( $reinstall = false ) {
        global $wp_filesystem;
@@ -389,7 +415,7 @@ function do_core_upgrade( $reinstall = false ) {
 
 ?>
        <div class="wrap">
-       <h2><?php _e('Update WordPress'); ?></h2>
+       <h1><?php _e( 'Update WordPress' ); ?></h1>
 <?php
 
        if ( false === ( $credentials = request_filesystem_credentials( $url, '', false, ABSPATH, array( 'version', 'locale' ), $allow_relaxed_file_ownership ) ) ) {
@@ -440,6 +466,9 @@ function do_core_upgrade( $reinstall = false ) {
        <?php
 }
 
+/**
+ * @since 2.7.0
+ */
 function do_dismiss_core_update() {
        $version = isset( $_POST['version'] )? $_POST['version'] : false;
        $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
@@ -451,6 +480,9 @@ function do_dismiss_core_update() {
        exit;
 }
 
+/**
+ * @since 2.7.0
+ */
 function do_undismiss_core_update() {
        $version = isset( $_POST['version'] )? $_POST['version'] : false;
        $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
@@ -510,7 +542,7 @@ if ( 'upgrade-core' == $action ) {
        require_once(ABSPATH . 'wp-admin/admin-header.php');
        ?>
        <div class="wrap">
-       <h2><?php _e('WordPress Updates'); ?></h2>
+       <h1><?php _e( 'WordPress Updates' ); ?></h1>
        <?php
        if ( $upgrade_error ) {
                echo '<div class="error"><p>';
@@ -592,7 +624,7 @@ if ( 'upgrade-core' == $action ) {
 
        require_once(ABSPATH . 'wp-admin/admin-header.php');
        echo '<div class="wrap">';
-       echo '<h2>' . esc_html__('Update Plugins') . '</h2>';
+       echo '<h1>' . __( 'Update Plugins' ) . '</h1>';
        echo '<iframe src="', $url, '" style="width: 100%; height: 100%; min-height: 750px;" frameborder="0"></iframe>';
        echo '</div>';
        include(ABSPATH . 'wp-admin/admin-footer.php');
@@ -621,7 +653,7 @@ if ( 'upgrade-core' == $action ) {
        require_once(ABSPATH . 'wp-admin/admin-header.php');
        ?>
        <div class="wrap">
-               <h2><?php echo esc_html__('Update Themes') ?></h2>
+               <h1><?php _e( 'Update Themes' ); ?></h1>
                <iframe src="<?php echo $url ?>" style="width: 100%; height: 100%; min-height: 750px;" frameborder="0"></iframe>
        </div>
        <?php
index 249de5a2398d620ce65d7591a05bbb5c4e45c564..53c1d17012d1ecaafef87a6450f42d041eb35995 100644 (file)
@@ -35,6 +35,12 @@ if ( 'upgrade_db' === $step ) {
        die( '0' );
 }
 
+/**
+ * @global string $wp_version
+ * @global string $required_php_version
+ * @global string $required_mysql_version
+ * @global wpdb   $wpdb
+ */
 global $wp_version, $required_php_version, $required_mysql_version;
 
 $step = (int) $step;
index 39fa165fb2b6f25f5160bb30811bf81c7819354f..7154148cdda0d0b819420f22a787994ffc8dabb2 100644 (file)
@@ -71,14 +71,14 @@ if ( 'grid' === $mode ) {
        require_once( ABSPATH . 'wp-admin/admin-header.php' );
        ?>
        <div class="wrap" id="wp-media-grid" data-search="<?php _admin_search_query() ?>">
-               <h2>
+               <h1>
                <?php
                echo esc_html( $title );
                if ( current_user_can( 'upload_files' ) ) { ?>
-                       <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'file' ); ?></a><?php
+                       <a href="media-new.php" class="page-title-action"><?php echo esc_html_x( 'Add New', 'file' ); ?></a><?php
                }
                ?>
-               </h2>
+               </h1>
                <div class="error hide-if-js">
                        <p><?php _e( 'The grid view for the Media Library requires JavaScript. <a href="upload.php?mode=list">Switch to the list view</a>.' ); ?></p>
                </div>
@@ -129,7 +129,7 @@ if ( $doaction ) {
                                        wp_die( __( 'You are not allowed to move this post to the trash.' ) );
 
                                if ( !wp_trash_post( $post_id ) )
-                                       wp_die( __( 'Error in moving to trash.' ) );
+                                       wp_die( __( 'Error in moving to Trash.' ) );
                        }
                        $location = add_query_arg( array( 'trashed' => count( $post_ids ), 'ids' => join( ',', $post_ids ) ), $location );
                        break;
@@ -141,7 +141,7 @@ if ( $doaction ) {
                                        wp_die( __( 'You are not allowed to move this post out of the trash.' ) );
 
                                if ( !wp_untrash_post( $post_id ) )
-                                       wp_die( __( 'Error in restoring from trash.' ) );
+                                       wp_die( __( 'Error in restoring from Trash.' ) );
                        }
                        $location = add_query_arg( 'untrashed', count( $post_ids ), $location );
                        break;
@@ -206,15 +206,15 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<h2>
+<h1>
 <?php
 echo esc_html( $title );
 if ( current_user_can( 'upload_files' ) ) { ?>
-       <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a><?php
+       <a href="media-new.php" class="page-title-action"><?php echo esc_html_x('Add New', 'file'); ?></a><?php
 }
 if ( ! empty( $_REQUEST['s'] ) )
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
-</h2>
+</h1>
 
 <?php
 $message = '';
@@ -264,11 +264,11 @@ if ( ! empty( $_GET['untrashed'] ) && $untrashed = absint( $_GET['untrashed'] )
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('untrashed'), $_SERVER['REQUEST_URI']);
 }
 
-$messages[1] = __('Media attachment updated.');
-$messages[2] = __('Media permanently deleted.');
-$messages[3] = __('Error saving media attachment.');
-$messages[4] = __('Media moved to the trash.') . ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
-$messages[5] = __('Media restored from the trash.');
+$messages[1] = __( 'Media attachment updated.' );
+$messages[2] = __( 'Media attachment permanently deleted.' );
+$messages[3] = __( 'Error saving media attachment.' );
+$messages[4] = __( 'Media attachment moved to the trash.' ) . ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __( 'Undo' ) . '</a>';
+$messages[5] = __( 'Media attachment restored from the trash.' );
 
 if ( ! empty( $_GET['message'] ) && isset( $messages[ $_GET['message'] ] ) ) {
        $message = $messages[ $_GET['message'] ];
index 29af243176869ebe891e43eb5686aefd684e9235..6143514f7224758b7039de5502936b7eafcc4c33 100644 (file)
@@ -39,7 +39,7 @@ else
 $profile_help = '<p>' . __('Your profile contains information about you (your &#8220;account&#8221;) as well as some personal options related to using WordPress.') . '</p>' .
        '<p>' . __('You can change your password, turn on keyboard shortcuts, change the color scheme of your WordPress administration screens, and turn off the WYSIWYG (Visual) editor, among other things. You can hide the Toolbar (formerly called the Admin Bar) from the front end of your site, however it cannot be disabled on the admin screens.') . '</p>' .
        '<p>' . __('Your username cannot be changed, but you can use other fields to enter your real name or a nickname, and change which name to display on your posts.') . '</p>' .
-       '<p>' . __( 'You can log out of other devices, such as your phone or a public computer, by clicking the Log Out of All Other Sessions button.' ) . '</p>' .
+       '<p>' . __( 'You can log out of other devices, such as your phone or a public computer, by clicking the Log Out Everywhere Else button.' ) . '</p>' .
        '<p>' . __('Required fields are indicated; the rest are optional. Profile information will only be displayed if your theme is set up to do so.') . '</p>' .
        '<p>' . __('Remember to click the Update Profile button when you are finished.') . '</p>';
 
@@ -202,17 +202,17 @@ include(ABSPATH . 'wp-admin/admin-header.php');
 <?php endif; ?>
 
 <div class="wrap" id="profile-page">
-<h2>
+<h1>
 <?php
 echo esc_html( $title );
 if ( ! IS_PROFILE_PAGE ) {
        if ( current_user_can( 'create_users' ) ) { ?>
-               <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
+               <a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
        <?php } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) { ?>
-               <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
+               <a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
        <?php }
 } ?>
-</h2>
+</h1>
 <form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post" novalidate="novalidate"<?php
        /**
         * Fires inside the your-profile form tag on the user editing screen.
@@ -402,7 +402,12 @@ if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_c
        $new_email = get_option( $current_user->ID . '_new_email' );
        if ( $new_email && $new_email['newemail'] != $current_user->user_email && $profileuser->ID == $current_user->ID ) : ?>
        <div class="updated inline">
-       <p><?php printf( __('There is a pending change of your e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>'), $new_email['newemail'], esc_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ) ) ); ?></p>
+       <p><?php
+               printf(
+                       __( 'There is a pending change of your e-mail to %1$s. <a href="%2$s">Cancel</a>' ),
+                       '<code>' . $new_email['newemail'] . '</code>',
+                       esc_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ) )
+       ); ?></p>
        </div>
        <?php endif; ?>
        </td>
@@ -453,22 +458,44 @@ if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_c
 $show_password_fields = apply_filters( 'show_password_fields', true, $profileuser );
 if ( $show_password_fields ) :
 ?>
+</table>
+
+<h3><?php _e('Account Management'); ?></h3>
+<table class="form-table">
 <tr id="password" class="user-pass1-wrap">
        <th><label for="pass1"><?php _e( 'New Password' ); ?></label></th>
        <td>
                <input class="hidden" value=" " /><!-- #24364 workaround -->
-               <input type="password" name="pass1" id="pass1" class="regular-text" size="16" value="" autocomplete="off" />
-               <p class="description"><?php _e( 'If you would like to change the password type a new one. Otherwise leave this blank.' ); ?></p>
+               <button type="button" class="button button-secondary wp-generate-pw hide-if-no-js"><?php _e( 'Generate Password' ); ?></button>
+               <div class="wp-pwd hide-if-js">
+                       <span class="password-input-wrapper">
+                               <input type="password" name="pass1" id="pass1" class="regular-text" value="" autocomplete="off" data-pw="<?php echo esc_attr( wp_generate_password( 24 ) ); ?>" aria-describedby="pass-strength-result" />
+                       </span>
+                       <button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
+                               <span class="dashicons dashicons-hidden"></span>
+                               <span class="text"><?php _e( 'Hide' ); ?></span>
+                       </button>
+                       <button type="button" class="button button-secondary wp-cancel-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Cancel password change' ); ?>">
+                               <span class="text"><?php _e( 'Cancel' ); ?></span>
+                       </button>
+                       <div style="display:none" id="pass-strength-result" aria-live="polite"></div>
+               </div>
        </td>
 </tr>
-<tr class="user-pass2-wrap">
+<tr class="user-pass2-wrap hide-if-js">
        <th scope="row"><label for="pass2"><?php _e( 'Repeat New Password' ); ?></label></th>
        <td>
-       <input name="pass2" type="password" id="pass2" class="regular-text" size="16" value="" autocomplete="off" />
+       <input name="pass2" type="password" id="pass2" class="regular-text" value="" autocomplete="off" />
        <p class="description"><?php _e( 'Type your new password again.' ); ?></p>
-       <br />
-       <div id="pass-strength-result"><?php _e( 'Strength indicator' ); ?></div>
-       <p class="description indicator-hint"><?php echo wp_get_password_hint(); ?></p>
+       </td>
+</tr>
+<tr class="pw-weak">
+       <th><?php _e( 'Confirm Password' ); ?></th>
+       <td>
+               <label>
+                       <input type="checkbox" name="pw_weak" class="pw-checkbox" />
+                       <?php _e( 'Confirm use of weak password' ); ?>
+               </label>
        </td>
 </tr>
 <?php endif; ?>
@@ -476,9 +503,9 @@ if ( $show_password_fields ) :
 <?php
 if ( IS_PROFILE_PAGE && count( $sessions->get_all() ) === 1 ) : ?>
        <tr class="user-sessions-wrap hide-if-no-js">
-               <th>&nbsp;</th>
+               <th><?php _e( 'Sessions' ); ?></th>
                <td aria-live="assertive">
-                       <div class="destroy-sessions"><button type="button" disabled class="button button-secondary"><?php _e( 'Log Out of All Other Sessions' ); ?></button></div>
+                       <div class="destroy-sessions"><button type="button" disabled class="button button-secondary"><?php _e( 'Log Out Everywhere Else' ); ?></button></div>
                        <p class="description">
                                <?php _e( 'You are only logged in at this location.' ); ?>
                        </p>
@@ -486,23 +513,23 @@ if ( IS_PROFILE_PAGE && count( $sessions->get_all() ) === 1 ) : ?>
        </tr>
 <?php elseif ( IS_PROFILE_PAGE && count( $sessions->get_all() ) > 1 ) : ?>
        <tr class="user-sessions-wrap hide-if-no-js">
-               <th>&nbsp;</th>
+               <th><?php _e( 'Sessions' ); ?></th>
                <td aria-live="assertive">
-                       <div class="destroy-sessions"><button type="button" class="button button-secondary" id="destroy-sessions"><?php _e( 'Log Out of All Other Sessions' ); ?></button></div>
+                       <div class="destroy-sessions"><button type="button" class="button button-secondary" id="destroy-sessions"><?php _e( 'Log Out Everywhere Else' ); ?></button></div>
                        <p class="description">
-                               <?php _e( 'Left your account logged in at a public computer? Lost your phone? This will log you out everywhere except your current browser.' ); ?>
+                               <?php _e( 'Did you lose your phone or leave your account logged in at a public computer? You can log out everywhere else, and stay logged in here.' ); ?>
                        </p>
                </td>
        </tr>
 <?php elseif ( ! IS_PROFILE_PAGE && $sessions->get_all() ) : ?>
        <tr class="user-sessions-wrap hide-if-no-js">
-               <th>&nbsp;</th>
+               <th><?php _e( 'Sessions' ); ?></th>
                <td>
-                       <p><button type="button" class="button button-secondary" id="destroy-sessions"><?php _e( 'Log Out of All Sessions' ); ?></button></p>
+                       <p><button type="button" class="button button-secondary" id="destroy-sessions"><?php _e( 'Log Out Everywhere' ); ?></button></p>
                        <p class="description">
                                <?php
                                /* translators: 1: User's display name. */
-                               printf( __( 'Log %s out of all sessions' ), $profileuser->display_name );
+                               printf( __( 'Log %s out of all locations.' ), $profileuser->display_name );
                                ?>
                        </p>
                </td>
index 45968255433bd5df7da13239eba902a4540d311d..33fd41d66241fd718bae9cef5196001bb9262a14 100644 (file)
@@ -17,6 +17,11 @@ if ( is_multisite() ) {
 }
 
 if ( is_multisite() ) {
+       /**
+        *
+        * @param string $text
+        * @return string
+        */
        function admin_created_user_email( $text ) {
                $roles = get_editable_roles();
                $role = $roles[ $_REQUEST['role'] ];
@@ -185,7 +190,7 @@ get_current_screen()->set_help_sidebar(
 );
 
 wp_enqueue_script('wp-ajax-response');
-wp_enqueue_script('user-profile');
+wp_enqueue_script( 'user-profile' );
 
 /**
  * Filter whether to enable user auto-complete for non-super admins in Multisite.
@@ -232,13 +237,13 @@ if ( isset($_GET['update']) ) {
 }
 ?>
 <div class="wrap">
-<h2 id="add-new-user"> <?php
+<h1 id="add-new-user"><?php
 if ( current_user_can( 'create_users' ) ) {
        echo _x( 'Add New User', 'user' );
 } elseif ( current_user_can( 'promote_users' ) ) {
        echo _x( 'Add Existing User', 'user' );
 } ?>
-</h2>
+</h1>
 
 <?php if ( isset($errors) && is_wp_error( $errors ) ) : ?>
        <div class="error">
@@ -350,14 +355,14 @@ $new_user_lastname = $creating && isset( $_POST['last_name'] ) ? wp_unslash( $_P
 $new_user_email = $creating && isset( $_POST['email'] ) ? wp_unslash( $_POST['email'] ) : '';
 $new_user_uri = $creating && isset( $_POST['url'] ) ? wp_unslash( $_POST['url'] ) : '';
 $new_user_role = $creating && isset( $_POST['role'] ) ? wp_unslash( $_POST['role'] ) : '';
-$new_user_send_password = $creating && isset( $_POST['send_password'] ) ? wp_unslash( $_POST['send_password'] ) : '';
+$new_user_send_password = $creating && isset( $_POST['send_password'] ) ? wp_unslash( $_POST['send_password'] ) : true;
 $new_user_ignore_pass = $creating && isset( $_POST['noconfirmation'] ) ? wp_unslash( $_POST['noconfirmation'] ) : '';
 
 ?>
 <table class="form-table">
        <tr class="form-field form-required">
                <th scope="row"><label for="user_login"><?php _e('Username'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
-               <td><input name="user_login" type="text" id="user_login" value="<?php echo esc_attr($new_user_login); ?>" aria-required="true" /></td>
+               <td><input name="user_login" type="text" id="user_login" value="<?php echo esc_attr( $new_user_login ); ?>" aria-required="true" autocapitalize="none" autocorrect="off" /></td>
        </tr>
        <tr class="form-field form-required">
                <th scope="row"><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
@@ -385,25 +390,47 @@ $new_user_ignore_pass = $creating && isset( $_POST['noconfirmation'] ) ? wp_unsl
  * @param bool $show Whether to show the password fields. Default true.
  */
 if ( apply_filters( 'show_password_fields', true ) ) : ?>
-       <tr class="form-field form-required">
-               <th scope="row"><label for="pass1"><?php _e('Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
+       <tr class="form-field form-required user-pass1-wrap">
+               <th scope="row">
+                       <label for="pass1">
+                               <?php _e( 'Password' ); ?>
+                               <span class="description hide-if-js"><?php _e( '(required)' ); ?></span>
+                       </label>
+               </th>
                <td>
                        <input class="hidden" value=" " /><!-- #24364 workaround -->
-                       <input name="pass1" type="password" id="pass1" autocomplete="off" />
+                       <button type="button" class="button button-secondary wp-generate-pw hide-if-no-js"><?php _e( 'Show password' ); ?></button>
+                       <div class="wp-pwd hide-if-js">
+                               <?php $initial_password = wp_generate_password( 24 ); ?>
+                               <span class="password-input-wrapper">
+                                       <input type="password" name="pass1" id="pass1" class="regular-text" autocomplete="off" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result" />
+                               </span>
+                               <button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
+                                       <span class="dashicons dashicons-hidden"></span>
+                                       <span class="text"><?php _e( 'Hide' ); ?></span>
+                               </button>
+                               <button type="button" class="button button-secondary wp-cancel-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Cancel password change' ); ?>">
+                                       <span class="text"><?php _e( 'Cancel' ); ?></span>
+                               </button>
+                               <div style="display:none" id="pass-strength-result" aria-live="polite"></div>
+                       </div>
+                       <p><span class="description"><?php _e( 'A password reset link will be sent to the user via email.' ); ?></span></p>
                </td>
        </tr>
-       <tr class="form-field form-required">
-               <th scope="row"><label for="pass2"><?php _e('Repeat Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
+       <tr class="form-field form-required user-pass2-wrap hide-if-js">
+               <th scope="row"><label for="pass2"><?php _e( 'Repeat Password' ); ?> <span class="description"><?php _e( '(required)' ); ?></span></label></th>
                <td>
                <input name="pass2" type="password" id="pass2" autocomplete="off" />
-               <br />
-               <div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
-               <p class="description indicator-hint"><?php echo wp_get_password_hint(); ?></p>
                </td>
        </tr>
-       <tr>
-               <th scope="row"><?php _e('Send Password?') ?></th>
-               <td><label for="send_password"><input type="checkbox" name="send_password" id="send_password" value="1" <?php checked( $new_user_send_password ); ?> /> <?php _e('Send this password to the new user by email.'); ?></label></td>
+       <tr class="pw-weak">
+               <th><?php _e( 'Confirm Password' ); ?></th>
+               <td>
+                       <label>
+                               <input type="checkbox" name="pw_weak" class="pw-checkbox" />
+                               <?php _e( 'Confirm use of weak password' ); ?>
+                       </label>
+               </td>
        </tr>
 <?php endif; ?>
 <?php } // !is_multisite ?>
index 27e264ca5992533ac80cbffaa60435f91794591a..df7648b7774a7255ef7ce7d1fe6baef50bd8b2ea 100644 (file)
@@ -214,7 +214,7 @@ case 'delete':
 <?php echo $referer; ?>
 
 <div class="wrap">
-<h2><?php _e('Delete Users'); ?></h2>
+<h1><?php _e( 'Delete Users' ); ?></h1>
 <?php if ( isset( $_REQUEST['error'] ) ) : ?>
        <div class="error">
                <p><strong><?php _e( 'ERROR:' ); ?></strong> <?php _e( 'Please select an option.' ); ?></p>
@@ -336,8 +336,14 @@ case 'remove':
 <?php echo $referer; ?>
 
 <div class="wrap">
-<h2><?php _e('Remove Users from Site'); ?></h2>
-<p><?php _e('You have specified these users for removal:'); ?></p>
+<h1><?php _e( 'Remove Users from Site' ); ?></h1>
+
+<?php if ( 1 == count( $userids ) ) : ?>
+       <p><?php _e( 'You have specified this user for removal:' ); ?></p>
+<?php else : ?>
+       <p><?php _e( 'You have specified these users for removal:' ); ?></p>
+<?php endif; ?>
+
 <ul>
 <?php
        $go_remove = false;
@@ -443,18 +449,18 @@ if ( ! empty($messages) ) {
 } ?>
 
 <div class="wrap">
-<h2>
+<h1>
 <?php
 echo esc_html( $title );
 if ( current_user_can( 'create_users' ) ) { ?>
-       <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
+       <a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
 <?php } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) { ?>
-       <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
+       <a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
 <?php }
 
 if ( $usersearch )
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $usersearch ) ); ?>
-</h2>
+</h1>
 
 <?php $wp_list_table->views(); ?>
 
index 1e34d81bb016be22536fee2a6586c032dbfdbbf7..679f1032b04a451cf0190c6303187f5a44677e4f 100644 (file)
@@ -21,6 +21,11 @@ if ( isset($_GET['widgets-access']) ) {
        set_user_setting( 'widgets_access', $widgets_access );
 }
 
+/**
+ *
+ * @param string $classes
+ * @return string
+ */
 function wp_widgets_access_body_class($classes) {
        return "$classes widgets_access ";
 }
@@ -230,7 +235,7 @@ if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
 
        require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
        <div class="wrap">
-       <h2><?php echo esc_html( $title ); ?></h2>
+       <h1><?php echo esc_html( $title ); ?></h1>
        <div class="editwidget"<?php echo $width; ?>>
        <h3><?php printf( __( 'Widget %s' ), $name ); ?></h3>
 
@@ -310,12 +315,12 @@ $errors = array(
 require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
-<h2>
+<h1>
 <?php
        echo esc_html( $title );
        if ( current_user_can( 'customize' ) ) {
                printf(
-                       ' <a class="add-new-h2 hide-if-no-customize" href="%1$s">%2$s</a>',
+                       ' <a class="page-title-action hide-if-no-customize" href="%1$s">%2$s</a>',
                        esc_url( add_query_arg(
                                array(
                                        array( 'autofocus' => array( 'panel' => 'widgets' ) ),
@@ -327,7 +332,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
                );
        }
 ?>
-</h2>
+</h1>
 
 <?php if ( isset($_GET['message']) && isset($messages[$_GET['message']]) ) { ?>
 <div id="message" class="updated notice is-dismissible"><p><?php echo $messages[$_GET['message']]; ?></p></div>
index 7ca228ee5c62709cf5b1e48a1f52bcd740e34458..02091c1bdd79538de89c326e4ff0d62df6c110e5 100644 (file)
@@ -1,15 +1,19 @@
 <?php
 /**
- * The base configurations of the WordPress.
+ * The base configuration for WordPress
  *
- * This file has the following configurations: MySQL settings, Table Prefix,
- * Secret Keys, and ABSPATH. You can find more information by visiting
- * {@link https://codex.wordpress.org/Editing_wp-config.php Editing wp-config.php}
- * Codex page. You can get the MySQL settings from your web host.
+ * The wp-config.php creation script uses this file during the
+ * installation. You don't have to use the web site, you can
+ * copy this file to "wp-config.php" and fill in the values.
  *
- * This file is used by the wp-config.php creation script during the
- * installation. You don't have to use the web site, you can just copy this file
- * to "wp-config.php" and fill in the values.
+ * This file contains the following configurations:
+ *
+ * * MySQL settings
+ * * Secret keys
+ * * Database table prefix
+ * * ABSPATH
+ *
+ * @link https://codex.wordpress.org/Editing_wp-config.php
  *
  * @package WordPress
  */
@@ -56,8 +60,8 @@ define('NONCE_SALT',       'put your unique phrase here');
 /**
  * WordPress Database Table prefix.
  *
- * You can have multiple installations in one database if you give each a unique
- * prefix. Only numbers, letters, and underscores please!
+ * You can have multiple installations in one database if you give each
+ * a unique prefix. Only numbers, letters, and underscores please!
  */
 $table_prefix  = 'wp_';
 
@@ -67,6 +71,11 @@ $table_prefix  = 'wp_';
  * Change this to true to enable the display of notices during development.
  * It is strongly recommended that plugin and theme developers use WP_DEBUG
  * in their development environments.
+ *
+ * For information on other constants that can be used for debugging,
+ * visit the Codex.
+ *
+ * @link https://codex.wordpress.org/Debugging_in_WordPress
  */
 define('WP_DEBUG', false);
 
index 5cdd32a49e0e04178a835680d335bff55ffc3b90..81b20f04e45656ce2769bd7187fca6bfc7dc8509 100644 (file)
@@ -6,7 +6,7 @@
 Plugin Name: Akismet
 Plugin URI: http://akismet.com/
 Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from comment and trackback spam</strong>. It keeps your site protected from spam even while you sleep. To get started: 1) Click the "Activate" link to the left of this description, 2) <a href="http://akismet.com/get/">Sign up for an Akismet API key</a>, and 3) Go to your Akismet configuration page, and save your API key.
-Version: 3.1.1
+Version: 3.1.3
 Author: Automattic
 Author URI: http://automattic.com/wordpress-plugins/
 License: GPLv2 or later
@@ -35,7 +35,7 @@ if ( !function_exists( 'add_action' ) ) {
        exit;
 }
 
-define( 'AKISMET_VERSION', '3.1.1' );
+define( 'AKISMET_VERSION', '3.1.3' );
 define( 'AKISMET__MINIMUM_WP_VERSION', '3.2' );
 define( 'AKISMET__PLUGIN_URL', plugin_dir_url( __FILE__ ) );
 define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
index 840b367420cc916d7485dbbe93e2d552cbf01be9..960739f8f81d5517cbf49654dc2ff30eabc9ab88 100644 (file)
@@ -232,7 +232,7 @@ class Akismet_Admin {
                if ( defined( 'WPCOM_API_KEY' ) )
                        return false; //shouldn't have option to save key if already defined
 
-               $new_key = preg_replace( '/[^a-h0-9]/i', '', $_POST['key'] );
+               $new_key = preg_replace( '/[^a-f0-9]/i', '', $_POST['key'] );
                $old_key = Akismet::get_api_key();
 
                if ( empty( $new_key ) ) {
@@ -290,15 +290,6 @@ class Akismet_Admin {
 
        // WP 2.5+
        public static function rightnow_stats() {
-               global $submenu, $wp_db_version;
-
-               if ( 8645 < $wp_db_version  ) // 2.7
-                       $link = add_query_arg( array( 'comment_status' => 'spam' ), admin_url( 'edit-comments.php' ) );
-               elseif ( isset( $submenu['edit-comments.php'] ) )
-                       $link = add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( 'edit-comments.php' ) );
-               else
-                       $link = add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( 'edit.php' ) );
-
                if ( $count = get_option('akismet_spam_count') ) {
                        $intro = sprintf( _n(
                                '<a href="%1$s">Akismet</a> has protected your site from %2$s spam comment already. ',
@@ -309,15 +300,16 @@ class Akismet_Admin {
                        $intro = sprintf( __('<a href="%s">Akismet</a> blocks spam from getting to your blog. ', 'akismet'), 'https://akismet.com/wordpress/' );
                }
 
-               $link = function_exists( 'esc_url' ) ? esc_url( $link ) : clean_url( $link );
+               $link = add_query_arg( array( 'comment_status' => 'spam' ), admin_url( 'edit-comments.php' ) );
+
                if ( $queue_count = self::get_spam_count() ) {
                        $queue_text = sprintf( _n(
                                'There&#8217;s <a href="%2$s">%1$s comment</a> in your spam queue right now.',
                                'There are <a href="%2$s">%1$s comments</a> in your spam queue right now.',
                                $queue_count
-                       , 'akismet'), number_format_i18n( $queue_count ), $link );
+                       , 'akismet'), number_format_i18n( $queue_count ), esc_url( $link ) );
                } else {
-                       $queue_text = sprintf( __( "There&#8217;s nothing in your <a href='%s'>spam queue</a> at the moment." , 'akismet'), $link );
+                       $queue_text = sprintf( __( "There&#8217;s nothing in your <a href='%s'>spam queue</a> at the moment." , 'akismet'), esc_url( $link ) );
                }
 
                $text = $intro . '<br />' . $queue_text;
@@ -379,17 +371,22 @@ class Akismet_Admin {
                                update_comment_meta( $c['comment_ID'], 'akismet_result', 'true' );
                                delete_comment_meta( $c['comment_ID'], 'akismet_error' );
                                delete_comment_meta( $c['comment_ID'], 'akismet_delayed_moderation_email' );
-                               Akismet::update_comment_history( $c['comment_ID'], __('Akismet re-checked and caught this comment as spam', 'akismet'), 'check-spam' );
+                               Akismet::update_comment_history( $c['comment_ID'], '', 'recheck-spam' );
 
                        } elseif ( 'false' == $response[1] ) {
                                update_comment_meta( $c['comment_ID'], 'akismet_result', 'false' );
                                delete_comment_meta( $c['comment_ID'], 'akismet_error' );
                                delete_comment_meta( $c['comment_ID'], 'akismet_delayed_moderation_email' );
-                               Akismet::update_comment_history( $c['comment_ID'], __('Akismet re-checked and cleared this comment', 'akismet'), 'check-ham' );
+                               Akismet::update_comment_history( $c['comment_ID'], '', 'recheck-ham' );
                        // abnormal result: error
                        } else {
                                update_comment_meta( $c['comment_ID'], 'akismet_result', 'error' );
-                               Akismet::update_comment_history( $c['comment_ID'], sprintf( __('Akismet was unable to re-check this comment (response: %s)', 'akismet'), substr($response[1], 0, 50)), 'check-error' );
+                               Akismet::update_comment_history(
+                                       $c['comment_ID'],
+                                       '',
+                                       'recheck-error',
+                                       array( 'response' => substr( $response[1], 0, 50 ) )
+                               );
                        }
 
                        delete_comment_meta( $c['comment_ID'], 'akismet_rechecking' );
@@ -494,11 +491,95 @@ class Akismet_Admin {
 
                if ( $history ) {
                        echo '<div class="akismet-history" style="margin: 13px;">';
+
                        foreach ( $history as $row ) {
                                $time = date( 'D d M Y @ h:i:m a', $row['time'] ) . ' GMT';
-                               echo '<div style="margin-bottom: 13px;"><span style="color: #999;" alt="' . $time . '" title="' . $time . '">' . sprintf( esc_html__('%s ago', 'akismet'), human_time_diff( $row['time'] ) ) . '</span> - ';
-                               echo esc_html( $row['message'] ) . '</div>';
+                               
+                               $message = '';
+                               
+                               if ( ! empty( $row['message'] ) ) {
+                                       // Old versions of Akismet stored the message as a literal string in the commentmeta.
+                                       // New versions don't do that for two reasons:
+                                       // 1) Save space.
+                                       // 2) The message can be translated into the current language of the blog, not stuck 
+                                       //    in the language of the blog when the comment was made.
+                                       $message = $row['message'];
+                               }
+                               
+                               // If possible, use a current translation.
+                               switch ( $row['event'] ) {
+                                       case 'recheck-spam';
+                                               $message = __( 'Akismet re-checked and caught this comment as spam.', 'akismet' );
+                                       break;
+                                       case 'check-spam':
+                                               $message = __( 'Akismet caught this comment as spam.', 'akismet' );
+                                       break;
+                                       case 'recheck-ham':
+                                               $message = __( 'Akismet re-checked and cleared this comment.', 'akismet' );
+                                       break;
+                                       case 'check-ham':
+                                               $message = __( 'Akismet cleared this comment.', 'akismet' );
+                                       break;
+                                       case 'wp-blacklisted':
+                                               $message = __( 'Comment was caught by wp_blacklist_check.', 'akismet' );
+                                       break;
+                                       case 'report-spam':
+                                               if ( isset( $row['user'] ) ) {
+                                                       $message = sprintf( __( '%s reported this comment as spam.', 'akismet' ), $row['user'] );
+                                               }
+                                               else if ( ! $message ) {
+                                                       $message = __( 'This comment was reported as spam.', 'akismet' );
+                                               }
+                                       break;
+                                       case 'report-ham':
+                                               if ( isset( $row['user'] ) ) {
+                                                       $message = sprintf( __( '%s reported this comment as not spam.', 'akismet' ), $row['user'] );
+                                               }
+                                               else if ( ! $message ) {
+                                                       $message = __( 'This comment was reported as not spam.', 'akismet' );
+                                               }
+                                       break;
+                                       case 'cron-retry-spam':
+                                               $message = __( 'Akismet caught this comment as spam during an automatic retry.' , 'akismet');
+                                       break;
+                                       case 'cron-retry-ham':
+                                               $message = __( 'Akismet cleared this comment during an automatic retry.', 'akismet');
+                                       break;
+                                       case 'check-error':
+                                               if ( isset( $row['meta'], $row['meta']['response'] ) ) {
+                                                       $message = sprintf( __( 'Akismet was unable to check this comment (response: %s) but will automatically retry later.', 'akismet'), $row['meta']['response'] );
+                                               }
+                                       break;
+                                       case 'recheck-error':
+                                               if ( isset( $row['meta'], $row['meta']['response'] ) ) {
+                                                       $message = sprintf( __( 'Akismet was unable to recheck this comment (response: %s).', 'akismet'), $row['meta']['response'] );
+                                               }
+                                       break;
+                                       default:
+                                               if ( preg_match( '/^status-changed/', $row['event'] ) ) {
+                                                       // Half of these used to be saved without the dash after 'status-changed'.
+                                                       // See https://plugins.trac.wordpress.org/changeset/1150658/akismet/trunk
+                                                       $new_status = preg_replace( '/^status-changed-?/', '', $row['event'] );
+                                                       $message = sprintf( __( 'Comment status was changed to %s', 'akismet' ), $new_status );
+                                               }
+                                               else if ( preg_match( '/^status-/', $row['event'] ) ) {
+                                                       $new_status = preg_replace( '/^status-/', '', $row['event'] );
+
+                                                       if ( isset( $row['user'] ) ) {
+                                                               $message = sprintf( __( '%1$s changed the comment status to %2$s.', 'akismet' ), $row['user'], $new_status );
+                                                       }
+                                               }
+                                       break;
+                                       
+                               }
+
+                               echo '<div style="margin-bottom: 13px;">';
+                                       echo '<span style="color: #999;" alt="' . $time . '" title="' . $time . '">' . sprintf( esc_html__('%s ago', 'akismet'), human_time_diff( $row['time'] ) ) . '</span>';
+                                       echo ' - ';
+                                       echo esc_html( $message );
+                               echo '</div>';
                        }
+
                        echo '</div>';
                }
        }
@@ -631,13 +712,16 @@ class Akismet_Admin {
        }
        
        public static function get_akismet_user( $api_key ) {
-               $akismet_user = Akismet::http_post( Akismet::build_query( array( 'key' => $api_key ) ), 'get-subscription' );
+               $akismet_user = false;
+
+               $subscription_verification = Akismet::http_post( Akismet::build_query( array( 'key' => $api_key, 'blog' => get_bloginfo( 'url' ) ) ), 'get-subscription' );
+
+               if ( ! empty( $subscription_verification[1] ) ) {
+                       if ( 'invalid' !== $subscription_verification[1] ) {
+                               $akismet_user = json_decode( $subscription_verification[1] );
+                       }
+               }
 
-               if ( ! empty( $akismet_user[1] ) )
-                       $akismet_user = json_decode( $akismet_user[1] );
-               else
-                       $akismet_user = false;
-                       
                return $akismet_user;
        }
        
@@ -645,12 +729,13 @@ class Akismet_Admin {
                $stat_totals = array();
 
                foreach( array( '6-months', 'all' ) as $interval ) {
-                       $response = Akismet::http_post( Akismet::build_query( array( 'blog' => urlencode( get_bloginfo('url') ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' );
+                       $response = Akismet::http_post( Akismet::build_query( array( 'blog' => get_bloginfo( 'url' ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' );
 
                        if ( ! empty( $response[1] ) ) {
                                $stat_totals[$interval] = json_decode( $response[1] );
                        }
                }
+
                return $stat_totals;
        }
        
@@ -727,7 +812,7 @@ class Akismet_Admin {
                        }
                }
 
-               if ( $api_key = Akismet::get_api_key() ) {
+               if ( $api_key = Akismet::get_api_key() && ( empty( self::$notices['status'] ) || 'existing-key-invalid' != self::$notices['status'] ) ) {
                        self::display_configuration_page();
                        return;
                }
@@ -768,8 +853,16 @@ class Akismet_Admin {
        public static function display_configuration_page() {
                $api_key      = Akismet::get_api_key();
                $akismet_user = self::get_akismet_user( $api_key );
-               $stat_totals  = self::get_stats( $api_key );
                
+               if ( ! $akismet_user ) {
+                       // This could happen if the user's key became invalid after it was previously valid and successfully set up.
+                       self::$notices['status'] = 'existing-key-invalid';
+                       self::display_start_page();
+                       return;
+               }
+
+               $stat_totals  = self::get_stats( $api_key );
+
                // If unset, create the new strictness option using the old discard option to determine its default
                if ( get_option( 'akismet_strictness' ) === false )
                add_option( 'akismet_strictness', (get_option('akismet_discard_month') === 'true' ? '1' : '0') );
index 5c786526e19fb4bd1b27cbb57d6a4c746119996d..7a637386d0674ded435c889389a8fbb12a7480f5 100644 (file)
@@ -9,7 +9,8 @@ class Akismet {
        private static $initiated = false;
        private static $prevent_moderation_email_for_these_comments = array();
        private static $last_comment_result = null;
-       
+       private static $comment_as_submitted_allowed_keys = array( 'blog' => '', 'blog_charset' => '', 'blog_lang' => '', 'blog_ua' => '', 'comment_agent' => '', 'comment_author' => '', 'comment_author_IP' => '', 'comment_author_email' => '', 'comment_author_url' => '', 'comment_content' => '', 'comment_date_gmt' => '', 'comment_tags' => '', 'comment_type' => '', 'guid' => '', 'is_test' => '', 'permalink' => '', 'reporter' => '', 'site_domain' => '', 'submit_referer' => '', 'submit_uri' => '', 'user_ID' => '', 'user_agent' => '', 'user_id' => '', 'user_ip' => '' );
+
        public static function init() {
                if ( ! self::$initiated ) {
                        self::init_hooks();
@@ -66,7 +67,14 @@ class Akismet {
                if ( $response[1] != 'valid' && $response[1] != 'invalid' )
                        return 'failed';
 
-               self::update_alert( $response );
+               return $response[1];
+       }
+
+       public static function deactivate_key( $key ) {
+               $response = self::http_post( Akismet::build_query( array( 'key' => $key, 'blog' => get_option('home') ) ), 'deactivate' );
+
+               if ( $response[1] != 'deactivated' )
+                       return 'failed';
 
                return $response[1];
        }
@@ -124,9 +132,7 @@ class Akismet {
 
                do_action( 'akismet_comment_check_response', $response );
 
-               self::update_alert( $response );
-
-               $commentdata['comment_as_submitted'] = array_intersect_key( $comment, array( 'blog' => '', 'blog_charset' => '', 'blog_lang' => '', 'blog_ua' => '', 'comment_agent' => '', 'comment_author' => '', 'comment_author_IP' => '', 'comment_author_email' => '', 'comment_author_url' => '', 'comment_content' => '', 'comment_date_gmt' => '', 'comment_tags' => '', 'comment_type' => '', 'guid' => '', 'is_test' => '', 'permalink' => '', 'reporter' => '', 'site_domain' => '', 'submit_referer' => '', 'submit_uri' => '', 'user_ID' => '', 'user_agent' => '', 'user_id' => '', 'user_ip' => '' ) );
+               $commentdata['comment_as_submitted'] = array_intersect_key( $comment, self::$comment_as_submitted_allowed_keys );
                $commentdata['akismet_result']       = $response[1];
 
                if ( isset( $response[0]['x-akismet-pro-tip'] ) )
@@ -228,23 +234,32 @@ class Akismet {
                                        // normal result: true or false
                                        if ( self::$last_comment['akismet_result'] == 'true' ) {
                                                update_comment_meta( $comment->comment_ID, 'akismet_result', 'true' );
-                                               self::update_comment_history( $comment->comment_ID, __('Akismet caught this comment as spam', 'akismet'), 'check-spam' );
+                                               self::update_comment_history( $comment->comment_ID, '', 'check-spam' );
                                                if ( $comment->comment_approved != 'spam' )
-                                                       self::update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s', 'akismet'), $comment->comment_approved), 'status-changed'.$comment->comment_approved );
+                                                       self::update_comment_history(
+                                                               $comment->comment_ID,
+                                                               '',
+                                                               'status-changed-'.$comment->comment_approved
+                                                       );
                                        }
                                        elseif ( self::$last_comment['akismet_result'] == 'false' ) {
                                                update_comment_meta( $comment->comment_ID, 'akismet_result', 'false' );
-                                               self::update_comment_history( $comment->comment_ID, __('Akismet cleared this comment', 'akismet'), 'check-ham' );
+                                               self::update_comment_history( $comment->comment_ID, '', 'check-ham' );
                                                if ( $comment->comment_approved == 'spam' ) {
                                                        if ( wp_blacklist_check($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent) )
-                                                               self::update_comment_history( $comment->comment_ID, __('Comment was caught by wp_blacklist_check', 'akismet'), 'wp-blacklisted' );
+                                                               self::update_comment_history( $comment->comment_ID, '', 'wp-blacklisted' );
                                                        else
-                                                               self::update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s', 'akismet'), $comment->comment_approved), 'status-changed-'.$comment->comment_approved );
+                                                               self::update_comment_history( $comment->comment_ID, '', 'status-changed-'.$comment->comment_approved );
                                                }
                                        } // abnormal result: error
                                        else {
                                                update_comment_meta( $comment->comment_ID, 'akismet_error', time() );
-                                               self::update_comment_history( $comment->comment_ID, sprintf( __('Akismet was unable to check this comment (response: %s), will automatically retry again later.', 'akismet'), substr(self::$last_comment['akismet_result'], 0, 50)), 'check-error' );
+                                               self::update_comment_history(
+                                                       $comment->comment_ID,
+                                                       '',
+                                                       'check-error',
+                                                       array( 'response' => substr( self::$last_comment['akismet_result'], 0, 50 ) )
+                                               );
                                        }
 
                                        // record the complete original data as submitted for checking
@@ -350,8 +365,15 @@ class Akismet {
                return $history;
        }
 
-       // log an event for a given comment, storing it in comment_meta
-       public static function update_comment_history( $comment_id, $message, $event=null ) {
+       /**
+        * Log an event for a given comment, storing it in comment_meta.
+        *
+        * @param int $comment_id The ID of the relevant comment.
+        * @param string $message The string description of the event. No longer used.
+        * @param string $event The event code.
+        * @param array $meta Metadata about the history entry. e.g., the user that reported or changed the status of a given comment.
+        */
+       public static function update_comment_history( $comment_id, $message, $event=null, $meta=null ) {
                global $current_user;
 
                // failsafe for old WP versions
@@ -359,15 +381,19 @@ class Akismet {
                        return false;
 
                $user = '';
-               if ( is_object( $current_user ) && isset( $current_user->user_login ) )
-                       $user = $current_user->user_login;
 
                $event = array(
                        'time'    => self::_get_microtime(),
-                       'message' => $message,
                        'event'   => $event,
-                       'user'    => $user,
                );
+               
+               if ( is_object( $current_user ) && isset( $current_user->user_login ) ) {
+                       $event['user'] = $current_user->user_login;
+               }
+               
+               if ( ! empty( $meta ) ) {
+                       $event['meta'] = $meta;
+               }
 
                // $unique = false so as to allow multiple values per comment
                $r = add_comment_meta( $comment_id, 'akismet_history', $event, false );
@@ -443,7 +469,7 @@ class Akismet {
                        }
                }
 
-               self::update_comment_history( $comment->comment_ID, sprintf( __('%1$s changed the comment status to %2$s', 'akismet'), $reporter, $new_status ), 'status-' . $new_status );
+               self::update_comment_history( $comment->comment_ID, '', 'status-' . $new_status );
        }
        
        public static function submit_spam_comment( $comment_id ) {
@@ -460,7 +486,7 @@ class Akismet {
                        return;
 
                // use the original version stored in comment_meta if available
-               $as_submitted = get_comment_meta( $comment_id, 'akismet_as_submitted', true);
+               $as_submitted = self::sanitize_comment_as_submitted( get_comment_meta( $comment_id, 'akismet_as_submitted', true ) );
 
                if ( $as_submitted && is_array( $as_submitted ) && isset( $as_submitted['comment_content'] ) )
                        $comment = (object) array_merge( (array)$comment, $as_submitted );
@@ -488,7 +514,7 @@ class Akismet {
 
                $response = Akismet::http_post( Akismet::build_query( $comment ), 'submit-spam' );
                if ( $comment->reporter ) {
-                       self::update_comment_history( $comment_id, sprintf( __('%s reported this comment as spam', 'akismet'), $comment->reporter ), 'report-spam' );
+                       self::update_comment_history( $comment_id, '', 'report-spam' );
                        update_comment_meta( $comment_id, 'akismet_user_result', 'true' );
                        update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
                }
@@ -506,7 +532,7 @@ class Akismet {
                        return;
 
                // use the original version stored in comment_meta if available
-               $as_submitted = get_comment_meta( $comment_id, 'akismet_as_submitted', true);
+               $as_submitted = self::sanitize_comment_as_submitted( get_comment_meta( $comment_id, 'akismet_as_submitted', true ) );
 
                if ( $as_submitted && is_array($as_submitted) && isset($as_submitted['comment_content']) )
                        $comment = (object) array_merge( (array)$comment, $as_submitted );
@@ -534,7 +560,7 @@ class Akismet {
 
                $response = self::http_post( Akismet::build_query( $comment ), 'submit-ham' );
                if ( $comment->reporter ) {
-                       self::update_comment_history( $comment_id, sprintf( __('%s reported this comment as not spam', 'akismet'), $comment->reporter ), 'report-ham' );
+                       self::update_comment_history( $comment_id, '', 'report-ham' );
                        update_comment_meta( $comment_id, 'akismet_user_result', 'false' );
                        update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
                }
@@ -573,19 +599,19 @@ class Akismet {
                        add_comment_meta( $comment_id, 'akismet_rechecking', true );
                        $status = self::check_db_comment( $comment_id, 'retry' );
 
-                       $msg = '';
+                       $event = '';
                        if ( $status == 'true' ) {
-                               $msg = __( 'Akismet caught this comment as spam during an automatic retry.' , 'akismet');
+                               $event = 'cron-retry-spam';
                        } elseif ( $status == 'false' ) {
-                               $msg = __( 'Akismet cleared this comment during an automatic retry.' , 'akismet');
+                               $event = 'cron-retry-ham';
                        }
 
                        // If we got back a legit response then update the comment history
                        // other wise just bail now and try again later.  No point in
                        // re-trying all the comments once we hit one failure.
-                       if ( !empty( $msg ) ) {
+                       if ( !empty( $event ) ) {
                                delete_comment_meta( $comment_id, 'akismet_error' );
-                               self::update_comment_history( $comment_id, $msg, 'cron-retry' );
+                               self::update_comment_history( $comment_id, '', $event );
                                update_comment_meta( $comment_id, 'akismet_result', $status );
                                // make sure the comment status is still pending.  if it isn't, that means the user has already moved it elsewhere.
                                $comment = get_comment( $comment_id );
@@ -681,8 +707,16 @@ class Akismet {
                return (
                           isset( $comment1['comment_post_ID'], $comment2['comment_post_ID'] )
                        && intval( $comment1['comment_post_ID'] ) == intval( $comment2['comment_post_ID'] )
-                       && $comment1['comment_author'] == $comment2['comment_author']
-                       && $comment1['comment_author_email'] == $comment2['comment_author_email']
+                       && (
+                               $comment1['comment_author'] == $comment2['comment_author']
+                               || stripslashes( $comment1['comment_author'] ) == $comment2['comment_author']
+                               || $comment1['comment_author'] == stripslashes( $comment2['comment_author'] )
+                               )
+                       && (
+                               $comment1['comment_author_email'] == $comment2['comment_author_email']
+                               || stripslashes( $comment1['comment_author_email'] ) == $comment2['comment_author_email']
+                               || $comment1['comment_author_email'] == stripslashes( $comment2['comment_author_email'] )
+                       )
                );
        }
        
@@ -882,8 +916,12 @@ class Akismet {
                        
                        do_action( 'akismet_https_disabled' );
                }
+               
+               $simplified_response = array( $response['headers'], $response['body'] );
+               
+               self::update_alert( $simplified_response );
 
-               return array( $response['headers'], $response['body'] );
+               return $simplified_response;
        }
 
        // given a response from an API call like check_key_status(), update the alert code options if an alert is present.
@@ -999,7 +1037,7 @@ p {
         * @static
         */
        public static function plugin_deactivation( ) {
-               //tidy up
+               return self::deactivate_key( self::get_api_key() );
        }
        
        /**
@@ -1085,4 +1123,26 @@ p {
 
                return $r;
        }
+       
+       /**
+        * Ensure that we are loading expected scalar values from akismet_as_submitted commentmeta.
+        *
+        * @param mixed $meta_value
+        * @return mixed
+        */
+       private static function sanitize_comment_as_submitted( $meta_value ) {
+               if ( empty( $meta_value ) ) {
+                       return $meta_value;
+               }
+
+               $meta_value = (array) $meta_value;
+
+               foreach ( $meta_value as $key => $value ) {
+                       if ( ! isset( self::$comment_as_submitted_allowed_keys[$key] ) || ! is_scalar( $value ) ) {
+                               unset( $meta_value[$key] );
+                       }
+               }
+
+               return $meta_value;
+       }
 }
\ No newline at end of file
index 00fcd6aed40aee80f7ddab71c9b7c41ad9686131..3aa4dc01a2b2020eb74ce99380a0a3c9020a73ab 100644 (file)
@@ -1,9 +1,9 @@
 === Akismet ===
 Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic, jgs
-Tags: akismet, comments, spam
+Tags: akismet, comments, spam, antispam, anti-spam, anti spam, comment moderation, comment spam, contact form spam, spam comments
 Requires at least: 3.2
-Tested up to: 4.2.1
-Stable tag: 3.1.1
+Tested up to: 4.2.2
+Stable tag: 3.1.3
 License: GPLv2 or later
 
 Akismet checks your comments against the Akismet Web service to see if they look like spam or not.
@@ -30,6 +30,21 @@ Upload the Akismet plugin to your blog, Activate it, then enter your [Akismet.co
 
 == Changelog ==
 
+= 3.1.3 =
+*Release Date - 6 July 2015*
+
+* Notify users when their account status changes after previously being successfully set up. This should help any users who are seeing blank Akismet settings screens.
+
+= 3.1.2 =
+*Release Date - 7 June 2015*
+
+* Reduced the amount of space Akismet uses in the commentmeta table.
+* Fixed a bug where some comments with quotes in the author name weren't getting history entries
+* Pre-emptive security improvements to ensure that the Akismet plugin can't be used by attackers to compromise a WordPress installation.
+* Better UI for the key entry field: allow whitespace to be included at the beginning or end of the key and strip it out automatically when the form is submitted.
+* When deactivating the plugin, notify the Akismet API so the site can be marked as inactive.
+* Clearer error messages.
+
 = 3.1.1 =
 *Release Date - 17th March, 2015*
 
index 232d10789e6c61d6f635d8029901f0ac5c597856..74701c9eba4d0fcce9128a46542a8d2e1f9c0d52 100644 (file)
@@ -67,7 +67,7 @@
                                                                                                <th class="akismet-api-key" width="10%" align="left" scope="row"><?php esc_html_e('API Key', 'akismet');?></th>
                                                                                                <td width="5%"/>
                                                                                                <td align="left">
-                                                                                                       <span class="api-key"><input id="key" name="key" type="text" size="15" maxlength="12" value="<?php echo esc_attr( get_option('wordpress_api_key') ); ?>" class="regular-text code <?php echo $akismet_user->status;?>"></span>
+                                                                                                       <span class="api-key"><input id="key" name="key" type="text" size="15" value="<?php echo esc_attr( get_option('wordpress_api_key') ); ?>" class="regular-text code <?php echo $akismet_user->status;?>"></span>
                                                                                                </td>
                                                                                        </tr>
                                                                                        <?php endif; ?>
index c2fc45afa0149e19ae84478b0973ef7728c25d12..182065edf163336ac1669b77137d898bcb95405f 100644 (file)
 <?php elseif ( $type == 'no-sub' ) :?>
 <div class="wrap alert critical">
        <h3 class="key-status failed"><?php esc_html_e( 'Your subscription is missing.', 'akismet'); ?></h3>
-       <p class="description"><?php printf( __('Since 2012, Akismet began using subscriptions for all accounts (even free ones). It looks like a subscription has not been assigned to your account, and we’d appreciate it if you’d <a href="%s" target="_blank">sign into your account</a> and choose one. Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/' ); ?></p>
+       <p class="description">
+               <?php printf( __( 'Since 2012, Akismet began using subscriptions for all accounts (even free ones). It looks like a subscription has not been assigned to your account, and we’d appreciate it if you’d <a href="%s" target="_blank">sign into your account</a> and choose one.', 'akismet'), 'https://akismet.com/account/upgrade/' ); ?>
+               <br /><br />
+               <?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/' ); ?>
+       </p>
 </div>
 <?php elseif ( $type == 'new-key-valid' ) :?>
 <div class="wrap alert active">
 <div class="wrap alert critical">
        <h3 class="key-status"><?php esc_html_e( 'The key you entered is invalid. Please double-check it.' , 'akismet'); ?></h3>
 </div>
+<?php elseif ( $type == 'existing-key-invalid' ) :?>
+<div class="wrap alert critical">
+       <h3 class="key-status"><?php esc_html_e( 'Your API key is no longer valid. Please enter a new key or contact support@akismet.com.' , 'akismet'); ?></h3>
+</div>
 <?php elseif ( $type == 'new-key-failed' ) :?>
 <div class="wrap alert critical">
-       <h3 class="key-status"><?php esc_html_e( 'The key you entered could not be verified because a connection to akismet.com could not be established. Please check your server configuration.' , 'akismet'); ?></h3>
+       <h3 class="key-status"><?php esc_html_e( 'The key you entered could not be verified.' , 'akismet'); ?></h3>
+       <p class="description"><?php printf( __('The connection to akismet.com cannot be established. Please refer to <a href="%s" target="_blank">our guide about firewalls</a> and check your server configuration.', 'akismet'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?></p>
 </div>
 <?php elseif ( $type == 'limit-reached' && in_array( $level, array( 'yellow', 'red' ) ) ) :?>
 <div class="wrap alert critical">
        <?php if ( $level == 'yellow' ): ?>
-       <h3 class="key-status failed"><?php esc_html_e("You're using your Akismet key on more sites than your Pro subscription allows.", 'akismet'); ?></h3>
-       <p class="description"><?php printf( __('Your Pro subscription allows the use of Akismet on only one site. Please <a href="http://docs.akismet.com/billing/add-more-sites/">purchase additional Pro subscriptions</a> or upgrade to an Enterprise subscription that allows the use of Akismet on unlimited sites.<br /><br />If you have any questions, please get in touch with our support team.', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/'); ?></p>
+       <h3 class="key-status failed"><?php esc_html_e( 'You&#8217;re using your Akismet key on more sites than your Pro subscription allows.', 'akismet' ); ?></h3>
+       <p class="description">
+               <?php printf( __( 'Your Pro subscription allows the use of Akismet on only one site. Please <a href="%s" target="_blank">purchase additional Pro subscriptions</a> or upgrade to an Enterprise subscription that allows the use of Akismet on unlimited sites.', 'akismet' ), 'http://docs.akismet.com/billing/add-more-sites/' ); ?>
+               <br /><br />
+               <?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/'); ?>
+       </p>
        <?php elseif ( $level == 'red' ): ?>
-       <h3 class="key-status failed"><?php esc_html_e("You're using Akismet on far too many sites for your Pro subscription.", 'akismet'); ?></h3>
-       <p class="description"><?php printf( __('To continue your service, <a href="%s" target="_blank">upgrade to an Enterprise subscription</a>, which covers an unlimited number of sites. Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/'); ?></p>
+       <h3 class="key-status failed"><?php esc_html_e( 'You&#8217;re using Akismet on far too many sites for your Pro subscription.', 'akismet' ); ?></h3>
+       <p class="description">
+               <?php printf( __( 'To continue your service, <a href="%s" target="_blank">upgrade to an Enterprise subscription</a>, which covers an unlimited number of sites.', 'akismet'), 'https://akismet.com/account/upgrade/' ); ?></p>
+               <br /><br />
+               <?php printf( __( 'Please <a href="%s" target="_blank">contact our support team</a> with any questions.', 'akismet' ), 'https://akismet.com/contact/'); ?></p>
+       </p>
        <?php endif; ?>
 </div>
-<?php endif;?>
+<?php endif;?>
\ No newline at end of file
index 692b8afe799e176130a3b6a96f7609e1e2634bc8..d6221757f3bed7eca439f3100e26e10af36c5c99 100644 (file)
@@ -8,7 +8,7 @@
                <?php echo esc_attr( $akismet_user->user_email ); ?>
        </div>
        <form name="akismet_activate" id="akismet_activate" action="https://akismet.com/get/" method="post" class="right" target="_blank">
-               <input type="hidden" name="passback_url" value="<?php echo esc_attr( Akismet_Admin::get_page_url() ); ?>"/>
+               <input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
                <input type="hidden" name="auto-connect" value="<?php echo $akismet_user->ID;?>"/>
                <input type="hidden" name="redirect" value="plugin-signup"/>
                <input type="submit" class="button button-primary" value="<?php esc_attr_e( 'Register Akismet' , 'akismet'); ?>"/>
@@ -22,7 +22,7 @@
                <?php printf( esc_html__( 'Your subscription for %s is cancelled' , 'akismet'), $akismet_user->user_email ); ?>
        </div>
        <form name="akismet_activate" id="akismet_activate" action="https://akismet.com/get/" method="post" class="right" target="_blank">
-               <input type="hidden" name="passback_url" value="<?php echo esc_attr( Akismet_Admin::get_page_url() ); ?>"/>
+               <input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
                <input type="hidden" name="user_id" value="<?php echo $akismet_user->ID;?>"/>
                <input type="hidden" name="redirect" value="upgrade"/>
                <input type="submit" class="button button-primary" value="<?php esc_attr_e( 'Reactivate Akismet' , 'akismet'); ?>"/>
@@ -64,7 +64,7 @@
                <p><?php esc_html_e('If you already know your API key.', 'akismet'); ?></p>
        </div>
        <form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post" id="akismet-enter-api-key" class="right">
-               <input id="key" name="key" type="text" size="15" maxlength="12" value="" class="regular-text code">
+               <input id="key" name="key" type="text" size="15" value="" class="regular-text code">
                <input type="hidden" name="action" value="enter-key">
                <?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
                <input type="submit" name="submit" id="submit" class="button button-secondary" value="<?php esc_attr_e('Use this key', 'akismet');?>">
@@ -85,7 +85,7 @@
                <p><?php esc_html_e('If you already know your API key.', 'akismet'); ?></p>
        </div>
        <form action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post" id="akismet-enter-api-key" class="right">
-               <input id="key" name="key" type="text" size="15" maxlength="12" value="" class="regular-text code">
+               <input id="key" name="key" type="text" size="15" value="<?php echo esc_attr( Akismet::get_api_key() ); ?>" class="regular-text code">
                <input type="hidden" name="action" value="enter-key">
                <?php wp_nonce_field( Akismet_Admin::NONCE ); ?>
                <input type="submit" name="submit" id="submit" class="button button-secondary" value="<?php esc_attr_e('Use this key', 'akismet');?>">
index ab1b75a573c29fd18f3c4e74860f3613d532ea2a..33db931ff10cd6a4425abcabfebd36ffbf3f6655 100644 (file)
@@ -15,7 +15,6 @@ Description: Used to style the TinyMCE editor.
  * 6.0 - Galleries
  * 7.0 - Audio / Video
  * 8.0 - RTL
- * 9.0 - Media Queries
  */
 
 
@@ -297,7 +296,7 @@ table td,
 img {
        border: 0;
        height: auto;
-       max-width: 660px;
+       max-width: 100%;
        vertical-align: middle;
 }
 
@@ -347,7 +346,7 @@ a {
        color: #707070;
        font-family: "Noto Sans", sans-serif;
        margin: 0 0 28px 0;
-       max-width: 660px;
+       max-width: 100%;
        padding: 0;
        text-align: inherit;
 }
@@ -476,18 +475,3 @@ body.rtl {
 .rtl table caption {
        text-align: right;
 }
-
-
-/**
- * 9.0 Media Queries
- */
-
-@media screen and (max-width: 740px) {
-       body, img, .wp-caption {
-               max-width: 100%;
-       }
-
-       img, .wp-caption {
-               width: auto !important;
-       }
-}
index 1a8e8a3a3879f28c89b68e94413b72cca43f8d69..e109a2bcff3834d55d53443448b129ba0f786ee7 100644 (file)
@@ -198,7 +198,7 @@ function twentyfifteen_fonts_url() {
                $fonts_url = add_query_arg( array(
                        'family' => urlencode( implode( '|', $fonts ) ),
                        'subset' => urlencode( $subsets ),
-               ), '//fonts.googleapis.com/css' );
+               ), 'https://fonts.googleapis.com/css' );
        }
 
        return $fonts_url;
index 34994a9f1c04b2cda746ee212706e59258455bfe..10d0ef1a09a48d5c7a0eb8b3bb28b4668e740128 100644 (file)
@@ -133,7 +133,14 @@ function twentyfifteen_header_style() {
                if ( ! empty( $header_image ) ) :
        ?>
                .site-header {
-                       background: url(<?php header_image(); ?>) no-repeat 50% 50%;
+
+                       /*
+                        * No shorthand so the Customizer can override individual properties.
+                        * @see https://core.trac.wordpress.org/ticket/31460
+                        */
+                       background-image: url(<?php header_image(); ?>);
+                       background-repeat: no-repeat;
+                       background-position: 50% 50%;
                        -webkit-background-size: cover;
                        -moz-background-size:    cover;
                        -o-background-size:      cover;
@@ -142,7 +149,14 @@ function twentyfifteen_header_style() {
 
                @media screen and (min-width: 59.6875em) {
                        body:before {
-                               background: url(<?php header_image(); ?>) no-repeat 100% 50%;
+
+                               /*
+                                * No shorthand so the Customizer can override individual properties.
+                                * @see https://core.trac.wordpress.org/ticket/31460
+                                */
+                               background-image: url(<?php header_image(); ?>);
+                               background-repeat: no-repeat;
+                               background-position: 100% 50%;
                                -webkit-background-size: cover;
                                -moz-background-size:    cover;
                                -o-background-size:      cover;
index 0a617c098f486ae571cc2cf0192a52d81dd5c19e..1baca524ad8b70be9b74902c3a34c707cf9c8027 100644 (file)
@@ -119,7 +119,8 @@ function twentyfifteen_entry_meta() {
 
        if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
                echo '<span class="comments-link">';
-               comments_popup_link( __( 'Leave a comment', 'twentyfifteen' ), __( '1 Comment', 'twentyfifteen' ), __( '% Comments', 'twentyfifteen' ) );
+               /* translators: %s: post title */
+               comments_popup_link( sprintf( __( 'Leave a comment<span class="screen-reader-text"> on %s</span>', 'twentyfifteen' ), get_the_title() ) );
                echo '</span>';
        }
 }
index eeeecd2246b07b849e5c6e2a992997eb084b8c92..9adad87e39ba92a0302059f39217326199809761 100644 (file)
@@ -9,23 +9,39 @@
        var $body, $window, $sidebar, adminbarOffset, top = false,
            bottom = false, windowWidth, windowHeight, lastWindowPos = 0,
            topOffset = 0, bodyHeight, sidebarHeight, resizeTimer,
-               secondary, button;
-
-       // Add dropdown toggle that display child menu items.
-       $( '.main-navigation .menu-item-has-children > a' ).after( '<button class="dropdown-toggle" aria-expanded="false">' + screenReaderText.expand + '</button>' );
-
-       // Toggle buttons and submenu items with active children menu items.
-       $( '.main-navigation .current-menu-ancestor > button' ).addClass( 'toggle-on' );
-       $( '.main-navigation .current-menu-ancestor > .sub-menu' ).addClass( 'toggled-on' );
-
-       $( '.dropdown-toggle' ).click( function( e ) {
-               var _this = $( this );
-               e.preventDefault();
-               _this.toggleClass( 'toggle-on' );
-               _this.next( '.children, .sub-menu' ).toggleClass( 'toggled-on' );
-               _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
-               _this.html( _this.html() === screenReaderText.expand ? screenReaderText.collapse : screenReaderText.expand );
-       } );
+           secondary, button;
+
+       function initMainNavigation( container ) {
+               // Add dropdown toggle that display child menu items.
+               container.find( '.menu-item-has-children > a' ).after( '<button class="dropdown-toggle" aria-expanded="false">' + screenReaderText.expand + '</button>' );
+
+               // Toggle buttons and submenu items with active children menu items.
+               container.find( '.current-menu-ancestor > button' ).addClass( 'toggle-on' );
+               container.find( '.current-menu-ancestor > .sub-menu' ).addClass( 'toggled-on' );
+
+               container.find( '.dropdown-toggle' ).click( function( e ) {
+                       var _this = $( this );
+                       e.preventDefault();
+                       _this.toggleClass( 'toggle-on' );
+                       _this.next( '.children, .sub-menu' ).toggleClass( 'toggled-on' );
+                       _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
+                       _this.html( _this.html() === screenReaderText.expand ? screenReaderText.collapse : screenReaderText.expand );
+               } );
+       }
+       initMainNavigation( $( '.main-navigation' ) );
+
+       // Re-initialize the main navigation when it is updated, persisting any existing submenu expanded states.
+       $( document ).on( 'customize-preview-menu-refreshed', function( e, params ) {
+               if ( 'primary' === params.wpNavMenuArgs.theme_location ) {
+                       initMainNavigation( params.newContainer );
+
+                       // Re-sync expanded states from oldContainer.
+                       params.oldContainer.find( '.dropdown-toggle.toggle-on' ).each(function() {
+                               var containerId = $( this ).parent().prop( 'id' );
+                               $( params.newContainer ).find( '#' + containerId + ' > .dropdown-toggle' ).triggerHandler( 'click' );
+                       });
+               }
+       });
 
        secondary = $( '#secondary' );
        button = $( '.site-branding' ).find( '.secondary-toggle' );
index 07f491f837f6326adb16ed163393455eea41150f..60a5a6348c45d260483f85dd0185734843617ce4 100644 (file)
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Fifteen 1.1\n"
-"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/twentyfifteen\n"
-"POT-Creation-Date: 2015-04-23 15:11:26+00:00\n"
+"Project-Id-Version: Twenty Fifteen 1.3\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/theme/twentyfifteen\n"
+"POT-Creation-Date: 2015-07-27 19:47:38+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -53,7 +53,7 @@ msgid "Comments are closed."
 msgstr ""
 
 #. translators: %s: Name of current post
-#: content-link.php:31 content.php:33 inc/template-tags.php:237
+#: content-link.php:31 content.php:33 inc/template-tags.php:238
 msgid "Continue reading %s"
 msgstr ""
 
@@ -87,7 +87,7 @@ msgid ""
 "searching can help."
 msgstr ""
 
-#. #-#-#-#-#  twentyfifteen.pot (Twenty Fifteen 1.1)  #-#-#-#-#
+#. #-#-#-#-#  twentyfifteen.pot (Twenty Fifteen 1.3)  #-#-#-#-#
 #. Author URI of the plugin/theme
 #: footer.php:25
 msgid "https://wordpress.org/"
@@ -273,16 +273,9 @@ msgctxt "Used before full size attachment link."
 msgid "Full size"
 msgstr ""
 
-#: inc/template-tags.php:122
-msgid "Leave a comment"
-msgstr ""
-
-#: inc/template-tags.php:122
-msgid "1 Comment"
-msgstr ""
-
-#: inc/template-tags.php:122
-msgid "% Comments"
+#. translators: %s: post title
+#: inc/template-tags.php:123
+msgid "Leave a comment<span class=\"screen-reader-text\"> on %s</span>"
 msgstr ""
 
 #: search.php:18
index aee7f173454d0fc8472caa5336631eee0325d454..540ead0bcae9dc6c97455c2e7cfe288f3373c05e 100644 (file)
@@ -1,16 +1,16 @@
 === Twenty Fifteen ===
 Contributors: the WordPress team
-Tags: black, blue, gray, pink, purple, white, yellow, dark, light, two-columns, left-sidebar, fixed-layout, responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
-Requires at least: 4.1
-Tested up to: 4.1
-Stable tag: 4.1
+Requires at least: WordPress 4.1
+Tested up to: WordPress 4.3-trunk
+Version: 1.3
 License: GPLv2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Tags: black, blue, gray, pink, purple, white, yellow, dark, light, two-columns, left-sidebar, fixed-layout, responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
 
 == Description ==
 Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
 
-* Responsive Layout
+* Mobile-first, Responsive Layout
 * Custom Colors
 * Custom Header
 * Social Links
@@ -18,75 +18,59 @@ Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty
 * Post Formats
 * The GPL v2.0 or later license. :) Use it to make something cool.
 
+For more information about Twenty Fifteen please go to https://codex.wordpress.org/Twenty_Fifteen.
+
 == Installation ==
 
-1. In your admin panel, go to Appearance -> Themes and click the Add New button.
-2. Click Upload and Choose File, then select the theme's ZIP file. Click Install Now.
-3. Click Activate to use your new theme right away.
-
-== Frequently Asked Questions ==
-
-= How do I change the color scheme? =
-
-You can change the colors of your site easily using Twenty Fifteen.
-
-1. In your admin panel, go to Appearance -> Customize.
-4. Now you will see the Customizer and a tab called 'Colors'. Click this tab.
-5. You can now change your color scheme by selecting one of the predefined ones. Choose a color scheme you want from Base Color Scheme dropdown. You can preview the change in the Customizer.
-6. Should you wish to create your own color scheme or modify an existing one, you can by selecting the colors for each area listed.
-7. Once you are happy with your color changes you can click save and your changes will be reflected on your live site.
-
-= How do I add the Social Links to the sidebar? =
-
-Twenty Fifteen allows you display links to your social media profiles, like Twitter and Facebook, with icons.
-
-1. Create a new Custom Menu, and assign it to the Social Links Menu location.
-2. Add links to each of your social services using the Links panel.
-3. Icons for your social links will automatically appear if it's available.
-
-Available icons: (Linking to any of the following sites will automatically display its icon in your social menu).
-
-* Codepen
-* Digg
-* Dribbble
-* Dropbox
-* Facebook
-* Flickr
-* Foursquare
-* GitHub
-* Google+
-* Instagram
-* LinkedIn
-* Email (mailto: links)
-* Pinterest
-* Pocket
-* PollDaddy
-* Reddit
-* RSS Feed (URLs with /feed/)
-* Spotify
-* StumbleUpon
-* Tumblr
-* Twitch
-* Twitter
-* Vimeo
-* WordPress
-* YouTube
-
-Social networks that aren't currently supported will be indicated by a generic share icon.
-
-= How do I add a description for my menu link in navigation? =
-
-Twenty Fifteen sports a menu design that's easy to navigate -- especially when you add menu descriptions.
-
-1. Visit the Menus page in your admin.
-2. Use the Screen Options tab to "Show advanced menu properties".
-3. Select "Description" there to start editing menu descriptions.
-4. Select the menu you want to add links and descriptions to.
-5. When in the Menu Structure section, you can click open the link and add a description.
-6. Once you save the menu with your link, the new description should show up.
-
-= Quick Specs =
-
-1. The main content width is 660px.
-2. The sidebar width is 248px.
-3. Featured Images are 825px wide by 510px high.
+1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button.
+2. Type in Twenty Fifteen in the search form and press the 'Enter' key on your keyboard.
+3. Click on the 'Activate' button to use your new theme right away.
+4. Go to https://codex.wordpress.org/Twenty_Fifteen for a guide on how to customize this theme.
+5. Navigate to Appearance > Customize in your admin panel and customize to taste.
+
+== Copyright ==
+
+Twenty Fifteen WordPress Theme, Copyright 2014-2015 WordPress.org & Automattic.com
+Twenty Fifteen is distributed under the terms of the GNU GPL
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+Twenty Fifteen Theme bundles the following third-party resources:
+
+HTML5 Shiv v3.7.0, Copyright 2014 Alexander Farkas
+Licenses: MIT/GPL2
+Source: https://github.com/aFarkas/html5shiv
+
+Genericons icon font, Copyright 2013-2015 Automattic.com
+License: GNU GPL, Version 2 (or later)
+Source: http://www.genericons.com
+
+== Changelog ==
+
+= 1.3 =
+* Released: August 18, 2015
+
+https://codex.wordpress.org/Twenty_Fifteen_Theme_Changelog#Version_1.3
+
+= 1.2 =
+* Released: May 6, 2015
+
+https://codex.wordpress.org/Twenty_Fifteen_Theme_Changelog#Version_1.2
+
+= 1.1 =
+* Released: April 23, 2015
+
+https://codex.wordpress.org/Twenty_Fifteen_Theme_Changelog#Version_1.1
+
+= 1.0 =
+* Released: December 18, 2014
+
+Initial release
index 9ed56fd0cc6a6c1b4307a378b5a9be124b6eb25a..1e4e8e8895cbcb998c1dd935c543ec17bad6fb6a 100644 (file)
@@ -4,7 +4,7 @@ Theme URI: https://wordpress.org/themes/twentyfifteen/
 Author: the WordPress team
 Author URI: https://wordpress.org/
 Description: Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
-Version: 1.2
+Version: 1.3
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: black, blue, gray, pink, purple, white, yellow, dark, light, two-columns, left-sidebar, fixed-layout, responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
@@ -490,6 +490,10 @@ textarea {
 
 button,
 input {
+       -webkit-hyphens: none;
+       -moz-hyphens: none;
+       -ms-hyphens: none;
+       hyphens: none;
        line-height: normal;
 }
 
@@ -880,6 +884,14 @@ a:focus {
        content: "\f413";
 }
 
+.social-navigation a[href*="path.com"]:before {
+       content: "\f219";
+}
+
+.social-navigation a[href*="skype.com"]:before {
+       content: "\f220";
+}
+
 .secondary-toggle {
        background-color: transparent;
        border: 1px solid #eaeaea;
index b4dd3253f2dd77530b6736506155eef0586f0642..6bd5ac0f413a4308f342b7ff71ac4b08ea5c3de8 100644 (file)
@@ -17,7 +17,6 @@ Description: Used to style the TinyMCE editor.
  * 8.0 - Galleries
  * 9.0 - Audio/Video
  * 10.0 - RTL
- * 11.0 - Media Queries
  * ----------------------------------------------------------------------------
  */
 
@@ -380,7 +379,7 @@ blockquote.alignright p {
 
 img {
        height: auto;
-       max-width: 474px;
+       max-width: 100%;
        vertical-align: middle;
 }
 
@@ -389,7 +388,7 @@ img {
        border: none;
        color: #767676;
        margin: 0 0 24px 0;
-       max-width: 474px;
+       max-width: 100%;
        padding: 0;
        text-align: left;
 }
@@ -720,18 +719,3 @@ html .mceContentBody.rtl {
 .rtl td {
        text-align: right;
 }
-
-
-/**
- * 11.0 Media Queries
- */
-
-@media screen and (max-width: 494px) {
-       body, img, .wp-caption {
-               max-width: 100%;
-       }
-
-       img, .wp-caption {
-               width: auto !important;
-       }
-}
index b297a2e98a577f255c87e765fad4291c5c329752..519e1288e3daead8af0982375fe01cac9e461bb4 100644 (file)
@@ -18,7 +18,7 @@
 
                        <div class="site-info">
                                <?php do_action( 'twentyfourteen_credits' ); ?>
-                               <a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentyfourteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyfourteen' ), 'WordPress' ); ?></a>
+                               <a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfourteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyfourteen' ), 'WordPress' ); ?></a>
                        </div><!-- .site-info -->
                </footer><!-- #colophon -->
        </div><!-- #page -->
index 5bf5ce03b9edac51147f71553c3720d18087975f..4e65214a0f32c5d5aa2a8a17c6806fd38168fbcf 100644 (file)
@@ -215,7 +215,7 @@ function twentyfourteen_font_url() {
                        'family' => urlencode( 'Lato:300,400,700,900,300italic,400italic,700italic' ),
                        'subset' => urlencode( 'latin,latin-ext' ),
                );
-               $font_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' );
+               $font_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
        }
 
        return $font_url;
index e238d26683e20de4c144c37bca600603c4752a4a..1acebad9cc55641f2210c5ab98fec1bc5ca16c38 100644 (file)
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Fourteen 1.4\n"
-"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/twentyfourteen\n"
-"POT-Creation-Date: 2015-04-23 15:11:25+00:00\n"
+"Project-Id-Version: Twenty Fourteen 1.5\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/theme/twentyfourteen\n"
+"POT-Creation-Date: 2015-07-27 19:47:38+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -142,8 +142,10 @@ msgid ""
 "searching can help."
 msgstr ""
 
+#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.5)  #-#-#-#-#
+#. Author URI of the plugin/theme
 #: footer.php:21
-msgid "http://wordpress.org/"
+msgid "https://wordpress.org/"
 msgstr ""
 
 #: footer.php:21
@@ -277,7 +279,7 @@ msgstr ""
 msgid "Slider"
 msgstr ""
 
-#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.4)  #-#-#-#-#
+#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.5)  #-#-#-#-#
 #. Theme Name of the plugin/theme
 #: inc/customizer.php:105
 msgid "Twenty Fourteen"
@@ -467,10 +469,6 @@ msgstr ""
 msgid "the WordPress team"
 msgstr ""
 
-#. Author URI of the plugin/theme
-msgid "https://wordpress.org/"
-msgstr ""
-
 #. Template Name of the plugin/theme
 msgid "Contributor Page"
 msgstr ""
diff --git a/wp-content/themes/twentyfourteen/readme.txt b/wp-content/themes/twentyfourteen/readme.txt
new file mode 100644 (file)
index 0000000..1b69e67
--- /dev/null
@@ -0,0 +1,81 @@
+=== Twenty Fourteen ===
+Contributors: the WordPress team
+Requires at least: WordPress 3.6
+Tested up to: WordPress 4.3-trunk
+Stable tag: 1.5
+License: GPLv2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Tags: black, green, white, light, dark, two-columns, three-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
+
+== Description ==
+In 2014, our default theme lets you create a responsive magazine website with a sleek, modern design. Feature your favorite homepage content in either a grid or a slider. Use the three widget areas to customize your website, and change your content's layout with a full-width page template and a contributor page to show off your authors. Creating a magazine website with WordPress has never been easier.
+
+For more information about Twenty Fourteen please go to https://codex.wordpress.org/Twenty_Fourteen.
+
+== Installation ==
+
+1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button.
+2. Type in Twenty Fourteen in the search form and press the 'Enter' key in your keyboard.
+3. Click on the 'Activate' button to use your new theme right away.
+4. Go to https://codex.wordpress.org/Twenty_Fourteen for a guide to customize this theme.
+5. Navigate to Appearance > Customize in your admin panel.
+
+== Copyright ==
+
+Twenty Fourteen WordPress Theme, Copyright 2013-2015 WordPress.org & Automattic.com
+Twenty Fourteen is Distributed under the terms of the GNU GPL
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+Twenty Fourteen Theme is derived from the Further Theme, Copyright 2013 Takashi Irie
+Further Theme is distributed under the terms of the GNU GPL
+
+Twenty Fourteen Theme bundles the following third-party resources:
+
+HTML5 Shiv v3.7.0, Copyright 2014 Alexander Farkas
+Licenses: MIT/GPL2
+Source: https://github.com/aFarkas/html5shiv
+
+Genericons icon font, Copyright 2013-2015 Automattic.com
+License: GNU GPL, Version 2 (or later)
+Source: http://www.genericons.com
+
+== Changelog ==
+
+= 1.5 =
+* Released: August 18, 2015
+
+https://codex.wordpress.org/Twenty_Fourteen_Theme_Changelog#Version_1.5
+
+= 1.4 =
+* Released: April 23, 2015
+
+https://codex.wordpress.org/Twenty_Fourteen_Theme_Changelog#Version_1.4
+
+= 1.3 =
+* Released: December 18, 2014
+
+https://codex.wordpress.org/Twenty_Fourteen_Theme_Changelog#Version_1.3
+
+= 1.2 =
+* Released: September 4, 2014
+
+https://codex.wordpress.org/Twenty_Fourteen_Theme_Changelog#Version_1.2
+
+= 1.1 =
+* Released: May 8, 2014
+
+https://codex.wordpress.org/Twenty_Fourteen_Theme_Changelog#Version_1.1
+
+= 1.0 =
+* Released: December 12, 2013
+
+Initial release.
index 80e16d0d5e1fba83a2758e44d8bb81ea2b4d44c8..af7f6f46ac83438d779879b2f05faa282c2d1c25 100644 (file)
@@ -4,7 +4,7 @@ Description: Adds support for languages written in a Right To Left (RTL) directi
 It's easy, just a matter of overwriting all the horizontal positioning attributes
 of your CSS stylesheet in a separate stylesheet file named rtl.css.
 
-See http://codex.wordpress.org/Right_to_Left_Language_Support
+See https://codex.wordpress.org/Right_to_Left_Language_Support
 */
 
 /**
index 9b9515f61dcd311f780503d193bcae8f9cd6656f..91ce0175d5e7068358d09e513bfad4ffc7f1481a 100644 (file)
@@ -4,7 +4,7 @@ Theme URI: https://wordpress.org/themes/twentyfourteen/
 Author: the WordPress team
 Author URI: https://wordpress.org/
 Description: In 2014, our default theme lets you create a responsive magazine website with a sleek, modern design. Feature your favorite homepage content in either a grid or a slider. Use the three widget areas to customize your website, and change your content's layout with a full-width page template and a contributor page to show off your authors. Creating a magazine website with WordPress has never been easier.
-Version: 1.4
+Version: 1.5
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: black, green, white, light, dark, two-columns, three-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
index 2e6218449e5283182d7e001c30594c8fce022662..568418992b4b45e9b1a9aa9f35d2055844ba83a0 100644 (file)
@@ -18,7 +18,6 @@ Description: Used to style the TinyMCE editor.
  * 9.0 - Audio/Video
  * 10.0 - Post Formats
  * 11.0 - RTL
- * 12.0 - Media Queries
  * ----------------------------------------------------------------------------
  */
 
@@ -770,18 +769,3 @@ html .mceContentBody.rtl {
        background: none;
        content: none;
 }
-
-
-/**
- * 12.0 Media Queries
- */
-
-@media screen and (max-width: 604px) {
-       body, img, .wp-caption {
-               max-width: 100%;
-       }
-
-       img, .wp-caption {
-               width: auto !important;
-       }
-}
index 725251c4f452dd21d339aaabc873effb830e1181..6dc4f94b3bb5ebfba14b10a3f8848539c56bcddf 100644 (file)
@@ -16,7 +16,7 @@
 
                        <div class="site-info">
                                <?php do_action( 'twentythirteen_credits' ); ?>
-                               <a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentythirteen' ) ); ?>" title="<?php esc_attr_e( 'Semantic Personal Publishing Platform', 'twentythirteen' ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentythirteen' ), 'WordPress' ); ?></a>
+                               <a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentythirteen' ) ); ?>" title="<?php esc_attr_e( 'Semantic Personal Publishing Platform', 'twentythirteen' ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentythirteen' ), 'WordPress' ); ?></a>
                        </div><!-- .site-info -->
                </footer><!-- #colophon -->
        </div><!-- #page -->
index 9c85c993f3fb5cb6a0b097934c5383a89f254db4..e87761f2233b174076bca6fdf85c0d16735d268e 100644 (file)
@@ -146,7 +146,7 @@ function twentythirteen_fonts_url() {
                        'family' => urlencode( implode( '|', $font_families ) ),
                        'subset' => urlencode( 'latin,latin-ext' ),
                );
-               $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' );
+               $fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
        }
 
        return $fonts_url;
index 884def612d63098dec18afd7d27838c34664e99a..7706373e65c777493bb06e2ae770554e69c398c4 100644 (file)
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Thirteen 1.5\n"
-"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/twentythirteen\n"
-"POT-Creation-Date: 2015-04-23 15:11:25+00:00\n"
+"Project-Id-Version: Twenty Thirteen 1.6\n"
+"Report-Msgid-Bugs-To: https://wordpress.org/support/theme/twentythirteen\n"
+"POT-Creation-Date: 2015-07-27 19:47:38+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -147,8 +147,10 @@ msgid ""
 "searching can help."
 msgstr ""
 
+#. #-#-#-#-#  twentythirteen.pot (Twenty Thirteen 1.6)  #-#-#-#-#
+#. Author URI of the plugin/theme
 #: footer.php:19
-msgid "http://wordpress.org/"
+msgid "https://wordpress.org/"
 msgstr ""
 
 #: footer.php:19
@@ -330,7 +332,3 @@ msgstr ""
 #. Author of the plugin/theme
 msgid "the WordPress team"
 msgstr ""
-
-#. Author URI of the plugin/theme
-msgid "https://wordpress.org/"
-msgstr ""
diff --git a/wp-content/themes/twentythirteen/readme.txt b/wp-content/themes/twentythirteen/readme.txt
new file mode 100644 (file)
index 0000000..807443d
--- /dev/null
@@ -0,0 +1,83 @@
+=== Twenty Thirteen ===
+Contributors: the WordPress team
+Requires at least: WordPress 3.6
+Tested up to: WordPress 4.3-trunk
+Stable tag: 1.6
+License: GPLv2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready, accessibility-ready
+
+== Description ==
+The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
+
+For more information about Twenty Thirteen please go to https://codex.wordpress.org/Twenty_Thirteen.
+
+== Installation ==
+
+1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button.
+2. Type in Twenty Thirteen in the search form and press the 'Enter' key in your keyboard.
+3. Click on the 'Activate' button to use your new theme right away.
+4. Go to https://codex.wordpress.org/Twenty_Thirteen for a guide to customize this theme.
+5. Navigate to Appearance > Customize in your admin panel.
+
+== Copyright ==
+
+Twenty Thirteen WordPress Theme, Copyright 2013-2015 WordPress.org & Automattic.com
+Twenty Thirteen is Distributed under the terms of the GNU GPL
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+Twenty Thirteen Theme bundles the following third-party resources:
+
+HTML5 Shiv v3.7.0, Copyright 2014 Alexander Farkas
+Licenses: MIT/GPL2
+Source: https://github.com/aFarkas/html5shiv
+
+Genericons icon font, Copyright 2013-2015 Automattic.com
+License: GNU GPL, Version 2 (or later)
+Source: http://www.genericons.com
+
+== Changelog ==
+
+= 1.6 =
+* Released: August 18, 2015
+
+https://codex.wordpress.org/Twenty_Thirteen_Theme_Changelog#Version_1.6
+
+= 1.5 =
+* Released: April 23, 2015
+
+https://codex.wordpress.org/Twenty_Thirteen_Theme_Changelog#Version_1.5
+
+= 1.4 =
+* Released: December 18, 2014
+
+https://codex.wordpress.org/Twenty_Thirteen_Theme_Changelog#Version_1.4
+
+= 1.3 =
+* Released: September 4, 2014
+
+https://codex.wordpress.org/Twenty_Thirteen_Theme_Changelog#Version_1.3
+
+= 1.2 =
+* Released: May 8, 2014
+
+https://codex.wordpress.org/Twenty_Thirteen_Theme_Changelog#Version_1.2
+
+= 1.1 =
+* Released: October 24, 2013
+
+https://codex.wordpress.org/Twenty_Thirteen_Theme_Changelog#Version_1.1
+
+= 1.0 =
+* Released: August 1, 2013
+
+Initial release.
index 54286302511f3fb86a4abd238592b7a2e4fa87c8..447d385c2be282abb31b0f695d441813a14f1188 100644 (file)
@@ -4,7 +4,7 @@ Description: Adds support for languages written in a Right To Left (RTL) directi
 It's easy, just a matter of overwriting all the horizontal positioning attributes
 of your CSS stylesheet in a separate stylesheet file named rtl.css.
 
-See http://codex.wordpress.org/Right_to_Left_Language_Support
+See https://codex.wordpress.org/Right_to_Left_Language_Support
 */
 
 /**
index 1322f48c76a0560afc66dbf79bbcc779c92936aa..d547283d40a00ce14315f6e1263389f0df17c9b9 100644 (file)
@@ -4,7 +4,7 @@ Theme URI: https://wordpress.org/themes/twentythirteen/
 Author: the WordPress team
 Author URI: https://wordpress.org/
 Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
-Version: 1.5
+Version: 1.6
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready, accessibility-ready
index 75379a053c2d0f52565f665d096488d0a6820a9c..15c6676b77976af549bfa470a5fd0a42fd43e937 100644 (file)
@@ -64,7 +64,9 @@ $gmt_time = microtime( true );
 if ( isset($keys[0]) && $keys[0] > $gmt_time )
        die();
 
-$doing_cron_transient = get_transient( 'doing_cron');
+
+// The cron lock: a unix timestamp from when the cron was spawned.
+$doing_cron_transient = get_transient( 'doing_cron' );
 
 // Use global $doing_wp_cron lock otherwise use the GET lock. If no lock, trying grabbing a new lock.
 if ( empty( $doing_wp_cron ) ) {
@@ -79,7 +81,10 @@ if ( empty( $doing_wp_cron ) ) {
        }
 }
 
-// Check lock
+/*
+ * The cron lock (a unix timestamp set when the cron was spawned),
+ * must match $doing_wp_cron (the "key").
+ */
 if ( $doing_cron_transient != $doing_wp_cron )
        return;
 
index 0c92e060c3559e760a7884651a2ef3e33168c0e2..76e2854a35d7b3138dccc2e7f1b9ea8d951c2f9a 100644 (file)
@@ -519,11 +519,13 @@ class getid3_lib
        }
 
        public static function XML2array($XMLstring) {
-               if ( function_exists( 'simplexml_load_string' ) && function_exists( 'libxml_disable_entity_loader' ) ) {
-                       $loader = libxml_disable_entity_loader( true );
-                       $XMLobject = simplexml_load_string( $XMLstring, 'SimpleXMLElement', LIBXML_NOENT );
-                       $return = self::SimpleXMLelement2array( $XMLobject );
-                       libxml_disable_entity_loader( $loader );
+               if (function_exists('simplexml_load_string') && function_exists('libxml_disable_entity_loader')) {
+                       // http://websec.io/2012/08/27/Preventing-XEE-in-PHP.html
+                       // https://core.trac.wordpress.org/changeset/29378
+                       $loader = libxml_disable_entity_loader(true);
+                       $XMLobject = simplexml_load_string($XMLstring, 'SimpleXMLElement', LIBXML_NOENT);
+                       $return = self::SimpleXMLelement2array($XMLobject);
+                       libxml_disable_entity_loader($loader);
                        return $return;
                }
                return false;
@@ -1163,6 +1165,8 @@ class getid3_lib
                                fwrite($tmp, $imgData);
                                fclose($tmp);
                                $GetDataImageSize = @getimagesize($tempfilename, $imageinfo);
+                               $GetDataImageSize['height'] = $GetDataImageSize[0];
+                               $GetDataImageSize['width']  = $GetDataImageSize[1];
                        }
                        unlink($tempfilename);
                }
@@ -1373,4 +1377,4 @@ class getid3_lib
                return substr(basename('X'.$splited[count($splited) - 1], $suffix), 1);
        }
 
-}
\ No newline at end of file
+}
index 394e25e4e3d2fd081a4671b4df6d58d7304f14ae..714fb027680cc8b08fac29e29d11f02f25a9e822 100644 (file)
@@ -28,7 +28,7 @@ $temp_dir = ini_get('upload_tmp_dir');
 if ($temp_dir && (!is_dir($temp_dir) || !is_readable($temp_dir))) {
        $temp_dir = '';
 }
-if (!$temp_dir) {
+if (!$temp_dir && function_exists('sys_get_temp_dir')) { // sys_get_temp_dir added in PHP v5.2.1
        // sys_get_temp_dir() may give inaccessible temp dir, e.g. with open_basedir on virtual hosts
        $temp_dir = sys_get_temp_dir();
 }
@@ -109,7 +109,7 @@ class getID3
        protected $startup_error   = '';
        protected $startup_warning = '';
 
-       const VERSION           = '1.9.8-20140511';
+       const VERSION           = '1.9.9-20141121';
        const FREAD_BUFFER_SIZE = 32768;
 
        const ATTACHMENTS_NONE   = false;
@@ -249,7 +249,7 @@ class getID3
                        $this->filename = $filename;
                        $this->info = array();
                        $this->info['GETID3_VERSION']   = $this->version();
-                       $this->info['php_memory_limit'] = $this->memory_limit;
+                       $this->info['php_memory_limit'] = (($this->memory_limit > 0) ? $this->memory_limit : false);
 
                        // remote files not supported
                        if (preg_match('/^(ht|f)tp:\/\//', $filename)) {
@@ -1793,4 +1793,4 @@ abstract class getid3_handler {
 class getid3_exception extends Exception
 {
        public $message;
-}
\ No newline at end of file
+}
index bc7861bf8739eab6a7647f7a527a7b37e25d9a40..416e5a14694b17c7651dfa855199e9d699cf121e 100644 (file)
@@ -24,4 +24,4 @@ made publicly available to all getID3() users.
 The licensee may not sub-license getID3() itself, meaning that any
 commercially released product containing all or parts of getID3() must
 have added functionality beyond what is available in getID3();
-getID3() itself may not be re-licensed by the licensee.
\ No newline at end of file
+getID3() itself may not be re-licensed by the licensee.
index 32d8ec76eedbdff79aa39885bdaf52112b384fbf..205c7e61e36cba601c6030b1326a65b47dd7cf22 100644 (file)
@@ -26,4 +26,4 @@ getID3 Commercial License: http://getid3.org/#gCL (payment required)
 *****************************************************************
 
 Copies of each of the above licenses are included in the 'licenses'
-directory of the getID3 distribution.
\ No newline at end of file
+directory of the getID3 distribution.
index 884e2fff6638ea349f3b74268f4b9dfd62b3c9aa..ee61d7dc5230798c2505930184a4dabc102d5e57 100644 (file)
@@ -2010,4 +2010,4 @@ class getid3_asf extends getid3_handler {
                return $string;
        }
 
-}
\ No newline at end of file
+}
index 2ee077eb26fa092eee7dd98d391b8a33e7c9ce5f..c5fbd4b0fc0124daa360a85e61be21b859754c45 100644 (file)
@@ -742,4 +742,4 @@ class AVCSequenceParameterSetReader {
        public function getHeight() {
                return $this->height;
        }
-}
\ No newline at end of file
+}
index 79d0b7debf60710a58db42206fe096996518206e..f2cc5ac0a7be126248fa80be4e84712e15ae35e3 100644 (file)
@@ -1748,4 +1748,4 @@ class getid3_matroska extends getid3_handler
                return $info;
        }
 
-}
\ No newline at end of file
+}
index 03f7a922f3e75799f71a62df463ef515012aca30..482c091237ed7ba0afa273c162d9fca324374ef1 100644 (file)
@@ -35,7 +35,7 @@ class getid3_quicktime extends getid3_handler
 
                $offset      = 0;
                $atomcounter = 0;
-
+               $atom_data_read_buffer_size = ($info['php_memory_limit'] ? round($info['php_memory_limit'] / 2) : $this->getid3->option_fread_buffer_size * 1024); // allow [default: 32MB] if PHP configured with no memory_limit
                while ($offset < $info['avdataend']) {
                        if (!getid3_lib::intValueSupported($offset)) {
                                $info['error'][] = 'Unable to parse atom at offset '.$offset.' because beyond '.round(PHP_INT_MAX / 1073741824).'GB limit of PHP filesystem functions';
@@ -68,7 +68,7 @@ class getid3_quicktime extends getid3_handler
                                break;
                        }
                        $atomHierarchy = array();
-                       $info['quicktime'][$atomname] = $this->QuicktimeParseAtom($atomname, $atomsize, $this->fread(min($atomsize, round($this->getid3->memory_limit / 2))), $offset, $atomHierarchy, $this->ParseAllPossibleAtoms);
+                       $info['quicktime'][$atomname] = $this->QuicktimeParseAtom($atomname, $atomsize, $this->fread(min($atomsize, $atom_data_read_buffer_size)), $offset, $atomHierarchy, $this->ParseAllPossibleAtoms);
 
                        $offset += $atomsize;
                        $atomcounter++;
@@ -799,9 +799,9 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
                                //$FrameRateCalculatorArray = array();
                                $frames_count = 0;
 
-                               $max_stts_entries_to_scan = min(floor($this->getid3->memory_limit / 10000), $atom_structure['number_entries']);
+                               $max_stts_entries_to_scan = ($info['php_memory_limit'] ? min(floor($this->getid3->memory_limit / 10000), $atom_structure['number_entries']) : $atom_structure['number_entries']);
                                if ($max_stts_entries_to_scan < $atom_structure['number_entries']) {
-                                       $info['warning'][] = 'QuickTime atom "stts" has '.$atom_structure['number_entries'].' but only scanning the first '.$max_stts_entries_to_scan.' entries due to limited PHP memory available ('.floor($this->getid3->memory_limit / 1048576).'MB).';
+                                       $info['warning'][] = 'QuickTime atom "stts" has '.$atom_structure['number_entries'].' but only scanning the first '.$max_stts_entries_to_scan.' entries due to limited PHP memory available ('.floor($atom_structure['number_entries'] / 1048576).'MB).';
                                }
                                for ($i = 0; $i < $max_stts_entries_to_scan; $i++) {
                                        $atom_structure['time_to_sample_table'][$i]['sample_count']    = getid3_lib::BigEndian2Int(substr($atom_data, $sttsEntriesDataOffset, 4));
@@ -1399,7 +1399,7 @@ if (!empty($atom_structure['sample_description_table'][$i]['width']) && !empty($
                        case "\x00\x00\x00\x00":
                        case 'meta': // METAdata atom
                                // some kind of metacontainer, may contain a big data dump such as:
-                               // mdta keys \ 5 mdtacom.apple.quicktime.make (mdtacom.apple.quicktime.creationdate ,mdtacom.apple.quicktime.location.ISO6709 $mdtacom.apple.quicktime.software !mdtacom.apple.quicktime.model ilst \1d \ 1 \15data \ 1DE\10Apple 0 \ 2 (data \ 1DE\102011-05-11T17:54:04+0200 2 \ 3 *data \ 1DE\10+52.4936+013.3897+040.247/ \1d \ 4 \15data \ 1DE\104.3.1 \ 5 \18data \ 1DE\10iPhone 4
+                               // mdta keys \005 mdtacom.apple.quicktime.make (mdtacom.apple.quicktime.creationdate ,mdtacom.apple.quicktime.location.ISO6709 $mdtacom.apple.quicktime.software !mdtacom.apple.quicktime.model ilst \01D \001 \015data \001DE\010Apple 0 \002 (data \001DE\0102011-05-11T17:54:04+0200 2 \003 *data \001DE\010+52.4936+013.3897+040.247/ \01D \004 \015data \001DE\0104.3.1 \005 \018data \001DE\010iPhone 4
                                // http://www.geocities.com/xhelmboyx/quicktime/formats/qti-layout.txt
 
                    $atom_structure['version']   =          getid3_lib::BigEndian2Int(substr($atom_data, 0, 1));
@@ -2243,4 +2243,4 @@ echo 'QuicktimeParseNikonNCTG()::unknown $data_size_type: '.$data_size_type.'<br
                return substr($pascalstring, 1);
        }
 
-}
\ No newline at end of file
+}
index 38ddf352f75a70ca5b11c3939e9cca9d8ace0833..2dc52f485cbea83c6af42f55ec5b2a31ccd03ae7 100644 (file)
@@ -471,4 +471,4 @@ class getid3_ac3 extends getid3_handler
        }
 
 
-}
\ No newline at end of file
+}
index 59831c863978e3ac46e40a3d04ca25d5c8e3624a..bdc78f0b5e806d988646c323126eb12d170bc1f3 100644 (file)
@@ -288,4 +288,4 @@ class getid3_dts extends getid3_handler
                return false;
        }
 
-}
\ No newline at end of file
+}
index 8fa0f4c68a39b21e32ee9db60cc7b4563a696414..348cce328d22ff07e95cf24566e30368d40b4571 100644 (file)
@@ -135,7 +135,17 @@ class getid3_flac extends getid3_handler
                if (isset($info['flac']['PICTURE']) && ($this->getid3->option_save_attachments !== getID3::ATTACHMENTS_NONE)) {
                        foreach ($info['flac']['PICTURE'] as $entry) {
                                if (!empty($entry['data'])) {
-                                       $info['flac']['comments']['picture'][] = array('image_mime'=>$entry['image_mime'], 'data'=>$entry['data']);
+                                       if (!isset($info['flac']['comments']['picture'])) {
+                                               $info['flac']['comments']['picture'] = array();
+                                       }
+                                       $comments_picture_data = array();
+                                       foreach (array('data', 'image_mime', 'image_width', 'image_height', 'imagetype', 'picturetype', 'description', 'datalength') as $picture_key) {
+                                               if (isset($entry[$picture_key])) {
+                                                       $comments_picture_data[$picture_key] = $entry[$picture_key];
+                                               }
+                                       }
+                                       $info['flac']['comments']['picture'][] = $comments_picture_data;
+                                       unset($comments_picture_data);
                                }
                        }
                }
@@ -343,25 +353,25 @@ class getid3_flac extends getid3_handler
                $info = &$this->getid3->info;
 
                $picture['typeid']         = getid3_lib::BigEndian2Int($this->fread(4));
-               $picture['type']           = self::pictureTypeLookup($picture['typeid']);
+               $picture['picturetype']    = self::pictureTypeLookup($picture['typeid']);
                $picture['image_mime']     = $this->fread(getid3_lib::BigEndian2Int($this->fread(4)));
                $descr_length              = getid3_lib::BigEndian2Int($this->fread(4));
                if ($descr_length) {
                        $picture['description'] = $this->fread($descr_length);
                }
-               $picture['width']          = getid3_lib::BigEndian2Int($this->fread(4));
-               $picture['height']         = getid3_lib::BigEndian2Int($this->fread(4));
+               $picture['image_width']    = getid3_lib::BigEndian2Int($this->fread(4));
+               $picture['image_height']   = getid3_lib::BigEndian2Int($this->fread(4));
                $picture['color_depth']    = getid3_lib::BigEndian2Int($this->fread(4));
                $picture['colors_indexed'] = getid3_lib::BigEndian2Int($this->fread(4));
-               $data_length               = getid3_lib::BigEndian2Int($this->fread(4));
+               $picture['datalength']     = getid3_lib::BigEndian2Int($this->fread(4));
 
                if ($picture['image_mime'] == '-->') {
-                       $picture['data'] = $this->fread($data_length);
+                       $picture['data'] = $this->fread($picture['datalength']);
                } else {
                        $picture['data'] = $this->saveAttachment(
-                               str_replace('/', '_', $picture['type']).'_'.$this->ftell(),
+                               str_replace('/', '_', $picture['picturetype']).'_'.$this->ftell(),
                                $this->ftell(),
-                               $data_length,
+                               $picture['datalength'],
                                $picture['image_mime']);
                }
 
@@ -440,4 +450,4 @@ class getid3_flac extends getid3_handler
                return (isset($lookup[$type_id]) ? $lookup[$type_id] : 'reserved');
        }
 
-}
\ No newline at end of file
+}
index 98877a9304e82527630c7a42330f91cd16a36911..329f7a675f4daf529ca537085df0d6fa1a444b9e 100644 (file)
@@ -2009,4 +2009,4 @@ class getid3_mp3 extends getid3_handler
                return (isset($LAMEpresetUsedLookup[$LAMEtag['preset_used_id']]) ? $LAMEpresetUsedLookup[$LAMEtag['preset_used_id']] : 'new/unknown preset: '.$LAMEtag['preset_used_id'].' - report to info@getid3.org');
        }
 
-}
\ No newline at end of file
+}
index f3bb00471193a8c920929a973218357ec325a9d1..2a77768be439880bdbb0a14b93e23af17dea2025 100644 (file)
@@ -63,6 +63,12 @@ class getid3_ogg extends getid3_handler
 
                        $this->ParseVorbisPageHeader($filedata, $filedataoffset, $oggpageinfo);
 
+               } elseif (substr($filedata, 0, 8) == 'OpusHead') {
+
+                       if( $this->ParseOpusPageHeader($filedata, $filedataoffset, $oggpageinfo) == false ) {
+                               return false;
+                       }
+
                } elseif (substr($filedata, 0, 8) == 'Speex   ') {
 
                        // http://www.speex.org/manual/node10.html
@@ -255,7 +261,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
 
                } else {
 
-                       $info['error'][] = 'Expecting either "Speex   " or "vorbis" identifier strings, found "'.substr($filedata, 0, 8).'"';
+                       $info['error'][] = 'Expecting either "Speex   ", "OpusHead" or "vorbis" identifier strings, found "'.substr($filedata, 0, 8).'"';
                        unset($info['ogg']);
                        unset($info['mime_type']);
                        return false;
@@ -288,8 +294,19 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
                                $this->fseek($info['ogg']['pageheader'][$oggpageinfo['page_seqno']]['page_length'], SEEK_CUR);
                                $this->ParseVorbisComments();
                                break;
-               }
 
+                       case 'opus':
+                               $filedata = $this->fread($info['ogg']['pageheader'][$oggpageinfo['page_seqno']]['page_length']);
+                               $info['ogg']['pageheader'][$oggpageinfo['page_seqno']]['stream_type'] = substr($filedata, 0, 8); // hard-coded to 'OpusTags'
+                               if(substr($filedata, 0, 8)  != 'OpusTags') {
+                                       $info['error'][] = 'Expected "OpusTags" as header but got "'.substr($filedata, 0, 8).'"';
+                                       return false;
+                               }
+
+                               $this->ParseVorbisComments();
+                               break;
+
+               }
 
                // Last Page - Number of Samples
                if (!getid3_lib::intValueSupported($info['avdataend'])) {
@@ -409,6 +426,57 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
                return true;
        }
 
+       // http://tools.ietf.org/html/draft-ietf-codec-oggopus-03
+       public function ParseOpusPageHeader(&$filedata, &$filedataoffset, &$oggpageinfo) {
+               $info = &$this->getid3->info;
+               $info['audio']['dataformat']   = 'opus';
+               $info['mime_type']             = 'audio/ogg; codecs=opus';
+
+               /** @todo find a usable way to detect abr (vbr that is padded to be abr) */
+               $info['audio']['bitrate_mode'] = 'vbr';
+
+               $info['audio']['lossless']     = false;
+
+               $info['ogg']['pageheader']['opus']['opus_magic'] = substr($filedata, $filedataoffset, 8); // hard-coded to 'OpusHead'
+               $filedataoffset += 8;
+               $info['ogg']['pageheader']['opus']['version']    = getid3_lib::LittleEndian2Int(substr($filedata, $filedataoffset,  1));
+               $filedataoffset += 1;
+
+               if ($info['ogg']['pageheader']['opus']['version'] < 1 || $info['ogg']['pageheader']['opus']['version'] > 15) {
+                       $info['error'][] = 'Unknown opus version number (only accepting 1-15)';
+                       return false;
+               }
+
+               $info['ogg']['pageheader']['opus']['out_channel_count'] = getid3_lib::LittleEndian2Int(substr($filedata, $filedataoffset,  1));
+               $filedataoffset += 1;
+
+               if ($info['ogg']['pageheader']['opus']['out_channel_count'] == 0) {
+                       $info['error'][] = 'Invalid channel count in opus header (must not be zero)';
+                       return false;
+               }
+
+               $info['ogg']['pageheader']['opus']['pre_skip'] = getid3_lib::LittleEndian2Int(substr($filedata, $filedataoffset,  2));
+               $filedataoffset += 2;
+
+               $info['ogg']['pageheader']['opus']['sample_rate'] = getid3_lib::LittleEndian2Int(substr($filedata, $filedataoffset,  4));
+               $filedataoffset += 4;
+
+               //$info['ogg']['pageheader']['opus']['output_gain'] = getid3_lib::LittleEndian2Int(substr($filedata, $filedataoffset,  2));
+               //$filedataoffset += 2;
+
+               //$info['ogg']['pageheader']['opus']['channel_mapping_family'] = getid3_lib::LittleEndian2Int(substr($filedata, $filedataoffset,  1));
+               //$filedataoffset += 1;
+
+               $info['opus']['opus_version']      = $info['ogg']['pageheader']['opus']['version'];
+               $info['opus']['sample_rate']       = $info['ogg']['pageheader']['opus']['sample_rate'];
+               $info['opus']['out_channel_count'] = $info['ogg']['pageheader']['opus']['out_channel_count'];
+
+               $info['audio']['channels']      = $info['opus']['out_channel_count'];
+               $info['audio']['sample_rate']   = $info['opus']['sample_rate'];
+               return true;
+       }
+
+
        public function ParseOggPageHeader() {
                // http://xiph.org/ogg/vorbis/doc/framing.html
                $oggheader['page_start_offset'] = $this->ftell(); // where we started from in the file
@@ -471,6 +539,7 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
                switch ($info['audio']['dataformat']) {
                        case 'vorbis':
                        case 'speex':
+                       case 'opus':
                                $CommentStartOffset = $info['ogg']['pageheader'][$VorbisCommentPage]['page_start_offset'];  // Second Ogg page, after header block
                                $this->fseek($CommentStartOffset);
                                $commentdataoffset = 27 + $info['ogg']['pageheader'][$VorbisCommentPage]['page_segments'];
@@ -479,6 +548,10 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
                                if ($info['audio']['dataformat'] == 'vorbis') {
                                        $commentdataoffset += (strlen('vorbis') + 1);
                                }
+                               else if ($info['audio']['dataformat'] == 'opus') {
+                                       $commentdataoffset += strlen('OpusTags');
+                               }
+
                                break;
 
                        case 'flac':
@@ -505,6 +578,12 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
                $ThisFileInfo_ogg_comments_raw = &$info['ogg']['comments_raw'];
                for ($i = 0; $i < $CommentsCount; $i++) {
 
+                       if ($i >= 10000) {
+                               // https://github.com/owncloud/music/issues/212#issuecomment-43082336
+                               $info['warning'][] = 'Unexpectedly large number ('.$CommentsCount.') of Ogg comments - breaking after reading '.$i.' comments';
+                               break;
+                       }
+
                        $ThisFileInfo_ogg_comments_raw[$i]['dataoffset'] = $CommentStartOffset + $commentdataoffset;
 
                        if ($this->ftell() < ($ThisFileInfo_ogg_comments_raw[$i]['dataoffset'] + 4)) {
@@ -615,8 +694,12 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
                                        $ogg = new self($this->getid3);
                                        $ogg->setStringMode($data);
                                        $info['ogg']['comments']['picture'][] = array(
-                                               'image_mime' => $imageinfo['mime'],
-                                               'data'       => $ogg->saveAttachment('coverart', 0, strlen($data), $imageinfo['mime']),
+                                               'image_mime'   => $imageinfo['mime'],
+                                               'datalength'   => strlen($data),
+                                               'picturetype'  => 'cover art',
+                                               'image_height' => $imageinfo['height'],
+                                               'image_width'  => $imageinfo['width'],
+                                               'data'         => $ogg->saveAttachment('coverart', 0, strlen($data), $imageinfo['mime']),
                                        );
                                        unset($ogg);
 
@@ -753,4 +836,4 @@ $info['warning'][] = 'Ogg Theora (v3) not fully supported in this version of get
                return (isset($TheoraPixelFormatLookup[$pixelformat_id]) ? $TheoraPixelFormatLookup[$pixelformat_id] : null);
        }
 
-}
\ No newline at end of file
+}
index 5bd4b83509067cbb70c40ba7e760f7453a49728a..724b8b0f6087f1e8f6a191f24d62f2fc615a7151 100644 (file)
@@ -138,58 +138,88 @@ class getid3_apetag extends getid3_handler
                        $thisfile_ape_items_current['flags'] = $this->parseAPEtagFlags($item_flags);
                        switch ($thisfile_ape_items_current['flags']['item_contents_raw']) {
                                case 0: // UTF-8
-                               case 3: // Locator (URL, filename, etc), UTF-8 encoded
-                                       $thisfile_ape_items_current['data'] = explode("\x00", trim($thisfile_ape_items_current['data']));
+                               case 2: // Locator (URL, filename, etc), UTF-8 encoded
+                                       $thisfile_ape_items_current['data'] = explode("\x00", $thisfile_ape_items_current['data']);
                                        break;
 
-                               default: // binary data
+                               case 1:  // binary data
+                               default:
                                        break;
                        }
 
                        switch (strtolower($item_key)) {
+                               // http://wiki.hydrogenaud.io/index.php?title=ReplayGain#MP3Gain
                                case 'replaygain_track_gain':
-                                       $thisfile_replaygain['track']['adjustment'] = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
-                                       $thisfile_replaygain['track']['originator'] = 'unspecified';
+                                       if (preg_match('#^[\\-\\+][0-9\\.,]{8}$#', $thisfile_ape_items_current['data'][0])) {
+                                               $thisfile_replaygain['track']['adjustment'] = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
+                                               $thisfile_replaygain['track']['originator'] = 'unspecified';
+                                       } else {
+                                               $info['warning'][] = 'MP3gainTrackGain value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+                                       }
                                        break;
 
                                case 'replaygain_track_peak':
-                                       $thisfile_replaygain['track']['peak']       = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
-                                       $thisfile_replaygain['track']['originator'] = 'unspecified';
-                                       if ($thisfile_replaygain['track']['peak'] <= 0) {
-                                               $info['warning'][] = 'ReplayGain Track peak from APEtag appears invalid: '.$thisfile_replaygain['track']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")';
+                                       if (preg_match('#^[0-9\\.,]{8}$#', $thisfile_ape_items_current['data'][0])) {
+                                               $thisfile_replaygain['track']['peak']       = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
+                                               $thisfile_replaygain['track']['originator'] = 'unspecified';
+                                               if ($thisfile_replaygain['track']['peak'] <= 0) {
+                                                       $info['warning'][] = 'ReplayGain Track peak from APEtag appears invalid: '.$thisfile_replaygain['track']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")';
+                                               }
+                                       } else {
+                                               $info['warning'][] = 'MP3gainTrackPeak value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
                                        }
                                        break;
 
                                case 'replaygain_album_gain':
-                                       $thisfile_replaygain['album']['adjustment'] = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
-                                       $thisfile_replaygain['album']['originator'] = 'unspecified';
+                                       if (preg_match('#^[\\-\\+][0-9\\.,]{8}$#', $thisfile_ape_items_current['data'][0])) {
+                                               $thisfile_replaygain['album']['adjustment'] = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
+                                               $thisfile_replaygain['album']['originator'] = 'unspecified';
+                                       } else {
+                                               $info['warning'][] = 'MP3gainAlbumGain value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+                                       }
                                        break;
 
                                case 'replaygain_album_peak':
-                                       $thisfile_replaygain['album']['peak']       = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
-                                       $thisfile_replaygain['album']['originator'] = 'unspecified';
-                                       if ($thisfile_replaygain['album']['peak'] <= 0) {
-                                               $info['warning'][] = 'ReplayGain Album peak from APEtag appears invalid: '.$thisfile_replaygain['album']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")';
+                                       if (preg_match('#^[0-9\\.,]{8}$#', $thisfile_ape_items_current['data'][0])) {
+                                               $thisfile_replaygain['album']['peak']       = (float) str_replace(',', '.', $thisfile_ape_items_current['data'][0]); // float casting will see "0,95" as zero!
+                                               $thisfile_replaygain['album']['originator'] = 'unspecified';
+                                               if ($thisfile_replaygain['album']['peak'] <= 0) {
+                                                       $info['warning'][] = 'ReplayGain Album peak from APEtag appears invalid: '.$thisfile_replaygain['album']['peak'].' (original value = "'.$thisfile_ape_items_current['data'][0].'")';
+                                               }
+                                       } else {
+                                               $info['warning'][] = 'MP3gainAlbumPeak value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
                                        }
                                        break;
 
                                case 'mp3gain_undo':
-                                       list($mp3gain_undo_left, $mp3gain_undo_right, $mp3gain_undo_wrap) = explode(',', $thisfile_ape_items_current['data'][0]);
-                                       $thisfile_replaygain['mp3gain']['undo_left']  = intval($mp3gain_undo_left);
-                                       $thisfile_replaygain['mp3gain']['undo_right'] = intval($mp3gain_undo_right);
-                                       $thisfile_replaygain['mp3gain']['undo_wrap']  = (($mp3gain_undo_wrap == 'Y') ? true : false);
+                                       if (preg_match('#^[\\-\\+][0-9]{3},[\\-\\+][0-9]{3},[NW]$#', $thisfile_ape_items_current['data'][0])) {
+                                               list($mp3gain_undo_left, $mp3gain_undo_right, $mp3gain_undo_wrap) = explode(',', $thisfile_ape_items_current['data'][0]);
+                                               $thisfile_replaygain['mp3gain']['undo_left']  = intval($mp3gain_undo_left);
+                                               $thisfile_replaygain['mp3gain']['undo_right'] = intval($mp3gain_undo_right);
+                                               $thisfile_replaygain['mp3gain']['undo_wrap']  = (($mp3gain_undo_wrap == 'Y') ? true : false);
+                                       } else {
+                                               $info['warning'][] = 'MP3gainUndo value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+                                       }
                                        break;
 
                                case 'mp3gain_minmax':
-                                       list($mp3gain_globalgain_min, $mp3gain_globalgain_max) = explode(',', $thisfile_ape_items_current['data'][0]);
-                                       $thisfile_replaygain['mp3gain']['globalgain_track_min'] = intval($mp3gain_globalgain_min);
-                                       $thisfile_replaygain['mp3gain']['globalgain_track_max'] = intval($mp3gain_globalgain_max);
+                                       if (preg_match('#^[0-9]{3},[0-9]{3}$#', $thisfile_ape_items_current['data'][0])) {
+                                               list($mp3gain_globalgain_min, $mp3gain_globalgain_max) = explode(',', $thisfile_ape_items_current['data'][0]);
+                                               $thisfile_replaygain['mp3gain']['globalgain_track_min'] = intval($mp3gain_globalgain_min);
+                                               $thisfile_replaygain['mp3gain']['globalgain_track_max'] = intval($mp3gain_globalgain_max);
+                                       } else {
+                                               $info['warning'][] = 'MP3gainMinMax value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+                                       }
                                        break;
 
                                case 'mp3gain_album_minmax':
-                                       list($mp3gain_globalgain_album_min, $mp3gain_globalgain_album_max) = explode(',', $thisfile_ape_items_current['data'][0]);
-                                       $thisfile_replaygain['mp3gain']['globalgain_album_min'] = intval($mp3gain_globalgain_album_min);
-                                       $thisfile_replaygain['mp3gain']['globalgain_album_max'] = intval($mp3gain_globalgain_album_max);
+                                       if (preg_match('#^[0-9]{3},[0-9]{3}$#', $thisfile_ape_items_current['data'][0])) {
+                                               list($mp3gain_globalgain_album_min, $mp3gain_globalgain_album_max) = explode(',', $thisfile_ape_items_current['data'][0]);
+                                               $thisfile_replaygain['mp3gain']['globalgain_album_min'] = intval($mp3gain_globalgain_album_min);
+                                               $thisfile_replaygain['mp3gain']['globalgain_album_max'] = intval($mp3gain_globalgain_album_max);
+                                       } else {
+                                               $info['warning'][] = 'MP3gainAlbumMinMax value in APEtag appears invalid: "'.$thisfile_ape_items_current['data'][0].'"';
+                                       }
                                        break;
 
                                case 'tracknumber':
@@ -222,6 +252,10 @@ class getid3_apetag extends getid3_handler
                                case 'cover art (recording)':
                                case 'cover art (studio)':
                                        // list of possible cover arts from http://taglib-sharp.sourcearchive.com/documentation/2.0.3.0-2/Ape_2Tag_8cs-source.html
+                                       if (is_array($thisfile_ape_items_current['data'])) {
+                                               $info['warning'][] = 'APEtag "'.$item_key.'" should be flagged as Binary data, but was incorrectly flagged as UTF-8';
+                                               $thisfile_ape_items_current['data'] = implode("\x00", $thisfile_ape_items_current['data']);
+                                       }
                                        list($thisfile_ape_items_current['filename'], $thisfile_ape_items_current['data']) = explode("\x00", $thisfile_ape_items_current['data'], 2);
                                        $thisfile_ape_items_current['data_offset'] = $thisfile_ape_items_current['offset'] + strlen($thisfile_ape_items_current['filename']."\x00");
                                        $thisfile_ape_items_current['data_length'] = strlen($thisfile_ape_items_current['data']);
@@ -269,7 +303,14 @@ class getid3_apetag extends getid3_handler
                                                        if (!isset($info['ape']['comments']['picture'])) {
                                                                $info['ape']['comments']['picture'] = array();
                                                        }
-                                                       $info['ape']['comments']['picture'][] = array('data'=>$thisfile_ape_items_current['data'], 'image_mime'=>$thisfile_ape_items_current['image_mime']);
+                                                       $comments_picture_data = array();
+                                                       foreach (array('data', 'image_mime', 'image_width', 'image_height', 'imagetype', 'picturetype', 'description', 'datalength') as $picture_key) {
+                                                               if (isset($thisfile_ape_items_current[$picture_key])) {
+                                                                       $comments_picture_data[$picture_key] = $thisfile_ape_items_current[$picture_key];
+                                                               }
+                                                       }
+                                                       $info['ape']['comments']['picture'][] = $comments_picture_data;
+                                                       unset($comments_picture_data);
                                                }
                                        } while (false);
                                        break;
@@ -317,7 +358,7 @@ class getid3_apetag extends getid3_handler
        public function parseAPEtagFlags($rawflagint) {
                // "Note: APE Tags 1.0 do not use any of the APE Tag flags.
                // All are set to zero on creation and ignored on reading."
-               // http://www.uni-jena.de/~pfk/mpp/sv8/apetagflags.html
+               // http://wiki.hydrogenaud.io/index.php?title=Ape_Tags_Flags
                $flags['header']            = (bool) ($rawflagint & 0x80000000);
                $flags['footer']            = (bool) ($rawflagint & 0x40000000);
                $flags['this_is_header']    = (bool) ($rawflagint & 0x20000000);
@@ -368,4 +409,4 @@ class getid3_apetag extends getid3_handler
                return in_array(strtolower($itemkey), $APEtagItemIsUTF8Lookup);
        }
 
-}
\ No newline at end of file
+}
index def281ae9c193acdbcdd92a2efaad912fc51f356..3b4edfd2e223d86135cde5c36c94b3c5d7b7438c 100644 (file)
@@ -357,4 +357,4 @@ class getid3_id3v1 extends getid3_handler
                return $ID3v1Tag;
        }
 
-}
\ No newline at end of file
+}
index d1c4fce744aba4a66feb034746d5e552d1a75c16..709250480ea2d4ecaae2eb7748a2e04f43e321e8 100644 (file)
@@ -625,12 +625,13 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_offset = 0;
                        $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
-
+                       $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                        if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                               $frame_textencoding_terminator = "\x00";
                        }
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
@@ -640,8 +641,8 @@ class getid3_id3v2 extends getid3_handler
                        $parsedFrame['encodingid']  = $frame_textencoding;
                        $parsedFrame['encoding']    = $this->TextEncodingNameLookup($frame_textencoding);
 
-                       $parsedFrame['description'] = $frame_description;
-                       $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+                       $parsedFrame['description'] = trim(getid3_lib::iconv_fallback($parsedFrame['encoding'], $info['id3v2']['encoding'], $frame_description));
+                       $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator));
                        if (!empty($parsedFrame['framenameshort']) && !empty($parsedFrame['data'])) {
                                $commentkey = ($parsedFrame['description'] ? $parsedFrame['description'] : (isset($info['id3v2']['comments'][$parsedFrame['framenameshort']]) ? count($info['id3v2']['comments'][$parsedFrame['framenameshort']]) : 0));
                                if (!isset($info['id3v2']['comments'][$parsedFrame['framenameshort']]) || !array_key_exists($commentkey, $info['id3v2']['comments'][$parsedFrame['framenameshort']])) {
@@ -717,11 +718,13 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_offset = 0;
                        $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+                       $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                        if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                               $frame_textencoding_terminator = "\x00";
                        }
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
@@ -729,10 +732,10 @@ class getid3_id3v2 extends getid3_handler
                        if (ord($frame_description) === 0) {
                                $frame_description = '';
                        }
-                       $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+                       $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator));
 
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding));
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        if ($frame_terminatorpos) {
@@ -956,20 +959,22 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_offset = 0;
                        $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+                       $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                        if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                               $frame_textencoding_terminator = "\x00";
                        }
                        $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
                        $frame_offset += 3;
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
                        if (ord($frame_description) === 0) {
                                $frame_description = '';
                        }
-                       $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+                       $parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator));
 
                        $parsedFrame['encodingid']   = $frame_textencoding;
                        $parsedFrame['encoding']     = $this->TextEncodingNameLookup($frame_textencoding);
@@ -1002,8 +1007,10 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_offset = 0;
                        $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+                       $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                        if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                               $frame_textencoding_terminator = "\x00";
                        }
                        $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
                        $frame_offset += 3;
@@ -1020,16 +1027,16 @@ class getid3_id3v2 extends getid3_handler
                        $frame_remainingdata = substr($parsedFrame['data'], $frame_offset);
                        while (strlen($frame_remainingdata)) {
                                $frame_offset = 0;
-                               $frame_terminatorpos = strpos($frame_remainingdata, $this->TextEncodingTerminatorLookup($frame_textencoding));
+                               $frame_terminatorpos = strpos($frame_remainingdata, $frame_textencoding_terminator);
                                if ($frame_terminatorpos === false) {
                                        $frame_remainingdata = '';
                                } else {
-                                       if (ord(substr($frame_remainingdata, $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                                       if (ord(substr($frame_remainingdata, $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                                        }
                                        $parsedFrame['lyrics'][$timestampindex]['data'] = substr($frame_remainingdata, $frame_offset, $frame_terminatorpos - $frame_offset);
 
-                                       $frame_remainingdata = substr($frame_remainingdata, $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+                                       $frame_remainingdata = substr($frame_remainingdata, $frame_terminatorpos + strlen($frame_textencoding_terminator));
                                        if (($timestampindex == 0) && (ord($frame_remainingdata{0}) != 0)) {
                                                // timestamp probably omitted for first data item
                                        } else {
@@ -1060,20 +1067,22 @@ class getid3_id3v2 extends getid3_handler
 
                                $frame_offset = 0;
                                $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+                               $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                                if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                        $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                                       $frame_textencoding_terminator = "\x00";
                                }
                                $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
                                $frame_offset += 3;
-                               $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                               if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                               $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                               if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                        $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                                }
                                $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
                                if (ord($frame_description) === 0) {
                                        $frame_description = '';
                                }
-                               $frame_text = (string) substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+                               $frame_text = (string) substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator));
 
                                $parsedFrame['encodingid']   = $frame_textencoding;
                                $parsedFrame['encoding']     = $this->TextEncodingNameLookup($frame_textencoding);
@@ -1330,8 +1339,10 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_offset = 0;
                        $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+                       $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                        if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                               $frame_textencoding_terminator = "\x00";
                        }
 
                        if ($id3v2_majorversion == 2 && strlen($parsedFrame['data']) > $frame_offset) {
@@ -1367,8 +1378,8 @@ class getid3_id3v2 extends getid3_handler
                        if ($frame_offset >= $parsedFrame['datalength']) {
                                $info['warning'][] = 'data portion of APIC frame is missing at offset '.($parsedFrame['dataoffset'] + 8 + $frame_offset);
                        } else {
-                               $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                               if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                               $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                               if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                        $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                                }
                                $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
@@ -1386,7 +1397,7 @@ class getid3_id3v2 extends getid3_handler
                                $parsedFrame['picturetypeid']    = $frame_picturetype;
                                $parsedFrame['picturetype']      = $this->APICPictureTypeLookup($frame_picturetype);
                                $parsedFrame['description']      = $frame_description;
-                               $parsedFrame['data']             = substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)));
+                               $parsedFrame['data']             = substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator));
                                $parsedFrame['datalength']       = strlen($parsedFrame['data']);
 
                                $parsedFrame['image_mime'] = '';
@@ -1443,7 +1454,14 @@ class getid3_id3v2 extends getid3_handler
                                                        if (!isset($info['id3v2']['comments']['picture'])) {
                                                                $info['id3v2']['comments']['picture'] = array();
                                                        }
-                                                       $info['id3v2']['comments']['picture'][] = array('data'=>$parsedFrame['data'], 'image_mime'=>$parsedFrame['image_mime']);
+                                                       $comments_picture_data = array();
+                                                       foreach (array('data', 'image_mime', 'image_width', 'image_height', 'imagetype', 'picturetype', 'description', 'datalength') as $picture_key) {
+                                                               if (isset($parsedFrame[$picture_key])) {
+                                                                       $comments_picture_data[$picture_key] = $parsedFrame[$picture_key];
+                                                               }
+                                                       }
+                                                       $info['id3v2']['comments']['picture'][] = $comments_picture_data;
+                                                       unset($comments_picture_data);
                                                }
                                        }
                                } while (false);
@@ -1462,8 +1480,10 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_offset = 0;
                        $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+                       $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                        if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                               $frame_textencoding_terminator = "\x00";
                        }
                        $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
                        $frame_mimetype = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
@@ -1472,25 +1492,25 @@ class getid3_id3v2 extends getid3_handler
                        }
                        $frame_offset = $frame_terminatorpos + strlen("\x00");
 
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        $frame_filename = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
                        if (ord($frame_filename) === 0) {
                                $frame_filename = '';
                        }
-                       $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+                       $frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);
 
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
                        if (ord($frame_description) === 0) {
                                $frame_description = '';
                        }
-                       $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+                       $frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);
 
                        $parsedFrame['objectdata']  = (string) substr($parsedFrame['data'], $frame_offset);
                        $parsedFrame['encodingid']  = $frame_textencoding;
@@ -1607,7 +1627,7 @@ class getid3_id3v2 extends getid3_handler
 
 
                } elseif ((($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'LINK')) || // 4.20  LINK Linked information
-                               (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'LNK'))) {     // 4.22  LNK  Linked information
+                               (($id3v2_majorversion == 2) && ($parsedFrame['frame_name'] == 'LNK'))) {    // 4.22  LNK  Linked information
                        //   There may be more than one 'LINK' frame in a tag,
                        //   but only one with the same contents
                        // <Header for 'Linked information', ID: 'LINK'>
@@ -1635,7 +1655,7 @@ class getid3_id3v2 extends getid3_handler
 
                        $parsedFrame['additionaldata'] = (string) substr($parsedFrame['data'], $frame_offset);
                        if (!empty($parsedFrame['framenameshort']) && $parsedFrame['url']) {
-                               $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = utf8_encode($parsedFrame['url']);
+                               $info['id3v2']['comments'][$parsedFrame['framenameshort']][] = getid3_lib::iconv_fallback_iso88591_utf8($parsedFrame['url']);
                        }
                        unset($parsedFrame['data']);
 
@@ -1729,8 +1749,10 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_offset = 0;
                        $frame_textencoding = ord(substr($parsedFrame['data'], $frame_offset++, 1));
+                       $frame_textencoding_terminator = $this->TextEncodingTerminatorLookup($frame_textencoding);
                        if ((($id3v2_majorversion <= 3) && ($frame_textencoding > 1)) || (($id3v2_majorversion == 4) && ($frame_textencoding > 3))) {
                                $info['warning'][] = 'Invalid text encoding byte ('.$frame_textencoding.') in frame "'.$parsedFrame['frame_name'].'" - defaulting to ISO-8859-1 encoding';
+                               $frame_textencoding_terminator = "\x00";
                        }
 
                        $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
@@ -1752,25 +1774,25 @@ class getid3_id3v2 extends getid3_handler
 
                        $frame_receivedasid = ord(substr($parsedFrame['data'], $frame_offset++, 1));
 
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        $frame_sellername = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
                        if (ord($frame_sellername) === 0) {
                                $frame_sellername = '';
                        }
-                       $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+                       $frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);
 
-                       $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
-                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
+                       $frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
+                       if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
                                $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
                        }
                        $frame_description = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
                        if (ord($frame_description) === 0) {
                                $frame_description = '';
                        }
-                       $frame_offset = $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding));
+                       $frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);
 
                        $frame_terminatorpos = strpos($parsedFrame['data'], "\x00", $frame_offset);
                        $frame_mimetype = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
@@ -1944,6 +1966,186 @@ class getid3_id3v2 extends getid3_handler
 
                        unset($parsedFrame['data']);
 
+               } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'CHAP')) { // CHAP Chapters frame (ID3v2.3+ only)
+                       // http://id3.org/id3v2-chapters-1.0
+                       // <ID3v2.3 or ID3v2.4 frame header, ID: "CHAP">           (10 bytes)
+                       // Element ID      <text string> $00
+                       // Start time      $xx xx xx xx
+                       // End time        $xx xx xx xx
+            // Start offset    $xx xx xx xx
+            // End offset      $xx xx xx xx
+            // <Optional embedded sub-frames>
+
+                       $frame_offset = 0;
+                       @list($parsedFrame['element_id']) = explode("\x00", $parsedFrame['data'], 2);
+                       $frame_offset += strlen($parsedFrame['element_id']."\x00");
+                       $parsedFrame['time_begin'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+                       $frame_offset += 4;
+                       $parsedFrame['time_end']   = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+                       $frame_offset += 4;
+                       if (substr($parsedFrame['data'], $frame_offset, 4) != "\xFF\xFF\xFF\xFF") {
+                               // "If these bytes are all set to 0xFF then the value should be ignored and the start time value should be utilized."
+                               $parsedFrame['offset_begin'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+                       }
+                       $frame_offset += 4;
+                       if (substr($parsedFrame['data'], $frame_offset, 4) != "\xFF\xFF\xFF\xFF") {
+                               // "If these bytes are all set to 0xFF then the value should be ignored and the start time value should be utilized."
+                               $parsedFrame['offset_end']   = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+                       }
+                       $frame_offset += 4;
+
+                       if ($frame_offset < strlen($parsedFrame['data'])) {
+                               $parsedFrame['subframes'] = array();
+                               while ($frame_offset < strlen($parsedFrame['data'])) {
+                                       // <Optional embedded sub-frames>
+                                       $subframe = array();
+                                       $subframe['name']      =                           substr($parsedFrame['data'], $frame_offset, 4);
+                                       $frame_offset += 4;
+                                       $subframe['size']      = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+                                       $frame_offset += 4;
+                                       $subframe['flags_raw'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
+                                       $frame_offset += 2;
+                                       if ($subframe['size'] > (strlen($parsedFrame['data']) - $frame_offset)) {
+                                               $info['warning'][] = 'CHAP subframe "'.$subframe['name'].'" at frame offset '.$frame_offset.' claims to be "'.$subframe['size'].'" bytes, which is more than the available data ('.(strlen($parsedFrame['data']) - $frame_offset).' bytes)';
+                                               break;
+                                       }
+                                       $subframe_rawdata = substr($parsedFrame['data'], $frame_offset, $subframe['size']);
+                                       $frame_offset += $subframe['size'];
+
+                                       $subframe['encodingid'] = ord(substr($subframe_rawdata, 0, 1));
+                                       $subframe['text']       =     substr($subframe_rawdata, 1);
+                                       $subframe['encoding']   = $this->TextEncodingNameLookup($subframe['encodingid']);
+                                       $encoding_converted_text = trim(getid3_lib::iconv_fallback($subframe['encoding'], $info['encoding'], $subframe['text']));;
+                                       switch (substr($encoding_converted_text, 0, 2)) {
+                                               case "\xFF\xFE":
+                                               case "\xFE\xFF":
+                                                       switch (strtoupper($info['id3v2']['encoding'])) {
+                                                               case 'ISO-8859-1':
+                                                               case 'UTF-8':
+                                                                       $encoding_converted_text = substr($encoding_converted_text, 2);
+                                                                       // remove unwanted byte-order-marks
+                                                                       break;
+                                                               default:
+                                                                       // ignore
+                                                                       break;
+                                                       }
+                                                       break;
+                                               default:
+                                                       // do not remove BOM
+                                                       break;
+                                       }
+
+                                       if (($subframe['name'] == 'TIT2') || ($subframe['name'] == 'TIT3')) {
+                                               if ($subframe['name'] == 'TIT2') {
+                                                       $parsedFrame['chapter_name']        = $encoding_converted_text;
+                                               } elseif ($subframe['name'] == 'TIT3') {
+                                                       $parsedFrame['chapter_description'] = $encoding_converted_text;
+                                               }
+                                               $parsedFrame['subframes'][] = $subframe;
+                                       } else {
+                                               $info['warning'][] = 'ID3v2.CHAP subframe "'.$subframe['name'].'" not handled (only TIT2 and TIT3)';
+                                       }
+                               }
+                               unset($subframe_rawdata, $subframe, $encoding_converted_text);
+                       }
+
+                       $id3v2_chapter_entry = array();
+                       foreach (array('id', 'time_begin', 'time_end', 'offset_begin', 'offset_end', 'chapter_name', 'chapter_description') as $id3v2_chapter_key) {
+                               if (isset($parsedFrame[$id3v2_chapter_key])) {
+                                       $id3v2_chapter_entry[$id3v2_chapter_key] = $parsedFrame[$id3v2_chapter_key];
+                               }
+                       }
+                       if (!isset($info['id3v2']['chapters'])) {
+                               $info['id3v2']['chapters'] = array();
+                       }
+                       $info['id3v2']['chapters'][] = $id3v2_chapter_entry;
+                       unset($id3v2_chapter_entry, $id3v2_chapter_key);
+
+
+               } elseif (($id3v2_majorversion >= 3) && ($parsedFrame['frame_name'] == 'CTOC')) { // CTOC Chapters Table Of Contents frame (ID3v2.3+ only)
+                       // http://id3.org/id3v2-chapters-1.0
+                       // <ID3v2.3 or ID3v2.4 frame header, ID: "CTOC">           (10 bytes)
+                       // Element ID      <text string> $00
+                       // CTOC flags        %xx
+                       // Entry count       $xx
+                       // Child Element ID  <string>$00   /* zero or more child CHAP or CTOC entries */
+            // <Optional embedded sub-frames>
+
+                       $frame_offset = 0;
+                       @list($parsedFrame['element_id']) = explode("\x00", $parsedFrame['data'], 2);
+                       $frame_offset += strlen($parsedFrame['element_id']."\x00");
+                       $ctoc_flags_raw = ord(substr($parsedFrame['data'], $frame_offset, 1));
+                       $frame_offset += 1;
+                       $parsedFrame['entry_count'] = ord(substr($parsedFrame['data'], $frame_offset, 1));
+                       $frame_offset += 1;
+
+                       $terminator_position = null;
+                       for ($i = 0; $i < $parsedFrame['entry_count']; $i++) {
+                               $terminator_position = strpos($parsedFrame['data'], "\x00", $frame_offset);
+                               $parsedFrame['child_element_ids'][$i] = substr($parsedFrame['data'], $frame_offset, $terminator_position - $frame_offset);
+                               $frame_offset = $terminator_position + 1;
+                       }
+
+                       $parsedFrame['ctoc_flags']['ordered']   = (bool) ($ctoc_flags_raw & 0x01);
+                       $parsedFrame['ctoc_flags']['top_level'] = (bool) ($ctoc_flags_raw & 0x03);
+
+                       unset($ctoc_flags_raw, $terminator_position);
+
+                       if ($frame_offset < strlen($parsedFrame['data'])) {
+                               $parsedFrame['subframes'] = array();
+                               while ($frame_offset < strlen($parsedFrame['data'])) {
+                                       // <Optional embedded sub-frames>
+                                       $subframe = array();
+                                       $subframe['name']      =                           substr($parsedFrame['data'], $frame_offset, 4);
+                                       $frame_offset += 4;
+                                       $subframe['size']      = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 4));
+                                       $frame_offset += 4;
+                                       $subframe['flags_raw'] = getid3_lib::BigEndian2Int(substr($parsedFrame['data'], $frame_offset, 2));
+                                       $frame_offset += 2;
+                                       if ($subframe['size'] > (strlen($parsedFrame['data']) - $frame_offset)) {
+                                               $info['warning'][] = 'CTOS subframe "'.$subframe['name'].'" at frame offset '.$frame_offset.' claims to be "'.$subframe['size'].'" bytes, which is more than the available data ('.(strlen($parsedFrame['data']) - $frame_offset).' bytes)';
+                                               break;
+                                       }
+                                       $subframe_rawdata = substr($parsedFrame['data'], $frame_offset, $subframe['size']);
+                                       $frame_offset += $subframe['size'];
+
+                                       $subframe['encodingid'] = ord(substr($subframe_rawdata, 0, 1));
+                                       $subframe['text']       =     substr($subframe_rawdata, 1);
+                                       $subframe['encoding']   = $this->TextEncodingNameLookup($subframe['encodingid']);
+                                       $encoding_converted_text = trim(getid3_lib::iconv_fallback($subframe['encoding'], $info['encoding'], $subframe['text']));;
+                                       switch (substr($encoding_converted_text, 0, 2)) {
+                                               case "\xFF\xFE":
+                                               case "\xFE\xFF":
+                                                       switch (strtoupper($info['id3v2']['encoding'])) {
+                                                               case 'ISO-8859-1':
+                                                               case 'UTF-8':
+                                                                       $encoding_converted_text = substr($encoding_converted_text, 2);
+                                                                       // remove unwanted byte-order-marks
+                                                                       break;
+                                                               default:
+                                                                       // ignore
+                                                                       break;
+                                                       }
+                                                       break;
+                                               default:
+                                                       // do not remove BOM
+                                                       break;
+                                       }
+
+                                       if (($subframe['name'] == 'TIT2') || ($subframe['name'] == 'TIT3')) {
+                                               if ($subframe['name'] == 'TIT2') {
+                                                       $parsedFrame['toc_name']        = $encoding_converted_text;
+                                               } elseif ($subframe['name'] == 'TIT3') {
+                                                       $parsedFrame['toc_description'] = $encoding_converted_text;
+                                               }
+                                               $parsedFrame['subframes'][] = $subframe;
+                                       } else {
+                                               $info['warning'][] = 'ID3v2.CTOC subframe "'.$subframe['name'].'" not handled (only TIT2 and TIT3)';
+                                       }
+                               }
+                               unset($subframe_rawdata, $subframe, $encoding_converted_text);
+                       }
+
                }
 
                return true;
@@ -3344,7 +3546,7 @@ class getid3_id3v2 extends getid3_handler
                        3   => "\x00",     // $03  UTF-8 encoded Unicode. Terminated with $00.
                        255 => "\x00\x00"
                );
-               return (isset($TextEncodingTerminatorLookup[$encoding]) ? $TextEncodingTerminatorLookup[$encoding] : '');
+               return (isset($TextEncodingTerminatorLookup[$encoding]) ? $TextEncodingTerminatorLookup[$encoding] : "\x00");
        }
 
        public static function TextEncodingNameLookup($encoding) {
@@ -3422,3 +3624,4 @@ class getid3_id3v2 extends getid3_handler
        }
 
 }
+
index 7891603e1dcac38fe49dbe8c51b3f52c9f3fa784..419888bf4f03501eb483da9aaf7d5f4ea1e40973 100644 (file)
@@ -101,20 +101,24 @@ class getid3_lyrics3 extends getid3_handler
                        $this->getLyrics3Data($lyrics3offset, $lyrics3version, $lyrics3size);
 
                        if (!isset($info['ape'])) {
-                               $GETID3_ERRORARRAY = &$info['warning'];
-                               getid3_lib::IncludeDependency(GETID3_INCLUDEPATH.'module.tag.apetag.php', __FILE__, true);
-                               $getid3_temp = new getID3();
-                               $getid3_temp->openfile($this->getid3->filename);
-                               $getid3_apetag = new getid3_apetag($getid3_temp);
-                               $getid3_apetag->overrideendoffset = $info['lyrics3']['tag_offset_start'];
-                               $getid3_apetag->Analyze();
-                               if (!empty($getid3_temp->info['ape'])) {
-                                       $info['ape'] = $getid3_temp->info['ape'];
-                               }
-                               if (!empty($getid3_temp->info['replay_gain'])) {
-                                       $info['replay_gain'] = $getid3_temp->info['replay_gain'];
+                               if (isset($info['lyrics3']['tag_offset_start'])) {
+                                       $GETID3_ERRORARRAY = &$info['warning'];
+                                       getid3_lib::IncludeDependency(GETID3_INCLUDEPATH.'module.tag.apetag.php', __FILE__, true);
+                                       $getid3_temp = new getID3();
+                                       $getid3_temp->openfile($this->getid3->filename);
+                                       $getid3_apetag = new getid3_apetag($getid3_temp);
+                                       $getid3_apetag->overrideendoffset = $info['lyrics3']['tag_offset_start'];
+                                       $getid3_apetag->Analyze();
+                                       if (!empty($getid3_temp->info['ape'])) {
+                                               $info['ape'] = $getid3_temp->info['ape'];
+                                       }
+                                       if (!empty($getid3_temp->info['replay_gain'])) {
+                                               $info['replay_gain'] = $getid3_temp->info['replay_gain'];
+                                       }
+                                       unset($getid3_temp, $getid3_apetag);
+                               } else {
+                                       $info['warning'][] = 'Lyrics3 and APE tags appear to have become entangled (most likely due to updating the APE tags with a non-Lyrics3-aware tagger)';
                                }
-                               unset($getid3_temp, $getid3_apetag);
                        }
 
                }
@@ -291,4 +295,4 @@ class getid3_lyrics3 extends getid3_handler
                }
                return null;
        }
-}
\ No newline at end of file
+}
index dc24b67f71c1de2c7278a3560fdbaa378fd789a4..edcdd3ac3a0d27dde7b2560d30a621d6f7b6c4cf 100644 (file)
@@ -33,7 +33,7 @@ class Text_Diff {
      *                           Normally an array of two arrays, each
      *                           containing the lines from a file.
      */
-    function Text_Diff($engine, $params)
+    function __construct( $engine, $params )
     {
         // Backward compatibility workaround.
         if (!is_string($engine)) {
@@ -55,6 +55,13 @@ class Text_Diff {
         $this->_edits = call_user_func_array(array($diff_engine, 'diff'), $params);
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Text_Diff( $engine, $params ) {
+               self::__construct( $engine, $params );
+       }
+
     /**
      * Returns the array of differences.
      */
@@ -304,7 +311,7 @@ class Text_MappedDiff extends Text_Diff {
      * @param array $mapped_to_lines    This array should have the same number
      *                                  of elements as $to_lines.
      */
-    function Text_MappedDiff($from_lines, $to_lines,
+    function __construct($from_lines, $to_lines,
                              $mapped_from_lines, $mapped_to_lines)
     {
         assert(count($from_lines) == count($mapped_from_lines));
@@ -328,6 +335,15 @@ class Text_MappedDiff extends Text_Diff {
         }
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Text_MappedDiff( $from_lines, $to_lines,
+                             $mapped_from_lines, $mapped_to_lines ) {
+               self::__construct( $from_lines, $to_lines,
+                             $mapped_from_lines, $mapped_to_lines );
+       }
+
 }
 
 /**
@@ -366,7 +382,10 @@ class Text_Diff_Op {
  */
 class Text_Diff_Op_copy extends Text_Diff_Op {
 
-    function Text_Diff_Op_copy($orig, $final = false)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $orig, $final = false )
     {
         if (!is_array($final)) {
             $final = $orig;
@@ -375,6 +394,13 @@ class Text_Diff_Op_copy extends Text_Diff_Op {
         $this->final = $final;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Text_Diff_Op_copy( $orig, $final = false ) {
+               self::__construct( $orig, $final );
+       }
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_copy($this->final, $this->orig);
@@ -391,12 +417,22 @@ class Text_Diff_Op_copy extends Text_Diff_Op {
  */
 class Text_Diff_Op_delete extends Text_Diff_Op {
 
-    function Text_Diff_Op_delete($lines)
+       /**
+        * PHP5 constructor.
+        */
+       function __construct( $lines )
     {
         $this->orig = $lines;
         $this->final = false;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Text_Diff_Op_delete( $lines ) {
+               self::__construct( $lines );
+       }
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_add($this->orig);
@@ -413,12 +449,22 @@ class Text_Diff_Op_delete extends Text_Diff_Op {
  */
 class Text_Diff_Op_add extends Text_Diff_Op {
 
-    function Text_Diff_Op_add($lines)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $lines )
     {
         $this->final = $lines;
         $this->orig = false;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Text_Diff_Op_add( $lines ) {
+               self::__construct( $lines );
+       }
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_delete($this->final);
@@ -435,12 +481,22 @@ class Text_Diff_Op_add extends Text_Diff_Op {
  */
 class Text_Diff_Op_change extends Text_Diff_Op {
 
-    function Text_Diff_Op_change($orig, $final)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $orig, $final )
     {
         $this->orig = $orig;
         $this->final = $final;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Text_Diff_Op_change( $orig, $final ) {
+               self::__construct( $orig, $final );
+       }
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_change($this->final, $this->orig);
index 95c6db4b897931c616775d320eca320468ceb3b8..712d985a8e65f7a90a88303e08d032df45648550 100644 (file)
@@ -33,7 +33,7 @@ class Text_Diff_Renderer {
     /**
      * Constructor.
      */
-    function Text_Diff_Renderer($params = array())
+    function __construct( $params = array() )
     {
         foreach ($params as $param => $value) {
             $v = '_' . $param;
@@ -43,6 +43,13 @@ class Text_Diff_Renderer {
         }
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Text_Diff_Renderer( $params = array() ) {
+               self::__construct( $params );
+       }
+
     /**
      * Get any renderer parameters.
      *
index 746fdca7821fc0a7b47fd732ca67fbf9459c82ff..de33f54d542bf5ec41ac774a011095a6d075f4c6 100644 (file)
@@ -13,6 +13,9 @@
  *
  * @since 3.1.0
  * @access private
+ *
+ * @global WP_Admin_Bar $wp_admin_bar
+ *
  * @return bool Whether the admin bar was successfully initialized.
  */
 function _wp_admin_bar_init() {
@@ -55,12 +58,14 @@ function _wp_admin_bar_init() {
  * right before the admin bar is rendered. This also gives you access to the $post global, among others.
  *
  * @since 3.1.0
+ *
+ * @global WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_render() {
        global $wp_admin_bar;
 
        if ( ! is_admin_bar_showing() || ! is_object( $wp_admin_bar ) )
-               return false;
+               return;
 
        /**
         * Load all necessary admin bar items.
@@ -268,7 +273,7 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) {
        if ( is_network_admin() ) {
                $blogname = sprintf( __('Network Admin: %s'), esc_html( get_current_site()->site_name ) );
        } elseif ( is_user_admin() ) {
-               $blogname = sprintf( __('Global Dashboard: %s'), esc_html( get_current_site()->site_name ) );
+               $blogname = sprintf( __('User Dashboard: %s'), esc_html( get_current_site()->site_name ) );
        }
 
        $title = wp_html_excerpt( $blogname, 40, '&hellip;' );
@@ -313,6 +318,33 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) {
        }
 }
 
+/**
+ * Adds the "Customize" link to the Toolbar.
+ *
+ * @since 4.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance.
+ */
+function wp_admin_bar_customize_menu( $wp_admin_bar ) {
+       // Don't show for users who can't access the customizer or when in the admin.
+       if ( ! current_user_can( 'customize' ) || is_admin() ) {
+               return;
+       }
+
+       $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+       $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
+
+       $wp_admin_bar->add_menu( array(
+               'id'     => 'customize',
+               'title'  => __( 'Customize' ),
+               'href'   => $customize_url,
+               'meta'   => array(
+                       'class' => 'hide-if-no-customize',
+               ),
+       ) );
+       add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+}
+
 /**
  * Add the "My Sites/[Site Name]" menu and all submenus.
  *
@@ -480,6 +512,9 @@ function wp_admin_bar_shortlink_menu( $wp_admin_bar ) {
  *
  * @since 3.1.0
  *
+ * @global object   $tag
+ * @global WP_Query $wp_the_query
+ *
  * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_edit_menu( $wp_admin_bar ) {
@@ -496,7 +531,7 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) {
                        && ( $post_type_object->public )
                        && ( $post_type_object->show_in_admin_bar ) )
                {
-                       if( 'draft' == $post->post_status ) {
+                       if ( 'draft' == $post->post_status ) {
                                $preview_link = set_url_scheme( get_permalink( $post->ID ) );
                                /** This filter is documented in wp-admin/includes/meta-boxes.php */
                                $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
@@ -656,44 +691,13 @@ function wp_admin_bar_comments_menu( $wp_admin_bar ) {
 function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) );
 
-       $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
-       $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
-
        if ( current_user_can( 'switch_themes' ) ) {
                $wp_admin_bar->add_menu( array(
                        'parent' => 'appearance',
                        'id'     => 'themes',
                        'title'  => __( 'Themes' ),
                        'href'   => admin_url( 'themes.php' ),
-                       'meta'   => array(
-                               'class' => 'hide-if-customize',
-                       ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-themes',
-                               'title'  => __( 'Themes' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[section]' ), 'themes', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
-       }
-
-       if ( current_user_can( 'customize' ) ) {
-               $wp_admin_bar->add_menu( array(
-                       'parent' => 'appearance',
-                       'id'     => 'customize',
-                       'title'  => __('Customize'),
-                       'href'   => $customize_url,
-                       'meta'   => array(
-                               'class' => 'hide-if-no-customize',
-                       ),
-               ) );
-               add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
        }
 
        if ( ! current_user_can( 'edit_theme_options' ) ) {
@@ -706,22 +710,7 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
                        'id'     => 'widgets',
                        'title'  => __( 'Widgets' ),
                        'href'   => admin_url( 'widgets.php' ),
-                       'meta'   => array(
-                               'class' => 'hide-if-customize',
-                       ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-widgets',
-                               'title'  => __( 'Widgets' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[panel]' ), 'widgets', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
        }
 
        if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
@@ -737,18 +726,6 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
                                'class' => 'hide-if-customize',
                        ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-background',
-                               'title'  => __( 'Background' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'background_image', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
        }
 
        if ( current_theme_supports( 'custom-header' ) ) {
@@ -761,18 +738,6 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
                                'class' => 'hide-if-customize',
                        ),
                ) );
-
-               if ( current_user_can( 'customize' ) ) {
-                       $wp_admin_bar->add_menu( array(
-                               'parent' => 'appearance',
-                               'id'     => 'customize-header',
-                               'title'  => __( 'Header' ),
-                               'href'   => add_query_arg( urlencode( 'autofocus[control]' ), 'header_image', $customize_url ), // urlencode() needed due to #16859
-                               'meta'   => array(
-                                       'class' => 'hide-if-no-customize',
-                               ),
-                       ) );
-               }
        }
 
 }
@@ -890,8 +855,9 @@ function _admin_bar_bump_cb() { ?>
  *
  * @since 3.1.0
  *
+ * @global WP_Admin_Bar $wp_admin_bar
+ *
  * @param bool $show Whether to allow the admin bar to show.
- * @return void
  */
 function show_admin_bar( $show ) {
        global $show_admin_bar;
@@ -903,6 +869,9 @@ function show_admin_bar( $show ) {
  *
  * @since 3.1.0
  *
+ * @global WP_Admin_Bar $wp_admin_bar
+ * @global string       $pagenow
+ *
  * @return bool Whether the admin bar should be showing.
  */
 function is_admin_bar_showing() {
index 9d34276a7e928c18c3081744460e4caedae87689..271635fe45a8b13f7e4e67a93f8ee0bddd3d69dc 100644 (file)
@@ -87,7 +87,10 @@ class AtomParser {
     var $feed;
     var $current;
 
-    function AtomParser() {
+       /**
+        * PHP5 constructor.
+        */
+    function __construct() {
 
         $this->feed = new AtomFeed();
         $this->current = null;
@@ -95,6 +98,13 @@ class AtomParser {
         $this->map_xmlns_func = create_function('$p,$n', '$xd = "xmlns"; if(strlen($n[0])>0) $xd .= ":{$n[0]}"; return "{$xd}=\"{$n[1]}\"";');
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function AtomParser() {
+               self::__construct();
+       }
+
     function _p($msg) {
         if($this->debug) {
             print str_repeat(" ", $this->depth * $this->indent) . $msg ."\n";
@@ -130,7 +140,8 @@ class AtomParser {
             if($this->debug) $this->content .= $data;
 
             if(!xml_parse($parser, $data, feof($fp))) {
-                trigger_error(sprintf(__('XML error: %s at line %d')."\n",
+                /* translators: 1: error message, 2: line number */
+                trigger_error(sprintf(__('XML Error: %1$s at line %2$s')."\n",
                     xml_error_string(xml_get_error_code($parser)),
                     xml_get_current_line_number($parser)));
                 $ret = false;
index 2e520f5424c90252c552aec364d805064dc8cb68..36d08bc81e9efafcda5825eba6ee4a7d25184a21 100644 (file)
  *
  * @since 1.5.0
  *
- * @uses $authordata The current author's DB object.
+ * @global object $authordata The current author's DB object.
  *
  * @param string $deprecated Deprecated.
- * @return string The author's display name.
+ * @return string|null The author's display name.
  */
 function get_the_author($deprecated = '') {
        global $authordata;
@@ -53,7 +53,7 @@ function get_the_author($deprecated = '') {
  *
  * @param string $deprecated Deprecated.
  * @param string $deprecated_echo Deprecated. Use get_the_author(). Echo the string or return it.
- * @return string The author's display name, from get_the_author().
+ * @return string|null The author's display name, from get_the_author().
  */
 function the_author( $deprecated = '', $deprecated_echo = true ) {
        if ( !empty( $deprecated ) )
@@ -70,7 +70,7 @@ function the_author( $deprecated = '', $deprecated_echo = true ) {
  *
  * @since 2.8.0
  *
- * @return string The author's display name.
+ * @return string|void The author's display name.
  */
 function get_the_modified_author() {
        if ( $last_id = get_post_meta( get_post()->ID, '_edit_last', true) ) {
@@ -88,12 +88,12 @@ function get_the_modified_author() {
 }
 
 /**
- * Display the name of the author who last edited the current post.
+ * Display the name of the author who last edited the current post,
+ * if the author's ID is available.
  *
  * @since 2.8.0
  *
  * @see get_the_author()
- * @return string The author's display name, from get_the_modified_author().
  */
 function the_modified_author() {
        echo get_the_modified_author();
@@ -103,11 +103,16 @@ function the_modified_author() {
  * Retrieve the requested data of the author of the current post.
  * @link https://codex.wordpress.org/Template_Tags/the_author_meta
  * @since 2.8.0
+ *
+ * @global object $authordata The current author's DB object.
+ *
  * @param string $field selects the field of the users record.
  * @param int $user_id Optional. User ID.
  * @return string The author's field from the current author's DB object.
  */
 function get_the_author_meta( $field = '', $user_id = false ) {
+       $original_user_id = $user_id;
+
        if ( ! $user_id ) {
                global $authordata;
                $user_id = isset( $authordata->ID ) ? $authordata->ID : 0;
@@ -126,20 +131,24 @@ function get_the_author_meta( $field = '', $user_id = false ) {
         * The filter name is dynamic and depends on the $field parameter of the function.
         *
         * @since 2.8.0
+        * @since 4.3.0 The `$original_user_id` parameter was added.
         *
-        * @param string $value   The value of the metadata.
-        * @param int    $user_id The user ID.
+        * @param string   $value            The value of the metadata.
+        * @param int      $user_id          The user ID for the value.
+        * @param int|bool $original_user_id The original user ID, as passed to the function.
         */
-       return apply_filters( 'get_the_author_' . $field, $value, $user_id );
+       return apply_filters( 'get_the_author_' . $field, $value, $user_id, $original_user_id );
 }
 
 /**
- * Retrieve the requested data of the author of the current post.
+ * Outputs the field from the user's DB object. Defaults to current post's author.
+ *
  * @link https://codex.wordpress.org/Template_Tags/the_author_meta
+ *
  * @since 2.8.0
+ *
  * @param string $field selects the field of the users record.
  * @param int $user_id Optional. User ID.
- * @echo string The author's field from the current author's DB object.
  */
 function the_author_meta( $field = '', $user_id = false ) {
        $author_meta = get_the_author_meta( $field, $user_id );
@@ -162,6 +171,9 @@ function the_author_meta( $field = '', $user_id = false ) {
  *
  * If the author has a home page set, return an HTML link, otherwise just return the
  * author's name.
+ *
+ * @return string|null An HTML link if the author's url exist in user meta,
+ *                     else the result of get_the_author().
  */
 function get_the_author_link() {
        if ( get_the_author_meta('url') ) {
@@ -219,6 +231,9 @@ function the_author_posts() {
  *
  * @link https://codex.wordpress.org/Template_Tags/the_author_posts_link
  * @since 1.2.0
+ *
+ * @global object $authordata The current author's DB object.
+ *
  * @param string $deprecated Deprecated.
  */
 function the_author_posts_link($deprecated = '') {
@@ -226,8 +241,10 @@ function the_author_posts_link($deprecated = '') {
                _deprecated_argument( __FUNCTION__, '2.1' );
 
        global $authordata;
-       if ( !is_object( $authordata ) )
-               return false;
+       if ( ! is_object( $authordata ) ) {
+               return;
+       }
+
        $link = sprintf(
                '<a href="%1$s" title="%2$s" rel="author">%3$s</a>',
                esc_url( get_author_posts_url( $authordata->ID, $authordata->user_nicename ) ),
@@ -249,7 +266,9 @@ function the_author_posts_link($deprecated = '') {
  * Retrieve the URL to the author page for the user with the ID provided.
  *
  * @since 2.1.0
- * @uses $wp_rewrite WP_Rewrite
+ *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @return string The URL to the author's page.
  */
 function get_author_posts_url($author_id, $author_nicename = '') {
@@ -291,6 +310,8 @@ function get_author_posts_url($author_id, $author_nicename = '') {
  *
  * @since 1.2.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string|array $args {
  *     Optional. Array or string of default arguments.
  *
@@ -315,7 +336,7 @@ function get_author_posts_url($author_id, $author_nicename = '') {
  *     @type string $exclude       An array, comma-, or space-separated list of author IDs to exclude. Default empty.
  *     @type string $exclude       An array, comma-, or space-separated list of author IDs to include. Default empty.
  * }
- * @return null|string The output, if echo is set to false. Otherwise null.
+ * @return string|void The output, if echo is set to false.
  */
 function wp_list_authors( $args = '' ) {
        global $wpdb;
@@ -422,6 +443,9 @@ function wp_list_authors( $args = '' ) {
  * Checks to see if more than one author has published posts.
  *
  * @since 3.2.0
+ *
+ * @global wpdb $wpdb
+ *
  * @return bool Whether or not we have more than one author
  */
 function is_multi_author() {
index 54ad5c998d0528d7d52faa749d83f3800c08e56b..47bfb4a18175f3bf85234038afab17fb4943c06d 100644 (file)
@@ -195,7 +195,7 @@ function _walk_bookmarks( $bookmarks, $args = '' ) {
  *                                      $categorize is true. Accepts 'ASC' (ascending) or 'DESC' (descending).
  *                                      Default 'ASC'.
  * }
- * @return string|null Will only return if echo option is set to not echo. Default is not return anything.
+ * @return string|void Will only return if echo option is set to not echo. Default is not return anything.
  */
 function wp_list_bookmarks( $args = '' ) {
        $defaults = array(
@@ -214,6 +214,12 @@ function wp_list_bookmarks( $args = '' ) {
 
        $output = '';
 
+       if ( ! is_array( $r['class'] ) ) {
+               $r['class'] = explode( ' ', $r['class'] );
+       }
+       $r['class'] = array_map( 'sanitize_html_class', $r['class'] );
+       $r['class'] = trim( join( ' ', $r['class'] ) );
+
        if ( $r['categorize'] ) {
                $cats = get_terms( 'link_category', array(
                        'name__like' => $r['category_name'],
index 47f5d233ab13d861c850da296e3ae394e5284bad..1e178f436f58ca6a3a524065aad929bebbdd0bf3 100644 (file)
@@ -16,7 +16,7 @@
  * @param int|stdClass $bookmark
  * @param string $output Optional. Either OBJECT, ARRAY_N, or ARRAY_A constant
  * @param string $filter Optional, default is 'raw'.
- * @return array|object Type returned depends on $output value.
+ * @return array|object|null Type returned depends on $output value.
  */
 function get_bookmark($bookmark, $output = OBJECT, $filter = 'raw') {
        global $wpdb;
@@ -65,7 +65,7 @@ function get_bookmark($bookmark, $output = OBJECT, $filter = 'raw') {
  * @param string $field The name of the data field to return
  * @param int $bookmark The bookmark ID to get field
  * @param string $context Optional. The context of how the field will be used.
- * @return string
+ * @return string|WP_Error
  */
 function get_bookmark_field( $field, $bookmark, $context = 'display' ) {
        $bookmark = (int) $bookmark;
index d75c82c669864cb597c1b191437d18db23aa26d4..d89ac7416cc1bef5963c6f1360e8526bfb713beb 100644 (file)
@@ -12,8 +12,8 @@
  * Adds data to the cache, if the cache key doesn't already exist.
  *
  * @since 2.0.0
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::add()
+ *
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @param int|string $key The cache key to use for retrieval later
  * @param mixed $data The data to add to the cache store
@@ -37,7 +37,7 @@ function wp_cache_add( $key, $data, $group = '', $expire = 0 ) {
  *
  * @since 2.0.0
  *
- * @return bool Always returns True
+ * @return true Always returns True
  */
 function wp_cache_close() {
        return true;
@@ -47,8 +47,8 @@ function wp_cache_close() {
  * Decrement numeric cache item's value
  *
  * @since 3.3.0
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::decr()
+ *
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @param int|string $key The cache key to increment
  * @param int $offset The amount by which to decrement the item's value. Default is 1.
@@ -65,8 +65,8 @@ function wp_cache_decr( $key, $offset = 1, $group = '' ) {
  * Removes the cache contents matching key and group.
  *
  * @since 2.0.0
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::delete()
+ *
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @param int|string $key What the contents in the cache are called
  * @param string $group Where the cache contents are grouped
@@ -82,8 +82,8 @@ function wp_cache_delete($key, $group = '') {
  * Removes all cache items.
  *
  * @since 2.0.0
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::flush()
+ *
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @return bool False on failure, true on success
  */
@@ -97,15 +97,15 @@ function wp_cache_flush() {
  * Retrieves the cache contents from the cache by key and group.
  *
  * @since 2.0.0
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::get()
+ *
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @param int|string $key What the contents in the cache are called
  * @param string $group Where the cache contents are grouped
  * @param bool $force Whether to force an update of the local cache from the persistent cache (default is false)
  * @param bool &$found Whether key was found in the cache. Disambiguates a return of false, a storable value.
  * @return bool|mixed False on failure to retrieve contents or the cache
- *             contents on success
+ *                           contents on success
  */
 function wp_cache_get( $key, $group = '', $force = false, &$found = null ) {
        global $wp_object_cache;
@@ -117,8 +117,8 @@ function wp_cache_get( $key, $group = '', $force = false, &$found = null ) {
  * Increment numeric cache item's value
  *
  * @since 3.3.0
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::incr()
+ *
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @param int|string $key The cache key to increment
  * @param int $offset The amount by which to increment the item's value. Default is 1.
@@ -135,7 +135,8 @@ function wp_cache_incr( $key, $offset = 1, $group = '' ) {
  * Sets up Object Cache Global and assigns it.
  *
  * @since 2.0.0
- * @global WP_Object_Cache $wp_object_cache WordPress Object Cache
+ *
+ * @global WP_Object_Cache $wp_object_cache
  */
 function wp_cache_init() {
        $GLOBALS['wp_object_cache'] = new WP_Object_Cache();
@@ -145,8 +146,8 @@ function wp_cache_init() {
  * Replaces the contents of the cache with new data.
  *
  * @since 2.0.0
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::replace()
+ *
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @param int|string $key What to call the contents in the cache
  * @param mixed $data The contents to store in the cache
@@ -165,8 +166,7 @@ function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) {
  *
  * @since 2.0.0
  *
- * @uses $wp_object_cache Object Cache Class
- * @see WP_Object_Cache::set()
+ * @global WP_Object_Cache $wp_object_cache
  *
  * @param int|string $key What to call the contents in the cache
  * @param mixed $data The contents to store in the cache
@@ -187,12 +187,14 @@ function wp_cache_set( $key, $data, $group = '', $expire = 0 ) {
  *
  * @since 3.5.0
  *
+ * @global WP_Object_Cache $wp_object_cache
+ *
  * @param int $blog_id Blog ID
  */
 function wp_cache_switch_to_blog( $blog_id ) {
        global $wp_object_cache;
 
-       return $wp_object_cache->switch_to_blog( $blog_id );
+       $wp_object_cache->switch_to_blog( $blog_id );
 }
 
 /**
@@ -200,12 +202,14 @@ function wp_cache_switch_to_blog( $blog_id ) {
  *
  * @since 2.6.0
  *
+ * @global WP_Object_Cache $wp_object_cache
+ *
  * @param string|array $groups A group or an array of groups to add
  */
 function wp_cache_add_global_groups( $groups ) {
        global $wp_object_cache;
 
-       return $wp_object_cache->add_global_groups( $groups );
+       $wp_object_cache->add_global_groups( $groups );
 }
 
 /**
@@ -233,13 +237,15 @@ function wp_cache_add_non_persistent_groups( $groups ) {
  *
  * @since 2.6.0
  * @deprecated 3.5.0
+ *
+ * @global WP_Object_Cache $wp_object_cache
  */
 function wp_cache_reset() {
        _deprecated_function( __FUNCTION__, '3.5' );
 
        global $wp_object_cache;
 
-       return $wp_object_cache->reset();
+       $wp_object_cache->reset();
 }
 
 /**
@@ -477,10 +483,10 @@ class WP_Object_Cache {
         *
         * @since 2.0.0
         *
-        * @return bool Always returns true
+        * @return true Always returns true
         */
        public function flush() {
-               $this->cache = array ();
+               $this->cache = array();
 
                return true;
        }
@@ -499,8 +505,8 @@ class WP_Object_Cache {
         * @param int|string $key What the contents in the cache are called
         * @param string $group Where the cache contents are grouped
         * @param string $force Whether to force a refetch rather than relying on the local cache (default is false)
-        * @return bool|mixed False on failure to retrieve contents or the cache
-        *              contents on success
+        * @return false|mixed False on failure to retrieve contents or the cache
+        *                             contents on success
         */
        public function get( $key, $group = 'default', $force = false, &$found = null ) {
                if ( empty( $group ) )
@@ -616,7 +622,7 @@ class WP_Object_Cache {
         * @param mixed $data The contents to store in the cache
         * @param string $group Where to group the cache contents
         * @param int $expire Not Used
-        * @return bool Always returns true
+        * @return true Always returns true
         */
        public function set( $key, $data, $group = 'default', $expire = 0 ) {
                if ( empty( $group ) )
@@ -684,6 +690,8 @@ class WP_Object_Cache {
         * Sets up object properties; PHP 5 style constructor
         *
         * @since 2.0.8
+        *
+     * @global int $blog_id
         */
        public function __construct() {
                global $blog_id;
@@ -706,7 +714,7 @@ class WP_Object_Cache {
         *
         * @since  2.0.8
         *
-        * @return bool True value. Won't be used by PHP
+        * @return true True value. Won't be used by PHP
         */
        public function __destruct() {
                return true;
index 5f4bda087e2bc823a8c2bcbbbf7485121e913df1..f75a72eea39197a5297f0633118bf9470ceaae9b 100644 (file)
  * or query in an attempt to figure the correct page to go to.
  *
  * @since 2.3.0
- * @uses $wp_rewrite
- * @uses $is_IIS
+ *
+ * @global WP_Rewrite $wp_rewrite
+ * @global bool $is_IIS
+ * @global WP_Query $wp_query
+ * @global wpdb $wpdb
  *
  * @param string $requested_url Optional. The URL that was requested, used to
  *             figure if redirect is needed.
  * @param bool $do_redirect Optional. Redirect to the new URL.
- * @return null|false|string Null, if redirect not needed. False, if redirect
- *             not needed or the string of the URL
+ * @return string|void The string of the URL, if redirect needed.
  */
 function redirect_canonical( $requested_url = null, $do_redirect = true ) {
        global $wp_rewrite, $is_IIS, $wp_query, $wpdb;
@@ -447,8 +449,9 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
                        $redirect_url .= '?' . $redirect['query'];
        }
 
-       if ( !$redirect_url || $redirect_url == $requested_url )
-               return false;
+       if ( ! $redirect_url || $redirect_url == $requested_url ) {
+               return;
+       }
 
        // Hex encoded octets are case-insensitive.
        if ( false !== strpos($requested_url, '%') ) {
@@ -472,8 +475,10 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
         */
        $redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
 
-       if ( !$redirect_url || $redirect_url == $requested_url ) // yes, again -- in case the filter aborted the request
-               return false;
+       // yes, again -- in case the filter aborted the request
+       if ( ! $redirect_url || $redirect_url == $requested_url ) {
+               return;
+       }
 
        if ( $do_redirect ) {
                // protect against chained redirects
@@ -483,7 +488,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
                } else {
                        // Debug
                        // die("1: $redirect_url<br />2: " . redirect_canonical( $redirect_url, false ) );
-                       return false;
+                       return;
                }
        } else {
                return $redirect_url;
@@ -522,8 +527,9 @@ function _remove_qs_args_if_not_in_url( $query_string, Array $args_to_check, $ur
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
+ * @global WP_Rewrite $wp_rewrite
  *
- * @return bool|string The correct URL if one is found. False on failure.
+ * @return false|string The correct URL if one is found. False on failure.
  */
 function redirect_guess_404_permalink() {
        global $wpdb, $wp_rewrite;
@@ -558,6 +564,10 @@ function redirect_guess_404_permalink() {
        return false;
 }
 
+/**
+ *
+ * @global WP_Rewrite $wp_rewrite
+ */
 function wp_redirect_admin_locations() {
        global $wp_rewrite;
        if ( ! ( is_404() && $wp_rewrite->using_permalinks() ) )
index b73eb41b3c31f7edb3143104a72f2137d2bc1949..42133f6febe2732465c234941f4daa6d1ddb0c9e 100644 (file)
@@ -87,7 +87,7 @@ class WP_Roles {
         *
         * @param callable $name      Method to call.
         * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
+        * @return mixed|false Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
                if ( '_init' === $name ) {
@@ -138,6 +138,8 @@ class WP_Roles {
         *
         * @since 3.5.0
         * @access public
+        *
+        * @global wpdb $wpdb
         */
        public function reinit() {
                // There is no need to reinit if using the wp_user_roles global.
@@ -174,7 +176,7 @@ class WP_Roles {
         * @param string $role Role name.
         * @param string $display_name Role display name.
         * @param array $capabilities List of role capabilities in the above format.
-        * @return WP_Role|null WP_Role object if role is added, null if already exists.
+        * @return WP_Role|void WP_Role object, if role is added.
         */
        public function add_role( $role, $display_name, $capabilities = array() ) {
                if ( isset( $this->roles[$role] ) )
@@ -339,7 +341,6 @@ class WP_Role {
        /**
         * Assign role a capability.
         *
-        * @see WP_Roles::add_cap() Method uses implementation for role.
         * @since 2.0.0
         * @access public
         *
@@ -347,13 +348,8 @@ class WP_Role {
         * @param bool $grant Whether role has capability privilege.
         */
        public function add_cap( $cap, $grant = true ) {
-               global $wp_roles;
-
-               if ( ! isset( $wp_roles ) )
-                       $wp_roles = new WP_Roles();
-
                $this->capabilities[$cap] = $grant;
-               $wp_roles->add_cap( $this->name, $cap, $grant );
+               wp_roles()->add_cap( $this->name, $cap, $grant );
        }
 
        /**
@@ -370,13 +366,8 @@ class WP_Role {
         * @param string $cap Capability name.
         */
        public function remove_cap( $cap ) {
-               global $wp_roles;
-
-               if ( ! isset( $wp_roles ) )
-                       $wp_roles = new WP_Roles();
-
                unset( $this->capabilities[$cap] );
-               $wp_roles->remove_cap( $this->name, $cap );
+               wp_roles()->remove_cap( $this->name, $cap );
        }
 
        /**
@@ -498,6 +489,11 @@ class WP_User {
         */
        var $filter = null;
 
+       /**
+        * @static
+        * @access private
+        * @var array
+        */
        private static $back_compat_keys;
 
        /**
@@ -508,6 +504,8 @@ class WP_User {
         * @since 2.0.0
         * @access public
         *
+        * @global wpdb $wpdb
+        *
         * @param int|string|stdClass|WP_User $id User's ID, a WP_User object, or a user object from the DB.
         * @param string $name Optional. User's username
         * @param int $blog_id Optional Blog ID, defaults to current blog.
@@ -569,6 +567,10 @@ class WP_User {
         *
         * @since 3.3.0
         *
+        * @static
+        *
+        * @global wpdb $wpdb
+        *
         * @param string $field The field to query against: 'id', 'slug', 'email' or 'login'
         * @param string|int $value The field value
         * @return object|false Raw user object
@@ -628,6 +630,23 @@ class WP_User {
                return $user;
        }
 
+       /**
+        * Makes private/protected methods readable for backwards compatibility.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param callable $name      Method to call.
+        * @param array    $arguments Arguments to pass when calling.
+        * @return mixed|false Return value of the callback, false otherwise.
+        */
+       public function __call( $name, $arguments ) {
+               if ( '_init_caps' === $name ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
+       }
+
        /**
         * Magic method for checking the existence of a certain custom field
         *
@@ -713,6 +732,7 @@ class WP_User {
         * @since 3.3.0
         *
         * @param string $key Property
+        * @return mixed
         */
        public function get( $key ) {
                return $this->__get( $key );
@@ -726,6 +746,7 @@ class WP_User {
         * @since 3.3.0
         *
         * @param string $key Property
+        * @return bool
         */
        public function has_prop( $key ) {
                return $this->__isset( $key );
@@ -753,9 +774,11 @@ class WP_User {
         * @access protected
         * @since 2.1.0
         *
+        * @global wpdb $wpdb
+        *
         * @param string $cap_key Optional capability key
         */
-       function _init_caps( $cap_key = '' ) {
+       protected function _init_caps( $cap_key = '' ) {
                global $wpdb;
 
                if ( empty($cap_key) )
@@ -780,16 +803,12 @@ class WP_User {
         * granted permission to.
         *
         * @since 2.0.0
-        * @uses $wp_roles
         * @access public
         *
         * @return array List of all capabilities for the user.
         */
        public function get_role_caps() {
-               global $wp_roles;
-
-               if ( ! isset( $wp_roles ) )
-                       $wp_roles = new WP_Roles();
+               $wp_roles = wp_roles();
 
                //Filter out caps that are not role names and assign to $this->roles
                if ( is_array( $this->caps ) )
@@ -821,6 +840,16 @@ class WP_User {
                update_user_meta( $this->ID, $this->cap_key, $this->caps );
                $this->get_role_caps();
                $this->update_user_level_from_caps();
+
+               /**
+                * Fires immediately after the user has been given a new role.
+                *
+                * @since 4.3.0
+                *
+                * @param int    $user_id The user ID.
+                * @param string $role    The new role.
+                */
+               do_action( 'add_user_role', $this->ID, $role );
        }
 
        /**
@@ -838,6 +867,16 @@ class WP_User {
                update_user_meta( $this->ID, $this->cap_key, $this->caps );
                $this->get_role_caps();
                $this->update_user_level_from_caps();
+
+               /**
+                * Fires immediately after a role as been removed from a user.
+                *
+                * @since 4.3.0
+                *
+                * @param int    $user_id The user ID.
+                * @param string $role    The removed role.
+                */
+               do_action( 'remove_user_role', $this->ID, $role );
        }
 
        /**
@@ -920,6 +959,8 @@ class WP_User {
         *
         * @since 2.0.0
         * @access public
+        *
+        * @global wpdb $wpdb
         */
        public function update_user_level_from_caps() {
                global $wpdb;
@@ -966,6 +1007,8 @@ class WP_User {
         *
         * @since 2.1.0
         * @access public
+        *
+        * @global wpdb $wpdb
         */
        public function remove_all_caps() {
                global $wpdb;
@@ -1047,6 +1090,8 @@ class WP_User {
         *
         * @since 3.0.0
         *
+        * @global wpdb $wpdb
+        *
         * @param int $blog_id Optional Blog ID, defaults to current blog.
         */
        public function for_blog( $blog_id = '' ) {
@@ -1342,7 +1387,7 @@ function map_meta_cap( $cap, $user_id ) {
        case 'create_users':
                if ( !is_multisite() )
                        $caps[] = $cap;
-               elseif ( is_super_admin() || get_site_option( 'add_new_users' ) )
+               elseif ( is_super_admin( $user_id ) || get_site_option( 'add_new_users' ) )
                        $caps[] = $cap;
                else
                        $caps[] = 'do_not_allow';
@@ -1483,28 +1528,39 @@ function user_can( $user, $capability ) {
        return call_user_func_array( array( $user, 'has_cap' ), $args );
 }
 
+/**
+ * Retrieves the global WP_Roles instance and instantiates it if necessary.
+ *
+ * @since 4.3.0
+ *
+ * @global WP_Roles $wp_roles WP_Roles global instance.
+ *
+ * @return WP_Roles WP_Roles global instance if not already instantiated.
+ */
+function wp_roles() {
+       global $wp_roles;
+
+       if ( ! isset( $wp_roles ) ) {
+               $wp_roles = new WP_Roles();
+       }
+       return $wp_roles;
+}
+
 /**
  * Retrieve role object.
  *
- * @see WP_Roles::get_role() Uses method to retrieve role object.
  * @since 2.0.0
  *
  * @param string $role Role name.
  * @return WP_Role|null WP_Role object if found, null if the role does not exist.
  */
 function get_role( $role ) {
-       global $wp_roles;
-
-       if ( ! isset( $wp_roles ) )
-               $wp_roles = new WP_Roles();
-
-       return $wp_roles->get_role( $role );
+       return wp_roles()->get_role( $role );
 }
 
 /**
  * Add role, if it does not exist.
  *
- * @see WP_Roles::add_role() Uses method to add role.
  * @since 2.0.0
  *
  * @param string $role Role name.
@@ -1513,29 +1569,18 @@ function get_role( $role ) {
  * @return WP_Role|null WP_Role object if role is added, null if already exists.
  */
 function add_role( $role, $display_name, $capabilities = array() ) {
-       global $wp_roles;
-
-       if ( ! isset( $wp_roles ) )
-               $wp_roles = new WP_Roles();
-
-       return $wp_roles->add_role( $role, $display_name, $capabilities );
+       return wp_roles()->add_role( $role, $display_name, $capabilities );
 }
 
 /**
  * Remove role, if it exists.
  *
- * @see WP_Roles::remove_role() Uses method to remove role.
  * @since 2.0.0
  *
  * @param string $role Role name.
  */
 function remove_role( $role ) {
-       global $wp_roles;
-
-       if ( ! isset( $wp_roles ) )
-               $wp_roles = new WP_Roles();
-
-       $wp_roles->remove_role( $role );
+       wp_roles()->remove_role( $role );
 }
 
 /**
@@ -1543,7 +1588,7 @@ function remove_role( $role ) {
  *
  * @since 3.0.0
  *
- * @uses $super_admins Super admins global variable, if set.
+ * @global array $super_admins
  *
  * @return array List of super admin logins
  */
index 9a2120c9e38753b40856e61a77e56e1511902501..d29ae479ec6766c7ace5724bad5183b5ba9cd69e 100644 (file)
@@ -65,10 +65,15 @@ function get_category_parents( $id, $link = false, $separator = '/', $nicename =
 /**
  * Retrieve post categories.
  *
+ * This tag may be used outside The Loop by passing a post id as the parameter.
+ *
+ * Note: This function only returns results from the default "category" taxonomy.
+ * For custom taxonomies use get_the_terms().
+ *
  * @since 0.71
  *
  * @param int $id Optional, default to current post ID. The post ID.
- * @return array
+ * @return array Array of objects, one for each category assigned to the post.
  */
 function get_the_category( $id = false ) {
        $categories = get_the_terms( $id, 'category' );
@@ -153,6 +158,8 @@ function get_the_category_by_ID( $cat_ID ) {
  *
  * @since 1.5.1
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string $separator Optional, default is empty string. Separator for between the categories.
  * @param string $parents Optional. How to display the parents.
  * @param int $post_id Optional. Post ID to retrieve categories.
@@ -479,7 +486,7 @@ function wp_dropdown_categories( $args = '' ) {
  * @since 2.1.0
  *
  * @param string|array $args Optional. Override default arguments.
- * @return false|null|string HTML content only if 'echo' argument is 0.
+ * @return false|string HTML content only if 'echo' argument is 0.
  */
 function wp_list_categories( $args = '' ) {
        $defaults = array(
@@ -532,7 +539,28 @@ function wp_list_categories( $args = '' ) {
                }
        } else {
                if ( ! empty( $show_option_all ) ) {
-                       $posts_page = ( 'page' == get_option( 'show_on_front' ) && get_option( 'page_for_posts' ) ) ? get_permalink( get_option( 'page_for_posts' ) ) : home_url( '/' );
+
+                       $posts_page = '';
+
+                       // For taxonomies that belong only to custom post types, point to a valid archive.
+                       $taxonomy_object = get_taxonomy( $r['taxonomy'] );
+                       if ( ! in_array( 'post', $taxonomy_object->object_type ) && ! in_array( 'page', $taxonomy_object->object_type ) ) {
+                               foreach ( $taxonomy_object->object_type as $object_type ) {
+                                       $_object_type = get_post_type_object( $object_type );
+
+                                       // Grab the first one.
+                                       if ( ! empty( $_object_type->has_archive ) ) {
+                                               $posts_page = get_post_type_archive_link( $object_type );
+                                               break;
+                                       }
+                               }
+                       }
+
+                       // Fallback for the 'All' link is the front page.
+                       if ( ! $posts_page ) {
+                               $posts_page = 'page' == get_option( 'show_on_front' ) && get_option( 'page_for_posts' ) ? get_permalink( get_option( 'page_for_posts' ) ) : home_url( '/' );
+                       }
+
                        $posts_page = esc_url( $posts_page );
                        if ( 'list' == $r['style'] ) {
                                $output .= "<li class='cat-item-all'><a href='$posts_page'>$show_option_all</a></li>";
@@ -608,7 +636,8 @@ function wp_list_categories( $args = '' ) {
  * @since 2.3.0
  *
  * @param array|string|null $args Optional. Override default arguments.
- * @return null|false Generated tag cloud, only if no failures and 'array' is set for the 'format' argument.
+ * @return void|array Generated tag cloud, only if no failures and 'array' is set for the 'format' argument.
+ *                    Otherwise, this function outputs the tag cloud.
  */
 function wp_tag_cloud( $args = '' ) {
        $defaults = array(
@@ -629,7 +658,7 @@ function wp_tag_cloud( $args = '' ) {
                else
                        $link = get_term_link( intval($tag->term_id), $tag->taxonomy );
                if ( is_wp_error( $link ) )
-                       return false;
+                       return;
 
                $tags[ $key ]->link = $link;
                $tags[ $key ]->id = $tag->term_id;
@@ -656,8 +685,8 @@ function wp_tag_cloud( $args = '' ) {
 /**
  * Default topic count scaling for tag links
  *
- * @param integer $count number of posts with that tag
- * @return integer scaled count
+ * @param int $count number of posts with that tag
+ * @return int scaled count
  */
 function default_topic_count_scale( $count ) {
        return round(log10($count + 1) * 100);
@@ -784,24 +813,46 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
                $font_spread = 1;
        $font_step = $font_spread / $spread;
 
-       $a = array();
-
+       // Assemble the data that will be used to generate the tag cloud markup.
+       $tags_data = array();
        foreach ( $tags as $key => $tag ) {
+               $tag_id = isset( $tag->id ) ? $tag->id : $key;
+
                $count = $counts[ $key ];
                $real_count = $real_counts[ $key ];
-               $tag_link = '#' != $tag->link ? esc_url( $tag->link ) : '#';
-               $tag_id = isset($tags[ $key ]->id) ? $tags[ $key ]->id : $key;
-               $tag_name = $tags[ $key ]->name;
 
                if ( $translate_nooped_plural ) {
-                       $title_attribute = sprintf( translate_nooped_plural( $translate_nooped_plural, $real_count ), number_format_i18n( $real_count ) );
+                       $title = sprintf( translate_nooped_plural( $translate_nooped_plural, $real_count ), number_format_i18n( $real_count ) );
                } else {
-                       $title_attribute = call_user_func( $args['topic_count_text_callback'], $real_count, $tag, $args );
+                       $title = call_user_func( $args['topic_count_text_callback'], $real_count, $tag, $args );
                }
 
-               $a[] = "<a href='$tag_link' class='tag-link-$tag_id' title='" . esc_attr( $title_attribute ) . "' style='font-size: " .
-                       str_replace( ',', '.', ( $args['smallest'] + ( ( $count - $min_count ) * $font_step ) ) )
-                       . $args['unit'] . ";'>$tag_name</a>";
+               $tags_data[] = array(
+                       'id'         => $tag_id,
+                       'url'        => '#' != $tag->link ? $tag->link : '#',
+                       'name'       => $tag->name,
+                       'title'      => $title,
+                       'slug'       => $tag->slug,
+                       'real_count' => $real_count,
+                       'class'      => 'tag-link-' . $tag_id,
+                       'font_size'  => $args['smallest'] + ( $count - $min_count ) * $font_step,
+               );
+       }
+
+       /**
+        * Filter the data used to generate the tag cloud.
+        *
+        * @since 4.3.0
+        *
+        * @param array $tags_data An array of term data for term used to generate the tag cloud.
+        */
+       $tags_data = apply_filters( 'wp_generate_tag_cloud_data', $tags_data );
+
+       $a = array();
+
+       // generate the output links array
+       foreach ( $tags_data as $key => $tag_data ) {
+               $a[] = "<a href='" . esc_url( $tag_data['url'] ) . "' class='" . esc_attr( $tag_data['class'] ) . "' title='" . esc_attr( $tag_data['title'] ) . "' style='font-size: " . esc_attr( str_replace( ',', '.', $tag_data['font_size'] ) . $args['unit'] ) . ";'>" . esc_html( $tag_data['name'] ) . "</a>";
        }
 
        switch ( $args['format'] ) {
@@ -847,6 +898,7 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
  *
  * @since 3.1.0
  * @access private
+ * @return int
  */
 function _wp_object_name_sort_cb( $a, $b ) {
        return strnatcasecmp( $a->name, $b->name );
@@ -857,6 +909,7 @@ function _wp_object_name_sort_cb( $a, $b ) {
  *
  * @since 3.1.0
  * @access private
+ * @return bool
  */
 function _wp_object_count_sort_cb( $a, $b ) {
        return ( $a->count > $b->count );
@@ -872,6 +925,7 @@ function _wp_object_count_sort_cb( $a, $b ) {
  * @uses Walker_Category to create HTML list content.
  * @since 2.1.0
  * @see Walker_Category::walk() for parameters and return description.
+ * @return string
  */
 function walk_category_tree() {
        $args = func_get_args();
@@ -881,7 +935,7 @@ function walk_category_tree() {
        } else {
                $walker = $args[2]['walker'];
        }
-       return call_user_func_array(array( &$walker, 'walk' ), $args );
+       return call_user_func_array( array( $walker, 'walk' ), $args );
 }
 
 /**
@@ -890,16 +944,17 @@ function walk_category_tree() {
  * @uses Walker_CategoryDropdown to create HTML dropdown content.
  * @since 2.1.0
  * @see Walker_CategoryDropdown::walk() for parameters and return description.
+ * @return string
  */
 function walk_category_dropdown_tree() {
        $args = func_get_args();
        // the user's options are the third parameter
-       if ( empty($args[2]['walker']) || !is_a($args[2]['walker'], 'Walker') )
+       if ( empty( $args[2]['walker'] ) || ! ( $args[2]['walker'] instanceof Walker ) ) {
                $walker = new Walker_CategoryDropdown;
-       else
+       } else {
                $walker = $args[2]['walker'];
-
-       return call_user_func_array(array( &$walker, 'walk' ), $args );
+       }
+       return call_user_func_array( array( $walker, 'walk' ), $args );
 }
 
 /**
@@ -1144,13 +1199,15 @@ class Walker_CategoryDropdown extends Walker {
                /** This filter is documented in wp-includes/category-template.php */
                $cat_name = apply_filters( 'list_cats', $category->name, $category );
 
-               if ( ! isset( $args['value_field'] ) || ! isset( $category->{$args['value_field']} ) ) {
-                       $args['value_field'] = 'term_id';
+               if ( isset( $args['value_field'] ) && isset( $category->{$args['value_field']} ) ) {
+                       $value_field = $args['value_field'];
+               } else {
+                       $value_field = 'term_id';
                }
 
-               $output .= "\t<option class=\"level-$depth\" value=\"" . esc_attr( $category->{$args['value_field']} ) . "\"";
+               $output .= "\t<option class=\"level-$depth\" value=\"" . esc_attr( $category->{$value_field} ) . "\"";
 
-               if ( $category->term_id == $args['selected'] )
+               if ( $category->{$value_field} == $args['selected'] )
                        $output .= ' selected="selected"';
                $output .= '>';
                $output .= $pad.$cat_name;
@@ -1191,7 +1248,7 @@ function get_tag_link( $tag ) {
  * @since 2.3.0
  *
  * @param int $id Post ID.
- * @return array|bool Array of tag objects on success, false on failure.
+ * @return array|false|WP_Error Array of tag objects on success, false on failure.
  */
 function get_the_tags( $id = 0 ) {
 
@@ -1216,7 +1273,7 @@ function get_the_tags( $id = 0 ) {
  * @param string $sep Optional. Between tags.
  * @param string $after Optional. After tags.
  * @param int $id Optional. Post ID. Defaults to the current post.
- * @return string|bool|WP_Error A list of tags on success, false if there are no terms, WP_Error on failure.
+ * @return string|false|WP_Error A list of tags on success, false if there are no terms, WP_Error on failure.
  */
 function get_the_tag_list( $before = '', $sep = '', $after = '', $id = 0 ) {
 
@@ -1289,8 +1346,8 @@ function term_description( $term = 0, $taxonomy = 'post_tag' ) {
  *
  * @param int|object $post Post ID or object.
  * @param string $taxonomy Taxonomy name.
- * @return array|bool|WP_Error Array of term objects on success, false if there are no terms
- *                             or the post does not exist, WP_Error on failure.
+ * @return array|false|WP_Error Array of term objects on success, false if there are no terms
+ *                              or the post does not exist, WP_Error on failure.
  */
 function get_the_terms( $post, $taxonomy ) {
        if ( ! $post = get_post( $post ) )
@@ -1329,7 +1386,7 @@ function get_the_terms( $post, $taxonomy ) {
  * @param string $before Optional. Before list.
  * @param string $sep Optional. Separate items using this.
  * @param string $after Optional. After list.
- * @return string|bool|WP_Error A list of terms on success, false if there are no terms, WP_Error on failure.
+ * @return string|false|WP_Error A list of terms on success, false if there are no terms, WP_Error on failure.
  */
 function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = '' ) {
        $terms = get_the_terms( $id, $taxonomy );
@@ -1375,7 +1432,7 @@ function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = ''
  * @param string $before Optional. Before list.
  * @param string $sep Optional. Separate items using this.
  * @param string $after Optional. After list.
- * @return false|null False on WordPress error. Returns null when displaying.
+ * @return false|void False on WordPress error.
  */
 function the_terms( $id, $taxonomy, $before = '', $sep = ', ', $after = '' ) {
        $term_list = get_the_term_list( $id, $taxonomy, $before, $sep, $after );
index 1cd4acc7475cfeccaa9638218796066a04186e75..a94baa7c4d4d7140ec3a10a369d4f457d50829a0 100644 (file)
@@ -68,7 +68,8 @@ function get_categories( $args = '' ) {
  * @param int|object $category Category ID or Category row object
  * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N
  * @param string $filter Optional. Default is raw or no WordPress defined filter will applied.
- * @return object|array|WP_Error|null Category data in type defined by $output parameter. WP_Error if $category is empty, null if it does not exist.
+ * @return object|array|WP_Error|null Category data in type defined by $output parameter.
+ *                                    WP_Error if $category is empty, null if it does not exist.
  */
 function get_category( $category, $output = OBJECT, $filter = 'raw' ) {
        $category = get_term( $category, 'category', $output, $filter );
@@ -98,7 +99,7 @@ function get_category( $category, $output = OBJECT, $filter = 'raw' ) {
  * @param string $category_path URL containing category slugs.
  * @param bool $full_match Optional. Whether full path should be matched.
  * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N
- * @return null|object|array Null on failure. Type is based on $output value.
+ * @return object|array|WP_Error|void Type is based on $output value.
  */
 function get_category_by_path( $category_path, $full_match = true, $output = OBJECT ) {
        $category_path = rawurlencode( urldecode( $category_path ) );
@@ -108,21 +109,23 @@ function get_category_by_path( $category_path, $full_match = true, $output = OBJ
        $leaf_path  = sanitize_title( basename( $category_paths ) );
        $category_paths = explode( '/', $category_paths );
        $full_path = '';
-       foreach ( (array) $category_paths as $pathdir )
+       foreach ( (array) $category_paths as $pathdir ) {
                $full_path .= ( $pathdir != '' ? '/' : '' ) . sanitize_title( $pathdir );
-
+       }
        $categories = get_terms( 'category', array('get' => 'all', 'slug' => $leaf_path) );
 
-       if ( empty( $categories ) )
-               return null;
+       if ( empty( $categories ) ) {
+               return;
+       }
 
        foreach ( $categories as $category ) {
                $path = '/' . $leaf_path;
                $curcategory = $category;
                while ( ( $curcategory->parent != 0 ) && ( $curcategory->parent != $curcategory->term_id ) ) {
                        $curcategory = get_term( $curcategory->parent, 'category' );
-                       if ( is_wp_error( $curcategory ) )
+                       if ( is_wp_error( $curcategory ) ) {
                                return $curcategory;
+                       }
                        $path = '/' . $curcategory->slug . $path;
                }
 
@@ -139,8 +142,6 @@ function get_category_by_path( $category_path, $full_match = true, $output = OBJ
                _make_cat_compat( $category );
                return $category;
        }
-
-       return null;
 }
 
 /**
@@ -321,7 +322,7 @@ function clean_category_cache( $id ) {
  * @param array|object $category Category Row object or array
  */
 function _make_cat_compat( &$category ) {
-       if ( is_object( $category ) ) {
+       if ( is_object( $category ) && ! is_wp_error( $category ) ) {
                $category->cat_ID = &$category->term_id;
                $category->category_count = &$category->count;
                $category->category_description = &$category->description;
index 5930f562e45ff035a6c1063fda64561466feb5ea..ec3f70ca71f71703dcf96c7ffb715fe02b177f86 100644 (file)
@@ -49,7 +49,10 @@ class IXR_Value {
     var $data;
     var $type;
 
-    function IXR_Value($data, $type = false)
+       /**
+        * PHP5 constructor.
+        */
+       function __construct( $data, $type = false )
     {
         $this->data = $data;
         if (!$type) {
@@ -69,6 +72,13 @@ class IXR_Value {
         }
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Value( $data, $type = false ) {
+               self::__construct( $data, $type );
+       }
+
     function calculateType()
     {
         if ($this->data === true || $this->data === false) {
@@ -152,7 +162,7 @@ class IXR_Value {
      * Checks whether or not the supplied array is a struct or not
      *
      * @param array $array
-     * @return boolean
+     * @return bool
      */
     function isStruct($array)
     {
@@ -194,11 +204,21 @@ class IXR_Message
     // The XML parser
     var $_parser;
 
-    function IXR_Message($message)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $message )
     {
         $this->message =& $message;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Message( $message ) {
+               self::__construct( $message );
+       }
+
     function parse()
     {
         // first remove the XML declaration
@@ -386,7 +406,10 @@ class IXR_Server
     var $message;
     var $capabilities;
 
-    function IXR_Server($callbacks = false, $data = false, $wait = false)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $callbacks = false, $data = false, $wait = false )
     {
         $this->setCapabilities();
         if ($callbacks) {
@@ -398,6 +421,13 @@ class IXR_Server
         }
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Server( $callbacks = false, $data = false, $wait = false ) {
+               self::__construct( $callbacks, $data, $wait );
+       }
+
     function serve($data = false)
     {
         if (!$data) {
@@ -600,7 +630,10 @@ class IXR_Request
     var $args;
     var $xml;
 
-    function IXR_Request($method, $args)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct($method, $args)
     {
         $this->method = $method;
         $this->args = $args;
@@ -620,6 +653,13 @@ EOD;
         $this->xml .= '</params></methodCall>';
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Request( $method, $args ) {
+               self::__construct( $method, $args );
+       }
+
     function getLength()
     {
         return strlen($this->xml);
@@ -653,7 +693,10 @@ class IXR_Client
     // Storage place for an error message
     var $error = false;
 
-    function IXR_Client($server, $path = false, $port = 80, $timeout = 15)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $server, $path = false, $port = 80, $timeout = 15 )
     {
         if (!$path) {
             // Assume we have been given a URL instead
@@ -679,6 +722,13 @@ class IXR_Client
         $this->timeout = $timeout;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Client( $server, $path = false, $port = 80, $timeout = 15 ) {
+               self::__construct( $server, $path, $port, $timeout );
+       }
+
     function query()
     {
         $args = func_get_args();
@@ -798,12 +848,22 @@ class IXR_Error
     var $code;
     var $message;
 
-    function IXR_Error($code, $message)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $code, $message )
     {
         $this->code = $code;
         $this->message = htmlspecialchars($message);
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Error( $code, $message ) {
+               self::__construct( $code, $message );
+       }
+
     function getXml()
     {
         $xml = <<<EOD
@@ -844,7 +904,10 @@ class IXR_Date {
     var $second;
     var $timezone;
 
-    function IXR_Date($time)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $time )
     {
         // $time can be a PHP timestamp or an ISO one
         if (is_numeric($time)) {
@@ -854,6 +917,13 @@ class IXR_Date {
         }
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Date( $time ) {
+               self::__construct( $time );
+       }
+
     function parseTimestamp($timestamp)
     {
         $this->year = date('Y', $timestamp);
@@ -902,11 +972,21 @@ class IXR_Base64
 {
     var $data;
 
-    function IXR_Base64($data)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $data )
     {
         $this->data = $data;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_Base64( $data ) {
+               self::__construct( $data );
+       }
+
     function getXml()
     {
         return '<base64>'.base64_encode($this->data).'</base64>';
@@ -924,7 +1004,10 @@ class IXR_IntrospectionServer extends IXR_Server
     var $signatures;
     var $help;
 
-    function IXR_IntrospectionServer()
+       /**
+        * PHP5 constructor.
+        */
+    function __construct()
     {
         $this->setCallbacks();
         $this->setCapabilities();
@@ -958,6 +1041,13 @@ class IXR_IntrospectionServer extends IXR_Server
         );
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_IntrospectionServer() {
+               self::__construct();
+       }
+
     function addCallback($method, $callback, $args, $help)
     {
         $this->callbacks[$method] = $callback;
@@ -1086,12 +1176,22 @@ class IXR_ClientMulticall extends IXR_Client
 {
     var $calls = array();
 
-    function IXR_ClientMulticall($server, $path = false, $port = 80)
+       /**
+        * PHP5 constructor.
+        */
+    function __construct( $server, $path = false, $port = 80 )
     {
         parent::IXR_Client($server, $path, $port);
         $this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)';
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function IXR_ClientMulticall( $server, $path = false, $port = 80 ) {
+               self::__construct( $server, $path, $port );
+       }
+
     function addCall()
     {
         $args = func_get_args();
index 01acff82e6ae08c2d425492b1a3bdfcfa914418e..6e109e161616be4e4919d15e555d9c0ffe3a0c05 100644 (file)
@@ -36,6 +36,9 @@ class WP_Feed_Cache_Transient {
                $this->lifetime = apply_filters( 'wp_feed_cache_transient_lifetime', $lifetime, $filename);
        }
 
+       /**
+        * @access public
+        */
        public function save($data) {
                if ( $data instanceof SimplePie ) {
                        $data = $data->data;
@@ -46,18 +49,30 @@ class WP_Feed_Cache_Transient {
                return true;
        }
 
+       /**
+        * @access public
+        */
        public function load() {
                return get_transient($this->name);
        }
 
+       /**
+        * @access public
+        */
        public function mtime() {
                return get_transient($this->mod_name);
        }
 
+       /**
+        * @access public
+        */
        public function touch() {
                return set_transient($this->mod_name, time(), $this->lifetime);
        }
 
+       /**
+        * @access public
+        */
        public function unlink() {
                delete_transient($this->name);
                delete_transient($this->mod_name);
index 6ba1996b4711ed663ff48e17c09692ff0dee8446..5c0829700be416d9f319b4c6debcb365096cc40e 100644 (file)
@@ -36,6 +36,8 @@ class WP_Http {
         * @access public
         * @since 2.7.0
         *
+        * @global string $wp_version
+        *
         * @param string       $url  The request URL.
         * @param string|array $args {
         *     Optional. Array or string of HTTP request arguments.
@@ -211,7 +213,7 @@ class WP_Http {
                 * and pick its name using the basename of the $url.
                 */
                if ( $r['stream']  && empty( $r['filename'] ) ) {
-                       $r['filename'] = wp_unique_filename( get_temp_dir(), basename( $url ) );
+                       $r['filename'] = get_temp_dir() . wp_unique_filename( get_temp_dir(), basename( $url ) );
                }
 
                /*
@@ -339,6 +341,8 @@ class WP_Http {
         * The order for requests is cURL, and then PHP Streams.
         *
         * @since 3.2.0
+        *
+        * @static
         * @access private
         *
         * @param string $url URL to Request
@@ -624,6 +628,9 @@ class WP_Http {
         * @link https://core.trac.wordpress.org/ticket/8927 Allow preventing external requests.
         * @link https://core.trac.wordpress.org/ticket/14636 Allow wildcard domains in WP_ACCESSIBLE_HOSTS
         *
+        * @staticvar array|null $accessible_hosts
+        * @staticvar array      $wildcard_regex
+        *
         * @param string $uri URI of url.
         * @return bool True to block, false to allow.
         */
@@ -654,9 +661,9 @@ class WP_Http {
                if ( !defined('WP_ACCESSIBLE_HOSTS') )
                        return true;
 
-               static $accessible_hosts;
-               static $wildcard_regex = false;
-               if ( null == $accessible_hosts ) {
+               static $accessible_hosts = null;
+               static $wildcard_regex = array();
+               if ( null === $accessible_hosts ) {
                        $accessible_hosts = preg_split('|,\s*|', WP_ACCESSIBLE_HOSTS);
 
                        if ( false !== strpos(WP_ACCESSIBLE_HOSTS, '*') ) {
@@ -685,6 +692,8 @@ class WP_Http {
         * when URL parsing failed.
         *
         * @since 4.1.0
+        *
+        * @static
         * @access protected
         *
         * @param string $url The URL to parse.
@@ -723,7 +732,9 @@ class WP_Http {
         *
         * @since 3.4.0
         *
+        * @static
         * @access public
+        *
         * @param string $maybe_relative_path The URL which might be relative
         * @param string $url                 The URL which $maybe_relative_path is relative to
         * @return string An Absolute URL, in a failure condition where the URL cannot be parsed, the relative URL will be returned.
@@ -794,6 +805,8 @@ class WP_Http {
         *
         * @since 3.7.0
         *
+        * @static
+        *
         * @param string $url The URL which was requested.
         * @param array $args The Arguments which were used to make the request.
         * @param array $response The Response of the HTTP request.
@@ -1242,7 +1255,7 @@ class WP_Http_Streams {
         * @since 2.7.0
         * @since 3.7.0 Combined with the fsockopen transport and switched to stream_socket_client().
         *
-        * @return boolean False means this class can not be used, true means it can.
+        * @return bool False means this class can not be used, true means it can.
         */
        public static function test( $args = array() ) {
                if ( ! function_exists( 'stream_socket_client' ) )
@@ -1621,7 +1634,7 @@ class WP_Http_Curl {
         * @static
         * @since 2.7.0
         *
-        * @return boolean False means this class can not be used, true means it can.
+        * @return bool False means this class can not be used, true means it can.
         */
        public static function test( $args = array() ) {
                if ( ! function_exists( 'curl_init' ) || ! function_exists( 'curl_exec' ) )
@@ -1796,6 +1809,9 @@ class WP_HTTP_Proxy {
         *
         * @since 2.8.0
         *
+        * @staticvar array|null $bypass_hosts
+        * @staticvar array      $wildcard_regex
+        *
         * @param string $uri URI to check.
         * @return bool True, to send through the proxy and false if, the proxy should not be used.
         */
@@ -1835,9 +1851,9 @@ class WP_HTTP_Proxy {
                if ( !defined('WP_PROXY_BYPASS_HOSTS') )
                        return true;
 
-               static $bypass_hosts;
-               static $wildcard_regex = false;
-               if ( null == $bypass_hosts ) {
+               static $bypass_hosts = null;
+               static $wildcard_regex = array();
+               if ( null === $bypass_hosts ) {
                        $bypass_hosts = preg_split('|,\s*|', WP_PROXY_BYPASS_HOSTS);
 
                        if ( false !== strpos(WP_PROXY_BYPASS_HOSTS, '*') ) {
@@ -1993,7 +2009,7 @@ class WP_Http_Cookie {
         * @since 2.8.0
         *
         * @param string $url URL you intend to send this cookie to
-        * @return boolean true if allowed, false otherwise.
+        * @return bool true if allowed, false otherwise.
         */
        public function test( $url ) {
                if ( is_null( $this->name ) )
@@ -2085,6 +2101,8 @@ class WP_Http_Encoding {
         *
         * @since 2.8.0
         *
+        * @static
+        *
         * @param string $raw String to compress.
         * @param int $level Optional, default is 9. Compression level, 9 is highest.
         * @param string $supports Optional, not used. When implemented it will choose the right compression based on what the server supports.
@@ -2104,6 +2122,8 @@ class WP_Http_Encoding {
         *
         * @since 2.8.0
         *
+        * @static
+        *
         * @param string $compressed String to decompress.
         * @param int $length The optional length of the compressed data.
         * @return string|bool False on failure.
@@ -2149,6 +2169,8 @@ class WP_Http_Encoding {
         * @link http://au2.php.net/manual/en/function.gzinflate.php#70875
         * @link http://au2.php.net/manual/en/function.gzinflate.php#77336
         *
+        * @static
+        *
         * @param string $gzData String to decompress.
         * @return string|bool False on failure.
         */
@@ -2188,6 +2210,8 @@ class WP_Http_Encoding {
         *
         * @since 2.8.0
         *
+        * @static
+        *
         * @param string $url
         * @param array  $args
         * @return string Types of encoding to accept.
@@ -2234,6 +2258,8 @@ class WP_Http_Encoding {
         *
         * @since 2.8.0
         *
+        * @static
+        *
         * @return string Content-Encoding string to send in the header.
         */
        public static function content_encoding() {
@@ -2245,6 +2271,8 @@ class WP_Http_Encoding {
         *
         * @since 2.8.0
         *
+        * @static
+        *
         * @param array|string $headers All of the available headers.
         * @return bool
         */
@@ -2268,6 +2296,8 @@ class WP_Http_Encoding {
         *
         * @since 2.8.0
         *
+        * @static
+        *
         * @return bool
         */
        public static function is_available() {
index 417592fb88ba331e11f9b259bc30d854a75b24eb..1861b5230e6b7158be10cffca15488b0116b9cdd 100644 (file)
@@ -140,13 +140,20 @@ class Services_JSON
     *                                   strings or numbers, if you return an object, make sure it does
     *                                   not have a toJSON method, otherwise an error will occur.
     */
-    function Services_JSON($use = 0)
+    function __construct( $use = 0 )
     {
         $this->use = $use;
         $this->_mb_strlen            = function_exists('mb_strlen');
         $this->_mb_convert_encoding  = function_exists('mb_convert_encoding');
         $this->_mb_substr            = function_exists('mb_substr');
     }
+
+       /**
+        * PHP4 constructor.
+        */
+       public function Services_JSON( $use = 0 ) {
+               self::__construct( $use );
+       }
     // private - cache the mbstring lookup results..
     var $_mb_strlen = false;
     var $_mb_substr = false;
@@ -910,11 +917,17 @@ if (class_exists('PEAR_Error')) {
 
     class Services_JSON_Error extends PEAR_Error
     {
-        function Services_JSON_Error($message = 'unknown error', $code = null,
+        function __construct($message = 'unknown error', $code = null,
                                      $mode = null, $options = null, $userinfo = null)
         {
             parent::PEAR_Error($message, $code, $mode, $options, $userinfo);
         }
+
+       public function Services_JSON_Error($message = 'unknown error', $code = null,
+                                     $mode = null, $options = null, $userinfo = null) {
+               self::__construct($message = 'unknown error', $code = null,
+                                     $mode = null, $options = null, $userinfo = null);
+       }
     }
 
 } else {
@@ -924,11 +937,22 @@ if (class_exists('PEAR_Error')) {
      */
     class Services_JSON_Error
     {
-        function Services_JSON_Error($message = 'unknown error', $code = null,
-                                     $mode = null, $options = null, $userinfo = null)
+           /**
+            * PHP5 constructor.
+            */
+        function __construct( $message = 'unknown error', $code = null,
+                                     $mode = null, $options = null, $userinfo = null )
         {
 
         }
+
+           /**
+            * PHP4 constructor.
+            */
+               public function Services_JSON_Error( $message = 'unknown error', $code = null,
+                                            $mode = null, $options = null, $userinfo = null ) {
+                       self::__construct( $message, $code, $mode, $options, $userinfo );
+               }
     }
     
 }
index 4e88836799af064a278fdcf90575a1c44b233e76..18c249031ba489e3d5003d13f061937ac79bfb99 100644 (file)
  */
 class WP_oEmbed {
        public $providers = array();
+       /**
+        * @static
+        * @var array
+        */
        public static $early_providers = array();
 
        private $compat_methods = array( '_fetch_with_format', '_parse_json', '_parse_xml', '_parse_body' );
@@ -30,10 +34,10 @@ class WP_oEmbed {
         */
        public function __construct() {
                $providers = array(
-                       '#http://(www\.)?youtube\.com/watch.*#i'              => array( 'http://www.youtube.com/oembed',                      true  ),
-                       '#https://(www\.)?youtube\.com/watch.*#i'             => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
-                       '#http://(www\.)?youtube\.com/playlist.*#i'           => array( 'http://www.youtube.com/oembed',                      true  ),
-                       '#https://(www\.)?youtube\.com/playlist.*#i'          => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
+                       '#http://((m|www)\.)?youtube\.com/watch.*#i'          => array( 'http://www.youtube.com/oembed',                      true  ),
+                       '#https://((m|www)\.)?youtube\.com/watch.*#i'         => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
+                       '#http://((m|www)\.)?youtube\.com/playlist.*#i'       => array( 'http://www.youtube.com/oembed',                      true  ),
+                       '#https://((m|www)\.)?youtube\.com/playlist.*#i'      => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
                        '#http://youtu\.be/.*#i'                              => array( 'http://www.youtube.com/oembed',                      true  ),
                        '#https://youtu\.be/.*#i'                             => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
                        'http://blip.tv/*'                                    => array( 'http://blip.tv/oembed/',                             false ),
@@ -69,6 +73,7 @@ class WP_oEmbed {
                        '#https?://(.+)\.tumblr\.com/post/.*#i'               => array( 'https://www.tumblr.com/oembed/1.0',                  true  ),
                        '#https?://(www\.)?kickstarter\.com/projects/.*#i'    => array( 'https://www.kickstarter.com/services/oembed',        true  ),
                        '#https?://kck\.st/.*#i'                              => array( 'https://www.kickstarter.com/services/oembed',        true  ),
+                       '#https?://cloudup\.com/.*#i'                         => array( 'https://cloudup.com/oembed', true ),
                );
 
                if ( ! empty( self::$early_providers['add'] ) ) {
@@ -195,7 +200,7 @@ class WP_oEmbed {
         *
         * @param string        $url  The URL to the content.
         * @param string|array  $args Optional provider arguments.
-        * @return bool|string False on failure, otherwise the oEmbed provider URL.
+        * @return false|string False on failure, otherwise the oEmbed provider URL.
         */
        public function get_provider( $url, $args = '' ) {
 
@@ -306,7 +311,7 @@ class WP_oEmbed {
         * Attempts to discover link tags at the given URL for an oEmbed provider.
         *
         * @param string $url The URL that should be inspected for discovery `<link>` tags.
-        * @return bool|string False on failure, otherwise the oEmbed provider URL.
+        * @return false|string False on failure, otherwise the oEmbed provider URL.
         */
        public function discover( $url ) {
                $providers = array();
@@ -384,7 +389,7 @@ class WP_oEmbed {
         * @param string $provider The URL to the oEmbed provider.
         * @param string $url The URL to the content that is desired to be embedded.
         * @param array $args Optional arguments. Usually passed from a shortcode.
-        * @return bool|object False on failure, otherwise the result in the form of an object.
+        * @return false|object False on failure, otherwise the result in the form of an object.
         */
        public function fetch( $provider, $url, $args = '' ) {
                $args = wp_parse_args( $args, wp_embed_defaults( $url ) );
@@ -420,7 +425,7 @@ class WP_oEmbed {
         * @access private
         * @param string $provider_url_with_args URL to the provider with full arguments list (url, maxheight, etc.)
         * @param string $format Format to use
-        * @return bool|object False on failure, otherwise the result in the form of an object.
+        * @return false|object|WP_Error False on failure, otherwise the result in the form of an object.
         */
        private function _fetch_with_format( $provider_url_with_args, $format ) {
                $provider_url_with_args = add_query_arg( 'format', $format, $provider_url_with_args );
@@ -442,9 +447,13 @@ class WP_oEmbed {
         *
         * @since 3.0.0
         * @access private
+        *
+        * @param string $response_body
+        * @return object|false
         */
        private function _parse_json( $response_body ) {
-               return ( ( $data = json_decode( trim( $response_body ) ) ) && is_object( $data ) ) ? $data : false;
+               $data = json_decode( trim( $response_body ) );
+               return ( $data && is_object( $data ) ) ? $data : false;
        }
 
        /**
@@ -452,6 +461,9 @@ class WP_oEmbed {
         *
         * @since 3.0.0
         * @access private
+        *
+        * @param string $response_body
+        * @return object|false
         */
        private function _parse_xml( $response_body ) {
                if ( ! function_exists( 'libxml_disable_entity_loader' ) )
@@ -473,6 +485,9 @@ class WP_oEmbed {
         *
         * @since 3.6.0
         * @access private
+        *
+        * @param string $response_body
+        * @return object|false
         */
        private function _parse_xml_body( $response_body ) {
                if ( ! function_exists( 'simplexml_import_dom' ) || ! class_exists( 'DOMDocument' ) )
@@ -601,15 +616,15 @@ class WP_oEmbed {
  * @since 2.9.0
  * @access private
  *
- * @see WP_oEmbed
+ * @staticvar WP_oEmbed $wp_oembed
  *
  * @return WP_oEmbed object.
  */
 function _wp_oembed_get_object() {
-       static $wp_oembed;
+       static $wp_oembed = null;
 
-       if ( is_null($wp_oembed) )
+       if ( is_null( $wp_oembed ) ) {
                $wp_oembed = new WP_oEmbed();
-
+       }
        return $wp_oembed;
 }
index f2dadae3ff2fbacd1cb319410bcdaceb30235606..ccd17963098dffd8ef39b78c258c68075d86b020 100644 (file)
@@ -39,7 +39,10 @@ class PasswordHash {
        var $portable_hashes;
        var $random_state;
 
-       function PasswordHash($iteration_count_log2, $portable_hashes)
+       /**
+        * PHP5 constructor.
+        */
+       function __construct( $iteration_count_log2, $portable_hashes )
        {
                $this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
 
@@ -52,6 +55,13 @@ class PasswordHash {
                $this->random_state = microtime() . uniqid(rand(), TRUE); // removed getmypid() for compatibility reasons
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function PasswordHash( $iteration_count_log2, $portable_hashes ) {
+               self::__construct( $iteration_count_log2, $portable_hashes );
+       }
+
        function get_random_bytes($count)
        {
                $output = '';
index c38632ab727e63b704ae21b520e47e2a714c4baa..338965ff4b7430a8c83304820e65699e17eeb503 100644 (file)
@@ -1,15 +1,14 @@
 <?php
 /**
  * PHPMailer - PHP email creation and transport class.
- * PHP Version 5.0.0
- * Version 5.2.7
+ * PHP Version 5
  * @package PHPMailer
- * @link https://github.com/PHPMailer/PHPMailer/
- * @author Marcus Bointon (coolbru) <phpmailer@synchromedia.co.uk>
+ * @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
+ * @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
  * @author Jim Jagielski (jimjag) <jimjag@gmail.com>
  * @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
  * @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
  * 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) <phpmailer@synchromedia.co.uk>
+ * @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
  * @author Jim Jagielski (jimjag) <jimjag@gmail.com>
  * @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
  * @author Brent R. Matzelle (original founder)
- * @copyright 2013 Marcus Bointon
- * @copyright 2010 - 2012 Jim Jagielski
- * @copyright 2004 - 2009 Andy Prevost
  */
 class PHPMailer
 {
@@ -40,12 +31,12 @@ class PHPMailer
      * The PHPMailer Version number.
      * @type string
      */
-    public $Version = '5.2.7';
+    public $Version = '5.2.10';
 
     /**
      * Email priority.
      * Options: 1 = High, 3 = Normal, 5 = low.
-     * @type int
+     * @type integer
      */
     public $Priority = 3;
 
@@ -97,6 +88,9 @@ class PHPMailer
      * The Return-Path of the message.
      * If empty, it will be set to either From or Sender.
      * @type 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 = '';
 
@@ -155,7 +149,8 @@ class PHPMailer
 
     /**
      * 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.
+     * @type integer
      */
     public $WordWrap = 0;
 
@@ -175,7 +170,7 @@ class PHPMailer
     /**
      * Whether mail() uses a fully sendmail-compatible MTA.
      * One which supports sendmail's "-oi -f" options.
-     * @type bool
+     * @type boolean
      */
     public $UseSendmailOptions = true;
 
@@ -222,6 +217,8 @@ 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
      */
@@ -229,8 +226,8 @@ class PHPMailer
 
     /**
      * The default SMTP server port.
-     * @type int
-     * @Todo Why is this needed when the SMTP class takes care of it?
+     * @type integer
+     * @TODO Why is this needed when the SMTP class takes care of it?
      */
     public $Port = 25;
 
@@ -243,21 +240,35 @@ class PHPMailer
     public $Helo = '';
 
     /**
-     * The secure connection prefix.
-     * Options: "", "ssl" or "tls"
+     * What kind of encryption to use on the SMTP connection.
+     * Options: '', 'ssl' or 'tls'
      * @type 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.
+     * @type boolean
+     */
+    public $SMTPAutoTLS = true;
+
     /**
      * Whether to use SMTP authentication.
      * Uses the Username and Password properties.
-     * @type bool
+     * @type boolean
      * @see PHPMailer::$Username
      * @see PHPMailer::$Password
      */
     public $SMTPAuth = false;
 
+    /**
+     * Options array passed to stream_context_create when connecting via SMTP.
+     * @type array
+     */
+    public $SMTPOptions = array();
+
     /**
      * SMTP username.
      * @type string
@@ -293,45 +304,60 @@ class PHPMailer
 
     /**
      * The SMTP server timeout in seconds.
-     * @type int
+     * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2
+     * @type 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
+     * @type 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 `<br>`, 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:
+     * <code>
+     * $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
+     * </code>
+     * @type 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
+     * @type boolean
      */
     public $SMTPKeepAlive = false;
 
     /**
      * Whether to split multiple to addresses into multiple messages
      * or send them all in one message.
-     * @type bool
+     * @type boolean
      */
     public $SingleTo = false;
 
     /**
      * Storage for addresses when SingleTo is enabled.
      * @type array
-     * @todo This should really not be public
+     * @TODO This should really not be public
      */
     public $SingleToArray = array();
 
@@ -339,13 +365,14 @@ class PHPMailer
      * 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 http://www.postfix.org/VERP_README.html Postfix VERP info
+     * @type boolean
      */
     public $do_verp = false;
 
     /**
      * Whether to allow sending messages with an empty body.
-     * @type bool
+     * @type boolean
      */
     public $AllowEmpty = false;
 
@@ -396,28 +423,23 @@ class PHPMailer
      * 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
      */
     public $action_function = '';
 
     /**
-     * What to use in the X-Mailer header.
-     * Options: null for default, whitespace for none, or a string to use
+     * What to put in the X-Mailer header.
+     * Options: An empty string for PHPMailer default, whitespace for none, or a string to use
      * @type string
      */
     public $XMailer = '';
@@ -459,7 +481,7 @@ class PHPMailer
 
     /**
      * An array of all kinds of addresses.
-     * Includes all of $to, $cc, $bcc, $replyto
+     * Includes all of $to, $cc, $bcc
      * @type array
      * @access protected
      */
@@ -528,6 +550,13 @@ class PHPMailer
      */
     protected $sign_key_file = '';
 
+    /**
+     * The optional S/MIME extra certificates ("CA Chain") file path.
+     * @type string
+     * @access protected
+     */
+    protected $sign_extracerts_file = '';
+
     /**
      * The S/MIME password for the key.
      * Used only if the key is encrypted.
@@ -538,38 +567,51 @@ class PHPMailer
 
     /**
      * Whether to throw exceptions for errors.
-     * @type bool
+     * @type boolean
      * @access protected
      */
     protected $exceptions = false;
 
     /**
-     * Error severity: message only, continue processing
+     * Unique ID used for message ID and boundaries.
+     * @type 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
+     * @type integer
+     */
+    const MAX_LINE_LENGTH = 998;
+
+    /**
+     * Constructor.
+     * @param boolean $exceptions Should we throw external exceptions?
      */
     public function __construct($exceptions = false)
     {
-        $this->exceptions = ($exceptions == true);
+        $this->exceptions = (boolean)$exceptions;
     }
 
     /**
@@ -577,7 +619,8 @@ class PHPMailer
      */
     public function __destruct()
     {
-        if ($this->Mailer == 'smtp') { //close any open SMTP connection nicely
+        //Close any open SMTP connection nicely
+        if ($this->Mailer == 'smtp') {
             $this->smtpClose();
         }
     }
@@ -593,53 +636,75 @@ class PHPMailer
      * @param string $header Additional Header(s)
      * @param string $params Params
      * @access private
-     * @return bool
+     * @return boolean
      */
     private function mailPassthru($to, $subject, $body, $header, $params)
     {
+        //Check overloading of mail function to avoid double-encoding
+        if (ini_get('mbstring.func_overload') & 1) {
+            $subject = $this->secureHeader($subject);
+        } else {
+            $subject = $this->encodeHeader($this->secureHeader($subject));
+        }
         if (ini_get('safe_mode') || !($this->UseSendmailOptions)) {
-            $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header);
+            $result = @mail($to, $subject, $body, $header);
         } else {
-            $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header, $params);
+            $result = @mail($to, $subject, $body, $header, $params);
         }
-        return $rt;
+        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) . "<br>\n";
+                //Cleans up output a bit for a better looking, HTML-safe output
+                echo htmlentities(
+                    preg_replace('/[\r\n]+/', '', $str),
+                    ENT_QUOTES,
+                    'UTF-8'
+                )
+                . "<br>\n";
                 break;
             case 'echo':
             default:
-                //Just echoes exactly what 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";
         }
     }
 
     /**
      * 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 +735,12 @@ class PHPMailer
      */
     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,17 +751,21 @@ class PHPMailer
      */
     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 $name
-     * @return bool true on success, false if address already used
+     * @return boolean true on success, false if address already used
      */
     public function addAddress($address, $name = '')
     {
@@ -704,7 +777,7 @@ class PHPMailer
      * @note: This function works with the SMTP mailer on win32, not with the "mail" mailer.
      * @param string $address
      * @param string $name
-     * @return bool true on success, false if address already used
+     * @return boolean true on success, false if address already used
      */
     public function addCC($address, $name = '')
     {
@@ -716,7 +789,7 @@ class PHPMailer
      * @note: This function works with the SMTP mailer on win32, not with the "mail" mailer.
      * @param string $address
      * @param string $name
-     * @return bool true on success, false if address already used
+     * @return boolean true on success, false if address already used
      */
     public function addBCC($address, $name = '')
     {
@@ -727,7 +800,7 @@ class PHPMailer
      * Add a "Reply-to" address.
      * @param string $address
      * @param string $name
-     * @return bool
+     * @return boolean
      */
     public function addReplyTo($address, $name = '')
     {
@@ -741,27 +814,27 @@ class PHPMailer
      * @param string $address The email address to send 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 addAnAddress($kind, $address, $name = '')
     {
         if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) {
             $this->setError($this->lang('Invalid recipient array') . ': ' . $kind);
+            $this->edebug($this->lang('Invalid recipient array') . ': ' . $kind);
             if ($this->exceptions) {
                 throw new phpmailerException('Invalid recipient array: ' . $kind);
             }
-            $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);
+            $this->edebug($this->lang('invalid_address') . ': ' . $address);
             if ($this->exceptions) {
                 throw new phpmailerException($this->lang('invalid_address') . ': ' . $address);
             }
-            $this->edebug($this->lang('invalid_address') . ': ' . $address);
             return false;
         }
         if ($kind != 'Reply-To') {
@@ -783,9 +856,9 @@ class PHPMailer
      * 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)
     {
@@ -793,10 +866,10 @@ class PHPMailer
         $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
         if (!$this->validateAddress($address)) {
             $this->setError($this->lang('invalid_address') . ': ' . $address);
+            $this->edebug($this->lang('invalid_address') . ': ' . $address);
             if ($this->exceptions) {
                 throw new phpmailerException($this->lang('invalid_address') . ': ' . $address);
             }
-            $this->edebug($this->lang('invalid_address') . ': ' . $address);
             return false;
         }
         $this->From = $address;
@@ -825,27 +898,31 @@ class PHPMailer
      * 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
+     * * `auto` Pick strictest 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; same as pcre8 but does not allow 'dotless' domains;
+     * * `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.
+     * @return boolean
      * @static
      * @access public
      */
     public static function validateAddress($address, $patternselect = 'auto')
     {
-        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 (!$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 +935,12 @@ class PHPMailer
         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 +952,9 @@ class PHPMailer
                     '|[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 +967,33 @@ class PHPMailer
                     '|[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);
         }
     }
 
     /**
      * 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 +1002,11 @@ class PHPMailer
                 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,12 +1015,12 @@ class PHPMailer
     /**
      * Prepare a message for sending.
      * @throws phpmailerException
-     * @return bool
+     * @return boolean
      */
     public function preSend()
     {
         try {
-            $this->mailHeader = "";
+            $this->mailHeader = '';
             if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
                 throw new phpmailerException($this->lang('provide_address'), self::STOP_CRITICAL);
             }
@@ -950,23 +1030,28 @@ class PHPMailer
                 $this->ContentType = 'multipart/alternative';
             }
 
-            $this->error_count = 0; // reset errors
+            $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',
@@ -978,7 +1063,6 @@ class PHPMailer
             if (!empty($this->DKIM_domain)
                 && !empty($this->DKIM_private)
                 && !empty($this->DKIM_selector)
-                && !empty($this->DKIM_domain)
                 && file_exists($this->DKIM_private)) {
                 $header_dkim = $this->DKIM_Add(
                     $this->MIMEHeader . $this->mailHeader,
@@ -989,11 +1073,10 @@ class PHPMailer
                     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 +1086,7 @@ class PHPMailer
      * Actually send a message.
      * Send the email via the selected mechanism
      * @throws phpmailerException
-     * @return bool
+     * @return boolean
      */
     public function postSend()
     {
@@ -1011,20 +1094,26 @@ class PHPMailer
             // 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 +1125,41 @@ class PHPMailer
      * @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));
+            if ($this->Mailer == 'qmail') {
+                $sendmail = sprintf('%s -f%s', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
+            } else {
+                $sendmail = sprintf('%s -oi -f%s -t', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
+            }
         } else {
-            $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail));
+            if ($this->Mailer == 'qmail') {
+                $sendmail = sprintf('%s', escapeshellcmd($this->Sendmail));
+            } else {
+                $sendmail = sprintf('%s -oi -t', escapeshellcmd($this->Sendmail));
+            }
         }
-        if ($this->SingleTo === true) {
-            foreach ($this->SingleToArray as $val) {
+        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 +1171,7 @@ class PHPMailer
             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);
             }
@@ -1085,43 +1186,39 @@ class PHPMailer
      * @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 = " ";
+            $params = ' ';
         } else {
-            $params = sprintf("-f%s", $this->Sender);
+            $params = sprintf('-f%s', $this->Sender);
         }
         if ($this->Sender != '' and !ini_get('safe_mode')) {
             $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 && 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 +1232,7 @@ class PHPMailer
     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 +1248,59 @@ class PHPMailer
      * @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 ('' == $this->Sender) {
+            $smtp_from = $this->From;
+        } else {
+            $smtp_from = $this->Sender;
+        }
         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,7 +1311,7 @@ class PHPMailer
      * @uses SMTP
      * @access public
      * @throws phpmailerException
-     * @return bool
+     * @return boolean
      */
     public function smtpConnect($options = array())
     {
@@ -1225,7 +1319,7 @@ class PHPMailer
             $this->smtp = $this->getSMTPInstance();
         }
 
-        //Already connected?
+        // Already connected?
         if ($this->smtp->connected()) {
             return true;
         }
@@ -1234,25 +1328,47 @@ class PHPMailer
         $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 +1376,19 @@ class PHPMailer
                         $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 HELO after tls negotiation
                         $this->smtp->hello($hello);
                     }
                     if ($this->SMTPAuth) {
@@ -1281,16 +1404,17 @@ class PHPMailer
                         }
                     }
                     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;
         }
@@ -1317,12 +1441,12 @@ class PHPMailer
      * 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
+        // 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.',
@@ -1341,16 +1465,28 @@ class PHPMailer
             '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;
+        }
+        $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 (!is_readable($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 +1511,8 @@ class PHPMailer
     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 +1529,9 @@ class PHPMailer
         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 +1542,54 @@ class PHPMailer
      * 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 +1602,33 @@ class PHPMailer
                         $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 +1638,12 @@ class PHPMailer
 
     /**
      * 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 +1651,27 @@ class PHPMailer
         $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 +1682,11 @@ class PHPMailer
         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 +1718,26 @@ class PHPMailer
     {
         $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);
+            $this->MessageDate = self::rfcDate();
         }
+        $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) . '>');
-        }
 
         // 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 +1749,11 @@ class PHPMailer
         }
 
         // 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);
         }
 
@@ -1624,9 +1769,9 @@ class PHPMailer
         if ($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);
+        $result .= $this->headerLine('Message-ID', $this->lastMessageID);
         $result .= $this->headerLine('X-Priority', $this->Priority);
         if ($this->XMailer == '') {
             $result .= $this->headerLine(
@@ -1645,10 +1790,10 @@ class PHPMailer
         }
 
         // 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 +1812,7 @@ class PHPMailer
     public function getMailMIME()
     {
         $result = '';
+        $ismultipart = true;
         switch ($this->message_type) {
             case 'inline':
                 $result .= $this->headerLine('Content-Type', 'multipart/related;');
@@ -1687,11 +1833,20 @@ class PHPMailer
             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,8 +1859,8 @@ class PHPMailer
     /**
      * 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
      */
@@ -1714,7 +1869,6 @@ class PHPMailer
         return $this->MIMEHeader . $this->mailHeader . self::CRLF . $this->MIMEBody;
     }
 
-
     /**
      * Assemble the message body.
      * Returns an empty string on failure.
@@ -1725,6 +1879,11 @@ class PHPMailer
     public function createBody()
     {
         $body = '';
+        //Create unique IDs and preset boundaries
+        $this->uniqueid = md5(uniqid(time()));
+        $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 +1891,67 @@ class PHPMailer
 
         $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';
+            $bodyCharSet = 'us-ascii';
+        }
+        //If lines are too long, change to quoted-printable transfer encoding
+        if (self::hasLineLongerThanMax($this->Body)) {
+            $this->Encoding = 'quoted-printable';
+            $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';
+            $altBodyCharSet = 'us-ascii';
+        }
+        //If lines are too long, change to quoted-printable transfer encoding
+        if (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 +1961,52 @@ class PHPMailer
                 $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;
@@ -1824,7 +2016,7 @@ class PHPMailer
                 break;
             default:
                 // catch case 'plain' and case ''
-                $body .= $this->encodeString($this->Body, $this->Encoding);
+                $body .= $this->encodeString($this->Body, $bodyEncoding);
                 break;
         }
 
@@ -1833,31 +2025,51 @@ class PHPMailer
         } 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 +2098,12 @@ class PHPMailer
             $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;
@@ -1914,19 +2129,19 @@ class PHPMailer
      */
     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 == '') {
+            $this->message_type = 'plain';
         }
     }
 
@@ -1962,7 +2177,7 @@ class PHPMailer
      * @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')
     {
@@ -1971,7 +2186,7 @@ class PHPMailer
                 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 +2207,12 @@ class PHPMailer
                 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;
@@ -2056,17 +2271,20 @@ class PHPMailer
                 }
                 $cidUniq[$cid] = true;
 
-                $mime[] = sprintf("--%s%s", $boundary, $this->LE);
+                $mime[] = sprintf('--%s%s', $boundary, $this->LE);
                 $mime[] = sprintf(
-                    "Content-Type: %s; name=\"%s\"%s",
+                    'Content-Type: %s; name="%s"%s',
                     $type,
                     $this->encodeHeader($this->secureHeader($name)),
                     $this->LE
                 );
-                $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $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,18 +2292,19 @@ class PHPMailer
                 // 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",
+                            'Content-Disposition: %s; filename=%s%s',
                             $disposition,
-                            $this->encodeHeader($this->secureHeader($name)),
+                            $encoded_name,
                             $this->LE . $this->LE
                         );
                     }
@@ -2110,9 +2329,9 @@ class PHPMailer
             }
         }
 
-        $mime[] = sprintf("--%s--%s", $boundary, $this->LE);
+        $mime[] = sprintf('--%s--%s', $boundary, $this->LE);
 
-        return implode("", $mime);
+        return implode('', $mime);
     }
 
     /**
@@ -2134,9 +2353,12 @@ class PHPMailer
             $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 +2371,8 @@ class PHPMailer
                 }
             }
             return $file_buffer;
-        } catch (Exception $e) {
-            $this->setError($e->getMessage());
+        } catch (Exception $exc) {
+            $this->setError($exc->getMessage());
             return '';
         }
     }
@@ -2173,7 +2395,7 @@ class PHPMailer
             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 +2423,11 @@ class PHPMailer
      */
     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 +2435,27 @@ class PHPMailer
                         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 +2473,7 @@ class PHPMailer
             $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 +2483,7 @@ class PHPMailer
      * 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 +2494,33 @@ class PHPMailer
         }
     }
 
+    /**
+     * 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 +2539,11 @@ class PHPMailer
                 $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 +2554,22 @@ class PHPMailer
      * @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)
-            return quoted_printable_encode($string);
+        // Use native function if it's available (>= PHP5.3)
+        if (function_exists('quoted_printable_encode')) {
+            return $this->fixEOL(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 $this->fixEOL($string);
     }
 
     /**
@@ -2343,7 +2578,7 @@ class PHPMailer
      * @access public
      * @param string $string
      * @param integer $line_max
-     * @param bool $space_conv
+     * @param boolean $space_conv
      * @return string
      * @deprecated Use encodeQP instead.
      */
@@ -2365,41 +2600,41 @@ class PHPMailer
      */
     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);
     }
 
@@ -2422,7 +2657,7 @@ class PHPMailer
         $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,7 +2677,7 @@ class PHPMailer
     /**
      * 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.
@@ -2453,7 +2688,7 @@ class PHPMailer
      * @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')
     {
@@ -2462,7 +2697,7 @@ class PHPMailer
             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 +2733,7 @@ class PHPMailer
      * @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,7 +2743,7 @@ class PHPMailer
         $type = '',
         $disposition = 'inline'
     ) {
-        //If a MIME type is not specified, try to work it out from the name
+        // If a MIME type is not specified, try to work it out from the name
         if ($type == '') {
             $type = self::filenameToType($name);
         }
@@ -2530,7 +2765,7 @@ class PHPMailer
     /**
      * Check if an inline attachment is present.
      * @access public
-     * @return bool
+     * @return boolean
      */
     public function inlineImageExists()
     {
@@ -2544,7 +2779,7 @@ class PHPMailer
 
     /**
      * Check if an attachment (non-inline) is present.
-     * @return bool
+     * @return boolean
      */
     public function attachmentExists()
     {
@@ -2558,7 +2793,7 @@ class PHPMailer
 
     /**
      * Check if this message has an alternative body set.
-     * @return bool
+     * @return boolean
      */
     public function alternativeExists()
     {
@@ -2651,8 +2886,17 @@ class PHPMailer
         $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 .= '<p>' . $this->lang('smtp_error') . $lasterror['smtp_msg'] . "</p>\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 +2910,8 @@ class PHPMailer
      */
     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 +2924,16 @@ class PHPMailer
      */
     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 +2949,24 @@ class PHPMailer
             $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()
     {
@@ -2757,6 +3010,16 @@ class PHPMailer
         }
     }
 
+    /**
+     * Returns all custom headers
+     *
+     * @return array
+     */
+    public function getCustomHeaders()
+    {
+        return $this->CustomHeader;
+    }
+
     /**
      * Create a message from an HTML string.
      * Automatically makes modifications for inline images and backgrounds
@@ -2765,22 +3028,39 @@ class PHPMailer
      * @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
+     * @param boolean|callable $advanced Whether to use the internal HTML to text converter
+     *    or your own custom converter @see html2text()
      * @return string $message
      */
     public function msgHTML($message, $basedir = '', $advanced = false)
     {
-        preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui", $message, $images);
+        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)) {
+            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, '', 'base64', $match[1])) {
+                        $message = str_replace(
+                            $images[0][$imgindex],
+                            $images[1][$imgindex] . '="cid:' . $cid . '"',
+                            $message
+                        );
+                    }
+                } elseif (!preg_match('#^[A-z]+://#', $url)) {
+                    // Do not change urls for absolute images (thanks to corvuscorax)
                     $filename = basename($url);
                     $directory = dirname($url);
                     if ($directory == '.') {
                         $directory = '';
                     }
-                    $cid = md5($url) . '@phpmailer.0'; //RFC2392 S 2
+                    $cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2
                     if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
                         $basedir .= '/';
                     }
@@ -2792,12 +3072,12 @@ class PHPMailer
                         $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 +3085,40 @@ class PHPMailer
             }
         }
         $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 (empty($this->AltBody)) {
+            $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:
+     * <code>
+     * // 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();
+     * });
+     * </code>
      * @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 +3137,99 @@ class PHPMailer
     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',
             '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 +3241,9 @@ class PHPMailer
      */
     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 +3264,34 @@ class PHPMailer
     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 +3299,27 @@ class PHPMailer
 
     /**
      * 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;
     }
 
     /**
@@ -3061,17 +3350,19 @@ class PHPMailer
 
 
     /**
-     * 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 +3379,7 @@ class PHPMailer
             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,15 +3388,15 @@ class PHPMailer
     /**
      * Generate a DKIM signature.
      * @access public
-     * @param string $s Header
+     * @param string $signHeader
      * @throws phpmailerException
      * @return string
      */
-    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 '';
         }
@@ -3115,7 +3406,7 @@ class PHPMailer
         } else {
             $privKey = $privKeyStr;
         }
-        if (openssl_sign($s, $signature, $privKey)) {
+        if (openssl_sign($signHeader, $signature, $privKey)) {
             return base64_encode($signature);
         }
         return '';
@@ -3124,21 +3415,21 @@ class PHPMailer
     /**
      * 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+/', ' ', $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;
     }
 
     /**
@@ -3189,8 +3480,8 @@ class PHPMailer
                 $to_header = $header;
                 $current = 'to_header';
             } else {
-                if ($current && strpos($header, ' =?') === 0) {
-                    $current .= $header;
+                if (!empty($$current) && strpos($header, ' =?') === 0) {
+                    $$current .= $header;
                 } else {
                     $current = '';
                 }
@@ -3205,17 +3496,21 @@ class PHPMailer
         ); // 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*', sha1($body))); // Base64 of packed binary SHA-1 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" .
+            "\tt=" . $DKIMtime . '; c=' . $DKIMcanonicalization . ";\r\n" .
             "\th=From:To:Subject;\r\n" .
-            "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n" .
+            "\td=" . $this->DKIM_domain . ';' . $ident . "\r\n" .
             "\tz=$from\r\n" .
             "\t|$to\r\n" .
             "\t|$subject;\r\n" .
@@ -3228,17 +3523,79 @@ class PHPMailer
         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.
+     * @access public
+     * @return array
+     */
+    public function getToAddresses()
+    {
+        return $this->to;
+    }
+
+    /**
+     * Allows for public read access to 'cc' property.
+     * @access public
+     * @return array
+     */
+    public function getCcAddresses()
+    {
+        return $this->cc;
+    }
+
+    /**
+     * Allows for public read access to 'bcc' property.
+     * @access public
+     * @return array
+     */
+    public function getBccAddresses()
+    {
+        return $this->bcc;
+    }
+
+    /**
+     * Allows for public read access to 'ReplyTo' property.
+     * @access public
+     * @return array
+     */
+    public function getReplyToAddresses()
+    {
+        return $this->ReplyTo;
+    }
+
+    /**
+     * Allows for public read access to 'all_recipients' property.
+     * @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);
index d0455d7ef6c52ce48df3e355e61143f9207c4eb5..7d641bf07332ac165b5c82484b6fbf0939319cec 100644 (file)
@@ -44,7 +44,10 @@ class POP3 {
                                 //  This must be set to true
                                 //  manually
 
-    function POP3 ( $server = '', $timeout = '' ) {
+       /**
+        * PHP5 constructor.
+        */
+    function __construct ( $server = '', $timeout = '' ) {
         settype($this->BUFFER,"integer");
         if( !empty($server) ) {
             // Do not allow programs to alter MAILSERVER
@@ -62,6 +65,13 @@ class POP3 {
         return true;
     }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function POP3( $server = '', $timeout = '' ) {
+               self::__construct( $server, $timeout );
+       }
+
     function update_timer () {
         if (!ini_get('safe_mode'))
             set_time_limit($this->TIMEOUT);
index eddc9916ef9f457e5e01b1e6255254177bffb248..1eae77a128fb6b1cb01bc75d7c287858c33f3db8 100644 (file)
 <?php
 /**
  * PHPMailer RFC821 SMTP email transport class.
- * Version 5.2.7
- * PHP version 5.0.0
- * @category  PHP
- * @package   PHPMailer
- * @link      https://github.com/PHPMailer/PHPMailer/
- * @author Marcus Bointon (coolbru) <phpmailer@synchromedia.co.uk>
+ * PHP Version 5
+ * @package PHPMailer
+ * @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
+ * @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
  * @author Jim Jagielski (jimjag) <jimjag@gmail.com>
  * @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
- * @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 <unknown@example.com>
- * @author   Marcus Bointon <phpmailer@synchromedia.co.uk>
- * @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 <phpmailer@synchromedia.co.uk>
  */
-
 class SMTP
 {
     /**
-     * The PHPMailer SMTP Version number.
+     * The PHPMailer SMTP version number.
+     * @type string
      */
-    const VERSION = '5.2.7';
+    const VERSION = '5.2.10';
 
     /**
      * SMTP line break constant.
+     * @type string
      */
     const CRLF = "\r\n";
 
     /**
      * The SMTP port to use if one is not specified.
+     * @type integer
      */
     const DEFAULT_SMTP_PORT = 25;
 
+    /**
+     * The maximum line length allowed by RFC 2822 section 2.1.1
+     * @type 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
+     * @deprecated Use the `VERSION` constant instead
      * @see SMTP::VERSION
      */
-    public $Version = '5.2.7';
+    public $Version = '5.2.10';
 
     /**
      * SMTP server port number.
-     * @type int
-     * @deprecated This is only ever ued as default value, so should be a constant
+     * @type 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
+     * SMTP reply line ending.
      * @type string
-     * @deprecated Use the class constant instead
+     * @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
+     * @type 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 `<br>`, 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:
+     * <code>
+     * $smtp->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
+     * </code>
+     * @type 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
+     * @type 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
+     * @type 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
+     * @type integer
      */
-    public $Timelimit = 30;
+    public $Timelimit = 300;
 
     /**
      * The socket for the server connection.
@@ -111,43 +157,58 @@ class SMTP
     protected $smtp_conn;
 
     /**
-     * Error message, if any, for the last call.
-     * @type string
+     * Error information, if any, for the last SMTP command.
+     * @type 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.
+     * @type 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.
+     * @type array|null
      */
-    protected $last_reply = '';
+    protected $server_caps = null;
 
     /**
-     * Constructor.
-     * @access public
+     * The most recent reply received from the server.
+     * @type 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, $this->do_debug);
+            return;
+        }
         switch ($this->Debugoutput) {
             case 'error_log':
                 //Don't output, just log
@@ -164,94 +225,115 @@ class SMTP
                 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);
+            //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
+            );
+        } 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
+            );
+            $this->smtp_conn = fsockopen(
+                $host,
+                $port,
+                $errno,
+                $errstr,
+                $timeout
+            );
+        }
         // 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;
         }
         // Begin encrypted connection
@@ -259,8 +341,7 @@ class SMTP
             $this->smtp_conn,
             true,
             STREAM_CRYPTO_METHOD_TLS_CLIENT
-        )
-        ) {
+        )) {
             return false;
         }
         return true;
@@ -276,19 +357,57 @@ class SMTP
      * @param string $realm       The auth realm for NTLM
      * @param string $workstation The auth workstation for NTLM
      * @access public
-     * @return bool True if successfully authenticated.
+     * @return boolean True if successfully authenticated.
      */
     public function authenticate(
         $username,
         $password,
-        $authtype = 'LOGIN',
+        $authtype = null,
         $realm = '',
         $workstation = ''
     ) {
-        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('LOGIN', 'CRAM-MD5', '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 +436,6 @@ class SMTP
                     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 +449,9 @@ class SMTP
 
                 // 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;
     }
@@ -411,13 +479,13 @@ class SMTP
         // Eliminates the need to install mhash to compute a HMAC
         // 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 +495,18 @@ class SMTP
     /**
      * 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 +524,14 @@ class SMTP
      */
     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 +545,101 @@ class SMTP
      * Implements rfc 821: DATA <CRLF>
      * @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 <SP> <domain> <CRLF>
+     * Implements RFC 821: HELO <SP> <domain> <CRLF>
      * 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 +647,53 @@ class SMTP
      * 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->last_reply);
+        foreach ($lines as $n => $s) {
+            $s = trim(substr($s, 4));
+            if (!$s) {
+                continue;
+            }
+            $fields = explode(' ', $s);
+            if (!empty($fields)) {
+                if (!$n) {
+                    $name = $type;
+                    $fields = $fields[0];
+                } else {
+                    $name = array_shift($fields);
+                    if ($name == 'SIZE') {
+                        $fields = ($fields) ? $fields[0] : 0;
+                    }
+                }
+                $this->server_caps[$name] = ($fields ? $fields : true);
+            }
+        }
+    }
+
     /**
      * Send an SMTP MAIL command.
      * Starts a mail transaction from the email address specified in
@@ -608,7 +703,7 @@ class SMTP
      * Implements rfc 821: MAIL <SP> FROM:<reverse-path> <CRLF>
      * @param string $from Source address of this message
      * @access public
-     * @return bool
+     * @return boolean
      */
     public function mail($from)
     {
@@ -624,35 +719,35 @@ class SMTP
      * 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 <CRLF>
-     * @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 <SP> TO:<forward-path> <CRLF>
-     * @param string $to The address the message is being sent to
+     * @param string $toaddr The address the message is being sent to
      * @access public
-     * @return bool
+     * @return boolean
      */
-    public function recipient($to)
+    public function recipient($toaddr)
     {
         return $this->sendCommand(
-            'RCPT TO ',
-            'RCPT TO:<' . $to . '>',
+            'RCPT TO',
+            'RCPT TO:<' . $toaddr . '>',
             array(250, 251)
         );
     }
@@ -662,7 +757,7 @@ class SMTP
      * Abort any transaction that is currently in progress.
      * Implements rfc 821: RSET <CRLF>
      * @access public
-     * @return bool True on success.
+     * @return boolean True on success.
      */
     public function reset()
     {
@@ -673,44 +768,54 @@ class SMTP
      * 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 $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;
         }
         $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 +830,48 @@ class SMTP
      * Implements rfc 821: SAML <SP> FROM:<reverse-path> <CRLF>
      * @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 <CRLF>
      * @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 +879,11 @@ class SMTP
      * 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 +897,57 @@ class SMTP
         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 +969,43 @@ class SMTP
      */
     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 was \"$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) == ' ') {
+            $this->edebug("SMTP -> get_lines(): \$data is \"$data\"", self::DEBUG_LOWLEVEL);
+            // 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 +1013,7 @@ class SMTP
 
     /**
      * Enable or disable VERP address generation.
-     * @param bool $enabled
+     * @param boolean $enabled
      */
     public function setVerp($enabled = false)
     {
@@ -880,16 +1022,33 @@ class SMTP
 
     /**
      * 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 +1066,7 @@ class SMTP
 
     /**
      * Set debug output level.
-     * @param int $level
+     * @param integer $level
      */
     public function setDebugLevel($level = 0)
     {
@@ -916,7 +1075,7 @@ class SMTP
 
     /**
      * Get debug output level.
-     * @return int
+     * @return integer
      */
     public function getDebugLevel()
     {
@@ -925,7 +1084,7 @@ class SMTP
 
     /**
      * Set SMTP timeout.
-     * @param int $timeout
+     * @param integer $timeout
      */
     public function setTimeout($timeout = 0)
     {
@@ -934,7 +1093,7 @@ class SMTP
 
     /**
      * Get SMTP timeout.
-     * @return int
+     * @return integer
      */
     public function getTimeout()
     {
index 8bfc2d49ba32f60676d2ab7909c64efc8ff2fd8d..f344f3edb7e2a473b324bf8317753073d7535521 100644 (file)
@@ -12,6 +12,10 @@ class WP_Admin_Bar {
        private $bound = false;
        public $user;
 
+       /**
+        * @param string $name
+        * @return string|array|void
+        */
        public function __get( $name ) {
                switch ( $name ) {
                        case 'proto' :
@@ -23,6 +27,9 @@ class WP_Admin_Bar {
                }
        }
 
+       /**
+        * @access public
+        */
        public function initialize() {
                $this->user = new stdClass;
 
@@ -69,10 +76,16 @@ class WP_Admin_Bar {
                do_action( 'admin_bar_init' );
        }
 
+       /**
+        * @param array $node
+        */
        public function add_menu( $node ) {
                $this->add_node( $node );
        }
 
+       /**
+        * @param string $id
+        */
        public function remove_menu( $id ) {
                $this->remove_node( $id );
        }
@@ -143,6 +156,9 @@ class WP_Admin_Bar {
                $this->_set_node( $args );
        }
 
+       /**
+        * @param array $args
+        */
        final protected function _set_node( $args ) {
                $this->nodes[ $args['id'] ] = (object) $args;
        }
@@ -150,6 +166,7 @@ class WP_Admin_Bar {
        /**
         * Gets a node.
         *
+        * @param string $id
         * @return object Node.
         */
        final public function get_node( $id ) {
@@ -157,6 +174,10 @@ class WP_Admin_Bar {
                        return clone $node;
        }
 
+       /**
+        * @param string $id
+        * @return object|void
+        */
        final protected function _get_node( $id ) {
                if ( $this->bound )
                        return;
@@ -168,6 +189,9 @@ class WP_Admin_Bar {
                        return $this->nodes[ $id ];
        }
 
+       /**
+        * @return array|void
+        */
        final public function get_nodes() {
                if ( ! $nodes = $this->_get_nodes() )
                        return;
@@ -178,6 +202,9 @@ class WP_Admin_Bar {
                return $nodes;
        }
 
+       /**
+        * @return array|void
+        */
        final protected function _get_nodes() {
                if ( $this->bound )
                        return;
@@ -208,22 +235,31 @@ class WP_Admin_Bar {
        /**
         * Remove a node.
         *
-        * @param string The ID of the item.
+        * @param string $id The ID of the item.
         */
        public function remove_node( $id ) {
                $this->_unset_node( $id );
        }
 
+       /**
+        * @param string $id
+        */
        final protected function _unset_node( $id ) {
                unset( $this->nodes[ $id ] );
        }
 
+       /**
+        * @access public
+        */
        public function render() {
                $root = $this->_bind();
                if ( $root )
                        $this->_render( $root );
        }
 
+       /**
+        * @return object|void
+        */
        final protected function _bind() {
                if ( $this->bound )
                        return;
@@ -345,6 +381,11 @@ class WP_Admin_Bar {
                return $root;
        }
 
+       /**
+        *
+        * @global bool $is_IE
+        * @param object $root
+        */
        final protected function _render( $root ) {
                global $is_IE;
 
@@ -380,6 +421,9 @@ class WP_Admin_Bar {
                <?php
        }
 
+       /**
+        * @param object $node
+        */
        final protected function _render_container( $node ) {
                if ( $node->type != 'container' || empty( $node->children ) )
                        return;
@@ -391,10 +435,14 @@ class WP_Admin_Bar {
                ?></div><?php
        }
 
+       /**
+        * @param object $node
+        */
        final protected function _render_group( $node ) {
-               if ( $node->type == 'container' )
-                       return $this->_render_container( $node );
-
+               if ( $node->type == 'container' ) {
+                       $this->_render_container( $node );
+                       return;
+               }
                if ( $node->type != 'group' || empty( $node->children ) )
                        return;
 
@@ -410,6 +458,9 @@ class WP_Admin_Bar {
                ?></ul><?php
        }
 
+       /**
+        * @param object $node
+        */
        final protected function _render_item( $node ) {
                if ( $node->type != 'item' )
                        return;
@@ -482,11 +533,18 @@ class WP_Admin_Bar {
                </li><?php
        }
 
+       /**
+        * @param string $id    Unused.
+        * @param object $node
+        */
        public function recursive_render( $id, $node ) {
                _deprecated_function( __METHOD__, '3.3', 'WP_Admin_bar::render(), WP_Admin_Bar::_render_item()' );
                $this->_render_item( $node );
        }
 
+       /**
+        * @access public
+        */
        public function add_menus() {
                // User related, aligned right.
                add_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 0 );
@@ -498,7 +556,8 @@ class WP_Admin_Bar {
                add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );
                add_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
                add_action( 'admin_bar_menu', 'wp_admin_bar_site_menu', 30 );
-               add_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 40 );
+               add_action( 'admin_bar_menu', 'wp_admin_bar_customize_menu', 40 );
+               add_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 50 );
 
                // Content related.
                if ( ! is_network_admin() && ! is_user_admin() ) {
index bf17fb203f1a3558b4c7f52d3eac3fcac8efcb4a..1e6214627406297df407a883ba87ce70e4499146 100644 (file)
@@ -20,6 +20,8 @@ class WP_Customize_Control {
         * Used when sorting two instances whose priorities are equal.
         *
         * @since 4.1.0
+        *
+        * @static
         * @access protected
         * @var int
         */
@@ -137,9 +139,9 @@ class WP_Customize_Control {
         *
         * @since 3.4.0
         *
-        * @param WP_Customize_Manager $manager
-        * @param string $id
-        * @param array $args
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+        * @param string               $id      Control ID.
+        * @param array                $args    Optional. Arguments to override class property defaults.
         */
        public function __construct( $manager, $id, $args = array() ) {
                $keys = array_keys( get_object_vars( $this ) );
@@ -215,7 +217,7 @@ class WP_Customize_Control {
         * @since 4.0.0
         * @access public
         *
-        * @return bool Always true.
+        * @return true Always true.
         */
        public function active_callback() {
                return true;
@@ -299,9 +301,7 @@ class WP_Customize_Control {
        final public function get_content() {
                ob_start();
                $this->maybe_render();
-               $template = trim( ob_get_contents() );
-               ob_end_clean();
-               return $template;
+               return trim( ob_get_clean() );
        }
 
        /**
@@ -568,9 +568,9 @@ class WP_Customize_Color_Control extends WP_Customize_Control {
         * @since 3.4.0
         * @uses WP_Customize_Control::__construct()
         *
-        * @param WP_Customize_Manager $manager
-        * @param string $id
-        * @param array $args
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+        * @param string               $id      Control ID.
+        * @param array                $args    Optional. Arguments to override class property defaults.
         */
        public function __construct( $manager, $id, $args = array() ) {
                $this->statuses = array( '' => __('Default') );
@@ -678,7 +678,9 @@ class WP_Customize_Media_Control extends WP_Customize_Control {
         * @since 4.1.0
         * @since 4.2.0 Moved from WP_Customize_Upload_Control.
         *
-        * @param WP_Customize_Manager $manager {@see WP_Customize_Manager} instance.
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+        * @param string               $id      Control ID.
+        * @param array                $args    Optional. Arguments to override class property defaults.
         */
        public function __construct( $manager, $id, $args = array() ) {
                parent::__construct( $manager, $id, $args );
@@ -714,8 +716,10 @@ class WP_Customize_Media_Control extends WP_Customize_Control {
         */
        public function to_json() {
                parent::to_json();
+               $this->json['label'] = html_entity_decode( $this->label, ENT_QUOTES, get_bloginfo( 'charset' ) );
                $this->json['mime_type'] = $this->mime_type;
                $this->json['button_labels'] = $this->button_labels;
+               $this->json['canUpload'] = current_user_can( 'upload_files' );
 
                $value = $this->value();
 
@@ -810,7 +814,7 @@ class WP_Customize_Media_Control extends WP_Customize_Control {
                                                                        </video>
                                                                </div>
                                                        <# } else { #>
-                                                               <img class="attachment-thumb type-icon" src="{{ data.attachment.icon }}" class="icon" draggable="false" />
+                                                               <img class="attachment-thumb type-icon icon" src="{{ data.attachment.icon }}" draggable="false" />
                                                                <p class="attachment-title">{{ data.attachment.title }}</p>
                                                        <# } #>
                                                </div>
@@ -818,9 +822,11 @@ class WP_Customize_Media_Control extends WP_Customize_Control {
                                </div>
                        </div>
                        <div class="actions">
+                               <# if ( data.canUpload ) { #>
                                <button type="button" class="button remove-button"><?php echo $this->button_labels['remove']; ?></button>
                                <button type="button" class="button upload-button" id="{{ data.settings['default'] }}-button"><?php echo $this->button_labels['change']; ?></button>
                                <div style="clear:both"></div>
+                               <# } #>
                        </div>
                <# } else { #>
                        <div class="current">
@@ -838,7 +844,9 @@ class WP_Customize_Media_Control extends WP_Customize_Control {
                                <# if ( data.defaultAttachment ) { #>
                                        <button type="button" class="button default-button"><?php echo $this->button_labels['default']; ?></button>
                                <# } #>
+                               <# if ( data.canUpload ) { #>
                                <button type="button" class="button upload-button" id="{{ data.settings['default'] }}-button"><?php echo $this->button_labels['select']; ?></button>
+                               <# } #>
                                <div style="clear:both"></div>
                        </div>
                <# } #>
@@ -899,9 +907,9 @@ class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
         * @since 3.4.0
         * @uses WP_Customize_Upload_Control::__construct()
         *
-        * @param WP_Customize_Manager $manager
-        * @param string $id
-        * @param array  $args
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+        * @param string               $id      Control ID.
+        * @param array                $args    Optional. Arguments to override class property defaults.
         */
        public function __construct( $manager, $id, $args = array() ) {
                parent::__construct( $manager, $id, $args );
@@ -967,7 +975,7 @@ class WP_Customize_Background_Image_Control extends WP_Customize_Image_Control {
         * @since 3.4.0
         * @uses WP_Customize_Image_Control::__construct()
         *
-        * @param WP_Customize_Manager $manager
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
         */
        public function __construct( $manager ) {
                parent::__construct( $manager, 'background_image', array(
@@ -992,6 +1000,127 @@ class WP_Customize_Background_Image_Control extends WP_Customize_Image_Control {
        }
 }
 
+/**
+ * Customize Cropped Image Control class.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Media_Control
+ */
+class WP_Customize_Cropped_Image_Control extends WP_Customize_Media_Control {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'cropped_image';
+
+       /**
+        * Suggested width for cropped image.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $width = 150;
+
+       /**
+        * Suggested height for cropped image.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $height = 150;
+
+       /**
+        * Whether the width is flexible.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var bool
+        */
+       public $flex_width = false;
+
+       /**
+        * Whether the height is flexible.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var bool
+        */
+       public $flex_height = false;
+
+       /**
+        * Enqueue control related scripts/styles.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function enqueue() {
+               wp_enqueue_script( 'customize-views' );
+
+               parent::enqueue();
+       }
+
+       /**
+        * Refresh the parameters passed to the JavaScript via JSON.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Control::to_json()
+        */
+       public function to_json() {
+               parent::to_json();
+
+               $this->json['width']       = absint( $this->width );
+               $this->json['height']      = absint( $this->height );
+               $this->json['flex_width']  = absint( $this->flex_width );
+               $this->json['flex_height'] = absint( $this->flex_height );
+       }
+
+}
+
+/**
+ * Customize Site Icon control class.
+ *
+ * Used only for custom functionality in JavaScript.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Cropped_Image_Control
+ */
+class WP_Customize_Site_Icon_Control extends WP_Customize_Cropped_Image_Control {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'site_icon';
+
+       /**
+        * Constructor.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+        * @param string               $id      Control ID.
+        * @param array                $args    Optional. Arguments to override class property defaults.
+        */
+       public function __construct( $manager, $id, $args = array() ) {
+               parent::__construct( $manager, $id, $args );
+               add_action( 'customize_controls_print_styles', 'wp_site_icon', 99 );
+       }
+}
+
 /**
  * Customize Header Image Control class.
  *
@@ -1005,7 +1134,11 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
        public $default_headers;
 
        /**
-        * @param WP_Customize_Manager $manager
+        * Constructor.
+        *
+        * @since 3.4.0
+        *
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
         */
        public function __construct( $manager ) {
                parent::__construct( $manager, 'header_image', array(
@@ -1021,6 +1154,9 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
 
        }
 
+       /**
+        * @access public
+        */
        public function enqueue() {
                wp_enqueue_media();
                wp_enqueue_script( 'customize-views' );
@@ -1046,6 +1182,10 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
                parent::enqueue();
        }
 
+       /**
+        *
+        * @global Custom_Image_Header $custom_image_header
+        */
        public function prepare_control() {
                global $custom_image_header;
                if ( empty( $custom_image_header ) ) {
@@ -1058,23 +1198,26 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
                $this->uploaded_headers = $custom_image_header->get_uploaded_header_images();
        }
 
+       /**
+        * @access public
+        */
        public function print_header_image_template() {
                ?>
                <script type="text/template" id="tmpl-header-choice">
                        <# if (data.random) { #>
-                                       <button type="button" class="button display-options random">
-                                               <span class="dashicons dashicons-randomize dice"></span>
-                                               <# if ( data.type === 'uploaded' ) { #>
-                                                       <?php _e( 'Randomize uploaded headers' ); ?>
-                                               <# } else if ( data.type === 'default' ) { #>
-                                                       <?php _e( 'Randomize suggested headers' ); ?>
-                                               <# } #>
-                                       </button>
+                       <button type="button" class="button display-options random">
+                               <span class="dashicons dashicons-randomize dice"></span>
+                               <# if ( data.type === 'uploaded' ) { #>
+                                       <?php _e( 'Randomize uploaded headers' ); ?>
+                               <# } else if ( data.type === 'default' ) { #>
+                                       <?php _e( 'Randomize suggested headers' ); ?>
+                               <# } #>
+                       </button>
 
                        <# } else { #>
 
                        <# if (data.type === 'uploaded') { #>
-                               <div class="dashicons dashicons-no close"></div>
+                               <button type="button" class="dashicons dashicons-no close"><span class="screen-reader-text"><?php _e( 'Remove image' ); ?></span></button>
                        <# } #>
 
                        <button type="button" class="choice thumbnail"
@@ -1123,23 +1266,26 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
                <?php
        }
 
+       /**
+        * @return string|void
+        */
        public function get_current_image_src() {
                $src = $this->value();
                if ( isset( $this->get_url ) ) {
                        $src = call_user_func( $this->get_url, $src );
                        return $src;
                }
-               return null;
        }
 
+       /**
+        * @access public
+        */
        public function render_content() {
                $this->print_header_image_template();
                $visibility = $this->get_current_image_src() ? '' : ' style="display:none" ';
                $width = absint( get_theme_support( 'custom-header', 'width' ) );
                $height = absint( get_theme_support( 'custom-header', 'height' ) );
                ?>
-
-
                <div class="customize-control-content">
                        <p class="customizer-section-intro">
                                <?php
@@ -1160,11 +1306,11 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
                                </div>
                        </div>
                        <div class="actions">
-                               <?php /* translators: Hide as in hide header image via the Customizer */ ?>
-                               <button type="button"<?php echo $visibility ?> class="button remove"><?php _ex( 'Hide image', 'custom header' ); ?></button>
-                               <?php /* translators: New as in add new header image via the Customizer */ ?>
-                               <button type="button" class="button new"><?php _ex( 'Add new image', 'header image' ); ?></button>
+                               <?php if ( current_user_can( 'upload_files' ) ): ?>
+                               <button type="button"<?php echo $visibility; ?> class="button remove" aria-label="<?php esc_attr_e( 'Hide header image' ); ?>"><?php _e( 'Hide image' ); ?></button>
+                               <button type="button" class="button new" aria-label="<?php esc_attr_e( 'Add new header image' ); ?>"><?php _e( 'Add new image' ); ?></button>
                                <div style="clear:both"></div>
+                               <?php endif; ?>
                        </div>
                        <div class="choices">
                                <span class="customize-control-title header-previously-uploaded">
@@ -1273,11 +1419,11 @@ class WP_Customize_Theme_Control extends WP_Customize_Control {
                                <h3 class="theme-name" id="{{ data.theme.id }}-name">
                                        <?php
                                        /* translators: %s: theme name */
-                                       printf( __( '<span>Active:</span> %s' ), '{{ data.theme.name }}' );
+                                       printf( __( '<span>Active:</span> %s' ), '{{{ data.theme.name }}}' );
                                        ?>
                                </h3>
                        <# } else { #>
-                               <h3 class="theme-name" id="{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
+                               <h3 class="theme-name" id="{{ data.theme.id }}-name">{{{ data.theme.name }}}</h3>
                                <div class="theme-actions">
                                        <button type="button" class="button theme-details"><?php _e( 'Theme Details' ); ?></button>
                                </div>
@@ -1306,6 +1452,9 @@ class WP_Widget_Area_Customize_Control extends WP_Customize_Control {
                }
        }
 
+       /**
+        * @access public
+        */
        public function render_content() {
                ?>
                <span class="button-secondary add-new-widget" tabindex="0">
@@ -1346,6 +1495,10 @@ class WP_Widget_Form_Customize_Control extends WP_Customize_Control {
                }
        }
 
+       /**
+        *
+        * @global array $wp_registered_widgets
+        */
        public function render_content() {
                global $wp_registered_widgets;
                require_once ABSPATH . '/wp-admin/includes/widgets.php';
@@ -1376,3 +1529,443 @@ class WP_Widget_Form_Customize_Control extends WP_Customize_Control {
                return $this->manager->widgets->is_widget_rendered( $this->widget_id );
        }
 }
+
+/**
+ * Customize Nav Menu Control Class.
+ *
+ * @since 4.3.0
+ */
+class WP_Customize_Nav_Menu_Control extends WP_Customize_Control {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'nav_menu';
+
+       /**
+        * The nav menu setting.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var WP_Customize_Nav_Menu_Setting
+        */
+       public $setting;
+
+       /**
+        * Don't render the control's content - it uses a JS template instead.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function render_content() {}
+
+       /**
+        * JS/Underscore template for the control UI.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function content_template() {
+               ?>
+               <button type="button" class="button-secondary add-new-menu-item" aria-label="<?php esc_attr_e( 'Add or remove menu items' ); ?>" aria-expanded="false" aria-controls="available-menu-items">
+                       <?php _e( 'Add Items' ); ?>
+               </button>
+               <button type="button" class="not-a-button reorder-toggle" aria-label="<?php esc_attr_e( 'Reorder menu items' ); ?>" aria-describedby="reorder-items-desc-{{ data.menu_id }}">
+                       <span class="reorder"><?php _ex( 'Reorder', 'Reorder menu items in Customizer' ); ?></span>
+                       <span class="reorder-done"><?php _ex( 'Done', 'Cancel reordering menu items in Customizer' ); ?></span>
+               </button>
+               <p class="screen-reader-text" id="reorder-items-desc-{{ data.menu_id }}"><?php _e( 'When in reorder mode, additional controls to reorder menu items will be available in the items list above.' ); ?></p>
+               <span class="add-menu-item-loading spinner"></span>
+               <span class="menu-delete-item">
+                       <button type="button" class="not-a-button menu-delete">
+                               <?php _e( 'Delete menu' ); ?> <span class="screen-reader-text">{{ data.menu_name }}</span>
+                       </button>
+               </span>
+               <?php if ( current_theme_supports( 'menus' ) ) : ?>
+               <ul class="menu-settings">
+                       <li class="customize-control">
+                               <span class="customize-control-title"><?php _e( 'Menu locations' ); ?></span>
+                       </li>
+
+                       <?php foreach ( get_registered_nav_menus() as $location => $description ) : ?>
+                       <li class="customize-control customize-control-checkbox assigned-menu-location">
+                               <label>
+                                       <input type="checkbox" data-menu-id="{{ data.menu_id }}" data-location-id="<?php echo esc_attr( $location ); ?>" class="menu-location" /> <?php echo $description; ?>
+                                       <span class="theme-location-set"><?php printf( _x( '(Current: %s)', 'Current menu location' ), '<span class="current-menu-location-name-' . esc_attr( $location ) . '"></span>' ); ?></span>
+                               </label>
+                       </li>
+                       <?php endforeach; ?>
+
+               </ul>
+               <?php endif;
+       }
+
+       /**
+        * Return parameters for this control.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @return array Exported parameters.
+        */
+       public function json() {
+               $exported            = parent::json();
+               $exported['menu_id'] = $this->setting->term_id;
+
+               return $exported;
+       }
+}
+
+/**
+ * Customize control to represent the name field for a given menu.
+ *
+ * @since 4.3.0
+ */
+class WP_Customize_Nav_Menu_Item_Control extends WP_Customize_Control {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'nav_menu_item';
+
+       /**
+        * The nav menu item setting.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var WP_Customize_Nav_Menu_Item_Setting
+        */
+       public $setting;
+
+       /**
+        * Constructor.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Control::__construct()
+        *
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+        * @param string               $id      The control ID.
+        * @param array                $args    Optional. Overrides class property defaults.
+        */
+       public function __construct( $manager, $id, $args = array() ) {
+               parent::__construct( $manager, $id, $args );
+       }
+
+       /**
+        * Don't render the control's content - it's rendered with a JS template.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function render_content() {}
+
+       /**
+        * JS/Underscore template for the control UI.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function content_template() {
+               ?>
+               <div class="menu-item-bar">
+                       <div class="menu-item-handle">
+                               <span class="item-type" aria-hidden="true">{{ data.item_type_label }}</span>
+                               <span class="item-title" aria-hidden="true">
+                                       <span class="spinner"></span>
+                                       <span class="menu-item-title<# if ( ! data.title ) { #> no-title<# } #>">{{ data.title || wp.customize.Menus.data.l10n.untitled }}</span>
+                               </span>
+                               <span class="item-controls">
+                                       <button type="button" class="not-a-button item-edit" aria-expanded="false"><span class="screen-reader-text"><?php
+                                               /* translators: 1: Title of a menu item, 2: Type of a menu item */
+                                               printf( __( 'Edit menu item: %1$s (%2$s)' ), '{{ data.title || wp.customize.Menus.data.l10n.untitled }}', '{{ data.item_type_label }}' );
+                                       ?></span><span class="toggle-indicator" aria-hidden="true"></span></button>
+                                       <button type="button" class="not-a-button item-delete submitdelete deletion"><span class="screen-reader-text"><?php
+                                               /* translators: 1: Title of a menu item, 2: Type of a menu item */
+                                               printf( __( 'Remove Menu Item: %1$s (%2$s)' ), '{{ data.title || wp.customize.Menus.data.l10n.untitled }}', '{{ data.item_type_label }}' );
+                                       ?></span></button>
+                               </span>
+                       </div>
+               </div>
+
+               <div class="menu-item-settings" id="menu-item-settings-{{ data.menu_item_id }}">
+                       <# if ( 'custom' === data.item_type ) { #>
+                       <p class="field-url description description-thin">
+                               <label for="edit-menu-item-url-{{ data.menu_item_id }}">
+                                       <?php _e( 'URL' ); ?><br />
+                                       <input class="widefat code edit-menu-item-url" type="text" id="edit-menu-item-url-{{ data.menu_item_id }}" name="menu-item-url" />
+                               </label>
+                       </p>
+               <# } #>
+                       <p class="description description-thin">
+                               <label for="edit-menu-item-title-{{ data.menu_item_id }}">
+                                       <?php _e( 'Navigation Label' ); ?><br />
+                                       <input type="text" id="edit-menu-item-title-{{ data.menu_item_id }}" class="widefat edit-menu-item-title" name="menu-item-title" />
+                               </label>
+                       </p>
+                       <p class="field-link-target description description-thin">
+                               <label for="edit-menu-item-target-{{ data.menu_item_id }}">
+                                       <input type="checkbox" id="edit-menu-item-target-{{ data.menu_item_id }}" class="edit-menu-item-target" value="_blank" name="menu-item-target" />
+                                       <?php _e( 'Open link in a new tab' ); ?>
+                               </label>
+                       </p>
+                       <p class="field-attr-title description description-thin">
+                               <label for="edit-menu-item-attr-title-{{ data.menu_item_id }}">
+                                       <?php _e( 'Title Attribute' ); ?><br />
+                                       <input type="text" id="edit-menu-item-attr-title-{{ data.menu_item_id }}" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title" />
+                               </label>
+                       </p>
+                       <p class="field-css-classes description description-thin">
+                               <label for="edit-menu-item-classes-{{ data.menu_item_id }}">
+                                       <?php _e( 'CSS Classes' ); ?><br />
+                                       <input type="text" id="edit-menu-item-classes-{{ data.menu_item_id }}" class="widefat code edit-menu-item-classes" name="menu-item-classes" />
+                               </label>
+                       </p>
+                       <p class="field-xfn description description-thin">
+                               <label for="edit-menu-item-xfn-{{ data.menu_item_id }}">
+                                       <?php _e( 'Link Relationship (XFN)' ); ?><br />
+                                       <input type="text" id="edit-menu-item-xfn-{{ data.menu_item_id }}" class="widefat code edit-menu-item-xfn" name="menu-item-xfn" />
+                               </label>
+                       </p>
+                       <p class="field-description description description-thin">
+                               <label for="edit-menu-item-description-{{ data.menu_item_id }}">
+                                       <?php _e( 'Description' ); ?><br />
+                                       <textarea id="edit-menu-item-description-{{ data.menu_item_id }}" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description">{{ data.description }}</textarea>
+                                       <span class="description"><?php _e( 'The description will be displayed in the menu if the current theme supports it.' ); ?></span>
+                               </label>
+                       </p>
+
+                       <div class="menu-item-actions description-thin submitbox">
+                               <# if ( ( 'post_type' === data.item_type || 'taxonomy' === data.item_type ) && '' !== data.original_title ) { #>
+                               <p class="link-to-original">
+                                       <?php printf( __( 'Original: %s' ), '<a class="original-link" href="{{ data.url }}">{{ data.original_title }}</a>' ); ?>
+                               </p>
+                               <# } #>
+
+                               <button type="button" class="not-a-button item-delete submitdelete deletion"><?php _e( 'Remove' ); ?></button>
+                               <span class="spinner"></span>
+                       </div>
+                       <input type="hidden" name="menu-item-db-id[{{ data.menu_item_id }}]" class="menu-item-data-db-id" value="{{ data.menu_item_id }}" />
+                       <input type="hidden" name="menu-item-parent-id[{{ data.menu_item_id }}]" class="menu-item-data-parent-id" value="{{ data.parent }}" />
+               </div><!-- .menu-item-settings-->
+               <ul class="menu-item-transport"></ul>
+               <?php
+       }
+
+       /**
+        * Return parameters for this control.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @return array Exported parameters.
+        */
+       public function json() {
+               $exported                 = parent::json();
+               $exported['menu_item_id'] = $this->setting->post_id;
+
+               return $exported;
+       }
+}
+
+/**
+ * Customize Menu Location Control Class.
+ *
+ * This custom control is only needed for JS.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Control
+ */
+class WP_Customize_Nav_Menu_Location_Control extends WP_Customize_Control {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'nav_menu_location';
+
+       /**
+        * Location ID.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $location_id = '';
+
+       /**
+        * Refresh the parameters passed to JavaScript via JSON.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Control::to_json()
+        */
+       public function to_json() {
+               parent::to_json();
+               $this->json['locationId'] = $this->location_id;
+       }
+
+       /**
+        * Render content just like a normal select control.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function render_content() {
+               if ( empty( $this->choices ) ) {
+                       return;
+               }
+               ?>
+               <label>
+                       <?php if ( ! empty( $this->label ) ) : ?>
+                       <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+                       <?php endif; ?>
+
+                       <?php if ( ! empty( $this->description ) ) : ?>
+                       <span class="description customize-control-description"><?php echo $this->description; ?></span>
+                       <?php endif; ?>
+
+                       <select <?php $this->link(); ?>>
+                               <?php
+                               foreach ( $this->choices as $value => $label ) :
+                                       echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>';
+                               endforeach;
+                               ?>
+                       </select>
+               </label>
+               <?php
+       }
+}
+
+/**
+ * Customize control to represent the name field for a given menu.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Control
+ */
+class WP_Customize_Nav_Menu_Name_Control extends WP_Customize_Control {
+
+       /**
+        * Type of control, used by JS.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'nav_menu_name';
+
+       /**
+        * No-op since we're using JS template.
+        *
+        * @since 4.3.0
+        * @access protected
+        */
+       protected function render_content() {}
+
+       /**
+        * Render the Underscore template for this control.
+        *
+        * @since 4.3.0
+        * @access protected
+        */
+       protected function content_template() {
+               ?>
+               <label>
+                       <# if ( data.label ) { #>
+                               <span class="customize-control-title screen-reader-text">{{ data.label }}</span>
+                       <# } #>
+                       <input type="text" class="menu-name-field live-update-section-title" />
+               </label>
+               <?php
+       }
+}
+
+/**
+ * Customize control to represent the auto_add field for a given menu.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Control
+ */
+class WP_Customize_Nav_Menu_Auto_Add_Control extends WP_Customize_Control {
+
+       /**
+        * Type of control, used by JS.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'nav_menu_auto_add';
+
+       /**
+        * No-op since we're using JS template.
+        *
+        * @since 4.3.0
+        * @access protected
+        */
+       protected function render_content() {}
+
+       /**
+        * Render the Underscore template for this control.
+        *
+        * @since 4.3.0
+        * @access protected
+        */
+       protected function content_template() {
+               ?>
+               <span class="customize-control-title"><?php _e( 'Menu options' ); ?></span>
+               <label>
+                       <input type="checkbox" class="auto_add" />
+                       <?php _e( 'Automatically add new top-level pages to this menu' ); ?>
+               </label>
+               <?php
+       }
+}
+
+/**
+ * Customize control class for new menus.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Control
+ */
+class WP_Customize_New_Menu_Control extends WP_Customize_Control {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'new_menu';
+
+       /**
+        * Render the control's content.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function render_content() {
+               ?>
+               <button type="button" class="button button-primary" id="create-new-menu-submit"><?php _e( 'Create Menu' ); ?></button>
+               <span class="spinner"></span>
+               <?php
+       }
+}
index 8d78bddaef092b44a470b08a840dac710d3b39ab..9cac338591189dc687fab0b940466d838c4f36bd 100644 (file)
@@ -38,7 +38,7 @@ final class WP_Customize_Manager {
        /**
         * Whether this is a Customizer pageload.
         *
-        * @var boolean
+        * @var bool
         */
        protected $previewing = false;
 
@@ -49,6 +49,13 @@ final class WP_Customize_Manager {
         */
        public $widgets;
 
+       /**
+        * Methods and properties deailing with managing nav menus in the Customizer.
+        *
+        * @var WP_Customize_Nav_Menus
+        */
+       public $nav_menus;
+
        protected $settings   = array();
        protected $containers = array();
        protected $panels     = array();
@@ -60,7 +67,25 @@ final class WP_Customize_Manager {
        protected $customized;
 
        /**
-        * Controls that may be rendered from JS templates.
+        * Panel types that may be rendered from JS templates.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var array
+        */
+       protected $registered_panel_types = array();
+
+       /**
+        * Section types that may be rendered from JS templates.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var array
+        */
+       protected $registered_section_types = array();
+
+       /**
+        * Control types that may be rendered from JS templates.
         *
         * @since 4.1.0
         * @access protected
@@ -86,8 +111,10 @@ final class WP_Customize_Manager {
                require_once( ABSPATH . WPINC . '/class-wp-customize-section.php' );
                require_once( ABSPATH . WPINC . '/class-wp-customize-control.php' );
                require_once( ABSPATH . WPINC . '/class-wp-customize-widgets.php' );
+               require_once( ABSPATH . WPINC . '/class-wp-customize-nav-menus.php' );
 
                $this->widgets = new WP_Customize_Widgets( $this );
+               $this->nav_menus = new WP_Customize_Nav_Menus( $this );
 
                add_filter( 'wp_die_handler', array( $this, 'wp_die_handler' ) );
 
@@ -612,19 +639,29 @@ final class WP_Customize_Manager {
                }
 
                foreach ( $this->settings as $id => $setting ) {
-                       $settings['values'][ $id ] = $setting->js_value();
+                       if ( $setting->check_capabilities() ) {
+                               $settings['values'][ $id ] = $setting->js_value();
+                       }
                }
-               foreach ( $this->panels as $id => $panel ) {
-                       $settings['activePanels'][ $id ] = $panel->active();
-                       foreach ( $panel->sections as $id => $section ) {
-                               $settings['activeSections'][ $id ] = $section->active();
+               foreach ( $this->panels as $panel_id => $panel ) {
+                       if ( $panel->check_capabilities() ) {
+                               $settings['activePanels'][ $panel_id ] = $panel->active();
+                               foreach ( $panel->sections as $section_id => $section ) {
+                                       if ( $section->check_capabilities() ) {
+                                               $settings['activeSections'][ $section_id ] = $section->active();
+                                       }
+                               }
                        }
                }
                foreach ( $this->sections as $id => $section ) {
-                       $settings['activeSections'][ $id ] = $section->active();
+                       if ( $section->check_capabilities() ) {
+                               $settings['activeSections'][ $id ] = $section->active();
+                       }
                }
                foreach ( $this->controls as $id => $control ) {
-                       $settings['activeControls'][ $id ] = $control->active();
+                       if ( $control->check_capabilities() ) {
+                               $settings['activeControls'][ $id ] = $control->active();
+                       }
                }
 
                ?>
@@ -647,6 +684,8 @@ final class WP_Customize_Manager {
         * Removes the signature in case we experience a case where the Customizer was not properly executed.
         *
         * @since 3.4.0
+        *
+        * @return mixed
         */
        public function remove_preview_signature( $return = null ) {
                remove_action( 'shutdown', array( $this, 'customize_preview_signature' ), 1000 );
@@ -841,7 +880,7 @@ final class WP_Customize_Manager {
         *
         * @since 4.2.0
         *
-        * @param string $setting_ids The setting IDs to add.
+        * @param array $setting_ids The setting IDs to add.
         * @return WP_Customize_Setting The settings added.
         */
        public function add_dynamic_settings( $setting_ids ) {
@@ -879,7 +918,7 @@ final class WP_Customize_Manager {
                         *
                         * @param string $setting_class WP_Customize_Setting or a subclass.
                         * @param string $setting_id    ID for dynamic setting, usually coming from `$_POST['customized']`.
-                        * @param string $setting_args  WP_Customize_Setting or a subclass.
+                        * @param array  $setting_args  WP_Customize_Setting or a subclass.
                         */
                        $setting_class = apply_filters( 'customize_dynamic_setting_class', $setting_class, $setting_id, $setting_args );
 
@@ -897,7 +936,7 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         *
         * @param string $id Customize Setting ID.
-        * @return WP_Customize_Setting
+        * @return WP_Customize_Setting|void The setting, if set.
         */
        public function get_setting( $id ) {
                if ( isset( $this->settings[ $id ] ) ) {
@@ -942,7 +981,7 @@ final class WP_Customize_Manager {
         * @access public
         *
         * @param string $id Panel ID to get.
-        * @return WP_Customize_Panel Requested panel instance.
+        * @return WP_Customize_Panel|void Requested panel instance, if set.
         */
        public function get_panel( $id ) {
                if ( isset( $this->panels[ $id ] ) ) {
@@ -962,6 +1001,35 @@ final class WP_Customize_Manager {
                unset( $this->panels[ $id ] );
        }
 
+       /**
+        * Register a customize panel type.
+        *
+        * Registered types are eligible to be rendered via JS and created dynamically.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Panel
+        *
+        * @param string $panel Name of a custom panel which is a subclass of WP_Customize_Panel.
+        */
+       public function register_panel_type( $panel ) {
+               $this->registered_panel_types[] = $panel;
+       }
+
+       /**
+        * Render JS templates for all registered panel types.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function render_panel_templates() {
+               foreach ( $this->registered_panel_types as $panel_type ) {
+                       $panel = new $panel_type( $this, 'temp', array() );
+                       $panel->print_template();
+               }
+       }
+
        /**
         * Add a customize section.
         *
@@ -985,7 +1053,7 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         *
         * @param string $id Section ID.
-        * @return WP_Customize_Section
+        * @return WP_Customize_Section|void The section, if set.
         */
        public function get_section( $id ) {
                if ( isset( $this->sections[ $id ] ) )
@@ -1003,6 +1071,35 @@ final class WP_Customize_Manager {
                unset( $this->sections[ $id ] );
        }
 
+       /**
+        * Register a customize section type.
+        *
+        * Registered types are eligible to be rendered via JS and created dynamically.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Section
+        *
+        * @param string $section Name of a custom section which is a subclass of WP_Customize_Section.
+        */
+       public function register_section_type( $section ) {
+               $this->registered_section_types[] = $section;
+       }
+
+       /**
+        * Render JS templates for all registered section types.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function render_section_templates() {
+               foreach ( $this->registered_section_types as $section_type ) {
+                       $section = new $section_type( $this, 'temp', array() );
+                       $section->print_template();
+               }
+       }
+
        /**
         * Add a customize control.
         *
@@ -1027,7 +1124,7 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         *
         * @param string $id ID of the control.
-        * @return WP_Customize_Control $control The control object.
+        * @return WP_Customize_Control|void The control object, if set.
         */
        public function get_control( $id ) {
                if ( isset( $this->controls[ $id ] ) )
@@ -1119,7 +1216,7 @@ final class WP_Customize_Manager {
                $sections = array();
 
                foreach ( $this->sections as $section ) {
-                       if ( ! $section->check_capabilities() || ! $section->controls ) {
+                       if ( ! $section->check_capabilities() ) {
                                continue;
                        }
 
@@ -1142,7 +1239,7 @@ final class WP_Customize_Manager {
                $panels = array();
 
                foreach ( $this->panels as $panel ) {
-                       if ( ! $panel->check_capabilities() || ! $panel->sections ) {
+                       if ( ! $panel->check_capabilities() ) {
                                continue;
                        }
 
@@ -1174,12 +1271,17 @@ final class WP_Customize_Manager {
         */
        public function register_controls() {
 
-               /* Control Types (custom control classes) */
+               /* Panel, Section, and Control Types */
+               $this->register_panel_type( 'WP_Customize_Panel' );
+               $this->register_section_type( 'WP_Customize_Section' );
+               $this->register_section_type( 'WP_Customize_Sidebar_Section' );
                $this->register_control_type( 'WP_Customize_Color_Control' );
                $this->register_control_type( 'WP_Customize_Media_Control' );
                $this->register_control_type( 'WP_Customize_Upload_Control' );
                $this->register_control_type( 'WP_Customize_Image_Control' );
                $this->register_control_type( 'WP_Customize_Background_Image_Control' );
+               $this->register_control_type( 'WP_Customize_Cropped_Image_Control' );
+               $this->register_control_type( 'WP_Customize_Site_Icon_Control' );
                $this->register_control_type( 'WP_Customize_Theme_Control' );
 
                /* Themes */
@@ -1226,10 +1328,10 @@ final class WP_Customize_Manager {
                        ) ) );
                }
 
-               /* Site Title & Tagline */
+               /* Site Identity */
 
                $this->add_section( 'title_tagline', array(
-                       'title'    => __( 'Site Title & Tagline' ),
+                       'title'    => __( 'Site Identity' ),
                        'priority' => 20,
                ) );
 
@@ -1255,6 +1357,21 @@ final class WP_Customize_Manager {
                        'section'    => 'title_tagline',
                ) );
 
+               $this->add_setting( 'site_icon', array(
+                       'type'       => 'option',
+                       'capability' => 'manage_options',
+                       'transport'  => 'postMessage', // Previewed with JS in the Customizer controls window.
+               ) );
+
+               $this->add_control( new WP_Customize_Site_Icon_Control( $this, 'site_icon', array(
+                       'label'       => __( 'Site Icon' ),
+                       'description' => __( 'The Site Icon is used as a browser and app icon for your site. Icons must be square, and at least 512px wide and tall.' ),
+                       'section'     => 'title_tagline',
+                       'priority'    => 60,
+                       'height'      => 512,
+                       'width'       => 512,
+               ) ) );
+
                /* Colors */
 
                $this->add_section( 'colors', array(
@@ -1277,6 +1394,7 @@ final class WP_Customize_Manager {
                        'label'    => __( 'Display Header Text' ),
                        'section'  => 'title_tagline',
                        'type'     => 'checkbox',
+                       'priority' => 40,
                ) );
 
                $this->add_control( new WP_Customize_Color_Control( $this, 'header_textcolor', array(
@@ -1395,48 +1513,6 @@ final class WP_Customize_Manager {
                        }
                }
 
-               /* Nav Menus */
-
-               $locations      = get_registered_nav_menus();
-               $menus          = wp_get_nav_menus();
-               $num_locations  = count( array_keys( $locations ) );
-
-               if ( 1 == $num_locations ) {
-                       $description = __( 'Your theme supports one menu. Select which menu you would like to use.' );
-               } else {
-                       $description = sprintf( _n( 'Your theme supports %s menu. Select which menu appears in each location.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) );
-               }
-
-               $this->add_section( 'nav', array(
-                       'title'          => __( 'Navigation' ),
-                       'theme_supports' => 'menus',
-                       'priority'       => 100,
-                       'description'    => $description . "\n\n" . __( 'You can edit your menu content on the Menus screen in the Appearance section.' ),
-               ) );
-
-               if ( $menus ) {
-                       $choices = array( '' => __( '&mdash; Select &mdash;' ) );
-                       foreach ( $menus as $menu ) {
-                               $choices[ $menu->term_id ] = wp_html_excerpt( $menu->name, 40, '&hellip;' );
-                       }
-
-                       foreach ( $locations as $location => $description ) {
-                               $menu_setting_id = "nav_menu_locations[{$location}]";
-
-                               $this->add_setting( $menu_setting_id, array(
-                                       'sanitize_callback' => 'absint',
-                                       'theme_supports'    => 'menus',
-                               ) );
-
-                               $this->add_control( $menu_setting_id, array(
-                                       'label'   => $description,
-                                       'section' => 'nav',
-                                       'type'    => 'select',
-                                       'choices' => $choices,
-                               ) );
-                       }
-               }
-
                /* Static Front Page */
                // #WP19627
 
@@ -1513,7 +1589,7 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         *
         * @param string $color
-        * @return string
+        * @return mixed
         */
        public function _sanitize_header_textcolor( $color ) {
                if ( 'blank' === $color )
@@ -1530,13 +1606,13 @@ final class WP_Customize_Manager {
 /**
  * Sanitizes a hex color.
  *
- * Returns either '', a 3 or 6 digit hex color (with #), or null.
+ * Returns either '', a 3 or 6 digit hex color (with #), or nothing.
  * For sanitizing values without a #, see sanitize_hex_color_no_hash().
  *
  * @since 3.4.0
  *
  * @param string $color
- * @return string|null
+ * @return string|void
  */
 function sanitize_hex_color( $color ) {
        if ( '' === $color )
@@ -1545,8 +1621,6 @@ function sanitize_hex_color( $color ) {
        // 3 or 6 hex digits, or the empty string.
        if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
                return $color;
-
-       return null;
 }
 
 /**
diff --git a/wp-includes/class-wp-customize-nav-menus.php b/wp-includes/class-wp-customize-nav-menus.php
new file mode 100644 (file)
index 0000000..fb1633b
--- /dev/null
@@ -0,0 +1,1001 @@
+<?php
+/**
+ * WordPress Customize Nav Menus classes
+ *
+ * @package WordPress
+ * @subpackage Customize
+ * @since 4.3.0
+ */
+
+/**
+ * Customize Nav Menus class.
+ *
+ * Implements menu management in the Customizer.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Manager
+ */
+final class WP_Customize_Nav_Menus {
+
+       /**
+        * WP_Customize_Manager instance.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var WP_Customize_Manager
+        */
+       public $manager;
+
+       /**
+        * Previewed Menus.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var array
+        */
+       public $previewed_menus;
+
+       /**
+        * Constructor.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param object $manager An instance of the WP_Customize_Manager class.
+        */
+       public function __construct( $manager ) {
+               $this->previewed_menus = array();
+               $this->manager         = $manager;
+
+               add_action( 'wp_ajax_load-available-menu-items-customizer', array( $this, 'ajax_load_available_items' ) );
+               add_action( 'wp_ajax_search-available-menu-items-customizer', array( $this, 'ajax_search_available_items' ) );
+               add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
+
+               // Needs to run after core Navigation section is set up.
+               add_action( 'customize_register', array( $this, 'customize_register' ), 11 );
+
+               add_filter( 'customize_dynamic_setting_args', array( $this, 'filter_dynamic_setting_args' ), 10, 2 );
+               add_filter( 'customize_dynamic_setting_class', array( $this, 'filter_dynamic_setting_class' ), 10, 3 );
+               add_action( 'customize_controls_print_footer_scripts', array( $this, 'print_templates' ) );
+               add_action( 'customize_controls_print_footer_scripts', array( $this, 'available_items_template' ) );
+               add_action( 'customize_preview_init', array( $this, 'customize_preview_init' ) );
+       }
+
+       /**
+        * Ajax handler for loading available menu items.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function ajax_load_available_items() {
+               check_ajax_referer( 'customize-menus', 'customize-menus-nonce' );
+
+               if ( ! current_user_can( 'edit_theme_options' ) ) {
+                       wp_die( -1 );
+               }
+
+               if ( empty( $_POST['type'] ) || empty( $_POST['object'] ) ) {
+                       wp_send_json_error( 'nav_menus_missing_type_or_object_parameter' );
+               }
+
+               $type = sanitize_key( $_POST['type'] );
+               $object = sanitize_key( $_POST['object'] );
+               $page = empty( $_POST['page'] ) ? 0 : absint( $_POST['page'] );
+               $items = $this->load_available_items_query( $type, $object, $page );
+
+               if ( is_wp_error( $items ) ) {
+                       wp_send_json_error( $items->get_error_code() );
+               } else {
+                       wp_send_json_success( array( 'items' => $items ) );
+               }
+       }
+
+       /**
+        * Performs the post_type and taxonomy queries for loading available menu items.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param string $type   Optional. Accepts any custom object type and has built-in support for
+        *                         'post_type' and 'taxonomy'. Default is 'post_type'.
+        * @param string $object Optional. Accepts any registered taxonomy or post type name. Default is 'page'.
+        * @param int    $page   Optional. The page number used to generate the query offset. Default is '0'.
+        * @return WP_Error|array Returns either a WP_Error object or an array of menu items.
+        */
+       public function load_available_items_query( $type = 'post_type', $object = 'page', $page = 0 ) {
+               $items = array();
+
+               if ( 'post_type' === $type ) {
+                       if ( ! get_post_type_object( $object ) ) {
+                               return new WP_Error( 'nav_menus_invalid_post_type' );
+                       }
+
+                       if ( 0 === $page && 'page' === $object ) {
+                               // Add "Home" link. Treat as a page, but switch to custom on add.
+                               $items[] = array(
+                                       'id'         => 'home',
+                                       'title'      => _x( 'Home', 'nav menu home label' ),
+                                       'type'       => 'custom',
+                                       'type_label' => __( 'Custom Link' ),
+                                       'object'     => '',
+                                       'url'        => home_url(),
+                               );
+                       }
+
+                       $posts = get_posts( array(
+                               'numberposts' => 10,
+                               'offset'      => 10 * $page,
+                               'orderby'     => 'date',
+                               'order'       => 'DESC',
+                               'post_type'   => $object,
+                       ) );
+                       foreach ( $posts as $post ) {
+                               $post_title = $post->post_title;
+                               if ( '' === $post_title ) {
+                                       /* translators: %d: ID of a post */
+                                       $post_title = sprintf( __( '#%d (no title)' ), $post->ID );
+                               }
+                               $items[] = array(
+                                       'id'         => "post-{$post->ID}",
+                                       'title'      => html_entity_decode( $post_title, ENT_QUOTES, get_bloginfo( 'charset' ) ),
+                                       'type'       => 'post_type',
+                                       'type_label' => get_post_type_object( $post->post_type )->labels->singular_name,
+                                       'object'     => $post->post_type,
+                                       'object_id'  => intval( $post->ID ),
+                                       'url'        => get_permalink( intval( $post->ID ) ),
+                               );
+                       }
+               } elseif ( 'taxonomy' === $type ) {
+                       $terms = get_terms( $object, array(
+                               'child_of'     => 0,
+                               'exclude'      => '',
+                               'hide_empty'   => false,
+                               'hierarchical' => 1,
+                               'include'      => '',
+                               'number'       => 10,
+                               'offset'       => 10 * $page,
+                               'order'        => 'DESC',
+                               'orderby'      => 'count',
+                               'pad_counts'   => false,
+                       ) );
+                       if ( is_wp_error( $terms ) ) {
+                               return $terms;
+                       }
+
+                       foreach ( $terms as $term ) {
+                               $items[] = array(
+                                       'id'         => "term-{$term->term_id}",
+                                       'title'      => html_entity_decode( $term->name, ENT_QUOTES, get_bloginfo( 'charset' ) ),
+                                       'type'       => 'taxonomy',
+                                       'type_label' => get_taxonomy( $term->taxonomy )->labels->singular_name,
+                                       'object'     => $term->taxonomy,
+                                       'object_id'  => intval( $term->term_id ),
+                                       'url'        => get_term_link( intval( $term->term_id ), $term->taxonomy ),
+                               );
+                       }
+               }
+
+               /**
+                * Filter the available menu items.
+                *
+                * @since 4.3.0
+                *
+                * @param array  $items  The array of menu items.
+                * @param string $type   The object type.
+                * @param string $object The object name.
+                * @param int    $page   The current page number.
+                */
+               $items = apply_filters( 'customize_nav_menu_available_items', $items, $type, $object, $page );
+
+               return $items;
+       }
+
+       /**
+        * Ajax handler for searching available menu items.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function ajax_search_available_items() {
+               check_ajax_referer( 'customize-menus', 'customize-menus-nonce' );
+
+               if ( ! current_user_can( 'edit_theme_options' ) ) {
+                       wp_die( -1 );
+               }
+
+               if ( empty( $_POST['search'] ) ) {
+                       wp_send_json_error( 'nav_menus_missing_search_parameter' );
+               }
+
+               $p = isset( $_POST['page'] ) ? absint( $_POST['page'] ) : 0;
+               if ( $p < 1 ) {
+                       $p = 1;
+               }
+
+               $s = sanitize_text_field( wp_unslash( $_POST['search'] ) );
+               $items = $this->search_available_items_query( array( 'pagenum' => $p, 's' => $s ) );
+
+               if ( empty( $items ) ) {
+                       wp_send_json_error( array( 'message' => __( 'No results found.' ) ) );
+               } else {
+                       wp_send_json_success( array( 'items' => $items ) );
+               }
+       }
+
+       /**
+        * Performs post queries for available-item searching.
+        *
+        * Based on WP_Editor::wp_link_query().
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $args Optional. Accepts 'pagenum' and 's' (search) arguments.
+        * @return array Menu items.
+        */
+       public function search_available_items_query( $args = array() ) {
+               $items = array();
+
+               $post_type_objects = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' );
+               $query = array(
+                       'post_type'              => array_keys( $post_type_objects ),
+                       'suppress_filters'       => true,
+                       'update_post_term_cache' => false,
+                       'update_post_meta_cache' => false,
+                       'post_status'            => 'publish',
+                       'posts_per_page'         => 20,
+               );
+
+               $args['pagenum'] = isset( $args['pagenum'] ) ? absint( $args['pagenum'] ) : 1;
+               $query['offset'] = $args['pagenum'] > 1 ? $query['posts_per_page'] * ( $args['pagenum'] - 1 ) : 0;
+
+               if ( isset( $args['s'] ) ) {
+                       $query['s'] = $args['s'];
+               }
+
+               // Query posts.
+               $get_posts = new WP_Query( $query );
+
+               // Check if any posts were found.
+               if ( $get_posts->post_count ) {
+                       foreach ( $get_posts->posts as $post ) {
+                               $post_title = $post->post_title;
+                               if ( '' === $post_title ) {
+                                       /* translators: %d: ID of a post */
+                                       $post_title = sprintf( __( '#%d (no title)' ), $post->ID );
+                               }
+                               $items[] = array(
+                                       'id'         => 'post-' . $post->ID,
+                                       'title'      => html_entity_decode( $post_title, ENT_QUOTES, get_bloginfo( 'charset' ) ),
+                                       'type'       => 'post_type',
+                                       'type_label' => $post_type_objects[ $post->post_type ]->labels->singular_name,
+                                       'object'     => $post->post_type,
+                                       'object_id'  => intval( $post->ID ),
+                                       'url'        => get_permalink( intval( $post->ID ) ),
+                               );
+                       }
+               }
+
+               // Query taxonomy terms.
+               $taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'names' );
+               $terms = get_terms( $taxonomies, array(
+                       'name__like' => $args['s'],
+                       'number'     => 20,
+                       'offset'     => 20 * ($args['pagenum'] - 1),
+               ) );
+
+               // Check if any taxonomies were found.
+               if ( ! empty( $terms ) ) {
+                       foreach ( $terms as $term ) {
+                               $items[] = array(
+                                       'id'         => 'term-' . $term->term_id,
+                                       'title'      => html_entity_decode( $term->name, ENT_QUOTES, get_bloginfo( 'charset' ) ),
+                                       'type'       => 'taxonomy',
+                                       'type_label' => get_taxonomy( $term->taxonomy )->labels->singular_name,
+                                       'object'     => $term->taxonomy,
+                                       'object_id'  => intval( $term->term_id ),
+                                       'url'        => get_term_link( intval( $term->term_id ), $term->taxonomy ),
+                               );
+                       }
+               }
+
+               return $items;
+       }
+
+       /**
+        * Enqueue scripts and styles for Customizer pane.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function enqueue_scripts() {
+               wp_enqueue_style( 'customize-nav-menus' );
+               wp_enqueue_script( 'customize-nav-menus' );
+
+               $temp_nav_menu_setting      = new WP_Customize_Nav_Menu_Setting( $this->manager, 'nav_menu[-1]' );
+               $temp_nav_menu_item_setting = new WP_Customize_Nav_Menu_Item_Setting( $this->manager, 'nav_menu_item[-1]' );
+
+               // Pass data to JS.
+               $settings = array(
+                       'nonce'                => wp_create_nonce( 'customize-menus' ),
+                       'allMenus'             => wp_get_nav_menus(),
+                       'itemTypes'            => $this->available_item_types(),
+                       'l10n'                 => array(
+                               'untitled'          => _x( '(no label)', 'missing menu item navigation label' ),
+                               'unnamed'           => _x( '(unnamed)', 'Missing menu name.' ),
+                               'custom_label'      => __( 'Custom Link' ),
+                               /* translators: %s: Current menu location */
+                               'menuLocation'      => __( '(Currently set to: %s)' ),
+                               'menuNameLabel'     => __( 'Menu Name' ),
+                               'itemAdded'         => __( 'Menu item added' ),
+                               'itemDeleted'       => __( 'Menu item deleted' ),
+                               'menuAdded'         => __( 'Menu created' ),
+                               'menuDeleted'       => __( 'Menu deleted' ),
+                               'movedUp'           => __( 'Menu item moved up' ),
+                               'movedDown'         => __( 'Menu item moved down' ),
+                               'movedLeft'         => __( 'Menu item moved out of submenu' ),
+                               'movedRight'        => __( 'Menu item is now a sub-item' ),
+                               /* translators: &#9656; is the unicode right-pointing triangle, and %s is the section title in the Customizer */
+                               'customizingMenus'  => sprintf( __( 'Customizing &#9656; %s' ), esc_html( $this->manager->get_panel( 'nav_menus' )->title ) ),
+                               /* translators: %s: title of menu item which is invalid */
+                               'invalidTitleTpl'   => __( '%s (Invalid)' ),
+                               /* translators: %s: title of menu item in draft status */
+                               'pendingTitleTpl'   => __( '%s (Pending)' ),
+                               'taxonomyTermLabel' => __( 'Taxonomy' ),
+                               'postTypeLabel'     => __( 'Post Type' ),
+                               'itemsFound'        => __( 'Number of items found: %d' ),
+                               'itemsFoundMore'    => __( 'Additional items found: %d' ),
+                               'itemsLoadingMore'  => __( 'Loading more results... please wait.' ),
+                               'reorderModeOn'     => __( 'Reorder mode enabled' ),
+                               'reorderModeOff'    => __( 'Reorder mode closed' ),
+                               'reorderLabelOn'    => esc_attr__( 'Reorder menu items' ),
+                               'reorderLabelOff'   => esc_attr__( 'Close reorder mode' ),
+                       ),
+                       'menuItemTransport'    => 'postMessage',
+                       'phpIntMax'            => PHP_INT_MAX,
+                       'defaultSettingValues' => array(
+                               'nav_menu'      => $temp_nav_menu_setting->default,
+                               'nav_menu_item' => $temp_nav_menu_item_setting->default,
+                       ),
+               );
+
+               $data = sprintf( 'var _wpCustomizeNavMenusSettings = %s;', wp_json_encode( $settings ) );
+               wp_scripts()->add_data( 'customize-nav-menus', 'data', $data );
+
+               // This is copied from nav-menus.php, and it has an unfortunate object name of `menus`.
+               $nav_menus_l10n = array(
+                       'oneThemeLocationNoMenus' => null,
+                       'moveUp'       => __( 'Move up one' ),
+                       'moveDown'     => __( 'Move down one' ),
+                       'moveToTop'    => __( 'Move to the top' ),
+                       /* translators: %s: previous item name */
+                       'moveUnder'    => __( 'Move under %s' ),
+                       /* translators: %s: previous item name */
+                       'moveOutFrom'  => __( 'Move out from under %s' ),
+                       /* translators: %s: previous item name */
+                       'under'        => __( 'Under %s' ),
+                       /* translators: %s: previous item name */
+                       'outFrom'      => __( 'Out from under %s' ),
+                       /* translators: 1: item name, 2: item position, 3: total number of items */
+                       'menuFocus'    => __( '%1$s. Menu item %2$d of %3$d.' ),
+                       /* translators: 1: item name, 2: item position, 3: parent item name */
+                       'subMenuFocus' => __( '%1$s. Sub item number %2$d under %3$s.' ),
+               );
+               wp_localize_script( 'nav-menu', 'menus', $nav_menus_l10n );
+       }
+
+       /**
+        * Filter a dynamic setting's constructor args.
+        *
+        * For a dynamic setting to be registered, this filter must be employed
+        * to override the default false value with an array of args to pass to
+        * the WP_Customize_Setting constructor.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param false|array $setting_args The arguments to the WP_Customize_Setting constructor.
+        * @param string      $setting_id   ID for dynamic setting, usually coming from `$_POST['customized']`.
+        * @return array|false
+        */
+       public function filter_dynamic_setting_args( $setting_args, $setting_id ) {
+               if ( preg_match( WP_Customize_Nav_Menu_Setting::ID_PATTERN, $setting_id ) ) {
+                       $setting_args = array(
+                               'type' => WP_Customize_Nav_Menu_Setting::TYPE,
+                       );
+               } elseif ( preg_match( WP_Customize_Nav_Menu_Item_Setting::ID_PATTERN, $setting_id ) ) {
+                       $setting_args = array(
+                               'type' => WP_Customize_Nav_Menu_Item_Setting::TYPE,
+                       );
+               }
+               return $setting_args;
+       }
+
+       /**
+        * Allow non-statically created settings to be constructed with custom WP_Customize_Setting subclass.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param string $setting_class WP_Customize_Setting or a subclass.
+        * @param string $setting_id    ID for dynamic setting, usually coming from `$_POST['customized']`.
+        * @param array  $setting_args  WP_Customize_Setting or a subclass.
+        * @return string
+        */
+       public function filter_dynamic_setting_class( $setting_class, $setting_id, $setting_args ) {
+               unset( $setting_id );
+
+               if ( ! empty( $setting_args['type'] ) && WP_Customize_Nav_Menu_Setting::TYPE === $setting_args['type'] ) {
+                       $setting_class = 'WP_Customize_Nav_Menu_Setting';
+               } elseif ( ! empty( $setting_args['type'] ) && WP_Customize_Nav_Menu_Item_Setting::TYPE === $setting_args['type'] ) {
+                       $setting_class = 'WP_Customize_Nav_Menu_Item_Setting';
+               }
+               return $setting_class;
+       }
+
+       /**
+        * Add the customizer settings and controls.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function customize_register() {
+
+               // Require JS-rendered control types.
+               $this->manager->register_panel_type( 'WP_Customize_Nav_Menus_Panel' );
+               $this->manager->register_control_type( 'WP_Customize_Nav_Menu_Control' );
+               $this->manager->register_control_type( 'WP_Customize_Nav_Menu_Name_Control' );
+               $this->manager->register_control_type( 'WP_Customize_Nav_Menu_Auto_Add_Control' );
+               $this->manager->register_control_type( 'WP_Customize_Nav_Menu_Item_Control' );
+
+               // Create a panel for Menus.
+               $description = '<p>' . __( 'This panel is used for managing navigation menus for content you have already published on your site. You can create menus and add items for existing content such as pages, posts, categories, tags, formats, or custom links.' ) . '</p>';
+               if ( current_theme_supports( 'widgets' ) ) {
+                       $description .= '<p>' . sprintf( __( 'Menus can be displayed in locations defined by your theme or in <a href="%s">widget areas</a> by adding a &#8220;Custom Menu&#8221; widget.' ), "javascript:wp.customize.panel( 'widgets' ).focus();" ) . '</p>';
+               } else {
+                       $description .= '<p>' . __( 'Menus can be displayed in locations defined by your theme.' ) . '</p>';
+               }
+               $this->manager->add_panel( new WP_Customize_Nav_Menus_Panel( $this->manager, 'nav_menus', array(
+                       'title'       => __( 'Menus' ),
+                       'description' => $description,
+                       'priority'    => 100,
+                       // 'theme_supports' => 'menus|widgets', @todo allow multiple theme supports
+               ) ) );
+               $menus = wp_get_nav_menus();
+
+               // Menu loactions.
+               $locations     = get_registered_nav_menus();
+               $num_locations = count( array_keys( $locations ) );
+               $description   = '<p>' . sprintf( _n( 'Your theme contains %s menu location. Select which menu you would like to use.', 'Your theme contains %s menu locations. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) );
+               $description  .= '</p><p>' . __( 'You can also place menus in widget areas with the Custom Menu widget.' ) . '</p>';
+
+               $this->manager->add_section( 'menu_locations', array(
+                       'title'       => __( 'Menu Locations' ),
+                       'panel'       => 'nav_menus',
+                       'priority'    => 5,
+                       'description' => $description,
+               ) );
+
+               $choices = array( '0' => __( '&mdash; Select &mdash;' ) );
+               foreach ( $menus as $menu ) {
+                       $choices[ $menu->term_id ] = wp_html_excerpt( $menu->name, 40, '&hellip;' );
+               }
+
+               foreach ( $locations as $location => $description ) {
+                       $setting_id = "nav_menu_locations[{$location}]";
+
+                       $setting = $this->manager->get_setting( $setting_id );
+                       if ( $setting ) {
+                               $setting->transport = 'postMessage';
+                               remove_filter( "customize_sanitize_{$setting_id}", 'absint' );
+                               add_filter( "customize_sanitize_{$setting_id}", array( $this, 'intval_base10' ) );
+                       } else {
+                               $this->manager->add_setting( $setting_id, array(
+                                       'sanitize_callback' => array( $this, 'intval_base10' ),
+                                       'theme_supports'    => 'menus',
+                                       'type'              => 'theme_mod',
+                                       'transport'         => 'postMessage',
+                                       'default'           => 0,
+                               ) );
+                       }
+
+                       $this->manager->add_control( new WP_Customize_Nav_Menu_Location_Control( $this->manager, $setting_id, array(
+                               'label'       => $description,
+                               'location_id' => $location,
+                               'section'     => 'menu_locations',
+                               'choices'     => $choices,
+                       ) ) );
+               }
+
+               // Register each menu as a Customizer section, and add each menu item to each menu.
+               foreach ( $menus as $menu ) {
+                       $menu_id = $menu->term_id;
+
+                       // Create a section for each menu.
+                       $section_id = 'nav_menu[' . $menu_id . ']';
+                       $this->manager->add_section( new WP_Customize_Nav_Menu_Section( $this->manager, $section_id, array(
+                               'title'     => html_entity_decode( $menu->name, ENT_QUOTES, get_bloginfo( 'charset' ) ),
+                               'priority'  => 10,
+                               'panel'     => 'nav_menus',
+                       ) ) );
+
+                       $nav_menu_setting_id = 'nav_menu[' . $menu_id . ']';
+                       $this->manager->add_setting( new WP_Customize_Nav_Menu_Setting( $this->manager, $nav_menu_setting_id ) );
+
+                       // Add the menu contents.
+                       $menu_items = (array) wp_get_nav_menu_items( $menu_id );
+
+                       foreach ( array_values( $menu_items ) as $i => $item ) {
+
+                               // Create a setting for each menu item (which doesn't actually manage data, currently).
+                               $menu_item_setting_id = 'nav_menu_item[' . $item->ID . ']';
+
+                               $value = (array) $item;
+                               $value['nav_menu_term_id'] = $menu_id;
+                               $this->manager->add_setting( new WP_Customize_Nav_Menu_Item_Setting( $this->manager, $menu_item_setting_id, array(
+                                       'value' => $value,
+                               ) ) );
+
+                               // Create a control for each menu item.
+                               $this->manager->add_control( new WP_Customize_Nav_Menu_Item_Control( $this->manager, $menu_item_setting_id, array(
+                                       'label'    => $item->title,
+                                       'section'  => $section_id,
+                                       'priority' => 10 + $i,
+                               ) ) );
+                       }
+
+                       // Note: other controls inside of this section get added dynamically in JS via the MenuSection.ready() function.
+               }
+
+               // Add the add-new-menu section and controls.
+               $this->manager->add_section( new WP_Customize_New_Menu_Section( $this->manager, 'add_menu', array(
+                       'title'    => __( 'Add a Menu' ),
+                       'panel'    => 'nav_menus',
+                       'priority' => 999,
+               ) ) );
+
+               $this->manager->add_setting( 'new_menu_name', array(
+                       'type'      => 'new_menu',
+                       'default'   => '',
+                       'transport' => 'postMessage',
+               ) );
+
+               $this->manager->add_control( 'new_menu_name', array(
+                       'label'       => '',
+                       'section'     => 'add_menu',
+                       'type'        => 'text',
+                       'input_attrs' => array(
+                               'class'       => 'menu-name-field',
+                               'placeholder' => __( 'New menu name' ),
+                       ),
+               ) );
+
+               $this->manager->add_setting( 'create_new_menu', array(
+                       'type' => 'new_menu',
+               ) );
+
+               $this->manager->add_control( new WP_Customize_New_Menu_Control( $this->manager, 'create_new_menu', array(
+                       'section' => 'add_menu',
+               ) ) );
+       }
+
+       /**
+        * Get the base10 intval.
+        *
+        * This is used as a setting's sanitize_callback; we can't use just plain
+        * intval because the second argument is not what intval() expects.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param mixed $value Number to convert.
+        * @return int Integer.
+        */
+       public function intval_base10( $value ) {
+               return intval( $value, 10 );
+       }
+
+       /**
+        * Return an array of all the available item types.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @return array The available menu item types.
+        */
+       public function available_item_types() {
+               $item_types = array();
+
+               $post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' );
+               if ( $post_types ) {
+                       foreach ( $post_types as $slug => $post_type ) {
+                               $item_types[] = array(
+                                       'title'  => $post_type->labels->singular_name,
+                                       'type'   => 'post_type',
+                                       'object' => $post_type->name,
+                               );
+                       }
+               }
+
+               $taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'objects' );
+               if ( $taxonomies ) {
+                       foreach ( $taxonomies as $slug => $taxonomy ) {
+                               if ( 'post_format' === $taxonomy && ! current_theme_supports( 'post-formats' ) ) {
+                                       continue;
+                               }
+                               $item_types[] = array(
+                                       'title'  => $taxonomy->labels->singular_name,
+                                       'type'   => 'taxonomy',
+                                       'object' => $taxonomy->name,
+                               );
+                       }
+               }
+
+               /**
+                * Filter the available menu item types.
+                *
+                * @since 4.3.0
+                *
+                * @param array $item_types Custom menu item types.
+                */
+               $item_types = apply_filters( 'customize_nav_menu_available_item_types', $item_types );
+
+               return $item_types;
+       }
+
+       /**
+        * Print the JavaScript templates used to render Menu Customizer components.
+        *
+        * Templates are imported into the JS use wp.template.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function print_templates() {
+               ?>
+               <script type="text/html" id="tmpl-available-menu-item">
+                       <li id="menu-item-tpl-{{ data.id }}" class="menu-item-tpl" data-menu-item-id="{{ data.id }}">
+                               <div class="menu-item-bar">
+                                       <div class="menu-item-handle">
+                                               <span class="item-type" aria-hidden="true">{{ data.type_label }}</span>
+                                               <span class="item-title" aria-hidden="true">
+                                                       <span class="menu-item-title<# if ( ! data.title ) { #> no-title<# } #>">{{ data.title || wp.customize.Menus.data.l10n.untitled }}</span>
+                                               </span>
+                                               <button type="button" class="not-a-button item-add">
+                                                       <span class="screen-reader-text"><?php
+                                                               /* translators: 1: Title of a menu item, 2: Type of a menu item */
+                                                               printf( __( 'Add to menu: %1$s (%2$s)' ), '{{ data.title || wp.customize.Menus.data.l10n.untitled }}', '{{ data.type_label }}' );
+                                                       ?></span>
+                                               </button>
+                                       </div>
+                               </div>
+                       </li>
+               </script>
+
+               <script type="text/html" id="tmpl-menu-item-reorder-nav">
+                       <div class="menu-item-reorder-nav">
+                               <?php
+                               printf(
+                                       '<button type="button" class="menus-move-up">%1$s</button><button type="button" class="menus-move-down">%2$s</button><button type="button" class="menus-move-left">%3$s</button><button type="button" class="menus-move-right">%4$s</button>',
+                                       __( 'Move up' ),
+                                       __( 'Move down' ),
+                                       __( 'Move one level up' ),
+                                       __( 'Move one level down' )
+                               );
+                               ?>
+                       </div>
+               </script>
+       <?php
+       }
+
+       /**
+        * Print the html template used to render the add-menu-item frame.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function available_items_template() {
+               ?>
+               <div id="available-menu-items" class="accordion-container">
+                       <div class="customize-section-title">
+                               <button type="button" class="customize-section-back" tabindex="-1">
+                                       <span class="screen-reader-text"><?php _e( 'Back' ); ?></span>
+                               </button>
+                               <h3>
+                                       <span class="customize-action">
+                                               <?php
+                                                       /* translators: &#9656; is the unicode right-pointing triangle, and %s is the section title in the Customizer */
+                                                       printf( __( 'Customizing &#9656; %s' ), esc_html( $this->manager->get_panel( 'nav_menus' )->title ) );
+                                               ?>
+                                       </span>
+                                       <?php _e( 'Add Menu Items' ); ?>
+                               </h3>
+                       </div>
+                       <div id="available-menu-items-search" class="accordion-section cannot-expand">
+                               <div class="accordion-section-title">
+                                       <label class="screen-reader-text" for="menu-items-search"><?php _e( 'Search Menu Items' ); ?></label>
+                                       <input type="text" id="menu-items-search" placeholder="<?php esc_attr_e( 'Search menu items&hellip;' ) ?>" aria-describedby="menu-items-search-desc" />
+                                       <p class="screen-reader-text" id="menu-items-search-desc"><?php _e( 'The search results will be updated as you type.' ); ?></p>
+                                       <span class="spinner"></span>
+                                       <span class="clear-results"><span class="screen-reader-text"><?php _e( 'Clear Results' ); ?></span></span>
+                               </div>
+                               <ul class="accordion-section-content" data-type="search"></ul>
+                       </div>
+                       <div id="new-custom-menu-item" class="accordion-section">
+                               <h4 class="accordion-section-title" role="presentation">
+                                       <?php _e( 'Custom Links' ); ?>
+                                       <button type="button" class="not-a-button" aria-expanded="false">
+                                               <span class="screen-reader-text"><?php _e( 'Toggle section: Custom Links' ); ?></span>
+                                               <span class="toggle-indicator" aria-hidden="true"></span>
+                                       </button>
+                               </h4>
+                               <div class="accordion-section-content">
+                                       <input type="hidden" value="custom" id="custom-menu-item-type" name="menu-item[-1][menu-item-type]" />
+                                       <p id="menu-item-url-wrap">
+                                               <label class="howto" for="custom-menu-item-url">
+                                                       <span><?php _e( 'URL' ); ?></span>
+                                                       <input id="custom-menu-item-url" name="menu-item[-1][menu-item-url]" type="text" class="code menu-item-textbox" value="http://">
+                                               </label>
+                                       </p>
+                                       <p id="menu-item-name-wrap">
+                                               <label class="howto" for="custom-menu-item-name">
+                                                       <span><?php _e( 'Link Text' ); ?></span>
+                                                       <input id="custom-menu-item-name" name="menu-item[-1][menu-item-title]" type="text" class="regular-text menu-item-textbox">
+                                               </label>
+                                       </p>
+                                       <p class="button-controls">
+                                               <span class="add-to-menu">
+                                                       <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-custom-menu-item" id="custom-menu-item-submit">
+                                                       <span class="spinner"></span>
+                                               </span>
+                                       </p>
+                               </div>
+                       </div>
+                       <?php
+                       // Containers for per-post-type item browsing; items added with JS.
+                       foreach ( $this->available_item_types() as $available_item_type ) {
+                               $id = sprintf( 'available-menu-items-%s-%s', $available_item_type['type'], $available_item_type['object'] );
+                               ?>
+                               <div id="<?php echo esc_attr( $id ); ?>" class="accordion-section">
+                                       <h4 class="accordion-section-title" role="presentation">
+                                               <?php echo esc_html( $available_item_type['title'] ); ?>
+                                               <span class="spinner"></span>
+                                               <span class="no-items"><?php _e( 'No items' ); ?></span>
+                                               <button type="button" class="not-a-button" aria-expanded="false">
+                                                       <span class="screen-reader-text"><?php
+                                                       /* translators: %s: Title of a section with menu items */
+                                                       printf( __( 'Toggle section: %s' ), esc_html( $available_item_type['title'] ) ); ?></span>
+                                                       <span class="toggle-indicator" aria-hidden="true"></span>
+                                               </button>
+                                       </h4>
+                                       <ul class="accordion-section-content" data-type="<?php echo esc_attr( $available_item_type['type'] ); ?>" data-object="<?php echo esc_attr( $available_item_type['object'] ); ?>"></ul>
+                               </div>
+                               <?php
+                       }
+                       ?>
+               </div><!-- #available-menu-items -->
+       <?php
+       }
+
+       // Start functionality specific to partial-refresh of menu changes in Customizer preview.
+       const RENDER_AJAX_ACTION = 'customize_render_menu_partial';
+       const RENDER_NONCE_POST_KEY = 'render-menu-nonce';
+       const RENDER_QUERY_VAR = 'wp_customize_menu_render';
+
+       /**
+        * The number of wp_nav_menu() calls which have happened in the preview.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $preview_nav_menu_instance_number = 0;
+
+       /**
+        * Nav menu args used for each instance.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var array
+        */
+       public $preview_nav_menu_instance_args = array();
+
+       /**
+        * Add hooks for the Customizer preview.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function customize_preview_init() {
+               add_action( 'template_redirect', array( $this, 'render_menu' ) );
+               add_action( 'wp_enqueue_scripts', array( $this, 'customize_preview_enqueue_deps' ) );
+
+               if ( ! isset( $_REQUEST[ self::RENDER_QUERY_VAR ] ) ) {
+                       add_filter( 'wp_nav_menu_args', array( $this, 'filter_wp_nav_menu_args' ), 1000 );
+                       add_filter( 'wp_nav_menu', array( $this, 'filter_wp_nav_menu' ), 10, 2 );
+               }
+       }
+
+       /**
+        * Keep track of the arguments that are being passed to wp_nav_menu().
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_nav_menu()
+        *
+        * @param array $args An array containing wp_nav_menu() arguments.
+        * @return array Arguments.
+        */
+       public function filter_wp_nav_menu_args( $args ) {
+               $this->preview_nav_menu_instance_number += 1;
+               $args['instance_number'] = $this->preview_nav_menu_instance_number;
+
+               $can_partial_refresh = (
+                       ! empty( $args['echo'] )
+                       &&
+                       ( empty( $args['fallback_cb'] ) || is_string( $args['fallback_cb'] ) )
+                       &&
+                       ( empty( $args['walker'] ) || is_string( $args['walker'] ) )
+                       &&
+                       (
+                               ! empty( $args['theme_location'] )
+                               ||
+                               ( ! empty( $args['menu'] ) && ( is_numeric( $args['menu'] ) || is_object( $args['menu'] ) ) )
+                       )
+               );
+               $args['can_partial_refresh'] = $can_partial_refresh;
+
+               $hashed_args = $args;
+
+               if ( ! $can_partial_refresh ) {
+                       $hashed_args['fallback_cb'] = '';
+                       $hashed_args['walker'] = '';
+               }
+
+               // Replace object menu arg with a term_id menu arg, as this exports better to JS and is easier to compare hashes.
+               if ( ! empty( $hashed_args['menu'] ) && is_object( $hashed_args['menu'] ) ) {
+                       $hashed_args['menu'] = $hashed_args['menu']->term_id;
+               }
+
+               ksort( $hashed_args );
+               $hashed_args['args_hash'] = $this->hash_nav_menu_args( $hashed_args );
+
+               $this->preview_nav_menu_instance_args[ $this->preview_nav_menu_instance_number ] = $hashed_args;
+               return $args;
+       }
+
+       /**
+        * Prepare wp_nav_menu() calls for partial refresh. Wraps output in container for refreshing.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_nav_menu()
+        *
+        * @param string $nav_menu_content The HTML content for the navigation menu.
+        * @param object $args             An object containing wp_nav_menu() arguments.
+        * @return null
+        */
+       public function filter_wp_nav_menu( $nav_menu_content, $args ) {
+               if ( ! empty( $args->can_partial_refresh ) && ! empty( $args->instance_number ) ) {
+                       $nav_menu_content = preg_replace(
+                               '/(?<=class=")/',
+                               sprintf( 'partial-refreshable-nav-menu partial-refreshable-nav-menu-%1$d ', $args->instance_number ),
+                               $nav_menu_content,
+                               1 // Only update the class on the first element found, the menu container.
+                       );
+               }
+               return $nav_menu_content;
+       }
+
+       /**
+        * Hash (hmac) the arguments with the nonce and secret auth key to ensure they
+        * are not tampered with when submitted in the Ajax request.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $args The arguments to hash.
+        * @return string
+        */
+       public function hash_nav_menu_args( $args ) {
+               return wp_hash( wp_create_nonce( self::RENDER_AJAX_ACTION ) . serialize( $args ) );
+       }
+
+       /**
+        * Enqueue scripts for the Customizer preview.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function customize_preview_enqueue_deps() {
+               wp_enqueue_script( 'customize-preview-nav-menus' );
+               wp_enqueue_style( 'customize-preview' );
+
+               add_action( 'wp_print_footer_scripts', array( $this, 'export_preview_data' ) );
+       }
+
+       /**
+        * Export data from PHP to JS.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function export_preview_data() {
+
+               // Why not wp_localize_script? Because we're not localizing, and it forces values into strings.
+               $exports = array(
+                       'renderQueryVar'        => self::RENDER_QUERY_VAR,
+                       'renderNonceValue'      => wp_create_nonce( self::RENDER_AJAX_ACTION ),
+                       'renderNoncePostKey'    => self::RENDER_NONCE_POST_KEY,
+                       'requestUri'            => '/',
+                       'theme'                 => array(
+                               'stylesheet' => $this->manager->get_stylesheet(),
+                               'active'     => $this->manager->is_theme_active(),
+                       ),
+                       'previewCustomizeNonce' => wp_create_nonce( 'preview-customize_' . $this->manager->get_stylesheet() ),
+                       'navMenuInstanceArgs'   => $this->preview_nav_menu_instance_args,
+               );
+
+               if ( ! empty( $_SERVER['REQUEST_URI'] ) ) {
+                       $exports['requestUri'] = esc_url_raw( home_url( wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
+               }
+
+               printf( '<script>var _wpCustomizePreviewNavMenusExports = %s;</script>', wp_json_encode( $exports ) );
+       }
+
+       /**
+        * Render a specific menu via wp_nav_menu() using the supplied arguments.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_nav_menu()
+        */
+       public function render_menu() {
+               if ( empty( $_POST[ self::RENDER_QUERY_VAR ] ) ) {
+                       return;
+               }
+
+               $this->manager->remove_preview_signature();
+
+               if ( empty( $_POST[ self::RENDER_NONCE_POST_KEY ] ) ) {
+                       wp_send_json_error( 'missing_nonce_param' );
+               }
+
+               if ( ! is_customize_preview() ) {
+                       wp_send_json_error( 'expected_customize_preview' );
+               }
+
+               if ( ! check_ajax_referer( self::RENDER_AJAX_ACTION, self::RENDER_NONCE_POST_KEY, false ) ) {
+                       wp_send_json_error( 'nonce_check_fail' );
+               }
+
+               if ( ! current_user_can( 'edit_theme_options' ) ) {
+                       wp_send_json_error( 'unauthorized' );
+               }
+
+               if ( ! isset( $_POST['wp_nav_menu_args'] ) ) {
+                       wp_send_json_error( 'missing_param' );
+               }
+
+               if ( ! isset( $_POST['wp_nav_menu_args_hash'] ) ) {
+                       wp_send_json_error( 'missing_param' );
+               }
+
+               $wp_nav_menu_args = json_decode( wp_unslash( $_POST['wp_nav_menu_args'] ), true );
+               if ( ! is_array( $wp_nav_menu_args ) ) {
+                       wp_send_json_error( 'wp_nav_menu_args_not_array' );
+               }
+
+               $wp_nav_menu_args_hash = sanitize_text_field( wp_unslash( $_POST['wp_nav_menu_args_hash'] ) );
+               if ( ! hash_equals( $this->hash_nav_menu_args( $wp_nav_menu_args ), $wp_nav_menu_args_hash ) ) {
+                       wp_send_json_error( 'wp_nav_menu_args_hash_mismatch' );
+               }
+
+               $wp_nav_menu_args['echo'] = false;
+               wp_send_json_success( wp_nav_menu( $wp_nav_menu_args ) );
+       }
+}
index ee9f846bc80e84780786b2d2230d1117bb13ed7f..3857d50770387c20721f19599e892e288cb55109 100644 (file)
@@ -24,7 +24,10 @@ class WP_Customize_Panel {
         * Used when sorting two instances whose priorities are equal.
         *
         * @since 4.1.0
+        *
+        * @static
         * @access protected
+        * @static
         * @var int
         */
        protected static $instance_count = 0;
@@ -212,7 +215,8 @@ class WP_Customize_Panel {
         * @return array The array to be exported to the client as JSON.
         */
        public function json() {
-               $array = wp_array_slice_assoc( (array) $this, array( 'title', 'description', 'priority', 'type' ) );
+               $array = wp_array_slice_assoc( (array) $this, array( 'id', 'description', 'priority', 'type' ) );
+               $array['title'] = html_entity_decode( $this->title, ENT_QUOTES, get_bloginfo( 'charset' ) );
                $array['content'] = $this->get_content();
                $array['active'] = $this->active();
                $array['instanceNumber'] = $this->instance_number;
@@ -249,9 +253,7 @@ class WP_Customize_Panel {
        final public function get_content() {
                ob_start();
                $this->maybe_render();
-               $template = trim( ob_get_contents() );
-               ob_end_clean();
-               return $template;
+               return trim( ob_get_clean() );
        }
 
        /**
@@ -287,47 +289,194 @@ class WP_Customize_Panel {
        }
 
        /**
-        * Render the panel container, and then its contents.
+        * Render the panel container, and then its contents (via `this->render_content()`) in a subclass.
+        *
+        * Panel containers are now rendered in JS by default, see {@see WP_Customize_Panel::print_template()}.
         *
         * @since 4.0.0
         * @access protected
         */
-       protected function render() {
-               $classes = 'accordion-section control-section control-panel control-panel-' . $this->type;
+       protected function render() {}
+
+       /**
+        * Render the panel UI in a subclass.
+        *
+        * Panel contents are now rendered in JS by default, see {@see WP_Customize_Panel::print_template()}.
+        *
+        * @since 4.1.0
+        * @access protected
+        */
+       protected function render_content() {}
+
+       /**
+        * Render the panel's JS templates.
+        *
+        * This function is only run for panel types that have been registered with
+        * WP_Customize_Manager::register_panel_type().
+        *
+        * @since 4.3.0
+        *
+        * @see WP_Customize_Manager::register_panel_type()
+        */
+       public function print_template() {
                ?>
-               <li id="accordion-panel-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
+               <script type="text/html" id="tmpl-customize-panel-<?php echo esc_attr( $this->type ); ?>-content">
+                       <?php $this->content_template(); ?>
+               </script>
+               <script type="text/html" id="tmpl-customize-panel-<?php echo esc_attr( $this->type ); ?>">
+                       <?php $this->render_template(); ?>
+               </script>
+        <?php
+       }
+
+       /**
+        * An Underscore (JS) template for rendering this panel's container.
+        *
+        * Class variables for this panel class are available in the `data` JS object;
+        * export custom variables by overriding WP_Customize_Panel::json().
+        *
+        * @see WP_Customize_Panel::print_template()
+        *
+        * @since 4.3.0
+        * @access protected
+        */
+       protected function render_template() {
+               ?>
+               <li id="accordion-panel-{{ data.id }}" class="accordion-section control-section control-panel control-panel-{{ data.type }}">
                        <h3 class="accordion-section-title" tabindex="0">
-                               <?php echo esc_html( $this->title ); ?>
+                               {{ data.title }}
                                <span class="screen-reader-text"><?php _e( 'Press return or enter to open this panel' ); ?></span>
                        </h3>
-                       <ul class="accordion-sub-container control-panel-content">
-                               <?php $this->render_content(); ?>
-                       </ul>
+                       <ul class="accordion-sub-container control-panel-content"></ul>
                </li>
                <?php
        }
 
        /**
-        * Render the sections that have been added to the panel.
+        * An Underscore (JS) template for this panel's content (but not its container).
         *
-        * @since 4.1.0
+        * Class variables for this panel class are available in the `data` JS object;
+        * export custom variables by overriding WP_Customize_Panel::json().
+        *
+        * @see WP_Customize_Panel::print_template()
+        *
+        * @since 4.3.0
         * @access protected
         */
-       protected function render_content() {
+       protected function content_template() {
                ?>
-               <li class="panel-meta accordion-section control-section<?php if ( empty( $this->description ) ) { echo ' cannot-expand'; } ?>">
-                       <div class="accordion-section-title" tabindex="0">
+               <li class="panel-meta customize-info accordion-section <# if ( ! data.description ) { #> cannot-expand<# } #>">
+                       <button class="customize-panel-back" tabindex="-1"><span class="screen-reader-text"><?php _e( 'Back' ); ?></span></button>
+                       <div class="accordion-section-title">
                                <span class="preview-notice"><?php
                                        /* translators: %s is the site/panel title in the Customizer */
-                                       echo sprintf( __( 'You are customizing %s' ), '<strong class="panel-title">' . esc_html( $this->title ) . '</strong>' );
+                                       echo sprintf( __( 'You are customizing %s' ), '<strong class="panel-title">{{ data.title }}</strong>' );
                                ?></span>
+                               <button class="customize-help-toggle dashicons dashicons-editor-help" tabindex="0" aria-expanded="false"><span class="screen-reader-text"><?php _e( 'Help' ); ?></span></button>
                        </div>
-                       <?php if ( ! empty( $this->description ) ) : ?>
-                               <div class="accordion-section-content description">
-                                       <?php echo $this->description; ?>
+                       <# if ( data.description ) { #>
+                               <div class="description customize-panel-description">
+                                       {{{ data.description }}}
                                </div>
-                       <?php endif; ?>
+                       <# } #>
                </li>
                <?php
        }
 }
+
+/**
+ * Customize Nav Menus Panel Class
+ *
+ * Needed to add screen options.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Panel
+ */
+class WP_Customize_Nav_Menus_Panel extends WP_Customize_Panel {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'nav_menus';
+
+       /**
+        * Render screen options for Menus.
+        *
+        * @since 4.3.0
+        * @access public
+        */
+       public function render_screen_options() {
+               // Essentially adds the screen options.
+               add_filter( 'manage_nav-menus_columns', array( $this, 'wp_nav_menu_manage_columns' ) );
+
+               // Display screen options.
+               $screen = WP_Screen::get( 'nav-menus.php' );
+               $screen->render_screen_options();
+       }
+
+       /**
+        * Returns the advanced options for the nav menus page.
+        *
+        * Link title attribute added as it's a relatively advanced concept for new users.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @return array The advanced menu properties.
+        */
+       public function wp_nav_menu_manage_columns() {
+               return array(
+                       '_title'      => __( 'Show advanced menu properties' ),
+                       'cb'          => '<input type="checkbox" />',
+                       'link-target' => __( 'Link Target' ),
+                       'attr-title'  => __( 'Title Attribute' ),
+                       'css-classes' => __( 'CSS Classes' ),
+                       'xfn'         => __( 'Link Relationship (XFN)' ),
+                       'description' => __( 'Description' ),
+               );
+       }
+
+       /**
+        * An Underscore (JS) template for this panel's content (but not its container).
+        *
+        * Class variables for this panel class are available in the `data` JS object;
+        * export custom variables by overriding WP_Customize_Panel::json().
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @see WP_Customize_Panel::print_template()
+        */
+       protected function content_template() {
+               ?>
+               <li class="panel-meta customize-info accordion-section <# if ( ! data.description ) { #> cannot-expand<# } #>">
+                       <button type="button" class="customize-panel-back" tabindex="-1">
+                               <span class="screen-reader-text"><?php _e( 'Back' ); ?></span>
+                       </button>
+                       <div class="accordion-section-title">
+                               <span class="preview-notice">
+                                       <?php
+                                       /* Translators: %s is the site/panel title in the Customizer. */
+                                       printf( __( 'You are customizing %s' ), '<strong class="panel-title">{{ data.title }}</strong>' );
+                                       ?>
+                               </span>
+                               <button type="button" class="customize-help-toggle dashicons dashicons-editor-help" aria-expanded="false">
+                                       <span class="screen-reader-text"><?php _e( 'Help' ); ?></span>
+                               </button>
+                               <button type="button" class="customize-screen-options-toggle" aria-expanded="false">
+                                       <span class="screen-reader-text"><?php _e( 'Menu Options' ); ?></span>
+                               </button>
+                       </div>
+                       <# if ( data.description ) { #>
+                       <div class="description customize-panel-description">{{{ data.description }}}</div>
+                       <# } #>
+                       <?php $this->render_screen_options(); ?>
+               </li>
+       <?php
+       }
+}
index b852dfbacdf148a281e70006a6e88da8418f0cfb..7f2d52c6bc1fd8ca9452a47ff26a541a663e5f98 100644 (file)
@@ -24,6 +24,8 @@ class WP_Customize_Section {
         * Used when sorting two instances whose priorities are equal.
         *
         * @since 4.1.0
+        *
+        * @static
         * @access protected
         * @var int
         */
@@ -207,7 +209,7 @@ class WP_Customize_Section {
         * @since 4.1.0
         * @access public
         *
-        * @return bool Always true.
+        * @return true Always true.
         */
        public function active_callback() {
                return true;
@@ -221,10 +223,19 @@ class WP_Customize_Section {
         * @return array The array to be exported to the client as JSON.
         */
        public function json() {
-               $array = wp_array_slice_assoc( (array) $this, array( 'title', 'description', 'priority', 'panel', 'type' ) );
+               $array = wp_array_slice_assoc( (array) $this, array( 'id', 'description', 'priority', 'panel', 'type' ) );
+               $array['title'] = html_entity_decode( $this->title, ENT_QUOTES, get_bloginfo( 'charset' ) );
                $array['content'] = $this->get_content();
                $array['active'] = $this->active();
                $array['instanceNumber'] = $this->instance_number;
+
+               if ( $this->panel ) {
+                       /* translators: &#9656; is the unicode right-pointing triangle, and %s is the section title in the Customizer */
+                       $array['customizeAction'] = sprintf( __( 'Customizing &#9656; %s' ), esc_html( $this->manager->get_panel( $this->panel )->title ) );
+               } else {
+                       $array['customizeAction'] = __( 'Customizing' );
+               }
+
                return $array;
        }
 
@@ -249,7 +260,7 @@ class WP_Customize_Section {
        }
 
        /**
-        * Get the section's content template for insertion into the Customizer pane.
+        * Get the section's content for insertion into the Customizer pane.
         *
         * @since 4.1.0
         *
@@ -258,9 +269,7 @@ class WP_Customize_Section {
        final public function get_content() {
                ob_start();
                $this->maybe_render();
-               $template = trim( ob_get_contents() );
-               ob_end_clean();
-               return $template;
+               return trim( ob_get_clean() );
        }
 
        /**
@@ -295,24 +304,70 @@ class WP_Customize_Section {
        }
 
        /**
-        * Render the section, and the controls that have been added to it.
+        * Render the section UI in a subclass.
+        *
+        * Sections are now rendered in JS by default, see {@see WP_Customize_Section::print_template()}.
         *
         * @since 3.4.0
         */
-       protected function render() {
-               $classes = 'accordion-section control-section control-section-' . $this->type;
+       protected function render() {}
+
+       /**
+        * Render the section's JS template.
+        *
+        * This function is only run for section types that have been registered with
+        * WP_Customize_Manager::register_section_type().
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Manager::render_template()
+        */
+       public function print_template() {
+        ?>
+               <script type="text/html" id="tmpl-customize-section-<?php echo $this->type; ?>">
+                       <?php $this->render_template(); ?>
+               </script>
+        <?php
+       }
+
+       /**
+        * An Underscore (JS) template for rendering this section.
+        *
+        * Class variables for this section class are available in the `data` JS object;
+        * export custom variables by overriding WP_Customize_Section::json().
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @see WP_Customize_Section::print_template()
+        */
+       protected function render_template() {
                ?>
-               <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
+               <li id="accordion-section-{{ data.id }}" class="accordion-section control-section control-section-{{ data.type }}">
                        <h3 class="accordion-section-title" tabindex="0">
-                               <?php echo esc_html( $this->title ); ?>
-                               <span class="screen-reader-text"><?php _e( 'Press return or enter to expand' ); ?></span>
+                               {{ data.title }}
+                               <span class="screen-reader-text"><?php _e( 'Press return or enter to open' ); ?></span>
                        </h3>
                        <ul class="accordion-section-content">
-                               <?php if ( ! empty( $this->description ) ) : ?>
-                                       <li class="customize-section-description-container">
-                                               <p class="description customize-section-description"><?php echo $this->description; ?></p>
-                                       </li>
-                               <?php endif; ?>
+                               <li class="customize-section-description-container">
+                                       <div class="customize-section-title">
+                                               <button class="customize-section-back" tabindex="-1">
+                                                       <span class="screen-reader-text"><?php _e( 'Back' ); ?></span>
+                                               </button>
+                                               <h3>
+                                                       <span class="customize-action">
+                                                               {{{ data.customizeAction }}}
+                                                       </span>
+                                                       {{ data.title }}
+                                               </h3>
+                                       </div>
+                                       <# if ( data.description ) { #>
+                                               <div class="description customize-section-description">
+                                                       {{{ data.description }}}
+                                               </div>
+                                       <# } #>
+                               </li>
                        </ul>
                </li>
                <?php
@@ -352,30 +407,26 @@ class WP_Customize_Themes_Section extends WP_Customize_Section {
                        <h3 class="accordion-section-title">
                                <?php
                                if ( $this->manager->is_theme_active() ) {
-                                       /* translators: %s: theme name */
-                                       printf( __( '<span>Active theme</span> %s' ), $this->title );
+                                       echo '<span class="customize-action">' . __( 'Active theme' ) . '</span> ' . $this->title;
                                } else {
-                                       /* translators: %s: theme name */
-                                       printf( __( '<span>Previewing theme</span> %s' ), $this->title );
+                                       echo '<span class="customize-action">' . __( 'Previewing theme' ) . '</span> ' . $this->title;
                                }
                                ?>
 
-                               <button type="button" class="button change-theme"><?php _ex( 'Change', 'theme' ); ?></button>
+                               <button type="button" class="button change-theme" tabindex="0"><?php _ex( 'Change', 'theme' ); ?></button>
                        </h3>
                        <div class="customize-themes-panel control-panel-content themes-php">
-                               <h2>
+                               <h3 class="accordion-section-title customize-section-title">
+                                       <span class="customize-action"><?php _e( 'Customizing' ); ?></span>
                                        <?php _e( 'Themes' ); ?>
                                        <span class="title-count theme-count"><?php echo count( $this->controls ) + 1 /* Active theme */; ?></span>
-                               </h2>
-
+                               </h3>
                                <h3 class="accordion-section-title customize-section-title">
                                        <?php
                                        if ( $this->manager->is_theme_active() ) {
-                                               /* translators: %s: theme name */
-                                               printf( __( '<span>Active theme</span> %s' ), $this->title );
+                                               echo '<span class="customize-action">' . __( 'Active theme' ) . '</span> ' . $this->title;
                                        } else {
-                                               /* translators: %s: theme name */
-                                               printf( __( '<span>Previewing theme</span> %s' ), $this->title );
+                                               echo '<span class="customize-action">' . __( 'Previewing theme' ) . '</span> ' . $this->title;
                                        }
                                        ?>
                                        <button type="button" class="button customize-theme"><?php _e( 'Customize' ); ?></button>
@@ -451,3 +502,76 @@ class WP_Customize_Sidebar_Section extends WP_Customize_Section {
                return $this->manager->widgets->is_sidebar_rendered( $this->sidebar_id );
        }
 }
+
+/**
+ * Customize Menu Section Class
+ *
+ * Custom section only needed in JS.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Section
+ */
+class WP_Customize_Nav_Menu_Section extends WP_Customize_Section {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'nav_menu';
+
+       /**
+        * Get section parameters for JS.
+        *
+        * @since 4.3.0
+        * @access public
+        * @return array Exported parameters.
+        */
+       public function json() {
+               $exported = parent::json();
+               $exported['menu_id'] = intval( preg_replace( '/^nav_menu\[(\d+)\]/', '$1', $this->id ) );
+
+               return $exported;
+       }
+}
+
+/**
+ * Customize Menu Section Class
+ *
+ * Implements the new-menu-ui toggle button instead of a regular section.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Section
+ */
+class WP_Customize_New_Menu_Section extends WP_Customize_Section {
+
+       /**
+        * Control type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = 'new_menu';
+
+       /**
+        * Render the section, and the controls that have been added to it.
+        *
+        * @since 4.3.0
+        * @access protected
+        */
+       protected function render() {
+               ?>
+               <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="accordion-section-new-menu">
+                       <button type="button" class="button-secondary add-new-menu-item add-menu-toggle" aria-expanded="false">
+                               <?php echo esc_html( $this->title ); ?>
+                       </button>
+                       <ul class="new-menu-section-content"></ul>
+               </li>
+               <?php
+       }
+}
index f8f9ce083b9d786d508db9f27044ba8759a828d0..d007965e8a5e1d47d12943ef0c480993dde3e369 100644 (file)
@@ -129,11 +129,11 @@ class WP_Customize_Setting {
         * @since 4.2.0
         * @access public
         *
-        * @return bool|null Returns null if preview() has not been called yet.
+        * @return bool If preview() has been called.
         */
        public function is_current_blog_previewed() {
                if ( ! isset( $this->_previewed_blog_id ) ) {
-                       return null;
+                       return false;
                }
                return ( get_current_blog_id() === $this->_previewed_blog_id );
        }
@@ -235,7 +235,7 @@ class WP_Customize_Setting {
         *
         * @since 3.4.0
         *
-        * @return false|null False if cap check fails or value isn't set.
+        * @return false|void False if cap check fails or value isn't set.
         */
        final public function save() {
                $value = $this->post_value();
@@ -275,8 +275,8 @@ class WP_Customize_Setting {
         *
         * @since 3.4.0
         *
-        * @param mixed $value The value to sanitize.
-        * @return mixed Null if an input isn't valid, otherwise the sanitized value.
+        * @param string|array $value The value to sanitize.
+        * @return string|array|null Null if an input isn't valid, otherwise the sanitized value.
         */
        public function sanitize( $value ) {
                $value = wp_unslash( $value );
@@ -331,18 +331,19 @@ class WP_Customize_Setting {
         * @since 3.4.0
         *
         * @param mixed $value The value to update.
-        * @return mixed The result of saving the value.
         */
        protected function _update_theme_mod( $value ) {
                // Handle non-array theme mod.
-               if ( empty( $this->id_data[ 'keys' ] ) )
-                       return set_theme_mod( $this->id_data[ 'base' ], $value );
-
+               if ( empty( $this->id_data[ 'keys' ] ) ) {
+                       set_theme_mod( $this->id_data[ 'base' ], $value );
+                       return;
+               }
                // Handle array-based theme mod.
                $mods = get_theme_mod( $this->id_data[ 'base' ] );
                $mods = $this->multidimensional_replace( $mods, $this->id_data[ 'keys' ], $value );
-               if ( isset( $mods ) )
-                       return set_theme_mod( $this->id_data[ 'base' ], $mods );
+               if ( isset( $mods ) ) {
+                       set_theme_mod( $this->id_data[ 'base' ], $mods );
+               }
        }
 
        /**
@@ -351,7 +352,7 @@ class WP_Customize_Setting {
         * @since 3.4.0
         *
         * @param mixed $value The value to update.
-        * @return bool|null The result of saving the value.
+        * @return bool The result of saving the value.
         */
        protected function _update_option( $value ) {
                // Handle non-array option.
@@ -460,7 +461,7 @@ class WP_Customize_Setting {
         * @param $root
         * @param $keys
         * @param bool $create Default is false.
-        * @return null|array Keys are 'root', 'node', and 'key'.
+        * @return array|void Keys are 'root', 'node', and 'key'.
         */
        final protected function multidimensional( &$root, $keys, $create = false ) {
                if ( $create && empty( $root ) )
@@ -591,6 +592,8 @@ final class WP_Customize_Header_Image_Setting extends WP_Customize_Setting {
        /**
         * @since 3.4.0
         *
+        * @global Custom_Image_Header $custom_image_header
+        *
         * @param $value
         */
        public function update( $value ) {
@@ -627,3 +630,1420 @@ final class WP_Customize_Background_Image_Setting extends WP_Customize_Setting {
                remove_theme_mod( 'background_image_thumb' );
        }
 }
+
+/**
+ * Customize Setting to represent a nav_menu.
+ *
+ * Subclass of WP_Customize_Setting to represent a nav_menu taxonomy term, and
+ * the IDs for the nav_menu_items associated with the nav menu.
+ *
+ * @since 4.3.0
+ *
+ * @see WP_Customize_Setting
+ */
+class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting {
+
+       const ID_PATTERN = '/^nav_menu_item\[(?P<id>-?\d+)\]$/';
+
+       const POST_TYPE = 'nav_menu_item';
+
+       const TYPE = 'nav_menu_item';
+
+       /**
+        * Setting type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = self::TYPE;
+
+       /**
+        * Default setting value.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var array
+        *
+        * @see wp_setup_nav_menu_item()
+        */
+       public $default = array(
+               // The $menu_item_data for wp_update_nav_menu_item().
+               'object_id'        => 0,
+               'object'           => '', // Taxonomy name.
+               'menu_item_parent' => 0, // A.K.A. menu-item-parent-id; note that post_parent is different, and not included.
+               'position'         => 0, // A.K.A. menu_order.
+               'type'             => 'custom', // Note that type_label is not included here.
+               'title'            => '',
+               'url'              => '',
+               'target'           => '',
+               'attr_title'       => '',
+               'description'      => '',
+               'classes'          => '',
+               'xfn'              => '',
+               'status'           => 'publish',
+               'original_title'   => '',
+               'nav_menu_term_id' => 0, // This will be supplied as the $menu_id arg for wp_update_nav_menu_item().
+               // @todo also expose invalid?
+       );
+
+       /**
+        * Default transport.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $transport = 'postMessage';
+
+       /**
+        * The post ID represented by this setting instance. This is the db_id.
+        *
+        * A negative value represents a placeholder ID for a new menu not yet saved.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $post_id;
+
+       /**
+        * Storage of pre-setup menu item to prevent wasted calls to wp_setup_nav_menu_item().
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var array
+        */
+       protected $value;
+
+       /**
+        * Previous (placeholder) post ID used before creating a new menu item.
+        *
+        * This value will be exported to JS via the customize_save_response filter
+        * so that JavaScript can update the settings to refer to the newly-assigned
+        * post ID. This value is always negative to indicate it does not refer to
+        * a real post.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        *
+        * @see WP_Customize_Nav_Menu_Item_Setting::update()
+        * @see WP_Customize_Nav_Menu_Item_Setting::amend_customize_save_response()
+        */
+       public $previous_post_id;
+
+       /**
+        * When previewing or updating a menu item, this stores the previous nav_menu_term_id
+        * which ensures that we can apply the proper filters.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $original_nav_menu_term_id;
+
+       /**
+        * Whether or not preview() was called.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var bool
+        */
+       protected $is_previewed = false;
+
+       /**
+        * Whether or not update() was called.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var bool
+        */
+       protected $is_updated = false;
+
+       /**
+        * Status for calling the update method, used in customize_save_response filter.
+        *
+        * When status is inserted, the placeholder post ID is stored in $previous_post_id.
+        * When status is error, the error is stored in $update_error.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string updated|inserted|deleted|error
+        *
+        * @see WP_Customize_Nav_Menu_Item_Setting::update()
+        * @see WP_Customize_Nav_Menu_Item_Setting::amend_customize_save_response()
+        */
+       public $update_status;
+
+       /**
+        * Any error object returned by wp_update_nav_menu_item() when setting is updated.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var WP_Error
+        *
+        * @see WP_Customize_Nav_Menu_Item_Setting::update()
+        * @see WP_Customize_Nav_Menu_Item_Setting::amend_customize_save_response()
+        */
+       public $update_error;
+
+       /**
+        * Constructor.
+        *
+        * Any supplied $args override class property defaults.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Customize_Manager $manager Bootstrap Customizer instance.
+        * @param string               $id      An specific ID of the setting. Can be a
+        *                                      theme mod or option name.
+        * @param array                $args    Optional. Setting arguments.
+        *
+        * @throws Exception If $id is not valid for this setting type.
+        */
+       public function __construct( WP_Customize_Manager $manager, $id, array $args = array() ) {
+               if ( empty( $manager->nav_menus ) ) {
+                       throw new Exception( 'Expected WP_Customize_Manager::$nav_menus to be set.' );
+               }
+
+               if ( ! preg_match( self::ID_PATTERN, $id, $matches ) ) {
+                       throw new Exception( "Illegal widget setting ID: $id" );
+               }
+
+               $this->post_id = intval( $matches['id'] );
+               add_action( 'wp_update_nav_menu_item', array( $this, 'flush_cached_value' ), 10, 2 );
+
+               parent::__construct( $manager, $id, $args );
+
+               // Ensure that an initially-supplied value is valid.
+               if ( isset( $this->value ) ) {
+                       $this->populate_value();
+                       foreach ( array_diff( array_keys( $this->default ), array_keys( $this->value ) ) as $missing ) {
+                               throw new Exception( "Supplied nav_menu_item value missing property: $missing" );
+                       }
+               }
+
+       }
+
+       /**
+        * Clear the cached value when this nav menu item is updated.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param int $menu_id       The term ID for the menu.
+        * @param int $menu_item_id  The post ID for the menu item.
+        */
+       public function flush_cached_value( $menu_id, $menu_item_id ) {
+               unset( $menu_id );
+               if ( $menu_item_id === $this->post_id ) {
+                       $this->value = null;
+               }
+       }
+
+       /**
+        * Get the instance data for a given widget setting.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_setup_nav_menu_item()
+        *
+        * @return array|false Instance data array, or false if the item is marked for deletion.
+        */
+       public function value() {
+               if ( $this->is_previewed && $this->_previewed_blog_id === get_current_blog_id() ) {
+                       $undefined  = new stdClass(); // Symbol.
+                       $post_value = $this->post_value( $undefined );
+
+                       if ( $undefined === $post_value ) {
+                               $value = $this->_original_value;
+                       } else {
+                               $value = $post_value;
+                       }
+               } else if ( isset( $this->value ) ) {
+                       $value = $this->value;
+               } else {
+                       $value = false;
+
+                       // Note that a ID of less than one indicates a nav_menu not yet inserted.
+                       if ( $this->post_id > 0 ) {
+                               $post = get_post( $this->post_id );
+                               if ( $post && self::POST_TYPE === $post->post_type ) {
+                                       $value = (array) wp_setup_nav_menu_item( $post );
+                               }
+                       }
+
+                       if ( ! is_array( $value ) ) {
+                               $value = $this->default;
+                       }
+
+                       // Cache the value for future calls to avoid having to re-call wp_setup_nav_menu_item().
+                       $this->value = $value;
+                       $this->populate_value();
+                       $value = $this->value;
+               }
+
+               return $value;
+       }
+
+       /**
+        * Ensure that the value is fully populated with the necessary properties.
+        *
+        * Translates some properties added by wp_setup_nav_menu_item() and removes others.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @see WP_Customize_Nav_Menu_Item_Setting::value()
+        */
+       protected function populate_value() {
+               if ( ! is_array( $this->value ) ) {
+                       return;
+               }
+
+               if ( isset( $this->value['menu_order'] ) ) {
+                       $this->value['position'] = $this->value['menu_order'];
+                       unset( $this->value['menu_order'] );
+               }
+               if ( isset( $this->value['post_status'] ) ) {
+                       $this->value['status'] = $this->value['post_status'];
+                       unset( $this->value['post_status'] );
+               }
+
+               if ( ! isset( $this->value['original_title'] ) ) {
+                       $original_title = '';
+                       if ( 'post_type' === $this->value['type'] ) {
+                               $original_title = get_the_title( $this->value['object_id'] );
+                       } elseif ( 'taxonomy' === $this->value['type'] ) {
+                               $original_title = get_term_field( 'name', $this->value['object_id'], $this->value['object'], 'raw' );
+                               if ( is_wp_error( $original_title ) ) {
+                                       $original_title = '';
+                               }
+                       }
+                       $this->value['original_title'] = html_entity_decode( $original_title, ENT_QUOTES, get_bloginfo( 'charset' ) );
+               }
+
+               if ( ! isset( $this->value['nav_menu_term_id'] ) && $this->post_id > 0 ) {
+                       $menus = wp_get_post_terms( $this->post_id, WP_Customize_Nav_Menu_Setting::TAXONOMY, array(
+                               'fields' => 'ids',
+                       ) );
+                       if ( ! empty( $menus ) ) {
+                               $this->value['nav_menu_term_id'] = array_shift( $menus );
+                       } else {
+                               $this->value['nav_menu_term_id'] = 0;
+                       }
+               }
+
+               foreach ( array( 'object_id', 'menu_item_parent', 'nav_menu_term_id' ) as $key ) {
+                       if ( ! is_int( $this->value[ $key ] ) ) {
+                               $this->value[ $key ] = intval( $this->value[ $key ] );
+                       }
+               }
+
+               // Remove remaining properties available on a setup nav_menu_item post object which aren't relevant to the setting value.
+               $irrelevant_properties = array(
+                       'ID',
+                       'comment_count',
+                       'comment_status',
+                       'db_id',
+                       'filter',
+                       'guid',
+                       'ping_status',
+                       'pinged',
+                       'post_author',
+                       'post_content',
+                       'post_content_filtered',
+                       'post_date',
+                       'post_date_gmt',
+                       'post_excerpt',
+                       'post_mime_type',
+                       'post_modified',
+                       'post_modified_gmt',
+                       'post_name',
+                       'post_parent',
+                       'post_password',
+                       'post_title',
+                       'post_type',
+                       'to_ping',
+               );
+               foreach ( $irrelevant_properties as $property ) {
+                       unset( $this->value[ $property ] );
+               }
+       }
+
+       /**
+        * Handle previewing the setting.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Manager::post_value()
+        */
+       public function preview() {
+               if ( $this->is_previewed ) {
+                       return;
+               }
+
+               $this->is_previewed              = true;
+               $this->_original_value           = $this->value();
+               $this->original_nav_menu_term_id = $this->_original_value['nav_menu_term_id'];
+               $this->_previewed_blog_id        = get_current_blog_id();
+
+               add_filter( 'wp_get_nav_menu_items', array( $this, 'filter_wp_get_nav_menu_items' ), 10, 3 );
+
+               $sort_callback = array( __CLASS__, 'sort_wp_get_nav_menu_items' );
+               if ( ! has_filter( 'wp_get_nav_menu_items', $sort_callback ) ) {
+                       add_filter( 'wp_get_nav_menu_items', array( __CLASS__, 'sort_wp_get_nav_menu_items' ), 1000, 3 );
+               }
+
+               // @todo Add get_post_metadata filters for plugins to add their data.
+       }
+
+       /**
+        * Filter the wp_get_nav_menu_items() result to supply the previewed menu items.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_get_nav_menu_items()
+        *
+        * @param array  $items An array of menu item post objects.
+        * @param object $menu  The menu object.
+        * @param array  $args  An array of arguments used to retrieve menu item objects.
+        * @return array Array of menu items,
+        */
+       public function filter_wp_get_nav_menu_items( $items, $menu, $args ) {
+               $this_item = $this->value();
+               $current_nav_menu_term_id = $this_item['nav_menu_term_id'];
+               unset( $this_item['nav_menu_term_id'] );
+
+               $should_filter = (
+                       $menu->term_id === $this->original_nav_menu_term_id
+                       ||
+                       $menu->term_id === $current_nav_menu_term_id
+               );
+               if ( ! $should_filter ) {
+                       return $items;
+               }
+
+               // Handle deleted menu item, or menu item moved to another menu.
+               $should_remove = (
+                       false === $this_item
+                       ||
+                       (
+                               $this->original_nav_menu_term_id === $menu->term_id
+                               &&
+                               $current_nav_menu_term_id !== $this->original_nav_menu_term_id
+                       )
+               );
+               if ( $should_remove ) {
+                       $filtered_items = array();
+                       foreach ( $items as $item ) {
+                               if ( $item->db_id !== $this->post_id ) {
+                                       $filtered_items[] = $item;
+                               }
+                       }
+                       return $filtered_items;
+               }
+
+               $mutated = false;
+               $should_update = (
+                       is_array( $this_item )
+                       &&
+                       $current_nav_menu_term_id === $menu->term_id
+               );
+               if ( $should_update ) {
+                       foreach ( $items as $item ) {
+                               if ( $item->db_id === $this->post_id ) {
+                                       foreach ( get_object_vars( $this->value_as_wp_post_nav_menu_item() ) as $key => $value ) {
+                                               $item->$key = $value;
+                                       }
+                                       $mutated = true;
+                               }
+                       }
+
+                       // Not found so we have to append it..
+                       if ( ! $mutated ) {
+                               $items[] = $this->value_as_wp_post_nav_menu_item();
+                       }
+               }
+
+               return $items;
+       }
+
+       /**
+        * Re-apply the tail logic also applied on $items by wp_get_nav_menu_items().
+        *
+        * @since 4.3.0
+        * @access public
+        * @static
+        *
+        * @see wp_get_nav_menu_items()
+        *
+        * @param array  $items An array of menu item post objects.
+        * @param object $menu  The menu object.
+        * @param array  $args  An array of arguments used to retrieve menu item objects.
+        * @return array Array of menu items,
+        */
+       public static function sort_wp_get_nav_menu_items( $items, $menu, $args ) {
+               // @todo We should probably re-apply some constraints imposed by $args.
+               unset( $args['include'] );
+
+               // Remove invalid items only in frontend.
+               if ( ! is_admin() ) {
+                       $items = array_filter( $items, '_is_valid_nav_menu_item' );
+               }
+
+               if ( ARRAY_A === $args['output'] ) {
+                       $GLOBALS['_menu_item_sort_prop'] = $args['output_key'];
+                       usort( $items, '_sort_nav_menu_items' );
+                       $i = 1;
+
+                       foreach ( $items as $k => $item ) {
+                               $items[ $k ]->{$args['output_key']} = $i++;
+                       }
+               }
+
+               return $items;
+       }
+
+       /**
+        * Get the value emulated into a WP_Post and set up as a nav_menu_item.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @return WP_Post With wp_setup_nav_menu_item() applied.
+        */
+       public function value_as_wp_post_nav_menu_item() {
+               $item = (object) $this->value();
+               unset( $item->nav_menu_term_id );
+
+               $item->post_status = $item->status;
+               unset( $item->status );
+
+               $item->post_type = 'nav_menu_item';
+               $item->menu_order = $item->position;
+               unset( $item->position );
+
+               if ( $item->title ) {
+                       $item->post_title = $item->title;
+               }
+
+               $item->ID = $this->post_id;
+               $item->db_id = $this->post_id;
+               $post = new WP_Post( (object) $item );
+
+               if ( empty( $post->post_author ) ) {
+                       $post->post_author = get_current_user_id();
+               }
+
+               if ( ! isset( $post->type_label ) ) {
+                       if ( 'post_type' === $post->type ) {
+                               $object = get_post_type_object( $post->object );
+                               if ( $object ) {
+                                       $post->type_label = $object->labels->singular_name;
+                               } else {
+                                       $post->type_label = $post->object;
+                               }
+                       } elseif ( 'taxonomy' == $post->type ) {
+                               $object = get_taxonomy( $post->object );
+                               if ( $object ) {
+                                       $post->type_label = $object->labels->singular_name;
+                               } else {
+                                       $post->type_label = $post->object;
+                               }
+                       } else {
+                               $post->type_label = __( 'Custom Link' );
+                       }
+               }
+
+               return $post;
+       }
+
+       /**
+        * Sanitize an input.
+        *
+        * Note that parent::sanitize() erroneously does wp_unslash() on $value, but
+        * we remove that in this override.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $menu_item_value The value to sanitize.
+        * @return array|false|null Null if an input isn't valid. False if it is marked for deletion.
+        *                          Otherwise the sanitized value.
+        */
+       public function sanitize( $menu_item_value ) {
+               // Menu is marked for deletion.
+               if ( false === $menu_item_value ) {
+                       return $menu_item_value;
+               }
+
+               // Invalid.
+               if ( ! is_array( $menu_item_value ) ) {
+                       return null;
+               }
+
+               $default = array(
+                       'object_id'        => 0,
+                       'object'           => '',
+                       'menu_item_parent' => 0,
+                       'position'         => 0,
+                       'type'             => 'custom',
+                       'title'            => '',
+                       'url'              => '',
+                       'target'           => '',
+                       'attr_title'       => '',
+                       'description'      => '',
+                       'classes'          => '',
+                       'xfn'              => '',
+                       'status'           => 'publish',
+                       'original_title'   => '',
+                       'nav_menu_term_id' => 0,
+               );
+               $menu_item_value = array_merge( $default, $menu_item_value );
+               $menu_item_value = wp_array_slice_assoc( $menu_item_value, array_keys( $default ) );
+               $menu_item_value['position'] = max( 0, intval( $menu_item_value['position'] ) );
+
+               foreach ( array( 'object_id', 'menu_item_parent', 'nav_menu_term_id' ) as $key ) {
+                       // Note we need to allow negative-integer IDs for previewed objects not inserted yet.
+                       $menu_item_value[ $key ] = intval( $menu_item_value[ $key ] );
+               }
+
+               foreach ( array( 'type', 'object', 'target' ) as $key ) {
+                       $menu_item_value[ $key ] = sanitize_key( $menu_item_value[ $key ] );
+               }
+
+               foreach ( array( 'xfn', 'classes' ) as $key ) {
+                       $value = $menu_item_value[ $key ];
+                       if ( ! is_array( $value ) ) {
+                               $value = explode( ' ', $value );
+                       }
+                       $menu_item_value[ $key ] = implode( ' ', array_map( 'sanitize_html_class', $value ) );
+               }
+
+               foreach ( array( 'title', 'attr_title', 'description', 'original_title' ) as $key ) {
+                       // @todo Should esc_attr() the attr_title as well?
+                       $menu_item_value[ $key ] = sanitize_text_field( $menu_item_value[ $key ] );
+               }
+
+               $menu_item_value['url'] = esc_url_raw( $menu_item_value['url'] );
+               if ( ! get_post_status_object( $menu_item_value['status'] ) ) {
+                       $menu_item_value['status'] = 'publish';
+               }
+
+               /** This filter is documented in wp-includes/class-wp-customize-setting.php */
+               return apply_filters( "customize_sanitize_{$this->id}", $menu_item_value, $this );
+       }
+
+       /**
+        * Create/update the nav_menu_item post for this setting.
+        *
+        * Any created menu items will have their assigned post IDs exported to the client
+        * via the customize_save_response filter. Likewise, any errors will be exported
+        * to the client via the customize_save_response() filter.
+        *
+        * To delete a menu, the client can send false as the value.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @see wp_update_nav_menu_item()
+        *
+        * @param array|false $value The menu item array to update. If false, then the menu item will be deleted
+        *                           entirely. See WP_Customize_Nav_Menu_Item_Setting::$default for what the value
+        *                           should consist of.
+        * @return null|void
+        */
+       protected function update( $value ) {
+               if ( $this->is_updated ) {
+                       return;
+               }
+
+               $this->is_updated = true;
+               $is_placeholder   = ( $this->post_id < 0 );
+               $is_delete        = ( false === $value );
+
+               // Update the cached value.
+               $this->value = $value;
+
+               add_filter( 'customize_save_response', array( $this, 'amend_customize_save_response' ) );
+
+               if ( $is_delete ) {
+                       // If the current setting post is a placeholder, a delete request is a no-op.
+                       if ( $is_placeholder ) {
+                               $this->update_status = 'deleted';
+                       } else {
+                               $r = wp_delete_post( $this->post_id, true );
+
+                               if ( false === $r ) {
+                                       $this->update_error  = new WP_Error( 'delete_failure' );
+                                       $this->update_status = 'error';
+                               } else {
+                                       $this->update_status = 'deleted';
+                               }
+                               // @todo send back the IDs for all associated nav menu items deleted, so these settings (and controls) can be removed from Customizer?
+                       }
+               } else {
+
+                       // Handle saving menu items for menus that are being newly-created.
+                       if ( $value['nav_menu_term_id'] < 0 ) {
+                               $nav_menu_setting_id = sprintf( 'nav_menu[%s]', $value['nav_menu_term_id'] );
+                               $nav_menu_setting    = $this->manager->get_setting( $nav_menu_setting_id );
+
+                               if ( ! $nav_menu_setting || ! ( $nav_menu_setting instanceof WP_Customize_Nav_Menu_Setting ) ) {
+                                       $this->update_status = 'error';
+                                       $this->update_error  = new WP_Error( 'unexpected_nav_menu_setting' );
+                                       return;
+                               }
+
+                               if ( false === $nav_menu_setting->save() ) {
+                                       $this->update_status = 'error';
+                                       $this->update_error  = new WP_Error( 'nav_menu_setting_failure' );
+                                       return;
+                               }
+
+                               if ( $nav_menu_setting->previous_term_id !== intval( $value['nav_menu_term_id'] ) ) {
+                                       $this->update_status = 'error';
+                                       $this->update_error  = new WP_Error( 'unexpected_previous_term_id' );
+                                       return;
+                               }
+
+                               $value['nav_menu_term_id'] = $nav_menu_setting->term_id;
+                       }
+
+                       // Handle saving a nav menu item that is a child of a nav menu item being newly-created.
+                       if ( $value['menu_item_parent'] < 0 ) {
+                               $parent_nav_menu_item_setting_id = sprintf( 'nav_menu_item[%s]', $value['menu_item_parent'] );
+                               $parent_nav_menu_item_setting    = $this->manager->get_setting( $parent_nav_menu_item_setting_id );
+
+                               if ( ! $parent_nav_menu_item_setting || ! ( $parent_nav_menu_item_setting instanceof WP_Customize_Nav_Menu_Item_Setting ) ) {
+                                       $this->update_status = 'error';
+                                       $this->update_error  = new WP_Error( 'unexpected_nav_menu_item_setting' );
+                                       return;
+                               }
+
+                               if ( false === $parent_nav_menu_item_setting->save() ) {
+                                       $this->update_status = 'error';
+                                       $this->update_error  = new WP_Error( 'nav_menu_item_setting_failure' );
+                                       return;
+                               }
+
+                               if ( $parent_nav_menu_item_setting->previous_post_id !== intval( $value['menu_item_parent'] ) ) {
+                                       $this->update_status = 'error';
+                                       $this->update_error  = new WP_Error( 'unexpected_previous_post_id' );
+                                       return;
+                               }
+
+                               $value['menu_item_parent'] = $parent_nav_menu_item_setting->post_id;
+                       }
+
+                       // Insert or update menu.
+                       $menu_item_data = array(
+                               'menu-item-object-id'   => $value['object_id'],
+                               'menu-item-object'      => $value['object'],
+                               'menu-item-parent-id'   => $value['menu_item_parent'],
+                               'menu-item-position'    => $value['position'],
+                               'menu-item-type'        => $value['type'],
+                               'menu-item-title'       => $value['title'],
+                               'menu-item-url'         => $value['url'],
+                               'menu-item-description' => $value['description'],
+                               'menu-item-attr-title'  => $value['attr_title'],
+                               'menu-item-target'      => $value['target'],
+                               'menu-item-classes'     => $value['classes'],
+                               'menu-item-xfn'         => $value['xfn'],
+                               'menu-item-status'      => $value['status'],
+                       );
+
+                       $r = wp_update_nav_menu_item(
+                               $value['nav_menu_term_id'],
+                               $is_placeholder ? 0 : $this->post_id,
+                               $menu_item_data
+                       );
+
+                       if ( is_wp_error( $r ) ) {
+                               $this->update_status = 'error';
+                               $this->update_error = $r;
+                       } else {
+                               if ( $is_placeholder ) {
+                                       $this->previous_post_id = $this->post_id;
+                                       $this->post_id = $r;
+                                       $this->update_status = 'inserted';
+                               } else {
+                                       $this->update_status = 'updated';
+                               }
+                       }
+               }
+
+       }
+
+       /**
+        * Export data for the JS client.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Nav_Menu_Item_Setting::update()
+        *
+        * @param array $data Additional information passed back to the 'saved' event on `wp.customize`.
+        * @return array Save response data.
+        */
+       public function amend_customize_save_response( $data ) {
+               if ( ! isset( $data['nav_menu_item_updates'] ) ) {
+                       $data['nav_menu_item_updates'] = array();
+               }
+
+               $data['nav_menu_item_updates'][] = array(
+                       'post_id'          => $this->post_id,
+                       'previous_post_id' => $this->previous_post_id,
+                       'error'            => $this->update_error ? $this->update_error->get_error_code() : null,
+                       'status'           => $this->update_status,
+               );
+               return $data;
+       }
+}
+
+/**
+ * Customize Setting to represent a nav_menu.
+ *
+ * Subclass of WP_Customize_Setting to represent a nav_menu taxonomy term, and
+ * the IDs for the nav_menu_items associated with the nav menu.
+ *
+ * @since 4.3.0
+ *
+ * @see wp_get_nav_menu_object()
+ * @see WP_Customize_Setting
+ */
+class WP_Customize_Nav_Menu_Setting extends WP_Customize_Setting {
+
+       const ID_PATTERN = '/^nav_menu\[(?P<id>-?\d+)\]$/';
+
+       const TAXONOMY = 'nav_menu';
+
+       const TYPE = 'nav_menu';
+
+       /**
+        * Setting type.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $type = self::TYPE;
+
+       /**
+        * Default setting value.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var array
+        *
+        * @see wp_get_nav_menu_object()
+        */
+       public $default = array(
+               'name'        => '',
+               'description' => '',
+               'parent'      => 0,
+               'auto_add'    => false,
+       );
+
+       /**
+        * Default transport.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string
+        */
+       public $transport = 'postMessage';
+
+       /**
+        * The term ID represented by this setting instance.
+        *
+        * A negative value represents a placeholder ID for a new menu not yet saved.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        */
+       public $term_id;
+
+       /**
+        * Previous (placeholder) term ID used before creating a new menu.
+        *
+        * This value will be exported to JS via the customize_save_response filter
+        * so that JavaScript can update the settings to refer to the newly-assigned
+        * term ID. This value is always negative to indicate it does not refer to
+        * a real term.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var int
+        *
+        * @see WP_Customize_Nav_Menu_Setting::update()
+        * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response()
+        */
+       public $previous_term_id;
+
+       /**
+        * Whether or not preview() was called.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var bool
+        */
+       protected $is_previewed = false;
+
+       /**
+        * Whether or not update() was called.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var bool
+        */
+       protected $is_updated = false;
+
+       /**
+        * Status for calling the update method, used in customize_save_response filter.
+        *
+        * When status is inserted, the placeholder term ID is stored in $previous_term_id.
+        * When status is error, the error is stored in $update_error.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var string updated|inserted|deleted|error
+        *
+        * @see WP_Customize_Nav_Menu_Setting::update()
+        * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response()
+        */
+       public $update_status;
+
+       /**
+        * Any error object returned by wp_update_nav_menu_object() when setting is updated.
+        *
+        * @since 4.3.0
+        * @access public
+        * @var WP_Error
+        *
+        * @see WP_Customize_Nav_Menu_Setting::update()
+        * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response()
+        */
+       public $update_error;
+
+       /**
+        * Constructor.
+        *
+        * Any supplied $args override class property defaults.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param WP_Customize_Manager $manager Bootstrap Customizer instance.
+        * @param string               $id      An specific ID of the setting. Can be a
+        *                                      theme mod or option name.
+        * @param array                $args    Optional. Setting arguments.
+        *
+        * @throws Exception If $id is not valid for this setting type.
+        */
+       public function __construct( WP_Customize_Manager $manager, $id, array $args = array() ) {
+               if ( empty( $manager->nav_menus ) ) {
+                       throw new Exception( 'Expected WP_Customize_Manager::$nav_menus to be set.' );
+               }
+
+               if ( ! preg_match( self::ID_PATTERN, $id, $matches ) ) {
+                       throw new Exception( "Illegal widget setting ID: $id" );
+               }
+
+               $this->term_id = intval( $matches['id'] );
+
+               parent::__construct( $manager, $id, $args );
+       }
+
+       /**
+        * Get the instance data for a given widget setting.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_get_nav_menu_object()
+        *
+        * @return array Instance data.
+        */
+       public function value() {
+               if ( $this->is_previewed && $this->_previewed_blog_id === get_current_blog_id() ) {
+                       $undefined  = new stdClass(); // Symbol.
+                       $post_value = $this->post_value( $undefined );
+
+                       if ( $undefined === $post_value ) {
+                               $value = $this->_original_value;
+                       } else {
+                               $value = $post_value;
+                       }
+               } else {
+                       $value = false;
+
+                       // Note that a term_id of less than one indicates a nav_menu not yet inserted.
+                       if ( $this->term_id > 0 ) {
+                               $term = wp_get_nav_menu_object( $this->term_id );
+
+                               if ( $term ) {
+                                       $value = wp_array_slice_assoc( (array) $term, array_keys( $this->default ) );
+
+                                       $nav_menu_options  = (array) get_option( 'nav_menu_options', array() );
+                                       $value['auto_add'] = false;
+
+                                       if ( isset( $nav_menu_options['auto_add'] ) && is_array( $nav_menu_options['auto_add'] ) ) {
+                                               $value['auto_add'] = in_array( $term->term_id, $nav_menu_options['auto_add'] );
+                                       }
+                               }
+                       }
+
+                       if ( ! is_array( $value ) ) {
+                               $value = $this->default;
+                       }
+               }
+               return $value;
+       }
+
+       /**
+        * Handle previewing the setting.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Manager::post_value()
+        */
+       public function preview() {
+               if ( $this->is_previewed ) {
+                       return;
+               }
+
+               $this->is_previewed       = true;
+               $this->_original_value    = $this->value();
+               $this->_previewed_blog_id = get_current_blog_id();
+
+               add_filter( 'wp_get_nav_menus', array( $this, 'filter_wp_get_nav_menus' ), 10, 2 );
+               add_filter( 'wp_get_nav_menu_object', array( $this, 'filter_wp_get_nav_menu_object' ), 10, 2 );
+               add_filter( 'default_option_nav_menu_options', array( $this, 'filter_nav_menu_options' ) );
+               add_filter( 'option_nav_menu_options', array( $this, 'filter_nav_menu_options' ) );
+       }
+
+       /**
+        * Filter the wp_get_nav_menus() result to ensure the inserted menu object is included, and the deleted one is removed.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_get_nav_menus()
+        *
+        * @param array $menus An array of menu objects.
+        * @param array $args  An array of arguments used to retrieve menu objects.
+        * @return array
+        */
+       public function filter_wp_get_nav_menus( $menus, $args ) {
+               if ( get_current_blog_id() !== $this->_previewed_blog_id ) {
+                       return $menus;
+               }
+
+               $setting_value = $this->value();
+               $is_delete = ( false === $setting_value );
+               $index = -1;
+
+               // Find the existing menu item's position in the list.
+               foreach ( $menus as $i => $menu ) {
+                       if ( (int) $this->term_id === (int) $menu->term_id || (int) $this->previous_term_id === (int) $menu->term_id ) {
+                               $index = $i;
+                               break;
+                       }
+               }
+
+               if ( $is_delete ) {
+                       // Handle deleted menu by removing it from the list.
+                       if ( -1 !== $index ) {
+                               array_splice( $menus, $index, 1 );
+                       }
+               } else {
+                       // Handle menus being updated or inserted.
+                       $menu_obj = (object) array_merge( array(
+                               'term_id'          => $this->term_id,
+                               'term_taxonomy_id' => $this->term_id,
+                               'slug'             => sanitize_title( $setting_value['name'] ),
+                               'count'            => 0,
+                               'term_group'       => 0,
+                               'taxonomy'         => self::TAXONOMY,
+                               'filter'           => 'raw',
+                       ), $setting_value );
+
+                       array_splice( $menus, $index, ( -1 === $index ? 0 : 1 ), array( $menu_obj ) );
+               }
+
+               // Make sure the menu objects get re-sorted after an update/insert.
+               if ( ! $is_delete && ! empty( $args['orderby'] ) ) {
+                       $this->_current_menus_sort_orderby = $args['orderby'];
+                       usort( $menus, array( $this, '_sort_menus_by_orderby' ) );
+               }
+               // @todo add support for $args['hide_empty'] === true
+
+               return $menus;
+       }
+
+       /**
+        * Temporary non-closure passing of orderby value to function.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var string
+        *
+        * @see WP_Customize_Nav_Menu_Setting::filter_wp_get_nav_menus()
+        * @see WP_Customize_Nav_Menu_Setting::_sort_menus_by_orderby()
+        */
+       protected $_current_menus_sort_orderby;
+
+       /**
+        * Sort menu objects by the class-supplied orderby property.
+        *
+        * This is a workaround for a lack of closures.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @param object $menu1
+        * @param object $menu2
+        * @return int
+        *
+        * @see WP_Customize_Nav_Menu_Setting::filter_wp_get_nav_menus()
+        */
+       protected function _sort_menus_by_orderby( $menu1, $menu2 ) {
+               $key = $this->_current_menus_sort_orderby;
+               return strcmp( $menu1->$key, $menu2->$key );
+       }
+
+       /**
+        * Filter the wp_get_nav_menu_object() result to supply the previewed menu object.
+        *
+        * Requesting a nav_menu object by anything but ID is not supported.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see wp_get_nav_menu_object()
+        *
+        * @param object|null $menu_obj Object returned by wp_get_nav_menu_object().
+        * @param string      $menu_id  ID of the nav_menu term. Requests by slug or name will be ignored.
+        * @return object|null
+        */
+       public function filter_wp_get_nav_menu_object( $menu_obj, $menu_id ) {
+               $ok = (
+                       get_current_blog_id() === $this->_previewed_blog_id
+                       &&
+                       is_int( $menu_id )
+                       &&
+                       $menu_id === $this->term_id
+               );
+               if ( ! $ok ) {
+                       return $menu_obj;
+               }
+
+               $setting_value = $this->value();
+
+               // Handle deleted menus.
+               if ( false === $setting_value ) {
+                       return false;
+               }
+
+               // Handle sanitization failure by preventing short-circuiting.
+               if ( null === $setting_value ) {
+                       return $menu_obj;
+               }
+
+               $menu_obj = (object) array_merge( array(
+                               'term_id'          => $this->term_id,
+                               'term_taxonomy_id' => $this->term_id,
+                               'slug'             => sanitize_title( $setting_value['name'] ),
+                               'count'            => 0,
+                               'term_group'       => 0,
+                               'taxonomy'         => self::TAXONOMY,
+                               'filter'           => 'raw',
+                       ), $setting_value );
+
+               return $menu_obj;
+       }
+
+       /**
+        * Filter the nav_menu_options option to include this menu's auto_add preference.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $nav_menu_options Nav menu options including auto_add.
+        * @return array (Kaybe) modified nav menu options.
+        */
+       public function filter_nav_menu_options( $nav_menu_options ) {
+               if ( $this->_previewed_blog_id !== get_current_blog_id() ) {
+                       return $nav_menu_options;
+               }
+
+               $menu = $this->value();
+               $nav_menu_options = $this->filter_nav_menu_options_value(
+                       $nav_menu_options,
+                       $this->term_id,
+                       false === $menu ? false : $menu['auto_add']
+               );
+
+               return $nav_menu_options;
+       }
+
+       /**
+        * Sanitize an input.
+        *
+        * Note that parent::sanitize() erroneously does wp_unslash() on $value, but
+        * we remove that in this override.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @param array $value The value to sanitize.
+        * @return array|false|null Null if an input isn't valid. False if it is marked for deletion.
+        *                          Otherwise the sanitized value.
+        */
+       public function sanitize( $value ) {
+               // Menu is marked for deletion.
+               if ( false === $value ) {
+                       return $value;
+               }
+
+               // Invalid.
+               if ( ! is_array( $value ) ) {
+                       return null;
+               }
+
+               $default = array(
+                       'name'        => '',
+                       'description' => '',
+                       'parent'      => 0,
+                       'auto_add'    => false,
+               );
+               $value = array_merge( $default, $value );
+               $value = wp_array_slice_assoc( $value, array_keys( $default ) );
+
+               $value['name']        = trim( esc_html( $value['name'] ) ); // This sanitization code is used in wp-admin/nav-menus.php.
+               $value['description'] = sanitize_text_field( $value['description'] );
+               $value['parent']      = max( 0, intval( $value['parent'] ) );
+               $value['auto_add']    = ! empty( $value['auto_add'] );
+
+               if ( '' === $value['name'] ) {
+                       $value['name'] = _x( '(unnamed)', 'Missing menu name.' );
+               }
+
+               /** This filter is documented in wp-includes/class-wp-customize-setting.php */
+               return apply_filters( "customize_sanitize_{$this->id}", $value, $this );
+       }
+
+       /**
+        * Storage for data to be sent back to client in customize_save_response filter.
+        *
+        * @access protected
+        * @since 4.3.0
+        * @var array
+        *
+        * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response()
+        */
+       protected $_widget_nav_menu_updates = array();
+
+       /**
+        * Create/update the nav_menu term for this setting.
+        *
+        * Any created menus will have their assigned term IDs exported to the client
+        * via the customize_save_response filter. Likewise, any errors will be exported
+        * to the client via the customize_save_response() filter.
+        *
+        * To delete a menu, the client can send false as the value.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @see wp_update_nav_menu_object()
+        *
+        * @param array|false $value {
+        *     The value to update. Note that slug cannot be updated via wp_update_nav_menu_object().
+        *     If false, then the menu will be deleted entirely.
+        *
+        *     @type string $name        The name of the menu to save.
+        *     @type string $description The term description. Default empty string.
+        *     @type int    $parent      The id of the parent term. Default 0.
+        *     @type bool   $auto_add    Whether pages will auto_add to this menu. Default false.
+        * }
+        * @return null|void
+        */
+       protected function update( $value ) {
+               if ( $this->is_updated ) {
+                       return;
+               }
+
+               $this->is_updated = true;
+               $is_placeholder   = ( $this->term_id < 0 );
+               $is_delete        = ( false === $value );
+
+               add_filter( 'customize_save_response', array( $this, 'amend_customize_save_response' ) );
+
+               $auto_add = null;
+               if ( $is_delete ) {
+                       // If the current setting term is a placeholder, a delete request is a no-op.
+                       if ( $is_placeholder ) {
+                               $this->update_status = 'deleted';
+                       } else {
+                               $r = wp_delete_nav_menu( $this->term_id );
+
+                               if ( is_wp_error( $r ) ) {
+                                       $this->update_status = 'error';
+                                       $this->update_error  = $r;
+                               } else {
+                                       $this->update_status = 'deleted';
+                                       $auto_add = false;
+                               }
+                       }
+               } else {
+                       // Insert or update menu.
+                       $menu_data = wp_array_slice_assoc( $value, array( 'description', 'parent' ) );
+                       $menu_data['menu-name'] = $value['name'];
+
+                       $menu_id = $is_placeholder ? 0 : $this->term_id;
+                       $r = wp_update_nav_menu_object( $menu_id, $menu_data );
+                       $original_name = $menu_data['menu-name'];
+                       $name_conflict_suffix = 1;
+                       while ( is_wp_error( $r ) && 'menu_exists' === $r->get_error_code() ) {
+                               $name_conflict_suffix += 1;
+                               /* translators: 1: original menu name, 2: duplicate count */
+                               $menu_data['menu-name'] = sprintf( __( '%1$s (%2$d)' ), $original_name, $name_conflict_suffix );
+                               $r = wp_update_nav_menu_object( $menu_id, $menu_data );
+                       }
+
+                       if ( is_wp_error( $r ) ) {
+                               $this->update_status = 'error';
+                               $this->update_error  = $r;
+                       } else {
+                               if ( $is_placeholder ) {
+                                       $this->previous_term_id = $this->term_id;
+                                       $this->term_id          = $r;
+                                       $this->update_status    = 'inserted';
+                               } else {
+                                       $this->update_status = 'updated';
+                               }
+
+                               $auto_add = $value['auto_add'];
+                       }
+               }
+
+               if ( null !== $auto_add ) {
+                       $nav_menu_options = $this->filter_nav_menu_options_value(
+                               (array) get_option( 'nav_menu_options', array() ),
+                               $this->term_id,
+                               $auto_add
+                       );
+                       update_option( 'nav_menu_options', $nav_menu_options );
+               }
+
+               if ( 'inserted' === $this->update_status ) {
+                       // Make sure that new menus assigned to nav menu locations use their new IDs.
+                       foreach ( $this->manager->settings() as $setting ) {
+                               if ( ! preg_match( '/^nav_menu_locations\[/', $setting->id ) ) {
+                                       continue;
+                               }
+
+                               $post_value = $setting->post_value( null );
+                               if ( ! is_null( $post_value ) && $this->previous_term_id === intval( $post_value ) ) {
+                                       $this->manager->set_post_value( $setting->id, $this->term_id );
+                                       $setting->save();
+                               }
+                       }
+
+                       // Make sure that any nav_menu widgets referencing the placeholder nav menu get updated and sent back to client.
+                       foreach ( array_keys( $this->manager->unsanitized_post_values() ) as $setting_id ) {
+                               $nav_menu_widget_setting = $this->manager->get_setting( $setting_id );
+                               if ( ! $nav_menu_widget_setting || ! preg_match( '/^widget_nav_menu\[/', $nav_menu_widget_setting->id ) ) {
+                                       continue;
+                               }
+
+                               $widget_instance = $nav_menu_widget_setting->post_value(); // Note that this calls WP_Customize_Widgets::sanitize_widget_instance().
+                               if ( empty( $widget_instance['nav_menu'] ) || intval( $widget_instance['nav_menu'] ) !== $this->previous_term_id ) {
+                                       continue;
+                               }
+
+                               $widget_instance['nav_menu'] = $this->term_id;
+                               $updated_widget_instance = $this->manager->widgets->sanitize_widget_js_instance( $widget_instance );
+                               $this->manager->set_post_value( $nav_menu_widget_setting->id, $updated_widget_instance );
+                               $nav_menu_widget_setting->save();
+
+                               $this->_widget_nav_menu_updates[ $nav_menu_widget_setting->id ] = $updated_widget_instance;
+                       }
+               }
+       }
+
+       /**
+        * Updates a nav_menu_options array.
+        *
+        * @since 4.3.0
+        * @access protected
+        *
+        * @see WP_Customize_Nav_Menu_Setting::filter_nav_menu_options()
+        * @see WP_Customize_Nav_Menu_Setting::update()
+        *
+        * @param array $nav_menu_options Array as returned by get_option( 'nav_menu_options' ).
+        * @param int   $menu_id          The term ID for the given menu.
+        * @param bool  $auto_add         Whether to auto-add or not.
+        * @return array (Maybe) modified nav_menu_otions array.
+        */
+       protected function filter_nav_menu_options_value( $nav_menu_options, $menu_id, $auto_add ) {
+               $nav_menu_options = (array) $nav_menu_options;
+               if ( ! isset( $nav_menu_options['auto_add'] ) ) {
+                       $nav_menu_options['auto_add'] = array();
+               }
+
+               $i = array_search( $menu_id, $nav_menu_options['auto_add'] );
+               if ( $auto_add && false === $i ) {
+                       array_push( $nav_menu_options['auto_add'], $this->term_id );
+               } elseif ( ! $auto_add && false !== $i ) {
+                       array_splice( $nav_menu_options['auto_add'], $i, 1 );
+               }
+
+               return $nav_menu_options;
+       }
+
+       /**
+        * Export data for the JS client.
+        *
+        * @since 4.3.0
+        * @access public
+        *
+        * @see WP_Customize_Nav_Menu_Setting::update()
+        *
+        * @param array $data Additional information passed back to the 'saved' event on `wp.customize`.
+        * @return array Export data.
+        */
+       public function amend_customize_save_response( $data ) {
+               if ( ! isset( $data['nav_menu_updates'] ) ) {
+                       $data['nav_menu_updates'] = array();
+               }
+               if ( ! isset( $data['widget_nav_menu_updates'] ) ) {
+                       $data['widget_nav_menu_updates'] = array();
+               }
+
+               $data['nav_menu_updates'][] = array(
+                       'term_id'          => $this->term_id,
+                       'previous_term_id' => $this->previous_term_id,
+                       'error'            => $this->update_error ? $this->update_error->get_error_code() : null,
+                       'status'           => $this->update_status,
+                       'saved_value'      => 'deleted' === $this->update_status ? null : $this->value(),
+               );
+
+               $data['widget_nav_menu_updates'] = array_merge(
+                       $data['widget_nav_menu_updates'],
+                       $this->_widget_nav_menu_updates
+               );
+               $this->_widget_nav_menu_updates = array();
+
+               return $data;
+       }
+}
index 728bb5f04b12bec14ef85ab55d5525033fb81cd0..8569228e4670eafd9d92a16bb86b30cf0bd30ef7 100644 (file)
@@ -108,8 +108,10 @@ final class WP_Customize_Widgets {
         * @since 4.2.0
         * @access protected
         *
+        * @staticvar array $cache
+        *
         * @param $setting_id Setting ID.
-        * @return string|null Setting type. Null otherwise.
+        * @return string|void Setting type.
         */
        protected function get_setting_type( $setting_id ) {
                static $cache = array();
@@ -122,7 +124,6 @@ final class WP_Customize_Widgets {
                                return $type;
                        }
                }
-               return null;
        }
 
        /**
@@ -204,6 +205,9 @@ final class WP_Customize_Widgets {
         *
         * @since 3.9.0
         * @access public
+        *
+        * @global array $sidebars_widgets
+        * @global array $_wp_sidebars_widgets
         */
        public function override_sidebars_widgets_for_theme_switch() {
                global $sidebars_widgets;
@@ -219,7 +223,8 @@ final class WP_Customize_Widgets {
                $sidebars_widgets = $this->old_sidebars_widgets;
                $sidebars_widgets = retrieve_widgets( 'customize' );
                add_filter( 'option_sidebars_widgets', array( $this, 'filter_option_sidebars_widgets_for_theme_switch' ), 1 );
-               unset( $GLOBALS['_wp_sidebars_widgets'] ); // reset global cache var used by wp_get_sidebars_widgets()
+               // reset global cache var used by wp_get_sidebars_widgets()
+               unset( $GLOBALS['_wp_sidebars_widgets'] );
        }
 
        /**
@@ -236,6 +241,7 @@ final class WP_Customize_Widgets {
         * @access public
         *
         * @param array $old_sidebars_widgets
+        * @return array
         */
        public function filter_customize_value_old_sidebars_widgets_data( $old_sidebars_widgets ) {
                return $this->old_sidebars_widgets;
@@ -252,7 +258,10 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
+        * @global array $sidebars_widgets
+        *
         * @param array $sidebars_widgets
+        * @return array
         */
        public function filter_option_sidebars_widgets_for_theme_switch( $sidebars_widgets ) {
                $sidebars_widgets = $GLOBALS['sidebars_widgets'];
@@ -302,13 +311,17 @@ final class WP_Customize_Widgets {
         *
         * @since 3.9.0
         * @access public
+        *
+        * @global array $wp_registered_widgets
+        * @global array $wp_registered_widget_controls
+        * @global array $wp_registered_sidebars
         */
        public function customize_register() {
                global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_sidebars;
 
                $sidebars_widgets = array_merge(
                        array( 'wp_inactive_widgets' => array() ),
-                       array_fill_keys( array_keys( $GLOBALS['wp_registered_sidebars'] ), array() ),
+                       array_fill_keys( array_keys( $wp_registered_sidebars ), array() ),
                        wp_get_sidebars_widgets()
                );
 
@@ -352,7 +365,7 @@ final class WP_Customize_Widgets {
                                $sidebar_widget_ids = array();
                        }
 
-                       $is_registered_sidebar = isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] );
+                       $is_registered_sidebar = isset( $wp_registered_sidebars[ $sidebar_id ] );
                        $is_inactive_widgets   = ( 'wp_inactive_widgets' === $sidebar_id );
                        $is_active_sidebar     = ( $is_registered_sidebar && ! $is_inactive_widgets );
 
@@ -373,8 +386,8 @@ final class WP_Customize_Widgets {
                                if ( $is_active_sidebar ) {
 
                                        $section_args = array(
-                                               'title' => $GLOBALS['wp_registered_sidebars'][ $sidebar_id ]['name'],
-                                               'description' => $GLOBALS['wp_registered_sidebars'][ $sidebar_id ]['description'],
+                                               'title' => $wp_registered_sidebars[ $sidebar_id ]['name'],
+                                               'description' => $wp_registered_sidebars[ $sidebar_id ]['description'],
                                                'priority' => array_search( $sidebar_id, array_keys( $wp_registered_sidebars ) ),
                                                'panel' => 'widgets',
                                                'sidebar_id' => $sidebar_id,
@@ -409,13 +422,13 @@ final class WP_Customize_Widgets {
                        foreach ( $sidebar_widget_ids as $i => $widget_id ) {
 
                                // Skip widgets that may have gone away due to a plugin being deactivated.
-                               if ( ! $is_active_sidebar || ! isset( $GLOBALS['wp_registered_widgets'][$widget_id] ) ) {
+                               if ( ! $is_active_sidebar || ! isset( $wp_registered_widgets[$widget_id] ) ) {
                                        continue;
                                }
 
-                               $registered_widget = $GLOBALS['wp_registered_widgets'][$widget_id];
+                               $registered_widget = $wp_registered_widgets[$widget_id];
                                $setting_id        = $this->get_setting_id( $widget_id );
-                               $id_base           = $GLOBALS['wp_registered_widget_controls'][$widget_id]['id_base'];
+                               $id_base           = $wp_registered_widget_controls[$widget_id]['id_base'];
 
                                $control = new WP_Widget_Form_Customize_Control( $this->manager, $setting_id, array(
                                        'label'          => $registered_widget['name'],
@@ -473,6 +486,8 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
+        * @global $wp_registered_widget_controls
+        *
         * @param string $widget_id Widget ID.
         * @return bool Whether or not the widget is a "wide" widget.
         */
@@ -576,8 +591,14 @@ final class WP_Customize_Widgets {
         *
         * @since 3.9.0
         * @access public
+        *
+        * @global WP_Scripts $wp_scripts
+        * @global array $wp_registered_sidebars
+        * @global array $wp_registered_widgets
         */
        public function enqueue_scripts() {
+               global $wp_scripts, $wp_registered_sidebars, $wp_registered_widgets;
+
                wp_enqueue_style( 'customize-widgets' );
                wp_enqueue_script( 'customize-widgets' );
 
@@ -621,12 +642,10 @@ final class WP_Customize_Widgets {
                        </div>'
                );
 
-               global $wp_scripts;
-
                $settings = array(
                        'nonce'                => wp_create_nonce( 'update-widget' ),
-                       'registeredSidebars'   => array_values( $GLOBALS['wp_registered_sidebars'] ),
-                       'registeredWidgets'    => $GLOBALS['wp_registered_widgets'],
+                       'registeredSidebars'   => array_values( $wp_registered_sidebars ),
+                       'registeredWidgets'    => $wp_registered_widgets,
                        'availableWidgets'     => $available_widgets, // @todo Merge this with registered_widgets
                        'l10n' => array(
                                'saveBtnLabel'     => __( 'Apply' ),
@@ -664,6 +683,18 @@ final class WP_Customize_Widgets {
                ?>
                <div id="widgets-left"><!-- compatibility with JS which looks for widget templates here -->
                <div id="available-widgets">
+                       <div class="customize-section-title">
+                               <button class="customize-section-back" tabindex="-1">
+                                       <span class="screen-reader-text"><?php _e( 'Back' ); ?></span>
+                               </button>
+                               <h3>
+                                       <span class="customize-action"><?php
+                                               /* translators: &#9656; is the unicode right-pointing triangle, and %s is the section title in the Customizer */
+                                               echo sprintf( __( 'Customizing &#9656; %s' ), esc_html( $this->manager->get_panel( 'widgets' )->title ) );
+                                       ?></span>
+                                       <?php _e( 'Add a Widget' ); ?>
+                               </h3>
+                       </div>
                        <div id="available-widgets-filter">
                                <label class="screen-reader-text" for="widgets-search"><?php _e( 'Search Widgets' ); ?></label>
                                <input type="search" id="widgets-search" placeholder="<?php esc_attr_e( 'Search widgets&hellip;' ) ?>" />
@@ -716,7 +747,7 @@ final class WP_Customize_Widgets {
                if ( preg_match( $this->setting_id_patterns['sidebar_widgets'], $id, $matches ) ) {
                        $args['sanitize_callback'] = array( $this, 'sanitize_sidebar_widgets' );
                        $args['sanitize_js_callback'] = array( $this, 'sanitize_sidebar_widgets_js_instance' );
-               } else if ( preg_match( $this->setting_id_patterns['widget_instance'], $id, $matches ) ) {
+               } elseif ( preg_match( $this->setting_id_patterns['widget_instance'], $id, $matches ) ) {
                        $args['sanitize_callback'] = array( $this, 'sanitize_widget_instance' );
                        $args['sanitize_js_callback'] = array( $this, 'sanitize_widget_js_instance' );
                }
@@ -762,6 +793,10 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
+        * @global array $wp_registered_widgets
+        * @global array $wp_registered_widget_controls
+        * @staticvar array $available_widgets
+        *
         * @see wp_list_widgets()
         *
         * @return array List of available widgets.
@@ -843,7 +878,6 @@ final class WP_Customize_Widgets {
         * Naturally order available widgets by name.
         *
         * @since 3.9.0
-        * @static
         * @access protected
         *
         * @param array $widget_a The first widget to compare.
@@ -918,6 +952,7 @@ final class WP_Customize_Widgets {
         * @access public
         *
         * @param array $sidebars_widgets List of widgets for the current sidebar.
+        * @return array
         */
        public function preview_sidebars_widgets( $sidebars_widgets ) {
                $sidebars_widgets = get_option( 'sidebars_widgets' );
@@ -965,15 +1000,18 @@ final class WP_Customize_Widgets {
         *
         * @since 3.9.0
         * @access public
+     *
+        * @global array $wp_registered_sidebars
+        * @global array $wp_registered_widgets
         */
        public function export_preview_data() {
-
+               global $wp_registered_sidebars, $wp_registered_widgets;
                // Prepare Customizer settings to pass to JavaScript.
                $settings = array(
                        'renderedSidebars'   => array_fill_keys( array_unique( $this->rendered_sidebars ), true ),
                        'renderedWidgets'    => array_fill_keys( array_keys( $this->rendered_widgets ), true ),
-                       'registeredSidebars' => array_values( $GLOBALS['wp_registered_sidebars'] ),
-                       'registeredWidgets'  => $GLOBALS['wp_registered_widgets'],
+                       'registeredSidebars' => array_values( $wp_registered_sidebars ),
+                       'registeredWidgets'  => $wp_registered_widgets,
                        'l10n'               => array(
                                'widgetTooltip' => __( 'Shift-click to edit this widget.' ),
                        ),
@@ -1038,8 +1076,11 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
+        * @global array $wp_registered_sidebars
+        *
         * @param bool   $is_active  Whether the sidebar is active.
         * @param string $sidebar_id Sidebar ID.
+        * @return bool
         */
        public function tally_sidebars_via_is_active_sidebar_calls( $is_active, $sidebar_id ) {
                if ( isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] ) ) {
@@ -1063,8 +1104,11 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
+        * @global array $wp_registered_sidebars
+        *
         * @param bool   $has_widgets Whether the current sidebar has widgets.
         * @param string $sidebar_id  Sidebar ID.
+        * @return bool
         */
        public function tally_sidebars_via_dynamic_sidebar_calls( $has_widgets, $sidebar_id ) {
                if ( isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] ) ) {
@@ -1105,7 +1149,7 @@ final class WP_Customize_Widgets {
         * @access public
         *
         * @param array $value Widget instance to sanitize.
-        * @return array Sanitized widget instance.
+        * @return array|void Sanitized widget instance.
         */
        public function sanitize_widget_instance( $value ) {
                if ( $value === array() ) {
@@ -1116,21 +1160,21 @@ final class WP_Customize_Widgets {
                        || empty( $value['instance_hash_key'] )
                        || empty( $value['encoded_serialized_instance'] ) )
                {
-                       return null;
+                       return;
                }
 
                $decoded = base64_decode( $value['encoded_serialized_instance'], true );
                if ( false === $decoded ) {
-                       return null;
+                       return;
                }
 
                if ( ! hash_equals( $this->get_instance_hash_key( $decoded ), $value['instance_hash_key'] ) ) {
-                       return null;
+                       return;
                }
 
                $instance = unserialize( $decoded );
                if ( false === $instance ) {
-                       return null;
+                       return;
                }
 
                return $instance;
@@ -1168,6 +1212,8 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
+        * @global array $wp_registered_widgets
+        *
         * @param array $widget_ids List of widget IDs.
         * @return array Parsed list of widget IDs.
         */
@@ -1185,6 +1231,9 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
+        * @global array $wp_registered_widget_updates
+        * @global array $wp_registered_widget_controls
+        *
         * @param  string $widget_id Widget ID.
         * @return WP_Error|array Array containing the updated widget information.
         *                        A WP_Error object, otherwise.
@@ -1192,6 +1241,20 @@ final class WP_Customize_Widgets {
        public function call_widget_update( $widget_id ) {
                global $wp_registered_widget_updates, $wp_registered_widget_controls;
 
+               $setting_id = $this->get_setting_id( $widget_id );
+
+               /*
+                * Make sure that other setting changes have previewed since this widget
+                * may depend on them (e.g. Menus being present for Custom Menu widget).
+                */
+               if ( ! did_action( 'customize_preview_init' ) ) {
+                       foreach ( $this->manager->settings() as $setting ) {
+                               if ( $setting->id !== $setting_id ) {
+                                       $setting->preview();
+                               }
+                       }
+               }
+
                $this->start_capturing_option_updates();
                $parsed_id   = $this->parse_widget_id( $widget_id );
                $option_name = 'widget_' . $parsed_id['id_base'];
@@ -1272,7 +1335,6 @@ final class WP_Customize_Widgets {
                 * in place from WP_Customize_Setting::preview() will use this value
                 * instead of the default widget instance value (an empty array).
                 */
-               $setting_id = $this->get_setting_id( $widget_id );
                $this->manager->set_post_value( $setting_id, $instance );
 
                // Obtain the widget control with the updated instance in place.
@@ -1344,7 +1406,7 @@ final class WP_Customize_Widgets {
 
                $updated_widget = $this->call_widget_update( $widget_id ); // => {instance,form}
                if ( is_wp_error( $updated_widget ) ) {
-                       wp_send_json_error( $updated_widget->get_error_message() );
+                       wp_send_json_error( $updated_widget->get_error_code() );
                }
 
                $form = $updated_widget['form'];
@@ -1382,7 +1444,7 @@ final class WP_Customize_Widgets {
         * @access protected
         *
         * @param string $option_name Option name.
-        * @return boolean Whether the option capture is ignored.
+        * @return bool Whether the option capture is ignored.
         */
        protected function is_option_capture_ignored( $option_name ) {
                return ( 0 === strpos( $option_name, '_transient_' ) );
index ae02621539284d96f90b1064ac9910c2e4d31d06..a016df52693b76033391407cca39cc9f9541e599 100644 (file)
@@ -25,12 +25,14 @@ final class _WP_Editors {
        private static $has_medialib = false;
        private static $editor_buttons_css = true;
        private static $drag_drop_upload = false;
+       private static $old_dfw_compat = false;
 
        private function __construct() {}
 
        /**
         * Parse default arguments for the editor instance.
         *
+        * @static
         * @param string $editor_id ID for the current editor instance.
         * @param array  $settings {
         *     Array of editor arguments.
@@ -52,8 +54,7 @@ final class _WP_Editors {
         *     @type string     $editor_class      Extra classes to add to the editor textarea elemen. Default empty.
         *     @type bool       $teeny             Whether to output the minimal editor config. Examples include
         *                                         Press This and the Comment editor. Default false.
-        *     @type bool       $dfw               Whether to replace the default fullscreen with "Distraction Free
-        *                                         Writing". DFW requires specific DOM elements and css). Default false.
+        *     @type bool       $dfw               Deprecated in 4.1. Since 4.3 used only to enqueue wp-fullscreen-stub.js for backwards compatibility.
         *     @type bool|array $tinymce           Whether to load TinyMCE. Can be used to pass settings directly to
         *                                         TinyMCE using an array. Default true.
         *     @type bool|array $quicktags         Whether to load Quicktags. Can be used to pass settings directly to
@@ -110,6 +111,10 @@ final class _WP_Editors {
                if ( self::$this_quicktags )
                        self::$has_quicktags = true;
 
+               if ( $set['dfw'] ) {
+                       self::$old_dfw_compat = true;
+               }
+
                if ( empty( $set['editor_height'] ) )
                        return $set;
 
@@ -132,76 +137,80 @@ final class _WP_Editors {
        /**
         * Outputs the HTML for a single instance of the editor.
         *
+        * @static
         * @param string $content The initial content of the editor.
         * @param string $editor_id ID for the textarea and TinyMCE and Quicktags instances (can contain only ASCII letters and numbers).
         * @param array $settings See the _parse_settings() method for description.
         */
        public static function editor( $content, $editor_id, $settings = array() ) {
-
                $set = self::parse_settings( $editor_id, $settings );
-               $editor_class = ' class="' . trim( $set['editor_class'] . ' wp-editor-area' ) . '"';
+               $editor_class = ' class="' . trim( esc_attr( $set['editor_class'] ) . ' wp-editor-area' ) . '"';
                $tabindex = $set['tabindex'] ? ' tabindex="' . (int) $set['tabindex'] . '"' : '';
-               $switch_class = 'html-active';
+               $default_editor = 'html';
                $toolbar = $buttons = $autocomplete = '';
+               $editor_id_attr = esc_attr( $editor_id );
 
                if ( $set['drag_drop_upload'] ) {
                        self::$drag_drop_upload = true;
                }
 
-               if ( ! empty( $set['editor_height'] ) )
-                       $height = ' style="height: ' . $set['editor_height'] . 'px"';
-               else
-                       $height = ' rows="' . $set['textarea_rows'] . '"';
+               if ( ! empty( $set['editor_height'] ) ) {
+                       $height = ' style="height: ' . (int) $set['editor_height'] . 'px"';
+               } else {
+                       $height = ' rows="' . (int) $set['textarea_rows'] . '"';
+               }
 
-               if ( !current_user_can( 'upload_files' ) )
+               if ( ! current_user_can( 'upload_files' ) ) {
                        $set['media_buttons'] = false;
+               }
 
-               if ( ! self::$this_quicktags && self::$this_tinymce ) {
-                       $switch_class = 'tmce-active';
-                       $autocomplete = ' autocomplete="off"';
-               } elseif ( self::$this_quicktags && self::$this_tinymce ) {
-                       $default_editor = $set['default_editor'] ? $set['default_editor'] : wp_default_editor();
+               if ( self::$this_tinymce ) {
                        $autocomplete = ' autocomplete="off"';
 
-                       // 'html' is used for the "Text" editor tab.
-                       if ( 'html' === $default_editor ) {
-                               add_filter('the_editor_content', 'wp_htmledit_pre');
-                               $switch_class = 'html-active';
+                       if ( self::$this_quicktags ) {
+                               $default_editor = $set['default_editor'] ? $set['default_editor'] : wp_default_editor();
+                               // 'html' is used for the "Text" editor tab.
+                               if ( 'html' !== $default_editor ) {
+                                       $default_editor = 'tinymce';
+                               }
+
+                               $buttons .= '<button type="button" id="' . $editor_id_attr . '-tmce" class="wp-switch-editor switch-tmce"' .
+                                       ' data-wp-editor-id="' . $editor_id_attr . '">' . __('Visual') . "</button>\n";
+                               $buttons .= '<button type="button" id="' . $editor_id_attr . '-html" class="wp-switch-editor switch-html"' .
+                                       ' data-wp-editor-id="' . $editor_id_attr . '">' . _x( 'Text', 'Name for the Text editor tab (formerly HTML)' ) . "</button>\n";
                        } else {
-                               add_filter('the_editor_content', 'wp_richedit_pre');
-                               $switch_class = 'tmce-active';
+                               $default_editor = 'tinymce';
                        }
-
-                       $buttons .= '<button type="button" id="' . $editor_id . '-tmce" class="wp-switch-editor switch-tmce" onclick="switchEditors.switchto(this);">' . __('Visual') . "</button>\n";
-                       $buttons .= '<button type="button" id="' . $editor_id . '-html" class="wp-switch-editor switch-html" onclick="switchEditors.switchto(this);">' . _x( 'Text', 'Name for the Text editor tab (formerly HTML)' ) . "</button>\n";
                }
 
+               $switch_class = 'html' === $default_editor ? 'html-active' : 'tmce-active';
                $wrap_class = 'wp-core-ui wp-editor-wrap ' . $switch_class;
 
                if ( $set['_content_editor_dfw'] ) {
                        $wrap_class .= ' has-dfw';
                }
 
-               echo '<div id="wp-' . $editor_id . '-wrap" class="' . $wrap_class . '">';
+               echo '<div id="wp-' . $editor_id_attr . '-wrap" class="' . $wrap_class . '">';
 
                if ( self::$editor_buttons_css ) {
-                       wp_print_styles('editor-buttons');
+                       wp_print_styles( 'editor-buttons' );
                        self::$editor_buttons_css = false;
                }
 
-               if ( !empty($set['editor_css']) )
+               if ( ! empty( $set['editor_css'] ) ) {
                        echo $set['editor_css'] . "\n";
+               }
 
-               if ( !empty($buttons) || $set['media_buttons'] ) {
-                       echo '<div id="wp-' . $editor_id . '-editor-tools" class="wp-editor-tools hide-if-no-js">';
+               if ( ! empty( $buttons ) || $set['media_buttons'] ) {
+                       echo '<div id="wp-' . $editor_id_attr . '-editor-tools" class="wp-editor-tools hide-if-no-js">';
 
                        if ( $set['media_buttons'] ) {
                                self::$has_medialib = true;
 
-                               if ( !function_exists('media_buttons') )
-                                       include(ABSPATH . 'wp-admin/includes/media.php');
+                               if ( ! function_exists( 'media_buttons' ) )
+                                       include( ABSPATH . 'wp-admin/includes/media.php' );
 
-                               echo '<div id="wp-' . $editor_id . '-media-buttons" class="wp-media-buttons">';
+                               echo '<div id="wp-' . $editor_id_attr . '-media-buttons" class="wp-media-buttons">';
 
                                /**
                                 * Fires after the default media button(s) are displayed.
@@ -218,6 +227,18 @@ final class _WP_Editors {
                        echo "</div>\n";
                }
 
+               $quicktags_toolbar = '';
+
+               if ( self::$this_quicktags ) {
+                       if ( 'content' === $editor_id && ! empty( $GLOBALS['current_screen'] ) && $GLOBALS['current_screen']->base === 'post' ) {
+                               $toolbar_id = 'ed_toolbar';
+                       } else {
+                               $toolbar_id = 'qt_' . $editor_id_attr . '_toolbar';
+                       }
+
+                       $quicktags_toolbar = '<div id="' . $toolbar_id . '" class="quicktags-toolbar"></div>';
+               }
+
                /**
                 * Filter the HTML markup output that displays the editor.
                 *
@@ -225,9 +246,15 @@ final class _WP_Editors {
                 *
                 * @param string $output Editor's HTML markup.
                 */
-               $the_editor = apply_filters( 'the_editor', '<div id="wp-' . $editor_id . '-editor-container" class="wp-editor-container">' .
-                       '<textarea' . $editor_class . $height . $tabindex . $autocomplete . ' cols="40" name="' . $set['textarea_name'] . '" ' .
-                       'id="' . $editor_id . '">%s</textarea></div>' );
+               $the_editor = apply_filters( 'the_editor', '<div id="wp-' . $editor_id_attr . '-editor-container" class="wp-editor-container">' .
+                       $quicktags_toolbar .
+                       '<textarea' . $editor_class . $height . $tabindex . $autocomplete . ' cols="40" name="' . esc_attr( $set['textarea_name'] ) . '" ' .
+                       'id="' . $editor_id_attr . '">%s</textarea></div>' );
+
+               // Prepare the content for the Visual or Text editor
+               if ( self::$this_tinymce ) {
+                       add_filter( 'the_editor_content', 'format_for_editor', 10, 2 );
+               }
 
                /**
                 * Filter the default editor content.
@@ -236,19 +263,40 @@ final class _WP_Editors {
                 *
                 * @param string $content Default editor content.
                 */
-               $content = apply_filters( 'the_editor_content', $content );
+               $content = apply_filters( 'the_editor_content', $content, $default_editor );
+
+               // Back-compat for the `htmledit_pre` and `richedit_pre` filters
+               if ( 'html' === $default_editor && has_filter( 'htmledit_pre' ) ) {
+                       // TODO: needs _deprecated_filter(), use _deprecated_function() as substitute for now
+                       _deprecated_function( 'add_filter( htmledit_pre )', '4.3.0', 'add_filter( format_for_editor )' );
+                       $content = apply_filters( 'htmledit_pre', $content );
+               } elseif ( 'tinymce' === $default_editor && has_filter( 'richedit_pre' ) ) {
+                       _deprecated_function( 'add_filter( richedit_pre )', '4.3.0', 'add_filter( format_for_editor )' );
+                       $content = apply_filters( 'richedit_pre', $content );
+               }
+
+               if ( false !== stripos( $content, 'textarea' ) ) {
+                       $content = preg_replace( '%</textarea%i', '&lt;/textarea', $content );
+               }
 
                printf( $the_editor, $content );
                echo "\n</div>\n\n";
 
-               self::editor_settings($editor_id, $set);
+               self::editor_settings( $editor_id, $set );
        }
 
        /**
+        * @static
+        *
+        * @global string $wp_version
+        * @global string $tinymce_version
+        *
         * @param string $editor_id
         * @param array  $set
         */
        public static function editor_settings($editor_id, $set) {
+               global $wp_version, $tinymce_version;
+
                $first_run = false;
 
                if ( empty(self::$first_init) ) {
@@ -274,9 +322,6 @@ final class _WP_Editors {
                        if ( empty($qtInit['buttons']) )
                                $qtInit['buttons'] = 'strong,em,link,block,del,ins,img,ul,ol,li,code,more,close';
 
-                       if ( $set['dfw'] )
-                               $qtInit['buttons'] .= ',fullscreen';
-
                        if ( $set['_content_editor_dfw'] ) {
                                $qtInit['buttons'] .= ',dfw';
                        }
@@ -358,7 +403,8 @@ final class _WP_Editors {
                                                'wpgallery',
                                                'wplink',
                                                'wpdialogs',
-                                               'wpview',
+                                               'wptextpattern',
+                                               'wpview'
                                        );
 
                                        if ( ! self::$has_medialib ) {
@@ -460,9 +506,6 @@ final class _WP_Editors {
                                        }
                                }
 
-                               if ( $set['dfw'] )
-                                       $plugins[] = 'wpfullscreen';
-
                                self::$plugins = $plugins;
                                self::$ext_plugins = $ext_plugins;
 
@@ -470,21 +513,21 @@ final class _WP_Editors {
                                        'theme' => 'modern',
                                        'skin' => 'lightgray',
                                        'language' => self::$mce_locale,
-                                       'formats' => "{
-                                               alignleft: [
-                                                       {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles: {textAlign:'left'}},
-                                                       {selector: 'img,table,dl.wp-caption', classes: 'alignleft'}
-                                               ],
-                                               aligncenter: [
-                                                       {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles: {textAlign:'center'}},
-                                                       {selector: 'img,table,dl.wp-caption', classes: 'aligncenter'}
-                                               ],
-                                               alignright: [
-                                                       {selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles: {textAlign:'right'}},
-                                                       {selector: 'img,table,dl.wp-caption', classes: 'alignright'}
-                                               ],
-                                               strikethrough: {inline: 'del'}
-                                       }",
+                                       'formats' => '{' .
+                                               'alignleft: [' .
+                                                       '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"left"}},' .
+                                                       '{selector: "img,table,dl.wp-caption", classes: "alignleft"}' .
+                                               '],' .
+                                               'aligncenter: [' .
+                                                       '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"center"}},' .
+                                                       '{selector: "img,table,dl.wp-caption", classes: "aligncenter"}' .
+                                               '],' .
+                                               'alignright: [' .
+                                                       '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"right"}},' .
+                                                       '{selector: "img,table,dl.wp-caption", classes: "alignright"}' .
+                                               '],' .
+                                               'strikethrough: {inline: "del"}' .
+                                       '}',
                                        'relative_urls' => false,
                                        'remove_script_host' => false,
                                        'convert_urls' => false,
@@ -493,7 +536,7 @@ final class _WP_Editors {
                                        'entities' => '38,amp,60,lt,62,gt',
                                        'entity_encoding' => 'raw',
                                        'keep_styles' => false,
-                                       'cache_suffix' => 'wp-mce-' . $GLOBALS['tinymce_version'],
+                                       'cache_suffix' => 'wp-mce-' . $tinymce_version,
 
                                        // Limit the preview styles in the menu/toolbar
                                        'preview_styles' => 'font-family font-size font-weight font-style text-decoration text-transform',
@@ -508,8 +551,8 @@ final class _WP_Editors {
                                        self::$first_init['external_plugins'] = wp_json_encode( $mce_external_plugins );
                                }
 
-                               $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
-                               $version = 'ver=' . $GLOBALS['wp_version'];
+                               $suffix = SCRIPT_DEBUG ? '' : '.min';
+                               $version = 'ver=' . $wp_version;
                                $dashicons = includes_url( "css/dashicons$suffix.css?$version" );
 
                                // WordPress default stylesheet and dashicons
@@ -628,18 +671,6 @@ final class _WP_Editors {
                                unset($set['tinymce']['body_class']);
                        }
 
-                       if ( $set['dfw'] ) {
-                               // replace the first 'fullscreen' with 'wp_fullscreen'
-                               if ( ($key = array_search('fullscreen', $mce_buttons)) !== false )
-                                       $mce_buttons[$key] = 'wp_fullscreen';
-                               elseif ( ($key = array_search('fullscreen', $mce_buttons_2)) !== false )
-                                       $mce_buttons_2[$key] = 'wp_fullscreen';
-                               elseif ( ($key = array_search('fullscreen', $mce_buttons_3)) !== false )
-                                       $mce_buttons_3[$key] = 'wp_fullscreen';
-                               elseif ( ($key = array_search('fullscreen', $mce_buttons_4)) !== false )
-                                       $mce_buttons_4[$key] = 'wp_fullscreen';
-                       }
-
                        $mceInit = array (
                                'selector' => "#$editor_id",
                                'resize' => 'vertical',
@@ -654,8 +685,8 @@ final class _WP_Editors {
                                'body_class' => $body_class
                        );
 
-                       if ( $first_run )
-                               $mceInit = array_merge( self::$first_init, $mceInit );
+                       // Merge with the first part of the init array
+                       $mceInit = array_merge( self::$first_init, $mceInit );
 
                        if ( is_array( $set['tinymce'] ) )
                                $mceInit = array_merge( $mceInit, $set['tinymce'] );
@@ -666,7 +697,7 @@ final class _WP_Editors {
                         * before tinyMCE.init. Setting "valid_elements", "invalid_elements"
                         * and "extended_valid_elements" can be done through this filter. Best
                         * is to use the default cleanup by not specifying valid_elements,
-                        * as TinyMCE contains full set of XHTML 1.0.
+                        * as TinyMCE checks against the full set of HTML 5.0 elements and attributes.
                         */
                        if ( $set['teeny'] ) {
 
@@ -701,6 +732,12 @@ final class _WP_Editors {
                } // end if self::$this_tinymce
        }
 
+       /**
+        *
+        * @static
+        * @param array $init
+        * @return string
+        */
        private static function _parse_init($init) {
                $options = '';
 
@@ -719,9 +756,11 @@ final class _WP_Editors {
                return '{' . trim( $options, ' ,' ) . '}';
        }
 
+       /**
+        *
+        * @static
+        */
        public static function enqueue_scripts() {
-               wp_enqueue_script('word-count');
-
                if ( self::$has_tinymce )
                        wp_enqueue_script('editor');
 
@@ -734,8 +773,9 @@ final class _WP_Editors {
                        wp_enqueue_script('wplink');
                }
 
-               if ( in_array('wpfullscreen', self::$plugins, true) || in_array('fullscreen', self::$qt_buttons, true) )
-                       wp_enqueue_script('wp-fullscreen');
+               if ( self::$old_dfw_compat ) {
+                       wp_enqueue_script('wp-fullscreen-stub');
+               }
 
                if ( self::$has_medialib ) {
                        add_thickbox();
@@ -760,6 +800,7 @@ final class _WP_Editors {
         * Translates the default TinyMCE strings and returns them as JSON encoded object ready to be loaded with tinymce.addI18n().
         * Can be used directly (_WP_Editors::wp_mce_translation()) by passing the same locale as set in the TinyMCE init object.
         *
+        * @static
         * @param string $mce_locale The locale used for the editor.
         * @param bool $json_only optional Whether to include the JavaScript calls to tinymce.addI18n() and tinymce.ScriptLoader.markDone().
         * @return string Translation object, JSON encoded.
@@ -785,6 +826,7 @@ final class _WP_Editors {
                        'Blockquote' => __( 'Blockquote' ),
                        'Div' => _x( 'Div', 'HTML tag' ),
                        'Pre' => _x( 'Pre', 'HTML tag' ),
+                       'Preformatted' => _x( 'Preformatted', 'HTML tag' ),
                        'Address' => _x( 'Address', 'HTML tag' ),
 
                        'Inline' => _x( 'Inline', 'HTML elements' ),
@@ -984,14 +1026,36 @@ final class _WP_Editors {
                        'Format' => _x( 'Format', 'TinyMCE menu' ),
 
                        // WordPress strings
-                       'Keyboard Shortcuts' => __( 'Keyboard Shortcuts' ),
                        'Toolbar Toggle' => __( 'Toolbar Toggle' ),
                        'Insert Read More tag' => __( 'Insert Read More tag' ),
+                       'Insert Page Break tag' => __( 'Insert Page Break tag' ),
                        'Read more...' => __( 'Read more...' ), // Title on the placeholder inside the editor
                        'Distraction-free writing mode' => __( 'Distraction-free writing mode' ),
                        'No alignment' => __( 'No alignment' ), // Tooltip for the 'alignnone' button in the image toolbar
                        'Remove' => __( 'Remove' ), // Tooltip for the 'remove' button in the image toolbar
                        'Edit ' => __( 'Edit' ), // Tooltip for the 'edit' button in the image toolbar
+
+                       // Shortcuts help modal
+                       'Keyboard Shortcuts' => __( 'Keyboard Shortcuts' ),
+                       'Default shortcuts,' => __( 'Default shortcuts,' ),
+                       'Additional shortcuts,' => __( 'Additional shortcuts,' ),
+                       'Focus shortcuts:' => __( 'Focus shortcuts:' ),
+                       'Inline toolbar (when an image, link or preview is selected)' => __( 'Inline toolbar (when an image, link or preview is selected)' ),
+                       'Editor menu (when enabled)' => __( 'Editor menu (when enabled)' ),
+                       'Editor toolbar' => __( 'Editor toolbar' ),
+                       'Elements path' => __( 'Elements path' ),
+                       'Ctrl + Alt + letter:' => __( 'Ctrl + Alt + letter:' ),
+                       'Shift + Alt + letter:' => __( 'Shift + Alt + letter:' ),
+                       'Cmd + letter:' => __( 'Cmd + letter:' ),
+                       'Ctrl + letter:' => __( 'Ctrl + letter:' ),
+                       'Letter' => __( 'Letter' ),
+                       'Action' => __( 'Action' ),
+                       'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.' =>
+                               __( 'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.' ),
+                       'When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.' =>
+                               __( 'When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.' ),
+                       'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.' =>
+                               __( 'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.' ),
                );
 
                /**
@@ -1046,8 +1110,16 @@ final class _WP_Editors {
                        "tinymce.ScriptLoader.markDone( '$baseurl/langs/$mce_locale.js' );\n";
        }
 
+       /**
+        *
+        * @static
+        * @global string $wp_version
+        * @global string $tinymce_version
+        * @global bool   $concatenate_scripts
+        * @global bool   $compress_scripts
+        */
        public static function editor_js() {
-               global $tinymce_version, $concatenate_scripts, $compress_scripts;
+               global $wp_version, $tinymce_version, $concatenate_scripts, $compress_scripts;
 
                /**
                 * Filter "tiny_mce_version" is deprecated
@@ -1092,7 +1164,7 @@ final class _WP_Editors {
                        'language' => self::$mce_locale
                );
 
-               $suffix = ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ? '' : '.min';
+               $suffix = SCRIPT_DEBUG ? '' : '.min';
 
                /**
                 * Fires immediately before the TinyMCE settings are printed.
@@ -1125,7 +1197,7 @@ final class _WP_Editors {
 
                $baseurl = self::$baseurl;
                // Load tinymce.js when running from /src, else load wp-tinymce.js.gz (production) or tinymce.min.js (SCRIPT_DEBUG)
-               $mce_suffix = false !== strpos( $GLOBALS['wp_version'], '-src' ) ? '' : '.min';
+               $mce_suffix = false !== strpos( $wp_version, '-src' ) ? '' : '.min';
 
                if ( $tmce_on ) {
                        if ( $compressed ) {
@@ -1166,54 +1238,29 @@ final class _WP_Editors {
                ?>
 
                ( function() {
-                       var init, edId, qtId, firstInit, wrapper;
+                       var init, id, $wrap;
 
                        if ( typeof tinymce !== 'undefined' ) {
-                               for ( edId in tinyMCEPreInit.mceInit ) {
-                                       if ( firstInit ) {
-                                               init = tinyMCEPreInit.mceInit[edId] = tinymce.extend( {}, firstInit, tinyMCEPreInit.mceInit[edId] );
-                                       } else {
-                                               init = firstInit = tinyMCEPreInit.mceInit[edId];
-                                       }
-
-                                       wrapper = tinymce.DOM.select( '#wp-' + edId + '-wrap' )[0];
-
-                                       if ( ( tinymce.DOM.hasClass( wrapper, 'tmce-active' ) || ! tinyMCEPreInit.qtInit.hasOwnProperty( edId ) ) &&
-                                               ! init.wp_skip_init ) {
+                               for ( id in tinyMCEPreInit.mceInit ) {
+                                       init = tinyMCEPreInit.mceInit[id];
+                                       $wrap = tinymce.$( '#wp-' + id + '-wrap' );
 
-                                               try {
-                                                       tinymce.init( init );
+                                       if ( ( $wrap.hasClass( 'tmce-active' ) || ! tinyMCEPreInit.qtInit.hasOwnProperty( id ) ) && ! init.wp_skip_init ) {
+                                               tinymce.init( init );
 
-                                                       if ( ! window.wpActiveEditor ) {
-                                                               window.wpActiveEditor = edId;
-                                                       }
-                                               } catch(e){}
+                                               if ( ! window.wpActiveEditor ) {
+                                                       window.wpActiveEditor = id;
+                                               }
                                        }
                                }
                        }
 
                        if ( typeof quicktags !== 'undefined' ) {
-                               for ( qtId in tinyMCEPreInit.qtInit ) {
-                                       try {
-                                               quicktags( tinyMCEPreInit.qtInit[qtId] );
+                               for ( id in tinyMCEPreInit.qtInit ) {
+                                       quicktags( tinyMCEPreInit.qtInit[id] );
 
-                                               if ( ! window.wpActiveEditor ) {
-                                                       window.wpActiveEditor = qtId;
-                                               }
-                                       } catch(e){};
-                               }
-                       }
-
-                       if ( typeof jQuery !== 'undefined' ) {
-                               jQuery('.wp-editor-wrap').on( 'click.wp-editor', function() {
-                                       if ( this.id ) {
-                                               window.wpActiveEditor = this.id.slice( 3, -5 );
-                                       }
-                               });
-                       } else {
-                               for ( qtId in tinyMCEPreInit.qtInit ) {
-                                       document.getElementById( 'wp-' + qtId + '-wrap' ).onclick = function() {
-                                               window.wpActiveEditor = this.id.slice( 3, -5 );
+                                       if ( ! window.wpActiveEditor ) {
+                                               window.wpActiveEditor = id;
                                        }
                                }
                        }
@@ -1224,9 +1271,6 @@ final class _WP_Editors {
                if ( in_array( 'wplink', self::$plugins, true ) || in_array( 'link', self::$qt_buttons, true ) )
                        self::wp_link_dialog();
 
-               if ( in_array( 'wpfullscreen', self::$plugins, true ) || in_array( 'fullscreen', self::$qt_buttons, true ) )
-                       self::wp_fullscreen_html();
-
                /**
                 * Fires after any core TinyMCE editor instances are created.
                 *
@@ -1237,97 +1281,13 @@ final class _WP_Editors {
                do_action( 'after_wp_tiny_mce', self::$mce_settings );
        }
 
+       /**
+        *
+        * @static
+        * @global int $content_width
+        */
        public static function wp_fullscreen_html() {
-               global $content_width;
-               $post = get_post();
-
-               $width = isset( $content_width ) && 800 > $content_width ? $content_width : 800;
-               $width = $width + 22; // compensate for the padding and border
-               $dfw_width = get_user_setting( 'dfw_width', $width );
-               $save = $post && $post->post_status == 'publish' ? __('Update') : __('Save');
-
-               ?>
-               <div id="wp-fullscreen-body" class="wp-core-ui<?php if ( is_rtl() ) echo ' rtl'; ?>" data-theme-width="<?php echo (int) $width; ?>" data-dfw-width="<?php echo (int) $dfw_width; ?>">
-               <div id="fullscreen-topbar">
-                       <div id="wp-fullscreen-toolbar">
-                       <div id="wp-fullscreen-close"><a href="#" onclick="wp.editor.fullscreen.off();return false;"><?php _e('Exit fullscreen'); ?></a></div>
-                       <div id="wp-fullscreen-central-toolbar" style="width:<?php echo $width; ?>px;">
-
-                       <div id="wp-fullscreen-mode-bar">
-                               <div id="wp-fullscreen-modes" class="button-group">
-                                       <a class="button wp-fullscreen-mode-tinymce" href="#" onclick="wp.editor.fullscreen.switchmode( 'tinymce' ); return false;"><?php _e( 'Visual' ); ?></a>
-                                       <a class="button wp-fullscreen-mode-html" href="#" onclick="wp.editor.fullscreen.switchmode( 'html' ); return false;"><?php _ex( 'Text', 'Name for the Text editor tab (formerly HTML)' ); ?></a>
-                               </div>
-                       </div>
-
-                       <div id="wp-fullscreen-button-bar"><div id="wp-fullscreen-buttons" class="mce-toolbar">
-               <?php
-
-               $buttons = array(
-                       // format: title, onclick, show in both editors
-                       'bold' => array( 'title' => __('Bold (Ctrl + B)'), 'both' => false ),
-                       'italic' => array( 'title' => __('Italic (Ctrl + I)'), 'both' => false ),
-                       'bullist' => array( 'title' => __('Unordered list (Alt + Shift + U)'), 'both' => false ),
-                       'numlist' => array( 'title' => __('Ordered list (Alt + Shift + O)'), 'both' => false ),
-                       'blockquote' => array( 'title' => __('Blockquote (Alt + Shift + Q)'), 'both' => false ),
-                       'wp-media-library' => array( 'title' => __('Media library (Alt + Shift + M)'), 'both' => true ),
-                       'link' => array( 'title' => __('Insert/edit link (Alt + Shift + A)'), 'both' => true ),
-                       'unlink' => array( 'title' => __('Unlink (Alt + Shift + S)'), 'both' => false ),
-                       'help' => array( 'title' => __('Help (Alt + Shift + H)'), 'both' => false ),
-               );
-
-               /**
-                * Filter the list of TinyMCE buttons for the fullscreen
-                * 'Distraction-Free Writing' editor.
-                *
-                * @since 3.2.0
-                *
-                * @param array $buttons An array of TinyMCE buttons for the DFW editor.
-                */
-               $buttons = apply_filters( 'wp_fullscreen_buttons', $buttons );
-
-               foreach ( $buttons as $button => $args ) {
-                       if ( 'separator' == $args ) {
-                               continue;
-                       }
-
-                       $onclick = ! empty( $args['onclick'] ) ? ' onclick="' . $args['onclick'] . '"' : '';
-                       $title = esc_attr( $args['title'] );
-                       ?>
-
-                       <div class="mce-widget mce-btn<?php if ( $args['both'] ) { ?> wp-fullscreen-both<?php } ?>">
-                       <button type="button" aria-label="<?php echo $title; ?>" title="<?php echo $title; ?>"<?php echo $onclick; ?> id="wp_fs_<?php echo $button; ?>">
-                               <i class="mce-ico mce-i-<?php echo $button; ?>"></i>
-                       </button>
-                       </div>
-                       <?php
-               }
-
-               ?>
-
-               </div></div>
-
-               <div id="wp-fullscreen-save">
-                       <input type="button" class="button button-primary right" value="<?php echo $save; ?>" onclick="wp.editor.fullscreen.save();" />
-                       <span class="wp-fullscreen-saved-message"><?php if ( $post && $post->post_status == 'publish' ) _e('Updated.'); else _e('Saved.'); ?></span>
-                       <span class="wp-fullscreen-error-message"><?php _e('Save failed.'); ?></span>
-                       <span class="spinner"></span>
-               </div>
-
-               </div>
-               </div>
-       </div>
-       <div id="wp-fullscreen-statusbar">
-               <div id="wp-fullscreen-status">
-                       <div id="wp-fullscreen-count"><?php printf( __( 'Word count: %s' ), '<span class="word-count">0</span>' ); ?></div>
-                       <div id="wp-fullscreen-tagline"><?php _e('Just write.'); ?></div>
-               </div>
-       </div>
-       </div>
-
-       <div class="fullscreen-overlay" id="fullscreen-overlay"></div>
-       <div class="fullscreen-overlay fullscreen-fader fade-300" id="fullscreen-fader"></div>
-       <?php
+               _deprecated_function( __FUNCTION__, '4.3' );
        }
 
        /**
@@ -1335,6 +1295,7 @@ final class _WP_Editors {
         *
         * @since 3.1.0
         *
+        * @static
         * @param array $args Optional. Accepts 'pagenum' and 's' (search) arguments.
         * @return false|array Results.
         */
@@ -1423,6 +1384,8 @@ final class _WP_Editors {
         * Dialog for internal linking.
         *
         * @since 3.1.0
+        *
+        * @static
         */
        public static function wp_link_dialog() {
                $search_panel_visible = '1' == get_user_setting( 'wplink', '0' ) ? ' search-panel-visible' : '';
index e3426ab8b10ccc3016e6952fcd57a063cb96a135..74051970948d3b2e790d88f7f313ed8a39808f2d 100644 (file)
@@ -11,6 +11,8 @@ class WP_Embed {
        public $post_ID;
        public $usecache = true;
        public $linkifunknown = true;
+       public $last_attr = array();
+       public $last_url = '';
 
        /**
         * When an URL cannot be embedded, return false instead of returning a link
@@ -42,7 +44,7 @@ class WP_Embed {
         * this function removes all existing shortcodes, registers the [embed] shortcode,
         * calls {@link do_shortcode()}, and then re-registers the old shortcodes.
         *
-        * @uses $shortcode_tags
+        * @global array $shortcode_tags
         *
         * @param string $content Content to parse
         * @return string Content with shortcode parsed
@@ -90,7 +92,7 @@ class WP_Embed {
         *
         * @param string $id An internal ID/name for the handler. Needs to be unique.
         * @param string $regex The regex that will be used to see if this handler should be used for a URL.
-        * @param callback $callback The callback function that will be called if the regex is matched.
+        * @param callable $callback The callback function that will be called if the regex is matched.
         * @param int $priority Optional. Used to specify the order in which the registered handlers will be tested (default: 10). Lower numbers correspond with earlier testing, and handlers with the same priority are tested in the order in which they were added to the action.
         */
        public function register_handler( $id, $regex, $callback, $priority = 10 ) {
@@ -107,8 +109,7 @@ class WP_Embed {
         * @param int $priority Optional. The priority of the handler to be removed (default: 10).
         */
        public function unregister_handler( $id, $priority = 10 ) {
-               if ( isset($this->handlers[$priority][$id]) )
-                       unset($this->handlers[$priority][$id]);
+               unset( $this->handlers[ $priority ][ $id ] );
        }
 
        /**
@@ -134,13 +135,18 @@ class WP_Embed {
                        $url = $attr['src'];
                }
 
+               $this->last_url = $url;
 
-               if ( empty( $url ) )
+               if ( empty( $url ) ) {
+                       $this->last_attr = $attr;
                        return '';
+               }
 
                $rawattr = $attr;
                $attr = wp_parse_args( $attr, wp_embed_defaults( $url ) );
 
+               $this->last_attr = $attr;
+
                // kses converts & into &amp; and we need to undo this
                // See https://core.trac.wordpress.org/ticket/11311
                $url = str_replace( '&amp;', '&', $url );
index c1b07ab6374a5efa935c0329a5a3fc1c20f5a3ca..0969b12e33aa7a1f2f213982cd5f9eac514a66bb 100644 (file)
@@ -144,7 +144,7 @@ class WP_Error {
         * @since 2.1.0
         *
         * @param string|int $code Optional. Error code.
-        * @return mixed Null, if no errors.
+        * @return mixed Error data, if it exists.
         */
        public function get_error_data($code = '') {
                if ( empty($code) )
@@ -152,7 +152,6 @@ class WP_Error {
 
                if ( isset($this->error_data[$code]) )
                        return $this->error_data[$code];
-               return null;
        }
 
        /**
index 0605955d4991f6fa2321c036f50be81c2cf04790..e0309bf9f46fede1f21d255cfb85cabc92223258 100644 (file)
@@ -46,6 +46,9 @@ class WP_HTTP_IXR_Client extends IXR_Client {
                $this->timeout = $timeout;
        }
 
+       /**
+        * @return bool
+        */
        public function query() {
                $args = func_get_args();
                $method = array_shift($args);
index 371552c28c14b468b2475af0be8f19477e6a33dc..53f083782acb216efc67388db7726db26aa667ab 100644 (file)
  */
 class WP_Image_Editor_GD extends WP_Image_Editor {
        /**
+        * GD Resource.
+        *
+        * @access protected
         * @var resource
         */
-       protected $image; // GD Resource
+       protected $image;
 
        public function __destruct() {
                if ( $this->image ) {
@@ -31,9 +34,12 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * Checks to see if current environment supports GD.
         *
         * @since 3.5.0
+        *
+        * @static
         * @access public
         *
-        * @return boolean
+        * @param array $args
+        * @return bool
         */
        public static function test( $args = array() ) {
                if ( ! extension_loaded('gd') || ! function_exists('gd_info') )
@@ -54,10 +60,12 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * Checks to see if editor supports the mime-type specified.
         *
         * @since 3.5.0
+        *
+        * @static
         * @access public
         *
         * @param string $mime_type
-        * @return boolean
+        * @return bool
         */
        public static function supports_mime_type( $mime_type ) {
                $image_types = imagetypes();
@@ -79,7 +87,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * @since 3.5.0
         * @access protected
         *
-        * @return boolean|WP_Error True if loaded successfully; WP_Error on failure.
+        * @return bool|WP_Error True if loaded successfully; WP_Error on failure.
         */
        public function load() {
                if ( $this->image )
@@ -127,6 +135,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         *
         * @param int $width
         * @param int $height
+        * @return true
         */
        protected function update_size( $width = false, $height = false ) {
                if ( ! $width )
@@ -151,8 +160,8 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         *
         * @param  int|null $max_w Image width.
         * @param  int|null $max_h Image height.
-        * @param  boolean  $crop
-        * @return boolean|WP_Error
+        * @param  bool     $crop
+        * @return true|WP_Error
         */
        public function resize( $max_w, $max_h, $crop = false ) {
                if ( ( $this->size['width'] == $max_w ) && ( $this->size['height'] == $max_h ) )
@@ -171,6 +180,13 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
                return new WP_Error( 'image_resize_error', __('Image resize failed.'), $this->file );
        }
 
+       /**
+        *
+        * @param int $max_w
+        * @param int $max_h
+        * @param bool|array $crop
+        * @return resource|WP_Error
+        */
        protected function _resize( $max_w, $max_h, $crop = false ) {
                $dims = image_resize_dimensions( $this->size['width'], $this->size['height'], $max_w, $max_h, $crop );
                if ( ! $dims ) {
@@ -256,14 +272,14 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * @since 3.5.0
         * @access public
         *
-        * @param int $src_x The start x position to crop from.
-        * @param int $src_y The start y position to crop from.
-        * @param int $src_w The width to crop.
-        * @param int $src_h The height to crop.
-        * @param int $dst_w Optional. The destination width.
-        * @param int $dst_h Optional. The destination height.
-        * @param boolean $src_abs Optional. If the source crop points are absolute.
-        * @return boolean|WP_Error
+        * @param int  $src_x   The start x position to crop from.
+        * @param int  $src_y   The start y position to crop from.
+        * @param int  $src_w   The width to crop.
+        * @param int  $src_h   The height to crop.
+        * @param int  $dst_w   Optional. The destination width.
+        * @param int  $dst_h   Optional. The destination height.
+        * @param bool $src_abs Optional. If the source crop points are absolute.
+        * @return bool|WP_Error
         */
        public function crop( $src_x, $src_y, $src_w, $src_h, $dst_w = null, $dst_h = null, $src_abs = false ) {
                // If destination width/height isn't specified, use same as
@@ -303,7 +319,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * @access public
         *
         * @param float $angle
-        * @return boolean|WP_Error
+        * @return true|WP_Error
         */
        public function rotate( $angle ) {
                if ( function_exists('imagerotate') ) {
@@ -328,9 +344,9 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * @since 3.5.0
         * @access public
         *
-        * @param boolean $horz Flip along Horizontal Axis
-        * @param boolean $vert Flip along Vertical Axis
-        * @returns boolean|WP_Error
+        * @param bool $horz Flip along Horizontal Axis
+        * @param bool $vert Flip along Vertical Axis
+        * @return true|WP_Error
         */
        public function flip( $horz, $vert ) {
                $w = $this->size['width'];
@@ -433,6 +449,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * @access public
         *
         * @param string $mime_type
+        * @return bool
         */
        public function stream( $mime_type = null ) {
                list( $filename, $extension, $mime_type ) = $this->get_output_format( null, $mime_type );
@@ -459,7 +476,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * @param string|stream $filename
         * @param callable $function
         * @param array $arguments
-        * @return boolean
+        * @return bool
         */
        protected function make_image( $filename, $function, $arguments ) {
                if ( wp_is_stream( $filename ) )
index a70bebdaebdacf0e29441f694185ad7eddd2c705..bcfb576433d0b3426bed2a102aa3a90acf52e647 100644 (file)
  */
 class WP_Image_Editor_Imagick extends WP_Image_Editor {
        /**
+        * Imagick object.
+        *
+        * @access protected
         * @var Imagick
         */
-       protected $image; // Imagick Object
+       protected $image;
 
        public function __destruct() {
                if ( $this->image instanceof Imagick ) {
@@ -35,9 +38,12 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * method can be called statically.
         *
         * @since 3.5.0
+        *
+        * @static
         * @access public
         *
-        * @return boolean
+        * @param array $args
+        * @return bool
         */
        public static function test( $args = array() ) {
 
@@ -82,10 +88,12 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * Checks to see if editor supports the mime-type specified.
         *
         * @since 3.5.0
+        *
+        * @static
         * @access public
         *
         * @param string $mime_type
-        * @return boolean
+        * @return bool
         */
        public static function supports_mime_type( $mime_type ) {
                $imagick_extension = strtoupper( self::get_extension( $mime_type ) );
@@ -112,7 +120,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @since 3.5.0
         * @access protected
         *
-        * @return boolean|WP_Error True if loaded; WP_Error on failure.
+        * @return true|WP_Error True if loaded; WP_Error on failure.
         */
        public function load() {
                if ( $this->image instanceof Imagick )
@@ -128,7 +136,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
                try {
                        $this->image = new Imagick( $this->file );
 
-                       if( ! $this->image->valid() )
+                       if ( ! $this->image->valid() )
                                return new WP_Error( 'invalid_image', __('File is not an image.'), $this->file);
 
                        // Select the first frame to handle animated images properly
@@ -156,7 +164,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @access public
         *
         * @param int $quality Compression Quality. Range: [1,100]
-        * @return boolean|WP_Error True if set successfully; WP_Error on failure.
+        * @return true|WP_Error True if set successfully; WP_Error on failure.
         */
        public function set_quality( $quality = null ) {
                $quality_result = parent::set_quality( $quality );
@@ -225,8 +233,8 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         *
         * @param  int|null $max_w Image width.
         * @param  int|null $max_h Image height.
-        * @param  boolean  $crop
-        * @return boolean|WP_Error
+        * @param  bool     $crop
+        * @return bool|WP_Error
         */
        public function resize( $max_w, $max_h, $crop = false ) {
                if ( ( $this->size['width'] == $max_w ) && ( $this->size['height'] == $max_h ) )
@@ -330,14 +338,14 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @since 3.5.0
         * @access public
         *
-        * @param int $src_x The start x position to crop from.
-        * @param int $src_y The start y position to crop from.
-        * @param int $src_w The width to crop.
-        * @param int $src_h The height to crop.
-        * @param int $dst_w Optional. The destination width.
-        * @param int $dst_h Optional. The destination height.
-        * @param boolean $src_abs Optional. If the source crop points are absolute.
-        * @return boolean|WP_Error
+        * @param int  $src_x The start x position to crop from.
+        * @param int  $src_y The start y position to crop from.
+        * @param int  $src_w The width to crop.
+        * @param int  $src_h The height to crop.
+        * @param int  $dst_w Optional. The destination width.
+        * @param int  $dst_h Optional. The destination height.
+        * @param bool $src_abs Optional. If the source crop points are absolute.
+        * @return bool|WP_Error
         */
        public function crop( $src_x, $src_y, $src_w, $src_h, $dst_w = null, $dst_h = null, $src_abs = false ) {
                if ( $src_abs ) {
@@ -374,7 +382,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @access public
         *
         * @param float $angle
-        * @return boolean|WP_Error
+        * @return true|WP_Error
         */
        public function rotate( $angle ) {
                /**
@@ -403,9 +411,9 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @since 3.5.0
         * @access public
         *
-        * @param boolean $horz Flip along Horizontal Axis
-        * @param boolean $vert Flip along Vertical Axis
-        * @returns boolean|WP_Error
+        * @param bool $horz Flip along Horizontal Axis
+        * @param bool $vert Flip along Vertical Axis
+        * @return true|WP_Error
         */
        public function flip( $horz, $vert ) {
                try {
@@ -449,6 +457,13 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
                return $saved;
        }
 
+       /**
+        *
+        * @param Imagick $image
+        * @param string $filename
+        * @param string $mime_type
+        * @return array|WP_Error
+        */
        protected function _save( $image, $filename = null, $mime_type = null ) {
                list( $filename, $extension, $mime_type ) = $this->get_output_format( $filename, $mime_type );
 
@@ -491,7 +506,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @access public
         *
         * @param string $mime_type
-        * @return boolean|WP_Error
+        * @return true|WP_Error
         */
        public function stream( $mime_type = null ) {
                list( $filename, $extension, $mime_type ) = $this->get_output_format( null, $mime_type );
index 58643d42e431e51431bb8e916cb82cec837dd75a..f88493712651f3f37787676607880f7847633fd1 100644 (file)
@@ -31,11 +31,13 @@ abstract class WP_Image_Editor {
         * Must be overridden in a sub-class.
         *
         * @since 3.5.0
+        *
+        * @static
         * @access public
         * @abstract
         *
         * @param array $args
-        * @return boolean
+        * @return bool
         */
        public static function test( $args = array() ) {
                return false;
@@ -46,11 +48,13 @@ abstract class WP_Image_Editor {
         * Must be overridden in a sub-class.
         *
         * @since 3.5.0
+        *
+        * @static
         * @access public
         * @abstract
         *
         * @param string $mime_type
-        * @return boolean
+        * @return bool
         */
        public static function supports_mime_type( $mime_type ) {
                return false;
@@ -63,7 +67,7 @@ abstract class WP_Image_Editor {
         * @access protected
         * @abstract
         *
-        * @return boolean|WP_Error True if loaded; WP_Error on failure.
+        * @return bool|WP_Error True if loaded; WP_Error on failure.
         */
        abstract public function load();
 
@@ -93,8 +97,8 @@ abstract class WP_Image_Editor {
         *
         * @param  int|null $max_w Image width.
         * @param  int|null $max_h Image height.
-        * @param  boolean  $crop
-        * @return boolean|WP_Error
+        * @param  bool     $crop
+        * @return bool|WP_Error
         */
        abstract public function resize( $max_w, $max_h, $crop = false );
 
@@ -131,8 +135,8 @@ abstract class WP_Image_Editor {
         * @param int $src_h The height to crop.
         * @param int $dst_w Optional. The destination width.
         * @param int $dst_h Optional. The destination height.
-        * @param boolean $src_abs Optional. If the source crop points are absolute.
-        * @return boolean|WP_Error
+        * @param bool $src_abs Optional. If the source crop points are absolute.
+        * @return bool|WP_Error
         */
        abstract public function crop( $src_x, $src_y, $src_w, $src_h, $dst_w = null, $dst_h = null, $src_abs = false );
 
@@ -144,7 +148,7 @@ abstract class WP_Image_Editor {
         * @abstract
         *
         * @param float $angle
-        * @return boolean|WP_Error
+        * @return bool|WP_Error
         */
        abstract public function rotate( $angle );
 
@@ -155,9 +159,9 @@ abstract class WP_Image_Editor {
         * @access public
         * @abstract
         *
-        * @param boolean $horz Flip along Horizontal Axis
-        * @param boolean $vert Flip along Vertical Axis
-        * @return boolean|WP_Error
+        * @param bool $horz Flip along Horizontal Axis
+        * @param bool $vert Flip along Vertical Axis
+        * @return bool|WP_Error
         */
        abstract public function flip( $horz, $vert );
 
@@ -169,7 +173,7 @@ abstract class WP_Image_Editor {
         * @abstract
         *
         * @param string $mime_type
-        * @return boolean|WP_Error
+        * @return bool|WP_Error
         */
        abstract public function stream( $mime_type = null );
 
@@ -226,7 +230,7 @@ abstract class WP_Image_Editor {
         * @access public
         *
         * @param int $quality Compression Quality. Range: [1,100]
-        * @return boolean|WP_Error True if set successfully; WP_Error on failure.
+        * @return true|WP_Error True if set successfully; WP_Error on failure.
         */
        public function set_quality( $quality = null ) {
                if ( null === $quality ) {
@@ -344,7 +348,7 @@ abstract class WP_Image_Editor {
                        $info = pathinfo( $filename );
                        $dir  = $info['dirname'];
 
-                       if( isset( $info['extension'] ) )
+                       if ( isset( $info['extension'] ) )
                                $ext = $info['extension'];
 
                        $filename = trailingslashit( $dir ) . wp_basename( $filename, ".$ext" ) . ".{$new_ext}";
@@ -406,7 +410,7 @@ abstract class WP_Image_Editor {
         * @param string|stream $filename
         * @param callable $function
         * @param array $arguments
-        * @return boolean
+        * @return bool
         */
        protected function make_image( $filename, $function, $arguments ) {
                if ( $stream = wp_is_stream( $filename ) ) {
@@ -442,10 +446,12 @@ abstract class WP_Image_Editor {
         * as mapped from wp_get_mime_types()
         *
         * @since 3.5.0
+        *
+        * @static
         * @access protected
         *
         * @param string $extension
-        * @return string|boolean
+        * @return string|false
         */
        protected static function get_mime_type( $extension = null ) {
                if ( ! $extension )
@@ -468,10 +474,12 @@ abstract class WP_Image_Editor {
         * as mapped from wp_get_mime_types()
         *
         * @since 3.5.0
+        *
+        * @static
         * @access protected
         *
         * @param string $mime_type
-        * @return string|boolean
+        * @return string|false
         */
        protected static function get_extension( $mime_type = null ) {
                $extensions = explode( '|', array_search( $mime_type, wp_get_mime_types() ) );
index b0115aef60ad4dd376e56b9a4b42c7050047c09b..ad70a4bf9e38f789819e2ac40b933c1401df1d9b 100644 (file)
@@ -49,6 +49,10 @@ final class WP_Theme implements ArrayAccess {
 
        /**
         * Renamed theme tags.
+        *
+        * @static
+        * @access private
+        * @var array
         */
        private static $tag_map = array(
                'fixed-width'    => 'fixed-layout',
@@ -83,6 +87,9 @@ final class WP_Theme implements ArrayAccess {
         * Header name from the theme's style.css after being translated.
         *
         * Cached due to sorting functions running over the translated name.
+        *
+        * @access private
+        * @var string
         */
        private $name_translated;
 
@@ -153,6 +160,7 @@ final class WP_Theme implements ArrayAccess {
         *
         * Default is false. Can be set with the wp_cache_themes_persistently filter.
         *
+        * @static
         * @access private
         * @var bool
         */
@@ -163,6 +171,7 @@ final class WP_Theme implements ArrayAccess {
         *
         * By default the bucket is not cached, so this value is useless.
         *
+        * @static
         * @access private
         * @var bool
         */
@@ -171,9 +180,11 @@ final class WP_Theme implements ArrayAccess {
        /**
         * Constructor for WP_Theme.
         *
+        * @global array $wp_theme_directories
+        *
         * @param string $theme_dir Directory of the theme within the theme_root.
         * @param string $theme_root Theme root.
-        * @param WP_Error|null $_child If this theme is a parent theme, the child may be passed for validation purposes.
+        * @param WP_Error|void $_child If this theme is a parent theme, the child may be passed for validation purposes.
         */
        public function __construct( $theme_dir, $theme_root, $_child = null ) {
                global $wp_theme_directories;
@@ -310,6 +321,10 @@ final class WP_Theme implements ArrayAccess {
 
        /**
         * __isset() magic method for properties formerly returned by current_theme_info()
+        *
+        * @staticvar array $properties
+        *
+        * @return bool
         */
        public function __isset( $offset ) {
                static $properties = array(
@@ -322,6 +337,8 @@ final class WP_Theme implements ArrayAccess {
 
        /**
         * __get() magic method for properties formerly returned by current_theme_info()
+        *
+        * @return mixed
         */
        public function __get( $offset ) {
                switch ( $offset ) {
@@ -361,22 +378,32 @@ final class WP_Theme implements ArrayAccess {
 
        /**
         * Method to implement ArrayAccess for keys formerly returned by get_themes()
+        *
+        * @param mixed $offset
+        * @param mixed $value
         */
        public function offsetSet( $offset, $value ) {}
 
        /**
         * Method to implement ArrayAccess for keys formerly returned by get_themes()
+        *
+        * @param mixed $offset
         */
        public function offsetUnset( $offset ) {}
 
        /**
         * Method to implement ArrayAccess for keys formerly returned by get_themes()
+        *
+        * @staticvar array $keys
+        *
+        * @param mixed $offset
+        * @return bool
         */
        public function offsetExists( $offset ) {
                static $keys = array(
                        'Name', 'Version', 'Status', 'Title', 'Author', 'Author Name', 'Author URI', 'Description',
                        'Template', 'Stylesheet', 'Template Files', 'Stylesheet Files', 'Template Dir', 'Stylesheet Dir',
-                        'Screenshot', 'Tags', 'Theme Root', 'Theme Root URI', 'Parent Theme',
+                       'Screenshot', 'Tags', 'Theme Root', 'Theme Root URI', 'Parent Theme',
                );
 
                return in_array( $offset, $keys );
@@ -391,6 +418,9 @@ final class WP_Theme implements ArrayAccess {
         * untranslated for back compatibility. This means that ['Name'] is not ideal,
         * and care should be taken to use $theme->display('Name') to get a properly
         * translated header.
+        *
+        * @param mixed $offset
+        * @return mixed
         */
        public function offsetGet( $offset ) {
                switch ( $offset ) {
@@ -443,7 +473,7 @@ final class WP_Theme implements ArrayAccess {
         * @since 3.4.0
         * @access public
         *
-        * @return WP_Error|bool WP_Error if there are errors, or false.
+        * @return WP_Error|false WP_Error if there are errors, or false.
         */
        public function errors() {
                return is_wp_error( $this->errors ) ? $this->errors : false;
@@ -470,7 +500,7 @@ final class WP_Theme implements ArrayAccess {
         * @since 3.4.0
         * @access public
         *
-        * @return WP_Theme|bool Parent theme, or false if the current theme is not a child theme.
+        * @return WP_Theme|false Parent theme, or false if the current theme is not a child theme.
         */
        public function parent() {
                return isset( $this->parent ) ? $this->parent : false;
@@ -481,8 +511,8 @@ final class WP_Theme implements ArrayAccess {
         *
         * Cache entries keyed by the theme and the type of data.
         *
-        * @access private
         * @since 3.4.0
+        * @access private
         *
         * @param string $key Type of data to store (theme, screenshot, headers, page_templates)
         * @param string $data Data to store
@@ -497,8 +527,8 @@ final class WP_Theme implements ArrayAccess {
         *
         * Cache entries are keyed by the theme and the type of data.
         *
-        * @access private
         * @since 3.4.0
+        * @access private
         *
         * @param string $key Type of data to retrieve (theme, screenshot, headers, page_templates)
         * @return mixed Retrieved data
@@ -510,8 +540,8 @@ final class WP_Theme implements ArrayAccess {
        /**
         * Clears the cache for the theme.
         *
-        * @access public
         * @since 3.4.0
+        * @access public
         */
        public function cache_delete() {
                foreach ( array( 'theme', 'screenshot', 'headers', 'page_templates' ) as $key )
@@ -532,11 +562,11 @@ final class WP_Theme implements ArrayAccess {
         * get_template() takes into account where WordPress actually located the theme and
         * whether it is actually valid.
         *
-        * @access public
         * @since 3.4.0
+        * @access public
         *
         * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
-        * @return string|bool String on success, false on failure.
+        * @return string|false String on success, false on failure.
         */
        public function get( $header ) {
                if ( ! isset( $this->headers[ $header ] ) )
@@ -566,13 +596,13 @@ final class WP_Theme implements ArrayAccess {
        /**
         * Gets a theme header, formatted and translated for display.
         *
-        * @access public
         * @since 3.4.0
+        * @access public
         *
         * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
         * @param bool $markup Optional. Whether to mark up the header. Defaults to true.
         * @param bool $translate Optional. Whether to translate the header. Defaults to true.
-        * @return string|bool Processed header, false on failure.
+        * @return string|false Processed header, false on failure.
         */
        public function display( $header, $markup = true, $translate = true ) {
                $value = $this->get( $header );
@@ -595,8 +625,15 @@ final class WP_Theme implements ArrayAccess {
        /**
         * Sanitize a theme header.
         *
+        * @since 3.4.0
+        * @access private
+        *
+        * @staticvar array $header_tags
+        * @staticvar array $header_tags_with_a
+        *
         * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
         * @param string $value Value to sanitize.
+        * @return mixed
         */
        private function sanitize_header( $header, $value ) {
                switch ( $header ) {
@@ -647,8 +684,10 @@ final class WP_Theme implements ArrayAccess {
        /**
         * Mark up a theme header.
         *
+     * @since 3.4.0
         * @access private
-        * @since 3.4.0
+        *
+        * @staticvar string $comma
         *
         * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
         * @param string $value Value to mark up.
@@ -691,8 +730,10 @@ final class WP_Theme implements ArrayAccess {
        /**
         * Translate a theme header.
         *
-        * @access private
         * @since 3.4.0
+        * @access private
+        *
+        * @staticvar array $tags_list
         *
         * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
         * @param string $value Value to translate.
@@ -881,7 +922,7 @@ final class WP_Theme implements ArrayAccess {
         * @access public
         *
         * @param string $uri Type of URL to return, either 'relative' or an absolute URI. Defaults to absolute URI.
-        * @return mixed Screenshot file. False if the theme does not have a screenshot.
+        * @return string|false Screenshot file. False if the theme does not have a screenshot.
         */
        public function get_screenshot( $uri = 'uri' ) {
                $screenshot = $this->cache_get( 'screenshot' );
@@ -916,7 +957,7 @@ final class WP_Theme implements ArrayAccess {
         * @param int $depth Optional. How deep to search for files. Defaults to a flat scan (0 depth). -1 depth is infinite.
         * @param bool $search_parent Optional. Whether to return parent files. Defaults to false.
         * @return array Array of files, keyed by the path to the file relative to the theme's directory, with the values
-        *      being absolute paths.
+        *                   being absolute paths.
         */
        public function get_files( $type = null, $depth = 0, $search_parent = false ) {
                $files = (array) self::scandir( $this->get_stylesheet_directory(), $type, $depth );
@@ -987,13 +1028,20 @@ final class WP_Theme implements ArrayAccess {
         * Scans a directory for files of a certain extension.
         *
         * @since 3.4.0
+        *
+        * @static
         * @access private
         *
-        * @param string $path Absolute path to search.
-        * @param mixed  Array of extensions to find, string of a single extension, or null for all extensions.
-        * @param int $depth How deep to search for files. Optional, defaults to a flat scan (0 depth). -1 depth is infinite.
-        * @param string $relative_path The basename of the absolute path. Used to control the returned path
-        *      for the found files, particularly when this function recurses to lower depths.
+        * @param string            $path          Absolute path to search.
+        * @param array|string|null $extensions    Optional. Array of extensions to find, string of a single extension,
+        *                                         or null for all extensions. Default null.
+        * @param int               $depth         Optional. How many levels deep to search for files. Accepts 0, 1+, or
+        *                                         -1 (infinite depth). Default 0.
+        * @param string            $relative_path Optional. The basename of the absolute path. Used to control the
+        *                                         returned path for the found files, particularly when this function
+        *                                         recurses to lower depths. Default empty.
+        * @return array|false Array of files, keyed by the path to the file relative to the `$path` directory prepended
+        *                     with `$relative_path`, with the values being absolute paths. False otherwise.
         */
        private static function scandir( $path, $extensions = null, $depth = 0, $relative_path = '' ) {
                if ( ! is_dir( $path ) )
@@ -1098,6 +1146,8 @@ final class WP_Theme implements ArrayAccess {
         * Returns array of stylesheet names of themes allowed on the site or network.
         *
         * @since 3.4.0
+        *
+        * @static
         * @access public
         *
         * @param int $blog_id Optional. Defaults to current blog.
@@ -1119,8 +1169,12 @@ final class WP_Theme implements ArrayAccess {
         * Returns array of stylesheet names of themes allowed on the network.
         *
         * @since 3.4.0
+        *
+        * @static
         * @access public
         *
+        * @staticvar array $allowed_themes
+        *
         * @return array Array of stylesheet names.
         */
        public static function get_allowed_on_network() {
@@ -1134,8 +1188,12 @@ final class WP_Theme implements ArrayAccess {
         * Returns array of stylesheet names of themes allowed on the site.
         *
         * @since 3.4.0
+        *
+        * @static
         * @access public
         *
+        * @staticvar array $allowed_themes
+        *
         * @param int $blog_id Optional. Defaults to current blog.
         * @return array Array of stylesheet names.
         */
@@ -1201,6 +1259,8 @@ final class WP_Theme implements ArrayAccess {
         * Sort themes by name.
         *
         * @since 3.4.0
+        *
+        * @static
         * @access public
         */
        public static function sort_by_name( &$themes ) {
@@ -1218,7 +1278,11 @@ final class WP_Theme implements ArrayAccess {
         * Would choke on HTML but we don't care enough to slow it down with strip_tags().
         *
         * @since 3.4.0
+        *
+        * @static
         * @access private
+        *
+        * @return int
         */
        private static function _name_sort( $a, $b ) {
                return strnatcasecmp( $a->headers['Name'], $b->headers['Name'] );
@@ -1228,7 +1292,11 @@ final class WP_Theme implements ArrayAccess {
         * Name sort (with translation).
         *
         * @since 3.4.0
+        *
+        * @static
         * @access private
+        *
+        * @return int
         */
        private static function _name_sort_i18n( $a, $b ) {
                // Don't mark up; Do translate.
index f1d759789244115730fab602dc7285bb02801d7f..65d8a5869a70bc9c57564f0eefe9a85974eccd54 100644 (file)
@@ -127,12 +127,11 @@ class Walker {
         * @param int    $depth             Depth of current element.
         * @param array  $args              An array of arguments.
         * @param string $output            Passed by reference. Used to append additional content.
-        * @return null Null on failure with no changes to parameters.
         */
        public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
-
-               if ( !$element )
+               if ( ! $element ) {
                        return;
+               }
 
                $id_field = $this->db_fields['id'];
                $id       = $element->$id_field;
@@ -188,16 +187,14 @@ class Walker {
         * @param int   $max_depth The maximum hierarchical depth.
         * @return string The hierarchical item output.
         */
-       public function walk( $elements, $max_depth) {
-
+       public function walk( $elements, $max_depth ) {
                $args = array_slice(func_get_args(), 2);
                $output = '';
 
-               if ($max_depth < -1) //invalid parameter
-                       return $output;
-
-               if (empty($elements)) //nothing to walk
+               //invalid parameter or nothing to walk
+               if ( $max_depth < -1 || empty( $elements ) ) {
                        return $output;
+               }
 
                $parent_field = $this->db_fields['parent'];
 
@@ -272,15 +269,16 @@ class Walker {
         *
         * @since 2.7.0
         *
-        * @param int $max_depth The maximum hierarchical depth.
-        * @param int $page_num  The specific page number, beginning with 1.
-        * @return string XHTML of the specified page of elements
-        */
+        * @param array $elements
+        * @param int   $max_depth The maximum hierarchical depth.
+        * @param int   $page_num The specific page number, beginning with 1.
+        * @param int   $per_page
+        * @return string XHTML of the specified page of elements
+        */
        public function paged_walk( $elements, $max_depth, $page_num, $per_page ) {
-
-               /* sanity check */
-               if ( empty($elements) || $max_depth < -1 )
+               if ( empty( $elements ) || $max_depth < -1 ) {
                        return '';
+               }
 
                $args = array_slice( func_get_args(), 4 );
                $output = '';
@@ -383,8 +381,12 @@ class Walker {
                return $output;
        }
 
+       /**
+        *
+        * @param array $elements
+        * @return int
+        */
        public function get_number_of_root_elements( $elements ){
-
                $num = 0;
                $parent_field = $this->db_fields['parent'];
 
@@ -395,11 +397,16 @@ class Walker {
                return $num;
        }
 
-       // Unset all the children for a given top level element.
+       /**
+        * Unset all the children for a given top level element.
+        *
+        * @param object $e
+        * @param array $children_elements
+        */
        public function unset_children( $e, &$children_elements ){
-
-               if ( !$e || !$children_elements )
+               if ( ! $e || ! $children_elements ) {
                        return;
+               }
 
                $id_field = $this->db_fields['id'];
                $id = $e->$id_field;
@@ -408,9 +415,7 @@ class Walker {
                        foreach ( (array) $children_elements[$id] as $child )
                                $this->unset_children( $child, $children_elements );
 
-               if ( isset($children_elements[$id]) )
-                       unset( $children_elements[$id] );
-
+               unset( $children_elements[ $id ] );
        }
 
 } // Walker
index aac66314937d21376dc42b6bb9da75975b9f63a4..8e7bfb6ce2dd27b92e2eef90c9299b328c6b6661 100644 (file)
  */
 class wp_xmlrpc_server extends IXR_Server {
        /**
+        * Methods.
+        *
+        * @access public
         * @var array
         */
        public $methods;
+
        /**
+        * Blog options.
+        *
+        * @access public
         * @var array
         */
        public $blog_options;
+
        /**
+        * IXR_Error instance.
+        *
+        * @access public
         * @var IXR_Error
         */
        public $error;
+
        /**
         * Register all of the XMLRPC methods that XMLRPC server understands.
         *
@@ -158,7 +170,7 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @param callable $name      Method to call.
         * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
+        * @return array|IXR_Error|false Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
                if ( '_multisite_getUsersBlogs' === $name ) {
@@ -167,6 +179,9 @@ class wp_xmlrpc_server extends IXR_Server {
                return false;
        }
 
+       /**
+        * @access public
+        */
        public function serve_request() {
                $this->IXR_Server($this->methods);
        }
@@ -176,10 +191,9 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method Parameters.
-        * @return string
+        * @return string Hello string response.
         */
-       public function sayHello($args) {
+       public function sayHello() {
                return 'Hello!';
        }
 
@@ -188,10 +202,15 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method Parameters.
-        * @return int
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int $number1 A number to add.
+        *     @type int $number2 A second number to add.
+        * }
+        * @return int Sum of the two given numbers.
         */
-       public function addTwoNumbers($args) {
+       public function addTwoNumbers( $args ) {
                $number1 = $args[0];
                $number2 = $args[1];
                return $number1 + $number2;
@@ -275,7 +294,8 @@ class wp_xmlrpc_server extends IXR_Server {
         * @since 1.5.2
         *
         * @param string|array $data Escape single string or array of strings.
-        * @return string|array Type matches $data and sanitized for the database.
+        * @return string|void Returns with string is passed, alters by-reference
+        *                     when array is passed.
         */
        public function escape( &$data ) {
                if ( ! is_array( $data ) )
@@ -351,9 +371,11 @@ class wp_xmlrpc_server extends IXR_Server {
        /**
         * Set up blog options property.
         *
-        * Passes property through 'xmlrpc_blog_options' filter.
+        * Passes property through {@see 'xmlrpc_blog_options'} filter.
         *
         * @since 2.6.0
+        *
+        * @global string $wp_version
         */
        public function initialise_blog_option_info() {
                global $wp_version;
@@ -493,7 +515,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                'option'        => 'default_comment_status'
                        ),
                        'default_ping_status' => array(
-                               'desc'          => __( 'Allow link notifications from other blogs (pingbacks and trackbacks)' ),
+                               'desc'          => __( 'Allow link notifications from other blogs (pingbacks and trackbacks) on new articles' ),
                                'readonly'      => false,
                                'option'        => 'default_ping_status'
                        )
@@ -514,9 +536,12 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.6.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - username
-        *  - password
+        * @param array $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type string $username Username.
+        *     @type string $password Password.
+        * }
         * @return array|IXR_Error Array contains:
         *  - 'isAdmin'
         *  - 'url'
@@ -548,7 +573,7 @@ class wp_xmlrpc_server extends IXR_Server {
                 *
                 * @since 2.5.0
                 *
-                * @param method $name The method name.
+                * @param string $name The method name.
                 */
                do_action( 'xmlrpc_call', 'wp.getUsersBlogs' );
 
@@ -556,7 +581,7 @@ class wp_xmlrpc_server extends IXR_Server {
                $struct = array();
 
                foreach ( $blogs as $blog ) {
-                       // Don't include blogs that aren't hosted at this site
+                       // Don't include blogs that aren't hosted at this site.
                        if ( $blog->site_id != get_current_site()->id )
                                continue;
 
@@ -584,10 +609,11 @@ class wp_xmlrpc_server extends IXR_Server {
         * Checks if the method received at least the minimum number of arguments.
         *
         * @since 3.4.0
+        * @access protected
         *
         * @param string|array $args Sanitize single string or array of strings.
-        * @param int $count Minimum number of arguments.
-        * @return boolean if $args contains at least $count arguments.
+        * @param int $count         Minimum number of arguments.
+        * @return bool if `$args` contains at least $count arguments.
         */
        protected function minimum_args( $args, $count ) {
                if ( count( $args ) < $count ) {
@@ -603,9 +629,9 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param object $taxonomy The unprepared taxonomy data
-        * @param array $fields The subset of taxonomy fields to return
-        * @return array The prepared taxonomy data
+        * @param object $taxonomy The unprepared taxonomy data.
+        * @param array $fields    The subset of taxonomy fields to return.
+        * @return array The prepared taxonomy data.
         */
        protected function _prepare_taxonomy( $taxonomy, $fields ) {
                $_taxonomy = array(
@@ -646,12 +672,12 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param array|object $term The unprepared term data
-        * @return array The prepared term data
+        * @param array|object $term The unprepared term data.
+        * @return array The prepared term data.
         */
        protected function _prepare_term( $term ) {
                $_term = $term;
-               if ( ! is_array( $_term) )
+               if ( ! is_array( $_term ) )
                        $_term = get_object_vars( $_term );
 
                // For integers which may be larger than XML-RPC supports ensure we return strings.
@@ -679,8 +705,8 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param string $date
-        * @return IXR_Date
+        * @param string $date Date string to convert.
+        * @return IXR_Date IXR_Date object.
         */
        protected function _convert_date( $date ) {
                if ( $date === '0000-00-00 00:00:00' ) {
@@ -694,9 +720,9 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param string $date_gmt
-        * @param string $date
-        * @return IXR_Date
+        * @param string $date_gmt WordPress GMT date string.
+        * @param string $date     Date string.
+        * @return IXR_Date IXR_Date object.
         */
        protected function _convert_date_gmt( $date_gmt, $date ) {
                if ( $date !== '0000-00-00 00:00:00' && $date_gmt === '0000-00-00 00:00:00' ) {
@@ -710,15 +736,15 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param array $post The unprepared post data
-        * @param array $fields The subset of post type fields to return
-        * @return array The prepared post data
+        * @param array $post   The unprepared post data.
+        * @param array $fields The subset of post type fields to return.
+        * @return array The prepared post data.
         */
        protected function _prepare_post( $post, $fields ) {
-               // holds the data for this post. built up based on $fields
+               // Holds the data for this post. built up based on $fields.
                $_post = array( 'post_id' => strval( $post['ID'] ) );
 
-               // prepare common post fields
+               // Prepare common post fields.
                $post_fields = array(
                        'post_title'        => $post['post_title'],
                        'post_date'         => $this->_convert_date( $post['post_date'] ),
@@ -742,7 +768,7 @@ class wp_xmlrpc_server extends IXR_Server {
                        'sticky'            => ( $post['post_type'] === 'post' && is_sticky( $post['ID'] ) ),
                );
 
-               // Thumbnail
+               // Thumbnail.
                $post_fields['post_thumbnail'] = array();
                $thumbnail_id = get_post_thumbnail_id( $post['ID'] );
                if ( $thumbnail_id ) {
@@ -750,16 +776,16 @@ class wp_xmlrpc_server extends IXR_Server {
                        $post_fields['post_thumbnail'] = $this->_prepare_media_item( get_post( $thumbnail_id ), $thumbnail_size );
                }
 
-               // Consider future posts as published
+               // Consider future posts as published.
                if ( $post_fields['post_status'] === 'future' )
                        $post_fields['post_status'] = 'publish';
 
-               // Fill in blank post format
+               // Fill in blank post format.
                $post_fields['post_format'] = get_post_format( $post['ID'] );
                if ( empty( $post_fields['post_format'] ) )
                        $post_fields['post_format'] = 'standard';
 
-               // Merge requested $post_fields fields into $_post
+               // Merge requested $post_fields fields into $_post.
                if ( in_array( 'post', $fields ) ) {
                        $_post = array_merge( $_post, $post_fields );
                } else {
@@ -809,9 +835,9 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param object $post_type Post type object
-        * @param array $fields The subset of post fields to return
-        * @return array The prepared post type data
+        * @param object $post_type Post type object.
+        * @param array  $fields    The subset of post fields to return.
+        * @return array The prepared post type data.
         */
        protected function _prepare_post_type( $post_type, $fields ) {
                $_post_type = array(
@@ -859,9 +885,9 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param object $media_item The unprepared media item data
-        * @param string $thumbnail_size The image size to use for the thumbnail URL
-        * @return array The prepared media item data
+        * @param object $media_item     The unprepared media item data.
+        * @param string $thumbnail_size The image size to use for the thumbnail URL.
+        * @return array The prepared media item data.
         */
        protected function _prepare_media_item( $media_item, $thumbnail_size = 'thumbnail' ) {
                $_media_item = array(
@@ -898,8 +924,8 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param object $page The unprepared page data
-        * @return array The prepared page data
+        * @param object $page The unprepared page data.
+        * @return array The prepared page data.
         */
        protected function _prepare_page( $page ) {
                // Get all of the page content and link.
@@ -979,8 +1005,8 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param object $comment The unprepared comment data
-        * @return array The prepared comment data
+        * @param object $comment The unprepared comment data.
+        * @return array The prepared comment data.
         */
        protected function _prepare_comment( $comment ) {
                // Format page date.
@@ -1028,9 +1054,9 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @access protected
         *
-        * @param WP_User $user The unprepared user object
-        * @param array $fields The subset of user fields to return
-        * @return array The prepared user data
+        * @param WP_User $user   The unprepared user object.
+        * @param array   $fields The subset of user fields to return.
+        * @return array The prepared user data.
         */
        protected function _prepare_user( $user, $fields ) {
                $_user = array( 'user_id' => strval( $user->ID ) );
@@ -1077,31 +1103,47 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - array   $content_struct
-        *      $content_struct can contain:
-        *      - post_type (default: 'post')
-        *      - post_status (default: 'draft')
-        *      - post_title
-        *      - post_author
-        *      - post_excerpt
-        *      - post_content
-        *      - post_date_gmt | post_date
-        *      - post_format
-        *      - post_password
-        *      - comment_status - can be 'open' | 'closed'
-        *      - ping_status - can be 'open' | 'closed'
-        *      - sticky
-        *      - post_thumbnail - ID of a media item to use as the post thumbnail/featured image
-        *      - custom_fields - array, with each element containing 'key' and 'value'
-        *      - terms - array, with taxonomy names as keys and arrays of term IDs as values
-        *      - terms_names - array, with taxonomy names as keys and arrays of term names as values
-        *      - enclosure
-        *      - any other fields supported by wp_insert_post()
-        * @return string|IXR_Error post_id
+        * @link http://en.wikipedia.org/wiki/RSS_enclosure for information on RSS enclosures.
+        *
+        * @param array  $args {
+        *     Method arguments. Note: top-level arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id        Blog ID (unused).
+        *     @type string $username       Username.
+        *     @type string $password       Password.
+        *     @type array  $content_struct {
+        *         Content struct for adding a new post. See wp_insert_post() for information on
+        *         additional post fields
+        *
+        *         @type string $post_type      Post type. Default 'post'.
+        *         @type string $post_status    Post status. Default 'draft'
+        *         @type string $post_title     Post title.
+        *         @type int    $post_author    Post author ID.
+        *         @type string $post_excerpt   Post excerpt.
+        *         @type string $post_content   Post content.
+        *         @type string $post_date_gmt  Post date in GMT.
+        *         @type string $post_date      Post date.
+        *         @type string $post_password  Post password (20-character limit).
+        *         @type string $comment_status Post comment enabled status. Accepts 'open' or 'closed'.
+        *         @type string $ping_status    Post ping status. Accepts 'open' or 'closed'.
+        *         @type bool   $sticky         Whether the post should be sticky. Automatically false if
+        *                                      `$post_status` is 'private'.
+        *         @type int    $post_thumbnail ID of an image to use as the post thumbnail/featured image.
+        *         @type array  $custom_fields  Array of meta key/value pairs to add to the post.
+        *         @type array  $terms          Associative array with taxonomy names as keys and arrays
+        *                                      of term IDs as values.
+        *         @type array  $terms_names    Associative array with taxonomy names as keys and arrays
+        *                                      of term names as values.
+        *         @type array  $enclosure      {
+        *             Array of feed enclosure data to add to post meta.
+        *
+        *             @type string $url    URL for the feed enclosure.
+        *             @type int    $length Size in bytes of the enclosure.
+        *             @type string $type   Mime-type for the enclosure.
+        *         }
+        *     }
+        * }
+        * @return int|IXR_Error Post ID on success, IXR_Error instance otherwise.
         */
        public function wp_newPost( $args ) {
                if ( ! $this->minimum_args( $args, 4 ) )
@@ -1150,18 +1192,6 @@ class wp_xmlrpc_server extends IXR_Server {
                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
@@ -1191,7 +1221,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                return new IXR_Error( 401, __( 'Sorry, you are not allowed to stick this post.' ) );
                        }
 
-                       $sticky = $this->_validate_boolean( $post_data['sticky'] );
+                       $sticky = wp_validate_boolean( $post_data['sticky'] );
                        if ( $sticky ) {
                                stick_post( $post_data['ID'] );
                        } else {
@@ -1201,13 +1231,16 @@ class wp_xmlrpc_server extends IXR_Server {
        }
 
        /**
-        * Helper method for wp_newPost and wp_editPost, containing shared logic.
+        * Helper method for wp_newPost() and wp_editPost(), containing shared logic.
         *
         * @since 3.4.0
-        * @uses wp_insert_post()
+        * @access protected
+        *
+        * @see wp_insert_post()
         *
-        * @param WP_User $user The post author if post_author isn't set in $content_struct.
+        * @param WP_User         $user           The post author if post_author isn't set in $content_struct.
         * @param array|IXR_Error $content_struct Post data to insert.
+        * @return IXR_Error|string
         */
        protected function _insert_post( $user, $content_struct ) {
                $defaults = array( 'post_status' => 'draft', 'post_type' => 'post', 'post_author' => 0,
@@ -1274,9 +1307,9 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( isset( $post_data['ping_status'] ) && $post_data['ping_status'] != 'open' && $post_data['ping_status'] != 'closed' )
                        unset( $post_data['ping_status'] );
 
-               // Do some timestamp voodoo
+               // Do some timestamp voodoo.
                if ( ! empty( $post_data['post_date_gmt'] ) ) {
-                       // We know this is supposed to be GMT, so we're going to slap that Z on there by force
+                       // We know this is supposed to be GMT, so we're going to slap that Z on there by force.
                        $dateCreated = rtrim( $post_data['post_date_gmt']->getIso(), 'Z' ) . 'Z';
                } elseif ( ! empty( $post_data['post_date'] ) ) {
                        $dateCreated = $post_data['post_date']->getIso();
@@ -1299,7 +1332,7 @@ class wp_xmlrpc_server extends IXR_Server {
                }
 
                if ( isset( $post_data['post_thumbnail'] ) ) {
-                       // empty value deletes, non-empty value adds/updates
+                       // empty value deletes, non-empty value adds/updates.
                        if ( ! $post_data['post_thumbnail'] )
                                delete_post_thumbnail( $post_ID );
                        elseif ( ! get_post( absint( $post_data['post_thumbnail'] ) ) )
@@ -1314,14 +1347,14 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( isset( $post_data['terms'] ) || isset( $post_data['terms_names'] ) ) {
                        $post_type_taxonomies = get_object_taxonomies( $post_data['post_type'], 'objects' );
 
-                       // accumulate term IDs from terms and terms_names
+                       // Accumulate term IDs from terms and terms_names.
                        $terms = array();
 
-                       // first validate the terms specified by ID
+                       // First validate the terms specified by ID.
                        if ( isset( $post_data['terms'] ) && is_array( $post_data['terms'] ) ) {
                                $taxonomies = array_keys( $post_data['terms'] );
 
-                               // validating term ids
+                               // Validating term ids.
                                foreach ( $taxonomies as $taxonomy ) {
                                        if ( ! array_key_exists( $taxonomy , $post_type_taxonomies ) )
                                                return new IXR_Error( 401, __( 'Sorry, one of the given taxonomies is not supported by the post type.' ) );
@@ -1342,7 +1375,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                }
                        }
 
-                       // now validate terms specified by name
+                       // Now validate terms specified by name.
                        if ( isset( $post_data['terms_names'] ) && is_array( $post_data['terms_names'] ) ) {
                                $taxonomies = array_keys( $post_data['terms_names'] );
 
@@ -1353,15 +1386,18 @@ class wp_xmlrpc_server extends IXR_Server {
                                        if ( ! current_user_can( $post_type_taxonomies[$taxonomy]->cap->assign_terms ) )
                                                return new IXR_Error( 401, __( 'Sorry, you are not allowed to assign a term to one of the given taxonomies.' ) );
 
-                                       // for hierarchical taxonomies, we can't assign a term when multiple terms in the hierarchy share the same name
+                                       /*
+                                        * For hierarchical taxonomies, we can't assign a term when multiple terms
+                                        * in the hierarchy share the same name.
+                                        */
                                        $ambiguous_terms = array();
                                        if ( is_taxonomy_hierarchical( $taxonomy ) ) {
                                                $tax_term_names = get_terms( $taxonomy, array( 'fields' => 'names', 'hide_empty' => false ) );
 
-                                               // count the number of terms with the same name
+                                               // Count the number of terms with the same name.
                                                $tax_term_names_count = array_count_values( $tax_term_names );
 
-                                               // filter out non-ambiguous term names
+                                               // Filter out non-ambiguous term names.
                                                $ambiguous_tax_term_counts = array_filter( $tax_term_names_count, array( $this, '_is_greater_than_one') );
 
                                                $ambiguous_terms = array_keys( $ambiguous_tax_term_counts );
@@ -1375,11 +1411,11 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $term = get_term_by( 'name', $term_name, $taxonomy );
 
                                                if ( ! $term ) {
-                                                       // term doesn't exist, so check that the user is allowed to create new terms
+                                                       // Term doesn't exist, so check that the user is allowed to create new terms.
                                                        if ( ! current_user_can( $post_type_taxonomies[$taxonomy]->cap->edit_terms ) )
                                                                return new IXR_Error( 401, __( 'Sorry, you are not allowed to add a term to one of the given taxonomies.' ) );
 
-                                                       // create the new term
+                                                       // Create the new term.
                                                        $term_info = wp_insert_term( $term_name, $taxonomy );
                                                        if ( is_wp_error( $term_info ) )
                                                                return new IXR_Error( 500, $term_info->get_error_message() );
@@ -1395,7 +1431,7 @@ class wp_xmlrpc_server extends IXR_Server {
                        $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'
+                       // 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'] );
                }
 
@@ -1408,7 +1444,7 @@ class wp_xmlrpc_server extends IXR_Server {
                        unset( $post_data['post_format'] );
                }
 
-               // Handle enclosures
+               // Handle enclosures.
                $enclosure = isset( $post_data['enclosure'] ) ? $post_data['enclosure'] : null;
                $this->add_enclosure_if_new( $post_ID, $enclosure );
 
@@ -1442,13 +1478,16 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - int     $post_id
-        *  - array   $content_struct
-        * @return bool|IXR_Error true on success
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id        Blog ID (unused).
+        *     @type string $username       Username.
+        *     @type string $password       Password.
+        *     @type int    $post_id        Post ID.
+        *     @type array  $content_struct Extra content arguments.
+        * }
+        * @return true|IXR_Error True on success, IXR_Error on failure.
         */
        public function wp_editPost( $args ) {
                if ( ! $this->minimum_args( $args, 5 ) )
@@ -1479,11 +1518,13 @@ class wp_xmlrpc_server extends IXR_Server {
                        }
                }
 
-               // convert the date field back to IXR form
+               // Convert the date field back to IXR form.
                $post['post_date'] = $this->_convert_date( $post['post_date'] );
 
-               // ignore the existing GMT date if it is empty or a non-GMT date was supplied in $content_struct,
-               // since _insert_post will ignore the non-GMT date if the GMT date is set
+               /*
+                * Ignore the existing GMT date if it is empty or a non-GMT date was supplied in $content_struct,
+                * since _insert_post() will ignore the non-GMT date if the GMT date is set.
+                */
                if ( $post['post_date_gmt'] == '0000-00-00 00:00:00' || isset( $content_struct['post_date'] ) )
                        unset( $post['post_date_gmt'] );
                else
@@ -1504,13 +1545,17 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses wp_delete_post()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - int     $post_id
-        * @return bool|IXR_Error true on success
+        * @see wp_delete_post()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id  Blog ID (unused).
+        *     @type string $username Username.
+        *     @type string $password Password.
+        *     @type int    $post_id  Post ID.
+        * }
+        * @return true|IXR_Error True on success, IXR_Error instance on failure.
         */
        public function wp_deletePost( $args ) {
                if ( ! $this->minimum_args( $args, 4 ) )
@@ -1557,13 +1602,17 @@ class wp_xmlrpc_server extends IXR_Server {
         * groups are 'post' (all basic fields), 'taxonomies', 'custom_fields',
         * and 'enclosure'.
         *
-        * @uses get_post()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - int     $post_id
-        *  - array   $fields optional
+        * @see get_post()
+        *
+        * @param array $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id  Blog ID (unused).
+        *     @type string $username Username.
+        *     @type string $password Password.
+        *     @type int    $post_id  Post ID.
+        *     @type array  $fields   The subset of post type fields to return.
+        * }
         * @return array|IXR_Error Array contains (based on $fields parameter):
         *  - 'post_id'
         *  - 'post_title'
@@ -1594,9 +1643,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username           = $args[1];
-               $password           = $args[2];
-               $post_id            = (int) $args[3];
+               $username = $args[1];
+               $password = $args[2];
+               $post_id  = (int) $args[3];
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -1606,7 +1655,7 @@ class wp_xmlrpc_server extends IXR_Server {
                         *
                         * @since 3.4.0
                         *
-                        * @param array $fields  Array of post fields.
+                        * @param array  $fields Array of post fields. Default array contains 'post', 'terms', and 'custom_fields'.
                         * @param string $method Method name.
                         */
                        $fields = apply_filters( 'xmlrpc_default_post_fields', array( 'post', 'terms', 'custom_fields' ), 'wp.getPost' );
@@ -1634,23 +1683,21 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * The optional $filter parameter modifies the query used to retrieve posts.
-        * Accepted keys are 'post_type', 'post_status', 'number', 'offset',
-        * 'orderby', and 'order'.
-        *
-        * The optional $fields parameter specifies what fields will be included
-        * in the response array.
-        *
-        * @uses wp_get_recent_posts()
-        * @see wp_getPost() for more on $fields
-        * @see get_posts() for more on $filter values
-        *
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - array   $filter optional
-        *  - array   $fields optional
+        * @see wp_get_recent_posts()
+        * @see wp_getPost() for more on `$fields`
+        * @see get_posts() for more on `$filter` values
+        *
+        * @param array $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id  Blog ID (unused).
+        *     @type string $username Username.
+        *     @type string $password Password.
+        *     @type array  $filter   Optional. Modifies the query used to retrieve posts. Accepts 'post_type',
+        *                            'post_status', 'number', 'offset', 'orderby', and 'order'.
+        *                            Default empty array.
+        *     @type array  $fields   Optional. The subset of post type fields to return in the response array.
+        * }
         * @return array|IXR_Error Array contains a collection of posts.
         */
        public function wp_getPosts( $args ) {
@@ -1659,9 +1706,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username   = $args[1];
-               $password   = $args[2];
-               $filter     = isset( $args[3] ) ? $args[3] : array();
+               $username = $args[1];
+               $password = $args[2];
+               $filter   = isset( $args[3] ) ? $args[3] : array();
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -1716,7 +1763,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $posts_list )
                        return array();
 
-               // holds all the posts data
+               // Holds all the posts data.
                $struct = array();
 
                foreach ( $posts_list as $post ) {
@@ -1734,20 +1781,19 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses wp_insert_term()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - array   $content_struct
-        *      The $content_struct must contain:
-        *      - 'name'
-        *      - 'taxonomy'
-        *      Also, it can optionally contain:
-        *      - 'parent'
-        *      - 'description'
-        *      - 'slug'
-        * @return string|IXR_Error term_id
+        * @see wp_insert_term()
+        *
+        * @param array $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id        Blog ID (unused).
+        *     @type string $username       Username.
+        *     @type string $password       Password.
+        *     @type array  $content_struct Content struct for adding a new term. The struct must contain
+        *                                  the term 'name' and 'taxonomy'. Optional accepted values include
+        *                                  'parent', 'description', and 'slug'.
+        * }
+        * @return int|IXR_Error The term ID on success, or an IXR_Error object on failure.
         */
        public function wp_newTerm( $args ) {
                if ( ! $this->minimum_args( $args, 4 ) )
@@ -1755,9 +1801,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username           = $args[1];
-               $password           = $args[2];
-               $content_struct     = $args[3];
+               $username       = $args[1];
+               $password       = $args[2];
+               $content_struct = $args[3];
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
@@ -1820,21 +1866,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses wp_update_term()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - string  $term_id
-        *  - array   $content_struct
-        *      The $content_struct must contain:
-        *      - 'taxonomy'
-        *      Also, it can optionally contain:
-        *      - 'name'
-        *      - 'parent'
-        *      - 'description'
-        *      - 'slug'
-        * @return bool|IXR_Error True, on success.
+        * @see wp_update_term()
+        *
+        * @param array $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id        Blog ID (unused).
+        *     @type string $username       Username.
+        *     @type string $password       Password.
+        *     @type int    $term_id        Term ID.
+        *     @type array  $content_struct Content struct for editing a term. The struct must contain the
+        *                                  term ''taxonomy'. Optional accepted values include 'name', 'parent',
+        *                                  'description', and 'slug'.
+        * }
+        * @return true|IXR_Error True on success, IXR_Error instance on failure.
         */
        public function wp_editTerm( $args ) {
                if ( ! $this->minimum_args( $args, 5 ) )
@@ -1842,10 +1887,10 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username           = $args[1];
-               $password           = $args[2];
-               $term_id            = (int) $args[3];
-               $content_struct     = $args[4];
+               $username       = $args[1];
+               $password       = $args[2];
+               $term_id        = (int) $args[3];
+               $content_struct = $args[4];
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
@@ -1919,14 +1964,18 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses wp_delete_term()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - string  $taxnomy_name
-        *  - string     $term_id
-        * @return boolean|IXR_Error If it suceeded true else a reason why not
+        * @see wp_delete_term()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id      Blog ID (unused).
+        *     @type string $username     Username.
+        *     @type string $password     Password.
+        *     @type string $taxnomy_name Taxonomy name.
+        *     @type int    $term_id      Term ID.
+        * }
+        * @return bool|IXR_Error True on success, IXR_Error instance on failure.
         */
        public function wp_deleteTerm( $args ) {
                if ( ! $this->minimum_args( $args, 5 ) )
@@ -1977,14 +2026,18 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses get_term()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - string  $taxonomy
-        *  - string  $term_id
-        * @return array|IXR_Error Array contains:
+        * @see get_term()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id  Blog ID (unused).
+        *     @type string $username Username.
+        *     @type string $password Password.
+        *     @type string $taxnomy  Taxonomy name.
+        *     @type string $term_id  Term ID.
+        * }
+        * @return array|IXR_Error IXR_Error on failure, array on success, containing:
         *  - 'term_id'
         *  - 'name'
         *  - 'slug'
@@ -2039,14 +2092,19 @@ class wp_xmlrpc_server extends IXR_Server {
         * The optional $filter parameter modifies the query used to retrieve terms.
         * Accepted keys are 'number', 'offset', 'orderby', 'order', 'hide_empty', and 'search'.
         *
-        * @uses get_terms()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - string  $taxonomy
-        *  - array   $filter optional
-        * @return array|IXR_Error terms
+        * @see get_terms()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id  Blog ID (unused).
+        *     @type string $username Username.
+        *     @type string $password Password.
+        *     @type string $taxnomy  Taxonomy name.
+        *     @type array  $filter   Optional. Modifies the query used to retrieve posts. Accepts 'number',
+        *                            'offset', 'orderby', 'order', 'hide_empty', and 'search'. Default empty array.
+        * }
+        * @return array|IXR_Error An associative array of terms data on success, IXR_Error instance otherwise.
         */
        public function wp_getTerms( $args ) {
                if ( ! $this->minimum_args( $args, 4 ) )
@@ -2115,13 +2173,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses get_taxonomy()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - string  $taxonomy
-        * @return array|IXR_Error (@see get_taxonomy())
+        * @see get_taxonomy()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id  Blog ID (unused).
+        *     @type string $username Username.
+        *     @type string $password Password.
+        *     @type string $taxnomy  Taxonomy name.
+        *     @type array  $fields   Optional. Array of taxonomy fields to limit to in the return.
+        *                            Accepts 'labels', 'cap', 'menu', and 'object_type'.
+        *                            Default empty array.
+        * }
+        * @return array|IXR_Error An array of taxonomy data on success, IXR_Error instance otherwise.
         */
        public function wp_getTaxonomy( $args ) {
                if ( ! $this->minimum_args( $args, 4 ) )
@@ -2129,9 +2194,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
-               $taxonomy       = $args[3];
+               $username = $args[1];
+               $password = $args[2];
+               $taxonomy = $args[3];
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -2169,12 +2234,19 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses get_taxonomies()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        * @return array taxonomies
+        * @see get_taxonomies()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id  Blog ID (unused).
+        *     @type string $username Username.
+        *     @type string $password Password.
+        *     @type array  $filter   Optional. An array of arguments for retrieving taxonomies.
+        *     @type array  $fields   Optional. The subset of taxonomy fields to return.
+        * }
+        * @return array|IXR_Error An associative array of taxonomy data with returned fields determined
+        *                         by `$fields`, or an IXR_Error instance on failure.
         */
        public function wp_getTaxonomies( $args ) {
                if ( ! $this->minimum_args( $args, 3 ) )
@@ -2182,9 +2254,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username           = $args[1];
-               $password           = $args[2];
-               $filter             = isset( $args[3] ) ? $args[3] : array( 'public' => true );
+               $username = $args[1];
+               $password = $args[2];
+               $filter   = isset( $args[3] ) ? $args[3] : array( 'public' => true );
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -2227,12 +2299,16 @@ class wp_xmlrpc_server extends IXR_Server {
         * groups are 'basic' and 'all'.
         *
         * @uses get_userdata()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - int     $user_id
-        *  - array   $fields optional
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $user_id
+        *     @type array  $fields (optional)
+        * }
         * @return array|IXR_Error Array contains (based on $fields parameter):
         *  - 'user_id'
         *  - 'username'
@@ -2253,9 +2329,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username   = $args[1];
-               $password   = $args[2];
-               $user_id    = (int) $args[3];
+               $username = $args[1];
+               $password = $args[2];
+               $user_id  = (int) $args[3];
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -2283,7 +2359,7 @@ class wp_xmlrpc_server extends IXR_Server {
                $user_data = get_userdata( $user_id );
 
                if ( ! $user_data )
-                       return new IXR_Error( 404, __( 'Invalid user ID' ) );
+                       return new IXR_Error( 404, __( 'Invalid user ID.' ) );
 
                return $this->_prepare_user( $user_data, $fields );
        }
@@ -2301,12 +2377,15 @@ class wp_xmlrpc_server extends IXR_Server {
         * @uses get_users()
         * @see wp_getUser() for more on $fields and return values
         *
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - array   $filter optional
-        *  - array   $fields optional
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $filter (optional)
+        *     @type array  $fields (optional)
+        * }
         * @return array|IXR_Error users data
         */
        public function wp_getUsers( $args ) {
@@ -2315,9 +2394,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username   = $args[1];
-               $password   = $args[2];
-               $filter     = isset( $args[3] ) ? $args[3] : array();
+               $username = $args[1];
+               $password = $args[2];
+               $filter   = isset( $args[3] ) ? $args[3] : array();
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -2372,11 +2451,15 @@ class wp_xmlrpc_server extends IXR_Server {
         * Retrieve information about the requesting user.
         *
         * @uses get_userdata()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - array   $fields optional
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $fields (optional)
+        * }
         * @return array|IXR_Error (@see wp_getUser)
         */
        public function wp_getProfile( $args ) {
@@ -2385,8 +2468,8 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username   = $args[1];
-               $password   = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( isset( $args[3] ) ) {
                        $fields = $args[3];
@@ -2413,12 +2496,14 @@ class wp_xmlrpc_server extends IXR_Server {
         * Edit user's profile.
         *
         * @uses wp_update_user()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - array   $content_struct
-        *      It can optionally contain:
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $content_struct It can optionally contain:
         *      - 'first_name'
         *      - 'last_name'
         *      - 'website'
@@ -2426,7 +2511,8 @@ class wp_xmlrpc_server extends IXR_Server {
         *      - 'nickname'
         *      - 'nicename'
         *      - 'bio'
-        * @return bool|IXR_Error True, on success.
+        * }
+        * @return true|IXR_Error True, on success.
         */
        public function wp_editProfile( $args ) {
                if ( ! $this->minimum_args( $args, 4 ) )
@@ -2489,19 +2575,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - blog_id (unused)
-        *  - page_id
-        *  - username
-        *  - password
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type int    $page_id
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function wp_getPage($args) {
-               $this->escape($args);
+       public function wp_getPage( $args ) {
+               $this->escape( $args );
 
-               $page_id        = (int) $args[1];
-               $username       = $args[2];
-               $password       = $args[3];
+               $page_id  = (int) $args[1];
+               $username = $args[2];
+               $password = $args[3];
 
                if ( !$user = $this->login($username, $password) ) {
                        return $this->error;
@@ -2532,19 +2621,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - blog_id (unused)
-        *  - username
-        *  - password
-        *  - num_pages
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $num_pages
+        * }
         * @return array|IXR_Error
         */
-       public function wp_getPages($args) {
-               $this->escape($args);
+       public function wp_getPages( $args ) {
+               $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
-               $num_pages      = isset($args[3]) ? (int) $args[3] : 10;
+               $username  = $args[1];
+               $password  = $args[2];
+               $num_pages = isset($args[3]) ? (int) $args[3] : 10;
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2578,13 +2670,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters. See {@link wp_xmlrpc_server::mw_newPost()}
+        * @see wp_xmlrpc_server::mw_newPost()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $content_struct
+        * }
         * @return int|IXR_Error
         */
-       public function wp_newPage($args) {
+       public function wp_newPage( $args ) {
                // Items not escaped here will be escaped in newPost.
-               $username       = $this->escape($args[1]);
-               $password       = $this->escape($args[2]);
+               $username = $this->escape( $args[1] );
+               $password = $this->escape( $args[2] );
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2604,15 +2705,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters.
-        * @return bool|IXR_Error True, if success.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $page_id
+        * }
+        * @return true|IXR_Error True, if success.
         */
-       public function wp_deletePage($args) {
-               $this->escape($args);
+       public function wp_deletePage( $args ) {
+               $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
-               $page_id        = (int) $args[3];
+               $username = $args[1];
+               $password = $args[2];
+               $page_id  = (int) $args[3];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2653,19 +2761,32 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type int    $page_id
+        *     @type string $username
+        *     @type string $password
+        *     @type string $content
+        *     @type string $publish
+        * }
         * @return array|IXR_Error
         */
-       public function wp_editPage($args) {
-               // Items not escaped here will be escaped in editPost.
-               $page_id        = (int) $this->escape($args[1]);
-               $username       = $this->escape($args[2]);
-               $password       = $this->escape($args[3]);
-               $content        = $args[4];
-               $publish        = $args[5];
+       public function wp_editPage( $args ) {
+               // Items will be escaped in mw_editPost.
+               $page_id  = (int) $args[1];
+               $username = $args[2];
+               $password = $args[3];
+               $content  = $args[4];
+               $publish  = $args[5];
 
-               if ( !$user = $this->login($username, $password) )
+               $escaped_username = $this->escape( $username );
+               $escaped_password = $this->escape( $password );
+
+               if ( !$user = $this->login( $escaped_username, $escaped_password ) ) {
                        return $this->error;
+               }
 
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.editPage' );
@@ -2700,16 +2821,24 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters.
+        * @global wpdb $wpdb
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function wp_getPageList($args) {
+       public function wp_getPageList( $args ) {
                global $wpdb;
 
-               $this->escape($args);
+               $this->escape( $args );
 
-               $username                               = $args[1];
-               $password                               = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2752,15 +2881,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function wp_getAuthors($args) {
-
-               $this->escape($args);
+       public function wp_getAuthors( $args ) {
+               $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2788,14 +2922,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.7.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
        public function wp_getTags( $args ) {
                $this->escape( $args );
 
-               $username               = $args[1];
-               $password               = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2830,15 +2970,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $category
+        * }
         * @return int|IXR_Error Category ID.
         */
-       public function wp_newCategory($args) {
-               $this->escape($args);
+       public function wp_newCategory( $args ) {
+               $this->escape( $args );
 
-               $username                               = $args[1];
-               $password                               = $args[2];
-               $category                               = $args[3];
+               $username = $args[1];
+               $password = $args[2];
+               $category = $args[3];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2899,15 +3046,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $category_id
+        * }
         * @return bool|IXR_Error See {@link wp_delete_term()} for return info.
         */
-       public function wp_deleteCategory($args) {
-               $this->escape($args);
+       public function wp_deleteCategory( $args ) {
+               $this->escape( $args );
 
-               $username               = $args[1];
-               $password               = $args[2];
-               $category_id    = (int) $args[3];
+               $username    = $args[1];
+               $password    = $args[2];
+               $category_id = (int) $args[3];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2940,16 +3094,24 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.2.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $category
+        *     @type int    $max_results
+        * }
         * @return array|IXR_Error
         */
-       public function wp_suggestCategories($args) {
-               $this->escape($args);
+       public function wp_suggestCategories( $args ) {
+               $this->escape( $args );
 
-               $username                               = $args[1];
-               $password                               = $args[2];
-               $category                               = $args[3];
-               $max_results                    = (int) $args[4];
+               $username    = $args[1];
+               $password    = $args[2];
+               $category    = $args[3];
+               $max_results = (int) $args[4];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2977,7 +3139,14 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.7.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $comment_id
+        * }
         * @return array|IXR_Error
         */
        public function wp_getComment($args) {
@@ -3018,15 +3187,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.7.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $struct
+        * }
         * @return array|IXR_Error Contains a collection of comments. See {@link wp_xmlrpc_server::wp_getComment()} for a description of each item contents
         */
-       public function wp_getComments($args) {
-               $this->escape($args);
+       public function wp_getComments( $args ) {
+               $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
-               $struct         = isset( $args[3] ) ? $args[3] : array();
+               $username = $args[1];
+               $password = $args[2];
+               $struct   = isset( $args[3] ) ? $args[3] : array();
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -3054,12 +3230,13 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( isset($struct['number']) )
                        $number = absint($struct['number']);
 
-               $comments = get_comments( array('status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number ) );
+               $comments = get_comments( array( 'status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number ) );
 
                $comments_struct = array();
-
-               foreach ( $comments as $comment ) {
-                       $comments_struct[] = $this->_prepare_comment( $comment );
+               if ( is_array( $comments ) ) {
+                       foreach ( $comments as $comment ) {
+                               $comments_struct[] = $this->_prepare_comment( $comment );
+                       }
                }
 
                return $comments_struct;
@@ -3074,11 +3251,14 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.7.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - blog_id (unused)
-        *  - username
-        *  - password
-        *  - comment_id
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $comment_ID
+        * }
         * @return bool|IXR_Error {@link wp_delete_comment()}
         */
        public function wp_deleteComment($args) {
@@ -3105,7 +3285,7 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $status = wp_delete_comment( $comment_ID );
 
-               if ( true == $status ) {
+               if ( $status ) {
                        /**
                         * Fires after a comment has been successfully deleted via XML-RPC.
                         *
@@ -3132,20 +3312,23 @@ class wp_xmlrpc_server extends IXR_Server {
         *  - 'author_email'
         *  - 'content'
         *  - 'date_created_gmt'
-        *  - 'status'. Common statuses are 'approve', 'hold', 'spam'. See {@link get_comment_statuses()} for more details
+        *  - 'status'. Common statuses are 'approve', 'hold', 'spam'. See get_comment_statuses() for more details
         *
         * @since 2.7.0
         *
-        * @param array $args Contains:
-        *  - blog_id (unused)
-        *  - username
-        *  - password
-        *  - comment_id
-        *  - content_struct
-        * @return bool|IXR_Error True, on success.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $comment_ID
+        *     @type array  $content_struct
+        * }
+        * @return true|IXR_Error True, on success.
         */
-       public function wp_editComment($args) {
-               $this->escape($args);
+       public function wp_editComment( $args ) {
+               $this->escape( $args );
 
                $username       = $args[1];
                $password       = $args[2];
@@ -3224,15 +3407,23 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.7.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int        $blog_id (unused)
+        *     @type string     $username
+        *     @type string     $password
+        *     @type string|int $post
+        *     @type array      $content_struct
+        * }
         * @return int|IXR_Error {@link wp_new_comment()}
         */
        public function wp_newComment($args) {
                $this->escape($args);
 
-               $username       = $args[1];
-               $password       = $args[2];
-               $post           = $args[3];
+               $username       = $args[1];
+               $password       = $args[2];
+               $post           = $args[3];
                $content_struct = $args[4];
 
                /**
@@ -3327,14 +3518,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.7.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
        public function wp_getCommentStatusList($args) {
                $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -3353,11 +3550,18 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $post_id
+        * }
         * @return array|IXR_Error
         */
        public function wp_getCommentCount( $args ) {
-               $this->escape($args);
+               $this->escape( $args );
 
                $username       = $args[1];
                $password       = $args[2];
@@ -3386,14 +3590,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
        public function wp_getPostStatusList( $args ) {
                $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -3412,14 +3622,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
        public function wp_getPageStatusList( $args ) {
                $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -3438,14 +3654,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.6.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
        public function wp_getPageTemplates( $args ) {
                $this->escape( $args );
 
-               $username       = $args[1];
-               $password       = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -3464,7 +3686,14 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.6.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $options
+        * }
         * @return array|IXR_Error
         */
        public function wp_getOptions( $args ) {
@@ -3517,7 +3746,14 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.6.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $options
+        * }
         * @return array|IXR_Error
         */
        public function wp_setOptions( $args ) {
@@ -3554,11 +3790,14 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.1.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - blog_id (unused)
-        *  - username
-        *  - password
-        *  - attachment_id
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $attachment_id
+        * }
         * @return array|IXR_Error Associative array contains:
         *  - 'date_created_gmt'
         *  - 'parent'
@@ -3569,8 +3808,8 @@ class wp_xmlrpc_server extends IXR_Server {
         *  - 'description'
         *  - 'metadata'
         */
-       public function wp_getMediaItem($args) {
-               $this->escape($args);
+       public function wp_getMediaItem( $args ) {
+               $this->escape( $args );
 
                $username               = $args[1];
                $password               = $args[2];
@@ -3601,18 +3840,21 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * The defaults are as follows:
         * - 'number' - Default is 5. Total number of media items to retrieve.
-        * - 'offset' - Default is 0. See {@link WP_Query::query()} for more.
+        * - 'offset' - Default is 0. See WP_Query::query() for more.
         * - 'parent_id' - Default is ''. The post where the media item is attached. Empty string shows all media items. 0 shows unattached media items.
         * - 'mime_type' - Default is ''. Filter by mime type (e.g., 'image/jpeg', 'application/pdf')
         *
         * @since 3.1.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - blog_id (unused)
-        *  - username
-        *  - password
-        *  - filter
-        * @return array|IXR_Error Contains a collection of media items. See {@link wp_xmlrpc_server::wp_getMediaItem()} for a description of each item contents
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $struct
+        * }
+        * @return array|IXR_Error Contains a collection of media items. See wp_xmlrpc_server::wp_getMediaItem() for a description of each item contents
         */
        public function wp_getMediaLibrary($args) {
                $this->escape($args);
@@ -3646,16 +3888,19 @@ class wp_xmlrpc_server extends IXR_Server {
        }
 
        /**
-         * Retrieves a list of post formats used by the site
-         *
-         * @since 3.1.0
-         *
-         * @param array $args Method parameters. Contains:
-         *  - blog_id (unused)
-         *  - username
-         *  - password
-         * @return array|IXR_Error
-         */
+        * Retrieves a list of post formats used by the site.
+        *
+        * @since 3.1.0
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
+        * @return array|IXR_Error List of post formats, otherwise IXR_Error object.
+        */
        public function wp_getPostFormats( $args ) {
                $this->escape( $args );
 
@@ -3696,13 +3941,17 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses get_post_type_object()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - string  $post_type_name
-        *  - array   $fields
+        * @see get_post_type_object()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type string $post_type_name
+        *     @type array  $fields (optional)
+        * }
         * @return array|IXR_Error Array contains:
         *  - 'labels'
         *  - 'description'
@@ -3744,12 +3993,12 @@ class wp_xmlrpc_server extends IXR_Server {
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getPostType' );
 
-               if( ! post_type_exists( $post_type_name ) )
+               if ( ! post_type_exists( $post_type_name ) )
                        return new IXR_Error( 403, __( 'Invalid post type' ) );
 
                $post_type = get_post_type_object( $post_type_name );
 
-               if( ! current_user_can( $post_type->cap->edit_posts ) )
+               if ( ! current_user_can( $post_type->cap->edit_posts ) )
                        return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit this post type.' ) );
 
                return $this->_prepare_post_type( $post_type, $fields );
@@ -3760,13 +4009,17 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 3.4.0
         *
-        * @uses get_post_types()
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - array   $filter
-        *  - array   $fields
+        * @see get_post_types()
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $filter (optional)
+        *     @type array  $fields (optional)
+        * }
         * @return array|IXR_Error
         */
        public function wp_getPostTypes( $args ) {
@@ -3775,9 +4028,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username           = $args[1];
-               $password           = $args[2];
-               $filter             = isset( $args[3] ) ? $args[3] : array( 'public' => true );
+               $username = $args[1];
+               $password = $args[2];
+               $filter   = isset( $args[3] ) ? $args[3] : array( 'public' => true );
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -3797,7 +4050,7 @@ class wp_xmlrpc_server extends IXR_Server {
                $struct = array();
 
                foreach( $post_types as $post_type ) {
-                       if( ! current_user_can( $post_type->cap->edit_posts ) )
+                       if ( ! current_user_can( $post_type->cap->edit_posts ) )
                                continue;
 
                        $struct[$post_type->name] = $this->_prepare_post_type( $post_type, $fields );
@@ -3817,12 +4070,15 @@ class wp_xmlrpc_server extends IXR_Server {
         * @uses wp_get_post_revisions()
         * @see wp_getPost() for more on $fields
         *
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - int     $post_id
-        *  - array   $fields
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $post_id
+        *     @type array  $fields (optional)
+        * }
         * @return array|IXR_Error contains a collection of posts.
         */
        public function wp_getRevisions( $args ) {
@@ -3831,9 +4087,9 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->escape( $args );
 
-               $username   = $args[1];
-               $password   = $args[2];
-               $post_id    = (int) $args[3];
+               $username = $args[1];
+               $password = $args[2];
+               $post_id  = (int) $args[3];
 
                if ( isset( $args[4] ) ) {
                        $fields = $args[4];
@@ -3856,7 +4112,7 @@ class wp_xmlrpc_server extends IXR_Server {
                do_action( 'xmlrpc_call', 'wp.getRevisions' );
 
                if ( ! $post = get_post( $post_id ) )
-                       return new IXR_Error( 404, __( 'Invalid post ID' ) );
+                       return new IXR_Error( 404, __( 'Invalid post ID.' ) );
 
                if ( ! current_user_can( 'edit_post', $post_id ) )
                        return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit posts.' ) );
@@ -3893,11 +4149,14 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @uses wp_restore_post_revision()
         *
-        * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unused)
-        *  - string  $username
-        *  - string  $password
-        *  - int     $post_id
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $revision_id
+        * }
         * @return bool|IXR_Error false if there was an error restoring, true if success.
         */
        public function wp_restoreRevision( $args ) {
@@ -3917,13 +4176,13 @@ class wp_xmlrpc_server extends IXR_Server {
                do_action( 'xmlrpc_call', 'wp.restoreRevision' );
 
                if ( ! $revision = wp_get_post_revision( $revision_id ) )
-                       return new IXR_Error( 404, __( 'Invalid post ID' ) );
+                       return new IXR_Error( 404, __( 'Invalid post ID.' ) );
 
                if ( wp_is_post_autosave( $revision ) )
-                       return new IXR_Error( 404, __( 'Invalid post ID' ) );
+                       return new IXR_Error( 404, __( 'Invalid post ID.' ) );
 
                if ( ! $post = get_post( $revision->post_parent ) )
-                       return new IXR_Error( 404, __( 'Invalid post ID' ) );
+                       return new IXR_Error( 404, __( 'Invalid post ID.' ) );
 
                if ( ! current_user_can( 'edit_post', $revision->post_parent ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
@@ -3948,7 +4207,13 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
        public function blogger_getUsersBlogs($args) {
@@ -3958,7 +4223,7 @@ class wp_xmlrpc_server extends IXR_Server {
                $this->escape($args);
 
                $username = $args[1];
-               $password  = $args[2];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -4017,15 +4282,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function blogger_getUserInfo($args) {
-
-               $this->escape($args);
+       public function blogger_getUserInfo( $args ) {
+               $this->escape( $args );
 
                $username = $args[1];
-               $password  = $args[2];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -4052,16 +4322,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type int    $post_ID
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function blogger_getPost($args) {
-
-               $this->escape($args);
+       public function blogger_getPost( $args ) {
+               $this->escape( $args );
 
-               $post_ID    = (int) $args[1];
+               $post_ID  = (int) $args[1];
                $username = $args[2];
-               $password  = $args[3];
+               $password = $args[3];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -4097,16 +4373,24 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type string $appkey (unused)
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $numberposts (optional)
+        * }
         * @return array|IXR_Error
         */
-       public function blogger_getRecentPosts($args) {
+       public function blogger_getRecentPosts( $args ) {
 
                $this->escape($args);
 
                // $args[0] = appkey - ignored
                $username = $args[2];
-               $password  = $args[3];
+               $password = $args[3];
                if ( isset( $args[4] ) )
                        $query = array( 'numberposts' => absint( $args[4] ) );
                else
@@ -4178,17 +4462,25 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type string $appkey (unused)
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type string $content
+        *     @type string $publish
+        * }
         * @return int|IXR_Error
         */
-       public function blogger_newPost($args) {
-
-               $this->escape($args);
+       public function blogger_newPost( $args ) {
+               $this->escape( $args );
 
                $username = $args[2];
-               $password  = $args[3];
-               $content    = $args[4];
-               $publish    = $args[5];
+               $password = $args[3];
+               $content  = $args[4];
+               $publish  = $args[5];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -4240,17 +4532,25 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
-        * @return bool|IXR_Error true when done.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type int    $post_ID
+        *     @type string $username
+        *     @type string $password
+        *     @type string $content
+        * }
+        * @return true|IXR_Error true when done.
         */
        public function blogger_editPost( $args ) {
 
                $this->escape($args);
 
-               $post_ID     = (int) $args[1];
-               $username  = $args[2];
-               $password   = $args[3];
-               $content     = $args[4];
+               $post_ID  = (int) $args[1];
+               $username = $args[2];
+               $password = $args[3];
+               $content  = $args[4];
 
                if ( ! $user = $this->login( $username, $password ) ) {
                        return $this->error;
@@ -4307,15 +4607,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
-        * @return bool|IXR_Error True when post is deleted.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type int    $post_ID
+        *     @type string $username
+        *     @type string $password
+        * }
+        * @return true|IXR_Error True when post is deleted.
         */
-       public function blogger_deletePost($args) {
-               $this->escape($args);
+       public function blogger_deletePost( $args ) {
+               $this->escape( $args );
 
-               $post_ID     = (int) $args[1];
-               $username  = $args[2];
-               $password   = $args[3];
+               $post_ID  = (int) $args[1];
+               $username = $args[2];
+               $password = $args[3];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -4380,21 +4687,24 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters. Contains:
-        *  - blog_id (unused)
-        *  - username
-        *  - password
-        *  - content_struct
-        *  - publish
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $content_struct
+        *     @type int    $publish
+        * }
         * @return int|IXR_Error
         */
        public function mw_newPost($args) {
                $this->escape($args);
 
-               $username  = $args[1];
-               $password   = $args[2];
+               $username       = $args[1];
+               $password       = $args[2];
                $content_struct = $args[3];
-               $publish     = isset( $args[4] ) ? $args[4] : 0;
+               $publish        = isset( $args[4] ) ? $args[4] : 0;
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -4526,7 +4836,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $comment_status = 'open';
                                                break;
                                        default:
-                                               $comment_status = get_option('default_comment_status');
+                                               $comment_status = get_default_comment_status( $post_type );
                                                break;
                                }
                        } else {
@@ -4539,12 +4849,12 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $comment_status = 'open';
                                                break;
                                        default:
-                                               $comment_status = get_option('default_comment_status');
+                                               $comment_status = get_default_comment_status( $post_type );
                                                break;
                                }
                        }
                } else {
-                       $comment_status = get_option('default_comment_status');
+                       $comment_status = get_default_comment_status( $post_type );
                }
 
                if ( isset($content_struct['mt_allow_pings']) ) {
@@ -4557,7 +4867,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $ping_status = 'open';
                                                break;
                                        default:
-                                               $ping_status = get_option('default_ping_status');
+                                               $ping_status = get_default_comment_status( $post_type, 'pingback' );
                                                break;
                                }
                        } else {
@@ -4569,12 +4879,12 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $ping_status = 'open';
                                                break;
                                        default:
-                                               $ping_status = get_option('default_ping_status');
+                                               $ping_status = get_default_comment_status( $post_type, 'pingback' );
                                                break;
                                }
                        }
                } else {
-                       $ping_status = get_option('default_ping_status');
+                       $ping_status = get_default_comment_status( $post_type, 'pingback' );
                }
 
                if ( $post_more )
@@ -4695,6 +5005,8 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.1.0
         *
+        * @global wpdb $wpdb
+        *
         * @param int $post_ID Post ID.
         * @param string $post_content Post Content for attachment.
         */
@@ -4716,12 +5028,19 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $content_struct
+        *     @type int    $publish
+        * }
         * @return bool|IXR_Error True on success.
         */
-       public function mw_editPost($args) {
-
-               $this->escape($args);
+       public function mw_editPost( $args ) {
+               $this->escape( $args );
 
                $post_ID        = (int) $args[0];
                $username       = $args[1];
@@ -4737,9 +5056,10 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $postdata = get_post( $post_ID, ARRAY_A );
 
-               // If there is no post data for the give post id, stop
-               // now and return an error. Other wise a new post will be
-               // created (which was the old behavior).
+               /*
+                * If there is no post data for the give post id, stop now and return an error.
+                * Otherwise a new post will be created (which was the old behavior).
+                */
                if ( ! $postdata || empty( $postdata[ 'ID' ] ) )
                        return new IXR_Error( 404, __( 'Invalid post ID.' ) );
 
@@ -4829,7 +5149,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $comment_status = 'open';
                                                break;
                                        default:
-                                               $comment_status = get_option('default_comment_status');
+                                               $comment_status = get_default_comment_status( $post_type );
                                                break;
                                }
                        } else {
@@ -4842,7 +5162,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $comment_status = 'open';
                                                break;
                                        default:
-                                               $comment_status = get_option('default_comment_status');
+                                               $comment_status = get_default_comment_status( $post_type );
                                                break;
                                }
                        }
@@ -4858,7 +5178,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $ping_status = 'open';
                                                break;
                                        default:
-                                               $ping_status = get_option('default_ping_status');
+                                               $ping_status = get_default_comment_status( $post_type, 'pingback' );
                                                break;
                                }
                        } else {
@@ -4870,7 +5190,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                                $ping_status = 'open';
                                                break;
                                        default:
-                                               $ping_status = get_option('default_ping_status');
+                                               $ping_status = get_default_comment_status( $post_type, 'pingback' );
                                                break;
                                }
                        }
@@ -4914,8 +5234,8 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $tags_input = isset( $content_struct['mt_keywords'] ) ? $content_struct['mt_keywords'] : null;
 
-               if ( 'publish' == $post_status || 'private' == $post_status ) {
-                       if ( 'page' == $post_type && ! current_user_can( 'publish_pages' ) ) {
+               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.' ) );
                        } elseif ( ! current_user_can( 'publish_posts' ) ) {
                                return new IXR_Error( 401, __( 'Sorry, you do not have the right to publish this post.' ) );
@@ -4932,9 +5252,9 @@ class wp_xmlrpc_server extends IXR_Server {
                                $to_ping = implode(' ', $to_ping);
                }
 
-               // Do some timestamp voodoo
+               // Do some timestamp voodoo.
                if ( !empty( $content_struct['date_created_gmt'] ) )
-                       // We know this is supposed to be GMT, so we're going to slap that Z on there by force
+                       // We know this is supposed to be GMT, so we're going to slap that Z on there by force.
                        $dateCreated = rtrim( $content_struct['date_created_gmt']->getIso(), 'Z' ) . 'Z';
                elseif ( !empty( $content_struct['dateCreated']) )
                        $dateCreated = $content_struct['dateCreated']->getIso();
@@ -4947,7 +5267,7 @@ class wp_xmlrpc_server extends IXR_Server {
                        $post_date_gmt = $postdata['post_date_gmt'];
                }
 
-               // We've got all the data -- post it:
+               // We've got all the data -- post it.
                $newpost = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'post_date', 'post_date_gmt', 'to_ping', 'post_name', 'post_password', 'post_parent', 'menu_order', 'post_author', 'tags_input', 'page_template');
 
                $result = wp_update_post($newpost, true);
@@ -4972,7 +5292,8 @@ class wp_xmlrpc_server extends IXR_Server {
                        $this->set_custom_fields($post_ID, $content_struct['custom_fields']);
 
                if ( isset ( $content_struct['wp_post_thumbnail'] ) ) {
-                       // empty value deletes, non-empty value adds/updates
+
+                       // Empty value deletes, non-empty value adds/updates.
                        if ( empty( $content_struct['wp_post_thumbnail'] ) ) {
                                delete_post_thumbnail( $post_ID );
                        } else {
@@ -4982,14 +5303,13 @@ class wp_xmlrpc_server extends IXR_Server {
                        unset( $content_struct['wp_post_thumbnail'] );
                }
 
-               // Handle enclosures
+               // Handle enclosures.
                $thisEnclosure = isset($content_struct['enclosure']) ? $content_struct['enclosure'] : null;
                $this->add_enclosure_if_new($post_ID, $thisEnclosure);
 
                $this->attach_uploads( $ID, $post_content );
 
-               // Handle post formats if assigned, validation is handled
-               // earlier in this function
+               // Handle post formats if assigned, validation is handled earlier in this function.
                if ( isset( $content_struct['wp_post_format'] ) )
                        set_post_format( $post_ID, $content_struct['wp_post_format'] );
 
@@ -5011,16 +5331,22 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type int    $post_ID
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function mw_getPost($args) {
-
-               $this->escape($args);
+       public function mw_getPost( $args ) {
+               $this->escape( $args );
 
-               $post_ID     = (int) $args[0];
-               $username  = $args[1];
-               $password   = $args[2];
+               $post_ID  = (int) $args[0];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -5136,15 +5462,21 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $numberposts
+        * }
         * @return array|IXR_Error
         */
-       public function mw_getRecentPosts($args) {
-
-               $this->escape($args);
+       public function mw_getRecentPosts( $args ) {
+               $this->escape( $args );
 
-               $username  = $args[1];
-               $password   = $args[2];
+               $username = $args[1];
+               $password = $args[2];
                if ( isset( $args[3] ) )
                        $query = array( 'numberposts' => absint( $args[3] ) );
                else
@@ -5248,15 +5580,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function mw_getCategories($args) {
-
-               $this->escape($args);
+       public function mw_getCategories( $args ) {
+               $this->escape( $args );
 
-               $username  = $args[1];
-               $password   = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -5296,15 +5633,24 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @global wpdb $wpdb
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $data
+        * }
         * @return array|IXR_Error
         */
-       public function mw_newMediaObject($args) {
+       public function mw_newMediaObject( $args ) {
                global $wpdb;
 
-               $username  = $this->escape($args[1]);
-               $password   = $this->escape($args[2]);
-               $data        = $args[3];
+               $username = $this->escape( $args[1] );
+               $password = $this->escape( $args[2] );
+               $data     = $args[3];
 
                $name = sanitize_file_name( $data['name'] );
                $type = $data['type'];
@@ -5409,15 +5755,21 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        *     @type int    $numberposts
+        * }
         * @return array|IXR_Error
         */
-       public function mt_getRecentPostTitles($args) {
-
-               $this->escape($args);
+       public function mt_getRecentPostTitles( $args ) {
+               $this->escape( $args );
 
-               $username  = $args[1];
-               $password   = $args[2];
+               $username = $args[1];
+               $password = $args[2];
                if ( isset( $args[3] ) )
                        $query = array( 'numberposts' => absint( $args[3] ) );
                else
@@ -5463,15 +5815,20 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $blog_id (unused)
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function mt_getCategoryList($args) {
-
-               $this->escape($args);
+       public function mt_getCategoryList( $args ) {
+               $this->escape( $args );
 
-               $username  = $args[1];
-               $password   = $args[2];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -5502,16 +5859,21 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $post_ID
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return array|IXR_Error
         */
-       public function mt_getPostCategories($args) {
-
-               $this->escape($args);
+       public function mt_getPostCategories( $args ) {
+               $this->escape( $args );
 
-               $post_ID     = (int) $args[0];
-               $username  = $args[1];
-               $password   = $args[2];
+               $post_ID  = (int) $args[0];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -5546,17 +5908,23 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
-        * @return bool|IXR_Error True on success.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $post_ID
+        *     @type string $username
+        *     @type string $password
+        *     @type array  $categories
+        * }
+        * @return true|IXR_Error True on success.
         */
-       public function mt_setPostCategories($args) {
-
-               $this->escape($args);
+       public function mt_setPostCategories( $args ) {
+               $this->escape( $args );
 
-               $post_ID     = (int) $args[0];
-               $username  = $args[1];
+               $post_ID    = (int) $args[0];
+               $username   = $args[1];
                $password   = $args[2];
-               $categories  = $args[3];
+               $categories = $args[3];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -5585,30 +5953,21 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
         * @return array
         */
-       public function mt_supportedMethods($args) {
-
+       public function mt_supportedMethods() {
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'mt.supportedMethods' );
 
-               $supported_methods = array();
-               foreach ( $this->methods as $key => $value ) {
-                       $supported_methods[] = $key;
-               }
-
-               return $supported_methods;
+               return array_keys( $this->methods );
        }
 
        /**
         * Retrieve an empty array because we don't support per-post text filters.
         *
         * @since 1.5.0
-        *
-        * @param array $args Method parameters.
         */
-       public function mt_supportedTextFilters($args) {
+       public function mt_supportedTextFilters() {
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'mt.supportedTextFilters' );
 
@@ -5627,15 +5986,14 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @global wpdb $wpdb
+        *
+        * @param int $post_ID
         * @return array|IXR_Error
         */
-       public function mt_getTrackbackPings($args) {
-
+       public function mt_getTrackbackPings( $post_ID ) {
                global $wpdb;
 
-               $post_ID = intval($args);
-
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'mt.getTrackbackPings' );
 
@@ -5670,16 +6028,21 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type int    $post_ID
+        *     @type string $username
+        *     @type string $password
+        * }
         * @return int|IXR_Error
         */
-       public function mt_publishPost($args) {
-
-               $this->escape($args);
+       public function mt_publishPost( $args ) {
+               $this->escape( $args );
 
-               $post_ID     = (int) $args[0];
-               $username  = $args[1];
-               $password   = $args[2];
+               $post_ID  = (int) $args[0];
+               $username = $args[1];
+               $password = $args[2];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -5701,9 +6064,7 @@ class wp_xmlrpc_server extends IXR_Server {
                $postdata['post_category'] = $cats;
                $this->escape($postdata);
 
-               $result = wp_update_post($postdata);
-
-               return $result;
+               return wp_update_post( $postdata );
        }
 
        /* PingBack functions
@@ -5715,23 +6076,28 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @global wpdb $wpdb
+        * @global string $wp_version
+        *
+        * @param array  $args {
+        *     Method arguments. Note: arguments must be ordered as documented.
+        *
+        *     @type string $pagelinkedfrom
+        *     @type string $pagelinkedto
+        * }
         * @return string|IXR_Error
         */
-       public function pingback_ping($args) {
-               global $wpdb;
+       public function pingback_ping( $args ) {
+               global $wpdb, $wp_version;
 
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'pingback.ping' );
 
-               $this->escape($args);
-
-               $pagelinkedfrom = $args[0];
-               $pagelinkedto   = $args[1];
+               $this->escape( $args );
 
-               $pagelinkedfrom = str_replace('&amp;', '&', $pagelinkedfrom);
-               $pagelinkedto = str_replace('&amp;', '&', $pagelinkedto);
-               $pagelinkedto = str_replace('&', '&amp;', $pagelinkedto);
+               $pagelinkedfrom = str_replace( '&amp;', '&', $args[0] );
+               $pagelinkedto = str_replace( '&amp;', '&', $args[1] );
+               $pagelinkedto = str_replace( '&', '&amp;', $pagelinkedto );
 
                /**
                 * Filter the pingback source URI.
@@ -5810,7 +6176,7 @@ class wp_xmlrpc_server extends IXR_Server {
                $remote_ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $_SERVER['REMOTE_ADDR'] );
 
                /** This filter is documented in wp-includes/class-http.php */
-               $user_agent = apply_filters( 'http_headers_useragent', 'WordPress/' . $GLOBALS['wp_version'] . '; ' . get_bloginfo( 'url' ) );
+               $user_agent = apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) );
 
                // Let's check the remote site
                $http_api_args = array(
@@ -5921,19 +6287,18 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 1.5.0
         *
-        * @param array $args Method parameters.
+        * @global wpdb $wpdb
+        *
+        * @param string $url
         * @return array|IXR_Error
         */
-       public function pingback_extensions_getPingbacks($args) {
-
+       public function pingback_extensions_getPingbacks( $url ) {
                global $wpdb;
 
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'pingback.extensions.getPingbacks' );
 
-               $this->escape($args);
-
-               $url = $args;
+               $url = $this->escape( $url );
 
                $post_ID = url_to_postid($url);
                if ( !$post_ID ) {
@@ -5965,6 +6330,7 @@ class wp_xmlrpc_server extends IXR_Server {
        /**
         * @param integer $code
         * @param string $message
+        * @return IXR_Error
         */
        protected function pingback_error( $code, $message ) {
                /**
index a079c122d5a0b895f4f1171d285c106ab8523a36..b5d9f91c24d147b94faf9a46790710b2b1ae3cf5 100644 (file)
@@ -115,6 +115,8 @@ class WP {
         *
         * @since 2.0.0
         *
+        * @global WP_Rewrite $wp_rewrite
+        *
         * @param array|string $extra_query_vars Set the extra query variables.
         */
        public function parse_request($extra_query_vars = '') {
@@ -157,6 +159,7 @@ class WP {
                        list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );
                        $self = $_SERVER['PHP_SELF'];
                        $home_path = trim( parse_url( home_url(), PHP_URL_PATH ), '/' );
+                       $home_path_regex = sprintf( '|^%s|i', preg_quote( $home_path, '|' ) );
 
                        // Trim path info from the end and the leading home path from the
                        // front. For path info requests, this leaves us with the requesting
@@ -164,13 +167,13 @@ class WP {
                        // requested permalink.
                        $req_uri = str_replace($pathinfo, '', $req_uri);
                        $req_uri = trim($req_uri, '/');
-                       $req_uri = preg_replace("|^$home_path|i", '', $req_uri);
+                       $req_uri = preg_replace( $home_path_regex, '', $req_uri );
                        $req_uri = trim($req_uri, '/');
                        $pathinfo = trim($pathinfo, '/');
-                       $pathinfo = preg_replace("|^$home_path|i", '', $pathinfo);
+                       $pathinfo = preg_replace( $home_path_regex, '', $pathinfo );
                        $pathinfo = trim($pathinfo, '/');
                        $self = trim($self, '/');
-                       $self = preg_replace("|^$home_path|i", '', $self);
+                       $self = preg_replace( $home_path_regex, '', $self );
                        $self = trim($self, '/');
 
                        // The requested permalink is in $pathinfo for path info requests and
@@ -306,6 +309,9 @@ class WP {
                        }
                }
 
+               // Resolve conflicts between posts with numeric slugs and date archive queries.
+               $this->query_vars = wp_resolve_numeric_slug_conflicts( $this->query_vars );
+
                foreach ( (array) $this->private_query_vars as $var) {
                        if ( isset($this->extra_query_vars[$var]) )
                                $this->query_vars[$var] = $this->extra_query_vars[$var];
@@ -488,13 +494,14 @@ class WP {
         * be taken when naming global variables that might interfere with the
         * WordPress environment.
         *
-        * @global string $query_string Query string for the loop.
-        * @global array $posts The found posts.
+        * @global WP_Query     $wp_query
+        * @global string       $query_string Query string for the loop.
+        * @global array        $posts The found posts.
         * @global WP_Post|null $post The current post, if available.
-        * @global string $request The SQL statement for the request.
-        * @global int $more Only set, if single page or post.
-        * @global int $single If single page or post. Only set, if single page or post.
-        * @global WP_User $authordata Only set, if author archive.
+        * @global string       $request The SQL statement for the request.
+        * @global int          $more Only set, if single page or post.
+        * @global int          $single If single page or post. Only set, if single page or post.
+        * @global WP_User      $authordata Only set, if author archive.
         *
         * @since 2.0.0
         */
@@ -533,6 +540,8 @@ class WP {
         * Set up the Loop based on the query variables.
         *
         * @since 2.0.0
+        *
+        * @global WP_Query $wp_the_query
         */
        public function query_posts() {
                global $wp_the_query;
@@ -550,6 +559,8 @@ class WP {
         * Otherwise, issue a 200.
         *
         * @since 2.0.0
+        *
+        * @global WP_Query $wp_query
         */
        public function handle_404() {
                global $wp_query;
@@ -621,7 +632,6 @@ class WP {
                 */
                do_action_ref_array( 'wp', array( &$this ) );
        }
-
 }
 
 /**
@@ -678,7 +688,9 @@ class WP_MatchesMapRegex {
         *
         * static helper function to ease use
         *
+        * @static
         * @access public
+        *
         * @param string $subject subject
         * @param array  $matches data used for substitution
         * @return string
@@ -710,5 +722,4 @@ class WP_MatchesMapRegex {
                $index = intval(substr($matches[0], 9, -1));
                return ( isset( $this->_matches[$index] ) ? urlencode($this->_matches[$index]) : '' );
        }
-
 }
index 7995a908c8c4db365cbbd8619630a443a7440ba3..918c53156f9214ffb12c052db981b10cc79d9942 100644 (file)
@@ -213,7 +213,7 @@ class WP_Dependencies {
         * @param array  $deps   Optional. An array of item handle strings on which this item depends.
         * @param string $ver    Optional. Version (used for cache busting).
         * @param mixed  $args   Optional. Custom property of the item. NOT the class property $args. Examples: $media, $in_footer.
-        * @return bool True on success, false on failure.
+        * @return bool Whether the item has been registered. True on success, false on failure.
         */
        public function add( $handle, $src, $deps = array(), $ver = false, $args = null ) {
                if ( isset($this->registered[$handle]) )
@@ -331,7 +331,7 @@ class WP_Dependencies {
         *
         * @param array  $queue  An array of queued _WP_Dependency handle objects.
         * @param string $handle Name of the item. Should be unique.
-        * @return boolean Whether the handle is found after recursively searching the dependency tree.
+        * @return bool Whether the handle is found after recursively searching the dependency tree.
         */
        protected function recurse_deps( $queue, $handle ) {
                foreach ( $queue as $queued ) {
index b7c7dedad54a5fec0678462d127a5aa48b732e4a..2cca26c691b4f4f680ef84871f11f6932fd76551 100644 (file)
@@ -35,6 +35,9 @@ class WP_Scripts extends WP_Dependencies {
                add_action( 'init', array( $this, 'init' ), 0 );
        }
 
+       /**
+        * @access public
+        */
        public function init() {
                /**
                 * Fires when the WP_Scripts instance is initialized.
@@ -61,12 +64,24 @@ class WP_Scripts extends WP_Dependencies {
                return $this->do_items( $handles, $group );
        }
 
-       // Deprecated since 3.3, see print_extra_script()
+       /**
+        * @deprecated 3.3
+        * @see print_extra_script()
+        *
+        * @param string $handle
+        * @param bool   $echo
+        * @return bool|string|void
+        */
        public function print_scripts_l10n( $handle, $echo = true ) {
                _deprecated_function( __FUNCTION__, '3.3', 'print_extra_script()' );
                return $this->print_extra_script( $handle, $echo );
        }
 
+       /**
+        * @param string $handle
+        * @param bool   $echo
+        * @return bool|string|void
+        */
        public function print_extra_script( $handle, $echo = true ) {
                if ( !$output = $this->get_data( $handle, 'data' ) )
                        return;
@@ -83,6 +98,11 @@ class WP_Scripts extends WP_Dependencies {
                return true;
        }
 
+       /**
+        * @param string   $handle Name of the item. Should be unique.
+        * @param int|bool $group
+        * @return bool True on success, false if not set.
+        */
        public function do_item( $handle, $group = false ) {
                if ( !parent::do_item($handle) )
                        return false;
@@ -163,7 +183,7 @@ class WP_Scripts extends WP_Dependencies {
 
                $tag = "{$cond_before}<script type='text/javascript' src='$src'></script>\n{$cond_after}";
 
-               /** 
+               /**
                 * Filter the HTML script tag of an enqueued script.
                 *
                 * @since 4.1.0
@@ -184,9 +204,12 @@ class WP_Scripts extends WP_Dependencies {
        }
 
        /**
-        * Localizes a script
+        * Localizes a script, only if the script has already been added
         *
-        * Localizes only if the script has already been added
+        * @param string $handle
+        * @param string $object_name
+        * @param array $l10n
+        * @return bool
         */
        public function localize( $handle, $object_name, $l10n ) {
                if ( $handle === 'jquery' )
@@ -217,8 +240,13 @@ class WP_Scripts extends WP_Dependencies {
                return $this->add_data( $handle, 'data', $script );
        }
 
+       /**
+        * @param string $handle    Name of the item. Should be unique.
+        * @param bool   $recursion Internal flag that calling function was called recursively.
+        * @param mixed  $group     Group level.
+        * @return bool Not already in the group or a lower group
+        */
        public function set_group( $handle, $recursion, $group = false ) {
-
                if ( $this->registered[$handle]->args === 1 )
                        $grp = 1;
                else
@@ -230,6 +258,12 @@ class WP_Scripts extends WP_Dependencies {
                return parent::set_group( $handle, $recursion, $grp );
        }
 
+       /**
+        * @param mixed $handles   Item handle and argument (string) or item handles and arguments (array of strings).
+        * @param bool  $recursion Internal flag that function is calling itself.
+        * @param mixed $group     Group level: (int) level, (false) no groups.
+        * @return bool True on success, false on failure.
+        */
        public function all_deps( $handles, $recursion = false, $group = false ) {
                $r = parent::all_deps( $handles, $recursion );
                if ( ! $recursion ) {
@@ -245,16 +279,26 @@ class WP_Scripts extends WP_Dependencies {
                return $r;
        }
 
+       /**
+        * @return array
+        */
        public function do_head_items() {
                $this->do_items(false, 0);
                return $this->done;
        }
 
+       /**
+        * @return array
+        */
        public function do_footer_items() {
                $this->do_items(false, 1);
                return $this->done;
        }
 
+       /**
+        * @param string $src
+        * @return bool
+        */
        public function in_default_dir( $src ) {
                if ( ! $this->default_dirs ) {
                        return true;
@@ -272,6 +316,9 @@ class WP_Scripts extends WP_Dependencies {
                return false;
        }
 
+       /**
+        * @access public
+        */
        public function reset() {
                $this->do_concat = false;
                $this->print_code = '';
index 46cb913bd3541ecfa8fd4a40cab4815f696a577c..e462f8c111a6c78788bc31e8d52e3ebaeeffb06f 100644 (file)
@@ -84,11 +84,13 @@ class WP_Styles extends WP_Dependencies {
                 * Filter the HTML link tag of an enqueued style.
                 *
                 * @since 2.6.0
+                * @since 4.3.0 Introduced the `$href` parameter.
                 *
-                * @param string         The link tag for the enqueued style.
+                * @param string $html   The link tag for the enqueued style.
                 * @param string $handle The style's registered handle.
+                * @param string $href   The stylesheet's source URL.
                 */
-               $tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-css' $title href='$href' type='text/css' media='$media' />\n", $handle );
+               $tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-css' $title href='$href' type='text/css' media='$media' />\n", $handle, $href );
                if ( 'rtl' === $this->text_direction && isset($obj->extra['rtl']) && $obj->extra['rtl'] ) {
                        if ( is_bool( $obj->extra['rtl'] ) || 'replace' === $obj->extra['rtl'] ) {
                                $suffix = isset( $obj->extra['suffix'] ) ? $obj->extra['suffix'] : '';
@@ -98,7 +100,7 @@ class WP_Styles extends WP_Dependencies {
                        }
 
                        /** This filter is documented in wp-includes/class.wp-styles.php */
-                       $rtl_tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-rtl-css' $title href='$rtl_href' type='text/css' media='$media' />\n", $handle );
+                       $rtl_tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-rtl-css' $title href='$rtl_href' type='text/css' media='$media' />\n", $handle, $rtl_href );
 
                        if ( $obj->extra['rtl'] === 'replace' ) {
                                $tag = $rtl_tag;
@@ -234,11 +236,17 @@ class WP_Styles extends WP_Dependencies {
                return false;
        }
 
+       /**
+        * @return array
+        */
        public function do_footer_items() { // HTML 5 allows styles in the body, grab late enqueued items and output them in the footer.
                $this->do_items(false, 1);
                return $this->done;
        }
 
+       /**
+        * @access public
+        */
        public function reset() {
                $this->do_concat = false;
                $this->concat = '';
index c5e5c5f288a522a69ec91199f5b91da632c2e51d..78635778f2d982a6369a5ad55aed767b521fb06c 100644 (file)
@@ -63,8 +63,7 @@ function comment_author( $comment_ID = 0 ) {
         * @param string $author     The comment author's username.
         * @param int    $comment_ID The comment ID.
         */
-       $author = apply_filters( 'comment_author', $author, $comment_ID );
-       echo $author;
+       echo apply_filters( 'comment_author', $author, $comment_ID );
 }
 
 /**
@@ -157,6 +156,7 @@ function comment_author_email_link( $linktext = '', $before = '', $after = '' )
  *                         Default empty.
  * @param string $before   Optional. Text or HTML to display before the email link. Default empty.
  * @param string $after    Optional. Text or HTML to display after the email link. Default empty.
+ * @return string
  */
 function get_comment_author_email_link( $linktext = '', $before = '', $after = '' ) {
        global $comment;
@@ -225,8 +225,6 @@ function get_comment_author_link( $comment_ID = 0 ) {
  *
  * @since 0.71
  *
- * @see get_comment_author_link() Echoes result
- *
  * @param int $comment_ID ID of the comment for which to print the author's
  *                        link. Default current comment.
  */
@@ -390,6 +388,7 @@ function comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
  * @param int|WP_Post  $post_id    Post ID or WP_Post object. Default current post.
  * @param bool         $echo       Optional. Whether to cho or return the output.
  *                                 Default true.
+ * @return string|void
  */
 function comment_class( $class = '', $comment_id = null, $post_id = null, $echo = true ) {
        // Separates classes with a single space, collates classes for comment DIV
@@ -405,6 +404,10 @@ function comment_class( $class = '', $comment_id = null, $post_id = null, $echo
  *
  * @since 2.7.0
  *
+ * @global int $comment_alt
+ * @global int $comment_depth
+ * @global int $comment_thread_alt
+ *
  * @param string|array $class      Optional. One or more classes to add to the class list. Default empty.
  * @param int          $comment_id Comment ID. Default current comment.
  * @param int|WP_Post  $post_id    Post ID or WP_Post object. Default current post.
@@ -595,6 +598,8 @@ function comment_excerpt( $comment_ID = 0 ) {
  *
  * @since 1.5.0
  *
+ * @global object $comment
+ *
  * @return int The comment ID.
  */
 function get_comment_ID() {
@@ -628,6 +633,9 @@ function comment_ID() {
  *
  * @see get_page_of_comment()
  *
+ * @global WP_Rewrite $wp_rewrite
+ * @global bool       $in_comment_loop
+ *
  * @param mixed $comment Comment to retrieve. Default current comment.
  * @param array $args    Optional. An array of arguments to override the defaults.
  * @return string The permalink to the given comment.
@@ -857,6 +865,8 @@ function comment_text( $comment_ID = 0, $args = array() ) {
  *
  * @since 1.5.0
  *
+ * @global object $comment
+ *
  * @param string $d         Optional. The format of the time. Default user's settings.
  * @param bool   $gmt       Optional. Whether to use the GMT date. Default false.
  * @param bool   $translate Optional. Whether to translate the time (for use in feeds).
@@ -1115,15 +1125,23 @@ function wp_comment_form_unfiltered_html_nonce() {
  * default theme. If either does not exist, then the WordPress process will be
  * halted. It is advised for that reason, that the default theme is not deleted.
  *
- * @todo Document globals
  * @uses $withcomments Will not try to get the comments if the post has none.
  *
  * @since 1.5.0
  *
+ * @global WP_Query $wp_query
+ * @global WP_Post  $post
+ * @global wpdb     $wpdb
+ * @global int      $id
+ * @global object   $comment
+ * @global string   $user_login
+ * @global int      $user_ID
+ * @global string   $user_identity
+ * @global bool     $overridden_cpage
+ *
  * @param string $file              Optional. The file to load. Default '/comments.php'.
  * @param bool   $separate_comments Optional. Whether to separate the comments by comment type.
  *                                  Default false.
- * @return null Returns null if no comments appear.
  */
 function comments_template( $file = '/comments.php', $separate_comments = false ) {
        global $wp_query, $withcomments, $post, $wpdb, $id, $comment, $user_login, $user_ID, $user_identity, $overridden_cpage;
@@ -1184,7 +1202,6 @@ function comments_template( $file = '/comments.php', $separate_comments = false
        $wp_query->comments = apply_filters( 'comments_array', $comments, $post->ID );
        $comments = &$wp_query->comments;
        $wp_query->comment_count = count($wp_query->comments);
-       update_comment_cache($wp_query->comments);
 
        if ( $separate_comments ) {
                $wp_query->comments_by_type = separate_comments($comments);
@@ -1268,7 +1285,6 @@ function comments_popup_script( $width = 400, $height = 400, $file = '' ) {
  * @param string $css_class Optional. CSS class to use for comments. Default empty.
  * @param string $none      Optional. String to display when comments have been turned off.
  *                          Default false.
- * @return null Returns null on single posts and pages.
  */
 function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) {
        global $wpcommentspopupfile, $wpcommentsjavascript;
@@ -1304,7 +1320,7 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
        }
 
        if ( post_password_required() ) {
-               echo __('Enter your password to view comments.');
+               _e( 'Enter your password to view comments.' );
                return;
        }
 
@@ -1367,10 +1383,9 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
  * @param int         $comment Comment being replied to. Default current comment.
  * @param int|WP_Post $post    Post ID or WP_Post object the comment is going to be displayed on.
  *                             Default current post.
- * @return null|false|string Link to show comment form, if successful. False, if comments are closed.
+ * @return void|false|string Link to show comment form, if successful. False, if comments are closed.
  */
 function get_comment_reply_link( $args = array(), $comment = null, $post = null ) {
-
        $defaults = array(
                'add_below'     => 'comment',
                'respond_id'    => 'respond',
@@ -1422,8 +1437,8 @@ function get_comment_reply_link( $args = array(), $comment = null, $post = null
                        $args['add_below'], $comment->comment_ID, $args['respond_id'], $post->ID
                );
 
-               $link = sprintf( "<a class='comment-reply-link' href='%s' onclick='%s' aria-label='%s'>%s</a>",
-                       esc_url( add_query_arg( 'replytocom', $comment->comment_ID ) ) . "#" . $args['respond_id'],
+               $link = sprintf( "<a rel='nofollow' class='comment-reply-link' href='%s' onclick='%s' aria-label='%s'>%s</a>",
+                       esc_url( add_query_arg( 'replytocom', $comment->comment_ID, get_permalink( $post->ID ) ) ) . "#" . $args['respond_id'],
                        $onclick,
                        esc_attr( sprintf( $args['reply_to_text'], $comment->comment_author ) ),
                        $args['reply_text']
@@ -1550,6 +1565,7 @@ function post_reply_link($args = array(), $post = null) {
  * @since 2.7.0
  *
  * @param string $text Optional. Text to display for cancel reply link. Default empty.
+ * @return string
  */
 function get_cancel_comment_reply_link( $text = '' ) {
        if ( empty($text) )
@@ -1628,6 +1644,8 @@ function comment_id_fields( $id = 0 ) {
  *
  * @since 2.7.0
  *
+ * @global object $comment
+ *
  * @param string $noreplytext  Optional. Text to display when not replying to a comment.
  *                             Default false.
  * @param string $replytext    Optional. Text to display when replying to a comment.
@@ -1687,6 +1705,8 @@ class Walker_Comment extends Walker {
         *
         * @since 2.7.0
         *
+        * @global int $comment_depth
+        *
         * @param string $output Passed by reference. Used to append additional content.
         * @param int $depth Depth of comment.
         * @param array $args Uses 'style' argument for type of HTML list.
@@ -1714,6 +1734,8 @@ class Walker_Comment extends Walker {
         *
         * @since 2.7.0
         *
+        * @global int $comment_depth
+        *
         * @param string $output Passed by reference. Used to append additional content.
         * @param int    $depth  Depth of comment.
         * @param array  $args   Will only append content if style argument value is 'ol' or 'ul'.
@@ -1764,10 +1786,8 @@ class Walker_Comment extends Walker {
         * @param int    $depth             Depth of current element.
         * @param array  $args              An array of arguments.
         * @param string $output            Passed by reference. Used to append additional content.
-        * @return null Null on failure with no changes to parameters.
         */
        public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
-
                if ( !$element )
                        return;
 
@@ -1795,6 +1815,9 @@ class Walker_Comment extends Walker {
         * @see Walker::start_el()
         * @see wp_list_comments()
         *
+        * @global int    $comment_depth
+        * @global object $comment
+        *
         * @param string $output  Passed by reference. Used to append additional content.
         * @param object $comment Comment data object.
         * @param int    $depth   Depth of comment in reference to parents.
@@ -1998,6 +2021,13 @@ class Walker_Comment extends Walker {
  *
  * @see WP_Query->comments
  *
+ * @global WP_Query $wp_query
+ * @global int      $comment_alt
+ * @global int      $comment_depth
+ * @global int      $comment_thread_alt
+ * @global bool     $overridden_cpage
+ * @global bool     $in_comment_loop
+ *
  * @param string|array $args {
  *     Optional. Formatting options.
  *
@@ -2165,7 +2195,6 @@ function wp_list_comments( $args = array(), $comments = null ) {
  *     @type string $comment_notes_before HTML element for a message displayed before the comment form.
  *                                        Default 'Your email address will not be published.'.
  *     @type string $comment_notes_after  HTML element for a message displayed after the comment form.
- *                                        Default 'You may use these HTML tags and attributes ...'.
  *     @type string $id_form              The comment form element id attribute. Default 'commentform'.
  *     @type string $id_submit            The comment submit element id attribute. Default 'submit'.
  *     @type string $class_submit         The comment submit element class attribute. Default 'submit'.
@@ -2221,13 +2250,13 @@ function comment_form( $args = array(), $post_id = null ) {
        $fields = apply_filters( 'comment_form_default_fields', $fields );
        $defaults = array(
                'fields'               => $fields,
-               'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8" aria-describedby="form-allowed-tags" aria-required="true" required="required"></textarea></p>',
+               'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8"  aria-required="true" required="required"></textarea></p>',
                /** This filter is documented in wp-includes/link-template.php */
                'must_log_in'          => '<p class="must-log-in">' . sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
                /** This filter is documented in wp-includes/link-template.php */
                'logged_in_as'         => '<p class="logged-in-as">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>' ), get_edit_user_link(), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
                'comment_notes_before' => '<p class="comment-notes"><span id="email-notes">' . __( 'Your email address will not be published.' ) . '</span>'. ( $req ? $required_text : '' ) . '</p>',
-               'comment_notes_after'  => '<p class="form-allowed-tags" id="form-allowed-tags">' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '</p>',
+               'comment_notes_after'  => '',
                'id_form'              => 'commentform',
                'id_submit'            => 'submit',
                'class_submit'         => 'submit',
index e2ed55386ac8dc4d4000ca6f3b823ef6b2feaabb..88b7fbb65afdbcfae9a71117b72b0fa71f559fc2 100644 (file)
@@ -161,7 +161,8 @@ function get_approved_comments( $post_id, $args = array() ) {
  *
  * @since 2.0.0
  *
- * @global wpdb $wpdb WordPress database abstraction object.
+ * @global wpdb   $wpdb WordPress database abstraction object.
+ * @global object $comment
  *
  * @param object|string|int $comment Comment to retrieve.
  * @param string $output Optional. OBJECT or ARRAY_A or ARRAY_N constants.
@@ -297,7 +298,7 @@ class WP_Comment_Query {
         *
         * @param callable $name      Method to call.
         * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
+        * @return mixed|false Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
                if ( 'get_search_sql' === $name ) {
@@ -377,7 +378,6 @@ class WP_Comment_Query {
         *     @type array        $type__not_in        Exclude comments from a given array of comment types. Default empty.
         *     @type int          $user_id             Include comments for a specific user ID. Default empty.
         * }
-        * @return WP_Comment_Query WP_Comment_Query instance.
         */
        public function __construct( $query = '' ) {
                $this->query_var_defaults = array(
@@ -454,7 +454,7 @@ class WP_Comment_Query {
         * @access public
         *
         * @param string|array $query Array or URL query string of parameters.
-        * @return array List of comments.
+        * @return array|int List of comments, or number of comments when 'count' is passed as a query var.
         */
        public function query( $query ) {
                $this->query_vars = wp_parse_args( $query );
@@ -469,7 +469,7 @@ class WP_Comment_Query {
         *
         * @global wpdb $wpdb WordPress database abstraction object.
         *
-        * @return array The list of comments.
+        * @return int|array The list of comments.
         */
        public function get_comments() {
                global $wpdb;
@@ -482,10 +482,6 @@ class WP_Comment_Query {
                $this->meta_query = new WP_Meta_Query();
                $this->meta_query->parse_query_vars( $this->query_vars );
 
-               if ( ! empty( $this->meta_query->queries ) ) {
-                       $meta_query_clauses = $this->meta_query->get_sql( 'comment', $wpdb->comments, 'comment_ID', $this );
-               }
-
                /**
                 * Fires before comments are retrieved.
                 *
@@ -495,6 +491,12 @@ class WP_Comment_Query {
                 */
                do_action_ref_array( 'pre_get_comments', array( &$this ) );
 
+               // Reparse query vars, in case they were modified in a 'pre_get_comments' callback.
+               $this->meta_query->parse_query_vars( $this->query_vars );
+               if ( ! empty( $this->meta_query->queries ) ) {
+                       $meta_query_clauses = $this->meta_query->get_sql( 'comment', $wpdb->comments, 'comment_ID', $this );
+               }
+
                // $args can include anything. Only use the args defined in the query_var_defaults to compute the key.
                $key = md5( serialize( wp_array_slice_assoc( $this->query_vars, array_keys( $this->query_var_defaults ) ) ) );
                $last_changed = wp_cache_get( 'last_changed', 'comment' );
@@ -696,12 +698,12 @@ class WP_Comment_Query {
 
                // Parse comment IDs for an IN clause.
                if ( ! empty( $this->query_vars['comment__in'] ) ) {
-                       $where[] = 'comment_ID IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['comment__in'] ) ) . ' )';
+                       $where[] = "$wpdb->comments.comment_ID IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__in'] ) ) . ' )';
                }
 
                // Parse comment IDs for a NOT IN clause.
                if ( ! empty( $this->query_vars['comment__not_in'] ) ) {
-                       $where[] = 'comment_ID NOT IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['comment__not_in'] ) ) . ' )';
+                       $where[] = "$wpdb->comments.comment_ID NOT IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__not_in'] ) ) . ' )';
                }
 
                // Parse comment post IDs for an IN clause.
@@ -893,6 +895,9 @@ class WP_Comment_Query {
                $comments = apply_filters_ref_array( 'the_comments', array( $results, &$this ) );
 
                wp_cache_add( $cache_key, $comments, 'comment' );
+               if ( '*' === $fields ) {
+                       update_comment_cache( $comments );
+               }
 
                $this->comments = $comments;
                return $this->comments;
@@ -901,8 +906,10 @@ class WP_Comment_Query {
        /**
         * Used internally to generate an SQL string for searching across multiple columns
         *
-        * @access protected
         * @since 3.1.0
+        * @access protected
+        *
+        * @global wpdb $wpdb
         *
         * @param string $string
         * @param array $cols
@@ -930,7 +937,7 @@ class WP_Comment_Query {
         * @global wpdb $wpdb WordPress database abstraction object.
         *
         * @param string $orderby Alias for the field to order by.
-        * @return string|bool Value to used in the ORDER clause. False otherwise.
+        * @return string|false Value to used in the ORDER clause. False otherwise.
         */
        protected function parse_orderby( $orderby ) {
                global $wpdb;
@@ -967,9 +974,9 @@ class WP_Comment_Query {
                $parsed = false;
                if ( $orderby == $this->query_vars['meta_key'] || $orderby == 'meta_value' ) {
                        $parsed = "$wpdb->commentmeta.meta_value";
-               } else if ( $orderby == 'meta_value_num' ) {
+               } elseif ( $orderby == 'meta_value_num' ) {
                        $parsed = "$wpdb->commentmeta.meta_value+0";
-               } else if ( in_array( $orderby, $allowed_keys ) ) {
+               } elseif ( in_array( $orderby, $allowed_keys ) ) {
 
                        if ( isset( $meta_query_clauses[ $orderby ] ) ) {
                                $meta_clause = $meta_query_clauses[ $orderby ];
@@ -1026,12 +1033,56 @@ function get_comment_statuses() {
        return $status;
 }
 
+/**
+ * Gets the default comment status for a post type.
+ *
+ * @since 4.3.0
+ *
+ * @param string $post_type    Optional. Post type. Default 'post'.
+ * @param string $comment_type Optional. Comment type. Default 'comment'.
+ * @return string Expected return value is 'open' or 'closed'.
+ */
+function get_default_comment_status( $post_type = 'post', $comment_type = 'comment' ) {
+       switch ( $comment_type ) {
+               case 'pingback' :
+               case 'trackback' :
+                       $supports = 'trackbacks';
+                       $option = 'ping';
+                       break;
+               default :
+                       $supports = 'comments';
+                       $option = 'comment';
+       }
+
+       // Set the status.
+       if ( 'page' === $post_type ) {
+               $status = 'closed';
+       } elseif ( post_type_supports( $post_type, $supports ) ) {
+               $status = get_option( "default_{$option}_status" );
+       } else {
+               $status = 'closed';
+       }
+
+       /**
+        * Filter the default comment status for the given post type.
+        *
+        * @since 4.3.0
+        *
+        * @param string $status       Default status for the given post type,
+        *                             either 'open' or 'closed'.
+        * @param string $post_type    Post type. Default is `post`.
+        * @param string $comment_type Type of comment. Default is `comment`.
+        */
+       return apply_filters( 'get_default_comment_status' , $status, $post_type, $comment_type );
+}
+
 /**
  * The date the last comment was modified.
  *
  * @since 1.5.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
+ * @staticvar array $cache_lastcommentmodified
  *
  * @param string $timezone Which timezone to use in reference to 'gmt', 'blog',
  *             or 'server' locations.
@@ -1294,7 +1345,7 @@ function sanitize_comment_cookies() {
  * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param array $commentdata Contains information on the comment
- * @return mixed Signifies the approval status (0|1|'spam')
+ * @return int|string Signifies the approval status (0|1|'spam')
  */
 function wp_allow_comment( $commentdata ) {
        global $wpdb;
@@ -1482,9 +1533,11 @@ function separate_comments(&$comments) {
  *
  * @uses Walker_Comment
  *
+ * @global WP_Query $wp_query
+ *
  * @param array $comments Optional array of comment objects. Defaults to $wp_query->comments
- * @param int $per_page Optional comments per page.
- * @param boolean $threaded Optional control over flat or threaded comments.
+ * @param int   $per_page Optional comments per page.
+ * @param bool  $threaded Optional control over flat or threaded comments.
  * @return int Number of comment pages.
  */
 function get_comment_pages_count( $comments = null, $per_page = null, $threaded = null ) {
@@ -1527,6 +1580,8 @@ function get_comment_pages_count( $comments = null, $per_page = null, $threaded
  *
  * @since 2.7.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $comment_ID Comment ID.
  * @param array $args Optional args.
  * @return int|null Comment page number or null on error.
@@ -1649,8 +1704,10 @@ function wp_blacklist_check($author, $email, $url, $comment, $user_ip, $user_age
  *
  * @since 2.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $post_id Optional. Post ID.
- * @return object Comment stats.
+ * @return object|array Comment stats.
  */
 function wp_count_comments( $post_id = 0 ) {
        global $wpdb;
@@ -2082,17 +2139,36 @@ function wp_get_current_commenter() {
 }
 
 /**
- * Inserts a comment to the database.
- *
- * The available comment data key names are 'comment_author_IP', 'comment_date',
- * 'comment_date_gmt', 'comment_parent', 'comment_approved', and 'user_id'.
+ * Inserts a comment into the database.
  *
  * @since 2.0.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param array $commentdata Contains information on the comment.
- * @return int|bool The new comment's ID on success, false on failure.
+ * @param array $commentdata {
+ *     Array of arguments for inserting a new comment.
+ *
+ *     @type string     $comment_agent        The HTTP user agent of the `$comment_author` when
+ *                                            the comment was submitted. Default empty.
+ *     @type int|string $comment_approved     Whether the comment has been approved. Default 1.
+ *     @type string     $comment_author       The name of the author of the comment. Default empty.
+ *     @type string     $comment_author_email The email address of the `$comment_author`. Default empty.
+ *     @type string     $comment_author_IP    The IP address of the `$comment_author`. Default empty.
+ *     @type string     $comment_author_url   The URL address of the `$comment_author`. Default empty.
+ *     @type string     $comment_content      The content of the comment. Default empty.
+ *     @type string     $comment_date         The date the comment was submitted. To set the date
+ *                                            manually, `$comment_date_gmt` must also be specified.
+ *                                            Default is the current time.
+ *     @type string     $comment_date_gmt     The date the comment was submitted in the GMT timezone.
+ *                                            Default is `$comment_date` in the site's GMT timezone.
+ *     @type int        $comment_karma        The karma of the comment. Default 0.
+ *     @type int        $comment_parent       ID of this comment's parent, if any. Default 0.
+ *     @type int        $comment_post_ID      ID of the post that relates to the comment, if any.
+ *                                            Default empty.
+ *     @type string     $comment_type         Comment type. Default empty.
+ *     @type int        $user_id              ID of the user who submitted the comment. Default 0.
+ * }
+ * @return int|false The new comment's ID on success, false on failure.
  */
 function wp_insert_comment( $commentdata ) {
        global $wpdb;
@@ -2238,8 +2314,15 @@ function wp_throttle_comment_flood($block, $time_lastcomment, $time_newcomment)
  * See {@link https://core.trac.wordpress.org/ticket/9235}
  *
  * @since 1.5.0
- * @param array $commentdata Contains information on the comment.
- * @return int|bool The ID of the comment on success, false on failure.
+ * @since 4.3.0 'comment_agent' and 'comment_author_IP' can be set via `$commentdata`.
+ *
+ * @see wp_insert_comment()
+ *
+ * @global wpdb $wpdb
+ *
+ * @param array $commentdata Contains information on the comment. See wp_insert_comment()
+ *                           for information on accepted arguments.
+ * @return int|false The ID of the comment on success, false on failure.
  */
 function wp_new_comment( $commentdata ) {
        global $wpdb;
@@ -2270,8 +2353,15 @@ function wp_new_comment( $commentdata ) {
        $parent_status = ( 0 < $commentdata['comment_parent'] ) ? wp_get_comment_status($commentdata['comment_parent']) : '';
        $commentdata['comment_parent'] = ( 'approved' == $parent_status || 'unapproved' == $parent_status ) ? $commentdata['comment_parent'] : 0;
 
-       $commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['REMOTE_ADDR'] );
-       $commentdata['comment_agent']     = isset( $_SERVER['HTTP_USER_AGENT'] ) ? substr( $_SERVER['HTTP_USER_AGENT'], 0, 254 ) : '';
+       if ( ! isset( $commentdata['comment_author_IP'] ) ) {
+               $commentdata['comment_author_IP'] = $_SERVER['REMOTE_ADDR'];
+       }
+       $commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '', $commentdata['comment_author_IP'] );
+
+       if ( ! isset( $commentdata['comment_agent'] ) ) {
+               $commentdata['comment_agent'] = isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT']: '';
+       }
+       $commentdata['comment_agent'] = substr( $commentdata['comment_agent'], 0, 254 );
 
        if ( empty( $commentdata['comment_date'] ) ) {
                $commentdata['comment_date'] = current_time('mysql');
@@ -2338,6 +2428,8 @@ function wp_new_comment( $commentdata ) {
  *
  * @since 1.0.0
  *
+ * global wpdb $wpdb
+ *
  * @param int $comment_id Comment ID.
  * @param string $comment_status New comment status, either 'hold', 'approve', 'spam', or 'trash'.
  * @param bool $wp_error Whether to return a WP_Error object if there is a failure. Default is false.
@@ -2522,9 +2614,11 @@ function wp_defer_comment_counting($defer=null) {
  * @since 2.1.0
  * @see wp_update_comment_count_now() For what could cause a false return value
  *
+ * @staticvar array $_deferred
+ *
  * @param int $post_id Post ID
  * @param bool $do_deferred Whether to process previously deferred post comment counts
- * @return bool|null True on success, false on failure
+ * @return bool|void True on success, false on failure
  */
 function wp_update_comment_count($post_id, $do_deferred=false) {
        static $_deferred = array();
@@ -2767,7 +2861,8 @@ function generic_ping( $post_id = 0 ) {
  * Pings back the links found in a post.
  *
  * @since 0.71
- * @uses $wp_version
+ *
+ * @global string $wp_version
  *
  * @param string $content Post content to check for links.
  * @param int $post_ID Post ID.
@@ -2880,7 +2975,7 @@ function privacy_ping_filter($sites) {
  * @param string $title Title of post.
  * @param string $excerpt Excerpt of post.
  * @param int $ID Post ID.
- * @return mixed Database query from update.
+ * @return int|false|void Database query from update.
  */
 function trackback($trackback_url, $title, $excerpt, $ID) {
        global $wpdb;
@@ -2910,7 +3005,8 @@ function trackback($trackback_url, $title, $excerpt, $ID) {
  * Send a pingback.
  *
  * @since 1.2.0
- * @uses $wp_version
+ *
+ * @global string $wp_version
  *
  * @param string $server Host of blog to connect to.
  * @param string $path Path to send the ping.
@@ -3007,9 +3103,9 @@ function update_comment_cache($comments) {
  * @access private
  * @since 2.7.0
  *
- * @param object $posts Post data object.
- * @param object $query Query object.
- * @return object
+ * @param WP_Post  $posts Post data object.
+ * @param WP_Query $query Query object.
+ * @return array
  */
 function _close_comments_for_old_posts( $posts, $query ) {
        if ( empty( $posts ) || ! $query->is_singular() || ! get_option( 'close_comments_for_old_posts' ) )
index 4317eb689b1416f187f66870a9a5b1a068666af2..553faeb1d8fd471e4d46c9ee21a512a00831ef96 100644 (file)
@@ -20,6 +20,8 @@ if ( !function_exists('_') ) {
  * @since 4.2.2
  * @access private
  *
+ * @staticvar string $utf8_pcre
+ *
  * @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
@@ -193,6 +195,12 @@ if ( !function_exists('json_encode') ) {
 }
 
 if ( !function_exists('json_decode') ) {
+       /**
+        * @global Services_JSON $wp_json
+        * @param string $string
+        * @param bool   $assoc_array
+        * @return object|array
+        */
        function json_decode( $string, $assoc_array = false ) {
                global $wp_json;
 
@@ -206,6 +214,11 @@ if ( !function_exists('json_decode') ) {
                        $res = _json_decode_object_helper( $res );
                return $res;
        }
+
+       /**
+        * @param object $data
+        * @return array
+        */
        function _json_decode_object_helper($data) {
                if ( is_object($data) )
                        $data = get_object_vars($data);
index 4b755068ab98cf6f4f97771256d25a8f47f0020a..8b88c1220be96e42b22aa8a53968588e0d82537c 100644 (file)
@@ -18,6 +18,7 @@
  * @param int $timestamp Timestamp for when to run the event.
  * @param string $hook Action hook to execute when cron is run.
  * @param array $args Optional. Arguments to pass to the hook's callback function.
+ * @return void|false
  */
 function wp_schedule_single_event( $timestamp, $hook, $args = array()) {
        // don't schedule a duplicate if there's already an identical event due within 10 minutes of it
@@ -66,7 +67,7 @@ function wp_schedule_single_event( $timestamp, $hook, $args = array()) {
  * @param string $recurrence How often the event should recur.
  * @param string $hook Action hook to execute when cron is run.
  * @param array $args Optional. Arguments to pass to the hook's callback function.
- * @return false|null False on failure, null when complete with scheduling event.
+ * @return false|void False when does not schedule event.
  */
 function wp_schedule_event( $timestamp, $recurrence, $hook, $args = array()) {
        $crons = _get_cron_array();
@@ -99,7 +100,7 @@ function wp_schedule_event( $timestamp, $recurrence, $hook, $args = array()) {
  * @param string $recurrence How often the event should recur.
  * @param string $hook Action hook to execute when cron is run.
  * @param array $args Optional. Arguments to pass to the hook's callback function.
- * @return false|null False on failure. Null when event is rescheduled.
+ * @return false|void False when does not schedule event.
  */
 function wp_reschedule_event( $timestamp, $recurrence, $hook, $args = array() ) {
        $crons = _get_cron_array();
@@ -195,7 +196,7 @@ function wp_clear_scheduled_hook( $hook, $args = array() ) {
  *
  * @param string $hook Action hook to execute when cron is run.
  * @param array $args Optional. Arguments to pass to the hook's callback function.
- * @return bool|int The UNIX timestamp of the next time the scheduled event will occur.
+ * @return false|int The UNIX timestamp of the next time the scheduled event will occur.
  */
 function wp_next_scheduled( $hook, $args = array() ) {
        $crons = _get_cron_array();
@@ -213,11 +214,8 @@ function wp_next_scheduled( $hook, $args = array() ) {
  * Send request to run cron through HTTP request that doesn't halt page loading.
  *
  * @since 2.1.0
- *
- * @return null Cron could not be spawned, because it is not needed to run.
  */
 function spawn_cron( $gmt_time = 0 ) {
-
        if ( ! $gmt_time )
                $gmt_time = microtime( true );
 
@@ -225,9 +223,12 @@ function spawn_cron( $gmt_time = 0 ) {
                return;
 
        /*
-       * multiple processes on multiple web servers can run this code concurrently
-       * try to make this as atomic as possible by setting doing_cron switch
-       */
+        * Get the cron lock, which is a unix timestamp of when the last cron was spawned
+        * and has not finished running.
+        *
+        * Multiple processes on multiple web servers can run this code concurrently,
+        * this lock attempts to make spawning as atomic as possible.
+        */
        $lock = get_transient('doing_cron');
 
        if ( $lock > $gmt_time + 10 * MINUTE_IN_SECONDS )
@@ -266,6 +267,7 @@ function spawn_cron( $gmt_time = 0 ) {
                return;
        }
 
+       // Set the cron lock with the current unix timestamp, when the cron is being spawned.
        $doing_wp_cron = sprintf( '%.22F', $gmt_time );
        set_transient( 'doing_cron', $doing_wp_cron );
 
@@ -306,11 +308,8 @@ function spawn_cron( $gmt_time = 0 ) {
  * Run scheduled callbacks or spawn cron for all scheduled events.
  *
  * @since 2.1.0
- *
- * @return null When doesn't need to run Cron.
  */
 function wp_cron() {
-
        // Prevent infinite loops caused by lack of wp-cron.php
        if ( strpos($_SERVER['REQUEST_URI'], '/wp-cron.php') !== false || ( defined('DISABLE_WP_CRON') && DISABLE_WP_CRON ) )
                return;
@@ -388,7 +387,7 @@ function wp_get_schedules() {
  *
  * @param string $hook Action hook to execute when cron is run.
  * @param array $args Optional. Arguments to pass to the hook's callback function.
- * @return string|bool False, if no schedule. Schedule on success.
+ * @return string|false False, if no schedule. Schedule on success.
  */
 function wp_get_schedule($hook, $args = array()) {
        $crons = _get_cron_array();
@@ -412,7 +411,7 @@ function wp_get_schedule($hook, $args = array()) {
  * @since 2.1.0
  * @access private
  *
- * @return array CRON info array.
+ * @return false|array CRON info array.
  */
 function _get_cron_array()  {
        $cron = get_option('cron');
index 26d1032e4073fa962b007fc9230208e11fac319b..fff45052a64e3e0e92bc6e863f29c3b61c888290 100644 (file)
@@ -207,17 +207,17 @@ html:lang(he-il) .rtl #wpadminbar *  {
        left: 100%;
 }
 
-#wpadminbar .ab-top-menu > li > .ab-item:focus,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
 #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
-#wpadminbar .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
 #wpadminbar .ab-top-menu > li.hover > .ab-item {
        background: #32373c;
        color: #00b9eb;
 }
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
 #wpadminbar > #wp-toolbar li.hover span.ab-label,
-#wpadminbar > #wp-toolbar a:focus span.ab-label {
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
        color: #00b9eb;
 }
 
@@ -287,6 +287,16 @@ html:lang(he-il) .rtl #wpadminbar *  {
        color: #00b9eb;
 }
 
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+       color: #b4b9be;
+}
+
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+       color: #00b9eb;
+}
+
 #wpadminbar .menupop .menupop > .ab-item:before,
 #wpadminbar .ab-top-secondary .menupop .menupop > .ab-item:before {
        position: absolute;
@@ -511,6 +521,12 @@ html:lang(he-il) .rtl #wpadminbar *  {
        top: 2px;
 }
 
+#wpadminbar #wp-admin-bar-customize > .ab-item:before {
+       content: '\f540';
+       top: 2px;
+}
+
+
 #wpadminbar #wp-admin-bar-edit > .ab-item:before {
        content: '\f464';
        top: 2px;
@@ -872,6 +888,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        /* My Sites and "Site Title" menu */
        #wpadminbar #wp-admin-bar-my-sites > .ab-item,
        #wpadminbar #wp-admin-bar-site-name > .ab-item,
+       #wpadminbar #wp-admin-bar-customize > .ab-item,
        #wpadminbar #wp-admin-bar-edit > .ab-item,
        #wpadminbar #wp-admin-bar-my-account > .ab-item {
                text-indent: 100%;
@@ -893,6 +910,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar #wp-admin-bar-edit > .ab-item:before,
        #wpadminbar #wp-admin-bar-my-sites > .ab-item:before,
        #wpadminbar #wp-admin-bar-site-name > .ab-item:before,
+       #wpadminbar #wp-admin-bar-customize > .ab-item:before,
        #wpadminbar #wp-admin-bar-my-account > .ab-item:before {
                display: block;
                text-indent: 0;
@@ -1006,10 +1024,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar li#wp-admin-bar-my-sites,
        #wpadminbar li#wp-admin-bar-updates,
        #wpadminbar li#wp-admin-bar-site-name,
+       #wpadminbar li#wp-admin-bar-customize,
        #wpadminbar li#wp-admin-bar-new-content,
        #wpadminbar li#wp-admin-bar-edit,
        #wpadminbar li#wp-admin-bar-comments,
-       #wpadminbar li#wp-admin-bar-new-content,
        #wpadminbar li#wp-admin-bar-my-account {
                display: block;
        }
@@ -1121,3 +1139,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
                box-shadow: none;
        }
 }
+
+/* Very narrow screens */
+@media screen and (max-width: 400px) {
+       #wpadminbar li#wp-admin-bar-comments {
+               display: none;
+       }
+}
index 6a6dbdd811eeedfa216c4b911774fd0924b05ae5..a521ad6c12fd75c5d1a456d4aca7304bbeb51883 100644 (file)
@@ -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;-moz-osx-font-smoothing:auto}.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:#23282d}#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:#32373c;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:#32373c;color:#00b9eb}#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:#00b9eb}#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:#a0a5aa;color:rgba(240,245,250,.6);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:#b4b9be;color:rgba(240,245,250,.7)}#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 #adminbarsearch.adminbar-focused:before,#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:#00b9eb}#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:#464b50}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#00b9eb}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#32373c;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.ie8 #wp-admin-bar-my-account.with-avatar .ab-item{white-space:nowrap}#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 #wp-admin-bar-my-account.with-avatar>a img{width:auto;height:16px;padding:0;border:1px solid #82878c;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar>a img{width:auto}#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:#00b9eb}#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.ie8 #wp-admin-bar-search{display:block;min-width:32px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px;z-index:1}#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;max-width:none;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: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{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7) 100% 0}#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before{content:'\f179 '}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background:#fff;z-index:-1}#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 #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-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{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{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: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;-moz-osx-font-smoothing:auto}.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=text],#wpadminbar input[type=password],#wpadminbar input[type=number],#wpadminbar input[type=search],#wpadminbar input[type=email],#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:#23282d}#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:#32373c;display:none;position:absolute;float:none}#wpadminbar .selected .shortlink-input,#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#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 .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 .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.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{background:#32373c;color:#00b9eb}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label{color:#00b9eb}#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:#a0a5aa;color:rgba(240,245,250,.6);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:#b4b9be;color:rgba(240,245,250,.7)}#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 #adminbarsearch.adminbar-focused:before,#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:#00b9eb}#wpadminbar.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before{color:#b4b9be}#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#00b9eb}#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:#464b50}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#00b9eb}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#32373c;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.ie8 #wp-admin-bar-my-account.with-avatar .ab-item{white-space:nowrap}#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 #wp-admin-bar-my-account.with-avatar>a img{width:auto;height:16px;padding:0;border:1px solid #82878c;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar>a img{width:auto}#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:#00b9eb}#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-customize>.ab-item:before{content:'\f540';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.ie8 #wp-admin-bar-search{display:block;min-width:32px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px;z-index:1}#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;max-width:none;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: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{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7) 100% 0}#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before{content:'\f179 '}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background:#fff;z-index:-1}#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 #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-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){#wpadminbar .ab-label,#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar ul#wp-admin-bar-root-default>li,.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}html #wpadminbar{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 .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar #wp-admin-bar-comments .ab-icon,#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#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 #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-customize>.ab-item,#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-customize>.ab-item:before,#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:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wp-toolbar>ul>li,#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#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-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}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-customize,#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 #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}#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{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:static;-webkit-box-shadow:none;box-shadow:none}#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}}@media screen and (max-width:400px){#wpadminbar li#wp-admin-bar-comments{display:none}}
\ No newline at end of file
index 3ff4f8a5c95af8136eb94b8f58790dbb134a9d48..ff4bbbfed720dbf34ea52b6d7e018b0faa5c14e8 100644 (file)
@@ -207,17 +207,17 @@ html:lang(he-il) .rtl #wpadminbar *  {
        right: 100%;
 }
 
-#wpadminbar .ab-top-menu > li > .ab-item:focus,
+#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
 #wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
-#wpadminbar .ab-top-menu > li:hover > .ab-item,
+#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
 #wpadminbar .ab-top-menu > li.hover > .ab-item {
        background: #32373c;
        color: #00b9eb;
 }
 
-#wpadminbar > #wp-toolbar li:hover span.ab-label,
+#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
 #wpadminbar > #wp-toolbar li.hover span.ab-label,
-#wpadminbar > #wp-toolbar a:focus span.ab-label {
+#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
        color: #00b9eb;
 }
 
@@ -287,6 +287,16 @@ html:lang(he-il) .rtl #wpadminbar *  {
        color: #00b9eb;
 }
 
+#wpadminbar.mobile .quicklinks .ab-icon:before,
+#wpadminbar.mobile .quicklinks .ab-item:before {
+       color: #b4b9be;
+}
+
+#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
+#wpadminbar.mobile .quicklinks .hover .ab-item:before {
+       color: #00b9eb;
+}
+
 #wpadminbar .menupop .menupop > .ab-item:before,
 #wpadminbar .ab-top-secondary .menupop .menupop > .ab-item:before {
        position: absolute;
@@ -511,6 +521,12 @@ html:lang(he-il) .rtl #wpadminbar *  {
        top: 2px;
 }
 
+#wpadminbar #wp-admin-bar-customize > .ab-item:before {
+       content: '\f540';
+       top: 2px;
+}
+
+
 #wpadminbar #wp-admin-bar-edit > .ab-item:before {
        content: '\f464';
        top: 2px;
@@ -872,6 +888,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        /* My Sites and "Site Title" menu */
        #wpadminbar #wp-admin-bar-my-sites > .ab-item,
        #wpadminbar #wp-admin-bar-site-name > .ab-item,
+       #wpadminbar #wp-admin-bar-customize > .ab-item,
        #wpadminbar #wp-admin-bar-edit > .ab-item,
        #wpadminbar #wp-admin-bar-my-account > .ab-item {
                text-indent: 100%;
@@ -893,6 +910,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar #wp-admin-bar-edit > .ab-item:before,
        #wpadminbar #wp-admin-bar-my-sites > .ab-item:before,
        #wpadminbar #wp-admin-bar-site-name > .ab-item:before,
+       #wpadminbar #wp-admin-bar-customize > .ab-item:before,
        #wpadminbar #wp-admin-bar-my-account > .ab-item:before {
                display: block;
                text-indent: 0;
@@ -1006,10 +1024,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar li#wp-admin-bar-my-sites,
        #wpadminbar li#wp-admin-bar-updates,
        #wpadminbar li#wp-admin-bar-site-name,
+       #wpadminbar li#wp-admin-bar-customize,
        #wpadminbar li#wp-admin-bar-new-content,
        #wpadminbar li#wp-admin-bar-edit,
        #wpadminbar li#wp-admin-bar-comments,
-       #wpadminbar li#wp-admin-bar-new-content,
        #wpadminbar li#wp-admin-bar-my-account {
                display: block;
        }
@@ -1121,3 +1139,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
                box-shadow: none;
        }
 }
+
+/* Very narrow screens */
+@media screen and (max-width: 400px) {
+       #wpadminbar li#wp-admin-bar-comments {
+               display: none;
+       }
+}
index 94b37d1b4cac52832291727d36bc9c3f0ec0a23f..a6de96a02123732b7764aa2999148a6007a39b87 100644 (file)
@@ -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;-moz-osx-font-smoothing:auto}.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:#23282d}#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:#32373c;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:#32373c;color:#00b9eb}#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:#00b9eb}#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:#a0a5aa;color:rgba(240,245,250,.6);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:#b4b9be;color:rgba(240,245,250,.7)}#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 #adminbarsearch.adminbar-focused:before,#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:#00b9eb}#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:#464b50}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#00b9eb}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#32373c;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.ie8 #wp-admin-bar-my-account.with-avatar .ab-item{white-space:nowrap}#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 #wp-admin-bar-my-account.with-avatar>a img{width:auto;height:16px;padding:0;border:1px solid #82878c;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar>a img{width:auto}#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:#00b9eb}#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.ie8 #wp-admin-bar-search{display:block;min-width:32px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px;z-index:1}#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;max-width:none;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: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{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7)}#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before{content:'\f179 '}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background:#fff;z-index:-1}#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 #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-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{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{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: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;-moz-osx-font-smoothing:auto}.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=text],#wpadminbar input[type=password],#wpadminbar input[type=number],#wpadminbar input[type=search],#wpadminbar input[type=email],#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:#23282d}#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:#32373c;display:none;position:absolute;float:none}#wpadminbar .selected .shortlink-input,#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#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 .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 .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.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item,#wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus{background:#32373c;color:#00b9eb}#wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label,#wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label{color:#00b9eb}#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:#a0a5aa;color:rgba(240,245,250,.6);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:#b4b9be;color:rgba(240,245,250,.7)}#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 #adminbarsearch.adminbar-focused:before,#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:#00b9eb}#wpadminbar.mobile .quicklinks .ab-icon:before,#wpadminbar.mobile .quicklinks .ab-item:before{color:#b4b9be}#wpadminbar.mobile .quicklinks .hover .ab-icon:before,#wpadminbar.mobile .quicklinks .hover .ab-item:before{color:#00b9eb}#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:#464b50}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#00b9eb}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#32373c;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.ie8 #wp-admin-bar-my-account.with-avatar .ab-item{white-space:nowrap}#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 #wp-admin-bar-my-account.with-avatar>a img{width:auto;height:16px;padding:0;border:1px solid #82878c;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar>a img{width:auto}#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:#00b9eb}#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-customize>.ab-item:before{content:'\f540';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.ie8 #wp-admin-bar-search{display:block;min-width:32px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px;z-index:1}#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;max-width:none;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: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{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7)}#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before{content:'\f179 '}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background:#fff;z-index:-1}#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 #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-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){#wpadminbar .ab-label,#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar ul#wp-admin-bar-root-default>li,.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}html #wpadminbar{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 .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar #wp-admin-bar-comments .ab-icon,#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#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 #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-customize>.ab-item,#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-customize>.ab-item:before,#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:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wp-toolbar>ul>li,#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#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-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}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-customize,#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 #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}#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{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:static;-webkit-box-shadow:none;box-shadow:none}#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}}@media screen and (max-width:400px){#wpadminbar li#wp-admin-bar-comments{display:none}}
\ No newline at end of file
index b528402948c5a2645da5f78d0210bf0f3ed0c015..18dd46e5319da8445463a49738ce0bac98817540 100644 (file)
@@ -100,6 +100,10 @@ TABLE OF CONTENTS:
        outline: none;
 }
 
+.ie8 .wp-core-ui .button-link:focus {
+       outline: #5b9dd9 solid 1px;
+}
+
 .wp-core-ui .button.hidden {
        display: none;
 }
@@ -136,6 +140,13 @@ TABLE OF CONTENTS:
        vertical-align: baseline;
 }
 
+.wp-core-ui .button-link {
+       border: 0;
+       background: none;
+       outline: none;
+       cursor: pointer;
+}
+
 .wp-core-ui .button.hover,
 .wp-core-ui .button:hover,
 .wp-core-ui .button-secondary:hover,
@@ -149,7 +160,8 @@ TABLE OF CONTENTS:
 
 .wp-core-ui .button.focus,
 .wp-core-ui .button:focus,
-.wp-core-ui .button-secondary:focus {
+.wp-core-ui .button-secondary:focus,
+.wp-core-ui .button-link:focus {
        -webkit-box-shadow:
                0 0 0 1px #5b9dd9,
                0 0 2px 1px rgba(30, 140, 190, .8);
index fad70ba20241848e67e3bf80bd570f0dc62859e6..4b41b81087afeca163afeb8c2fa8d67ff6ad5c57 100644 (file)
@@ -1 +1 @@
-.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{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}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{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}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-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)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#32373c;-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)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#a0a5aa!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}.wp-core-ui .button-primary{background:#00a0d2;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0091cd;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-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)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#0073aa;border-color:#005082;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}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-left:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
+.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{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}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.ie8 .wp-core-ui .button-link:focus{outline:#5b9dd9 solid 1px}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{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}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-link{border:0;background:0 0;outline:0;cursor:pointer}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-core-ui .button-link:focus,.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-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)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#32373c;-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)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#a0a5aa!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}.wp-core-ui .button-primary{background:#00a0d2;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0091cd;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-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)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#0073aa;border-color:#005082;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}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-left:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
index 99d5a6959afde296f76f336f8c229b3aefdd6c88..b34f91a50206dcbc312001f570a8d78b367cba70 100644 (file)
@@ -100,6 +100,10 @@ TABLE OF CONTENTS:
        outline: none;
 }
 
+.ie8 .wp-core-ui .button-link:focus {
+       outline: #5b9dd9 solid 1px;
+}
+
 .wp-core-ui .button.hidden {
        display: none;
 }
@@ -136,6 +140,13 @@ TABLE OF CONTENTS:
        vertical-align: baseline;
 }
 
+.wp-core-ui .button-link {
+       border: 0;
+       background: none;
+       outline: none;
+       cursor: pointer;
+}
+
 .wp-core-ui .button.hover,
 .wp-core-ui .button:hover,
 .wp-core-ui .button-secondary:hover,
@@ -149,7 +160,8 @@ TABLE OF CONTENTS:
 
 .wp-core-ui .button.focus,
 .wp-core-ui .button:focus,
-.wp-core-ui .button-secondary:focus {
+.wp-core-ui .button-secondary:focus,
+.wp-core-ui .button-link:focus {
        -webkit-box-shadow:
                0 0 0 1px #5b9dd9,
                0 0 2px 1px rgba(30, 140, 190, .8);
index e76582ce651f5d5631ecd5fda4c3db9041334d8e..9af9882d732509aa0120fbc3499cd18f06a57103 100644 (file)
@@ -1 +1 @@
-.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{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}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{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}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-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)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#32373c;-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)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#a0a5aa!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}.wp-core-ui .button-primary{background:#00a0d2;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0091cd;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-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)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#0073aa;border-color:#005082;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}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-right:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
+.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{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}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.ie8 .wp-core-ui .button-link:focus{outline:#5b9dd9 solid 1px}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{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}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-link{border:0;background:0 0;outline:0;cursor:pointer}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-core-ui .button-link:focus,.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-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)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#32373c;-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)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#a0a5aa!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}.wp-core-ui .button-primary{background:#00a0d2;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0091cd;border-color:#0073aa;-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}.wp-core-ui .button-primary.focus,.wp-core-ui .button-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)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#0073aa;border-color:#005082;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}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-right:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
diff --git a/wp-includes/css/customize-preview.css b/wp-includes/css/customize-preview.css
new file mode 100644 (file)
index 0000000..bc4a6fe
--- /dev/null
@@ -0,0 +1,6 @@
+.customize-partial-refreshing {
+       opacity: 0.25;
+       -webkit-transition: opacity 0.25s;
+       transition: opacity 0.25s;
+       cursor: progress;
+}
diff --git a/wp-includes/css/customize-preview.min.css b/wp-includes/css/customize-preview.min.css
new file mode 100644 (file)
index 0000000..dadf3f5
--- /dev/null
@@ -0,0 +1 @@
+.customize-partial-refreshing{opacity:.25;-webkit-transition:opacity .25s;transition:opacity .25s;cursor:progress}
\ No newline at end of file
index 6f5fc1eeeda36ca751d7ffef1438dc1af36fcc14..33cf28781f718ce0e524426de9c10d2fb8e4a1b5 100644 (file)
@@ -5,7 +5,7 @@
 
 @font-face {
        font-family: "dashicons";
-       src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAGBQAA4AAAAAm3wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcbYyDmkdERUYAAAFgAAAAHgAAACABIwAET1MvMgAAAYAAAABAAAAAYJYFaatjbWFwAAABwAAAASoAAAKC/cQq02dhc3AAAALsAAAACAAAAAj//wADZ2x5ZgAAAvQAAFSXAACESOAO2gZoZWFkAABXjAAAAC4AAAA2CEgozmhoZWEAAFe8AAAAGgAAACQPogifaG10eAAAV9gAAAEcAAAD2GOq3ltsb2NhAABY9AAAAe4AAAHu4pbA6m1heHAAAFrkAAAAHwAAACABSQC1bmFtZQAAWwQAAAGKAAADLCbHbA5wb3N0AABckAAAA7UAAAmnz3C/rndlYmYAAGBIAAAABgAAAAY81VSHAAAAAQAAAADMPaLPAAAAANCh83cAAAAA0KztU3jaY2BkYGDgA2IJBhBgYmAEwq9AzALmMQAADtEBKAAAeNpjYGY/yTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vqqzXwDxgaQGkGJEUqLAwAgAMrcKp3ja3ZA7SwNRFITPNTGy7N3jglosWCxIkHRBVAw2q6JJQEWMILGQ9dHEKjZCwCKNhZ2t/8hGG1EwWKuVOvehjbouCVhYWzlw5jAwfMUQUYZ6N0oidRLHaRLdnBVx+jcoon4azn/AwRACjKGAIqZRwgIWUUEdO2ighRMllKMCVVAlFal57ehAF3RJV03VbJq6iU3DtMypObdZ69jAjicJUUol+BhBiHxKncAMopRaRg0x9nCItiKVUb4KVbFLFdrXoS7qyFTMWpe6a5qmbc4s2Zz1bZgknYHBLH/xJ7/zG7/yCz/zEz/yA9/zLd/wFV/wKq9wmed4lqd40jvymt6Bt+9ty1huybqsyXW5LJdk5HbcO/favewt8/cSOfpBi77U+n4X6N/rG5Q9gGkAAAAAAAH//wACeNqsvQd8FGX6OD7vzM7Mbtpmsy1tN9lsS9nUbSFlEyD00EKLBaQsPWAUaRJQMSIqJTZsiA0Re1TkLBxnO107clFPDz3Uk+PUO/WOrwdJ9vX3PO/sJhvE+973//lnM/O+887MO++85enPM5zIwR85xR/iBE7iNFwKp+W4Sp1NJ+hterOO2JKJTk9O9T5CH4s8QneQ6Y9EHuEPRZvIDdzPtOdnQqMfcj8TD+W5nznCJfxVchzPhbmo/ILUC3X6OU5DgiFiMluJ2SoEghoiS4Y8YjLIabwswc7Kh0gwEAzxwUAVlFcFxf3R+l1Z626pKX1gWknd7JYVNdGHovVPWSzLLJacUYtNI+y+KRXy2CWXXOIr8KY2+3It0+DUNIuwiX91V26q3WXdUpaZa0slKdGH+FefYmenW3ICY9Mr7b5LLlkyVq6Y7Cto0q0cmcPq5AjxcBGpUVZzGdAntiqTUWeQSgjR2Qtcfp0vQE4JnS1r1rREaEoEUlm9piXa1LKGppBTa1r4Qy1r4LUF7t9QxyfSR9CXaawes6whbg3xe0UC3Yqb1HjHsuj66Ppl/I+kKxLdz7f2TRHyabtq0x3L+GtZOW2P3Bl9OPooP4NqySmaAvVGuF1ym1zDZXIurg7qNaVrSRpxkwYS8LldBVpCXAHI52vYsSQTyWA2BWRikrREyne70htIiJhZaZX0j02b7mj5chmRmpsbGhqebphIn7AMa7n9CrKw/1velJdX0JoX/RaTMrLHiifo7iuUW+j8xsaGp6VDWHJ7yzArESc2QwWNjc30iWVfttyxqW8WVHB+Xj5vjX7D0jfIPezEpk1k0Sa4xULnNTzd2MBxKpgfYXinNk7P5XBFOEeIzucqIW6bbC+QoPdNXltVgKsyGaQCl0+06Vga8FaZdTbo0IFD0VBb9NA1tP2ah4pqa4uEk0W10cYjN9105CbhIDkFyU1LzDm0B/pUyQud/KGi2kiktijaBDfwz2DxEVXfiSV4j0jOUHkpvZ8dcPzAnBBgRDkcPtFmtOm8fKtwsu+AkN+fGSGnREPvd+GIaMDx/4Y7If1FOsmp4Z0cOOvdJICzXgwSOY3YbbJU4Hb5GuBNAxrljEzEPHroRdKUfaHLndH/+gXCNWurvp1HOzo8HR6Pp6NekEhTFp7LpoekXOVSvdt1wdvt/RumV42Ai0o2ejpI59xTdC+cyoBT2fRFWH8R7nUpKvVzRs4GbZdUboI9FiSujGDAYdbwJgkXGps/sBqlzgX0H5dHvxp/9Jbx/Dafb8EcolpD/0yyibWoune3dbrFarVMt1qEnxf4fNHLxt9ydBxvvZxkLJhT7aF/pidI3uqfo3kWS+xCTiAe4pHV0l5Y/yXcGGV07bbBkSVeHNoSYsSBrCd2HM1a7BhYevEjPx5Z4leyIffL6tqi3u9wrEVDUW1/ZhizYUuxZSBDTp2jrEvVjfm+KTjoltqW2l1Gi8W4CzK8C3P0/sSy6KeYY+CR6+Lul0fLrTCiHIFhdEm49MwydKcKupK4g6YAri6V4SDf8ZtJr4ya0KT3/eZHejJAPwy85SfmH6GwacIovXT/weg1B336URNGvTz54I/0b4G3AqQULvgnK2x6BeabAebbIZhvmVwFPLugTFVOXCHBWwXzJE0UnJBaSJrKXlDGl0PnhIhXZbpwasCTpRMESSppWBRavLUsjah0mSX+TST9sj9s1Pof3PvlwkVfPHGj233ZB5ervK76cePq9frg8gUTStc8MlvOGjN8yjD614Nbjq44I2rd1kyzrSAl+Uz7e5sVGB6W1dAeN1cOb2+XZHhvSTba/C637A663HadNxB0B82BoN9mNJmDZtlk9nJVAZ+rQDLI6k+zg3cevbN1Me1Z3Hpnz53BzE8/MQ+DkhltxMNKhpk/6a863d19ulvIXz4TzsAln2YG4UzrYlK0cDaUBHJiJbMX0uHdeC1rV0QukKcCjIVR4UwZgEVUbkEUbG5lemdUBfysDVLDS6NGzW2nb259kX64i/aEhZwxlavmEr585aRJKyfJZS9RSn+e2+5vpM/m0W0RgdxAGlbNHRU9Pqk6CFfgs0ih3AbzWIcrmlSpzHIZzE9J9mqIN5Dh0Bc43EErzNFA0K4h9jRBOHkn0c1/NPTCsrt/LDhJ76f3H8l8hZQ+fhf9YaCUzCFzjmRsOPi9tHdT+6stc1+7lbaTrv0kY09vZ6yAdNH2TZ/dO5tDWBmB91XWUhas5qJfriYuX2WWVPkOd0DF3ttURQBS+eHH1stWtl7WwXoJkhbi27CBvkOfoO9s2MA/uGbvmjV7Yf56ercSj5CPoA0v7s+EvTBuz44de2A7jhetie4Ph8PQnlQuAmu7DeaFFqC3GcYgD2ZICcyRIFfLNcBqn3CO9W7T2fTQJG9si0P2ILTTCeeGHMN5VcKx3Abv4GDvcKyottfBQC7xKP99K4otsMIj2GF8KyLM/mhCyaGhV5AuBBsxEKL6BAo8EfZHUyzsqnAYcLonnocTsSy8N+KDsLSX0QjWoVSCLUYluIOwMGCVwFIAiuFkjGKgPZAR9vb2huP/SD/0H4/TD0J+y5r+JxJOIy7hYMyPwLNk6OU8xCV6ux5oCQcb3YBPcJrMLnuBSnY57AVyICicjJrKIhW3CCeFk/3DW2oBioX50vZMX9Eh+vLs2fTlQ4X+zHbhJCnuO6haXYt9EWavFv39n299Vn5+9+7n5WdvVXCePFJeA9SgDikYINIQ8dmAfkN0Jkt3bLdYaEvfAVXJAeu06F/5rB3Rk2Pk1u1AY9Gp/cPEYwcspP8mPnNH9K89HNCV8AfvcQRmip1rhZW7jGuHonS+jDjyVWmET8+wEpi5IQJz2JSRzuM0dkFpgNGMLlmyF7gDDi8sPJdkNAAFaTKbAGkAzRMiCHjZFS4AlJIpj+g1JKRyw3leQ1y830f0eLt8ZOHzP9H36Qv0/Z+eXwh5UklGk8qfnu97nawkE3/cseNH+gy9iT6DOVJP319qSNMbr5pu068k89+7k5jbfLPNpmxRqGrIz6c/Gl1qtUFrMGyebl9qdxggO72dPEdEQW3SyElzPuw9Rja99T9C8derNy5eLIxSHrXwrCaIs4Y8dCJrSF+R4Ffz3nKSRPa9snKBPGG8ZXhhkVqctaXueEsL/w+iVgl80EeSJV4g/iBR0yPRXP55Oaul5cphj/zhT3SbcFPfyQXk2m+foW9HdxZbOTE2Z9tgRslcMluxHK5FAhB7yOYR1/VuVTX3Hwe6hm18a3S/3Hb6tLgO1kTP4AYwcQbpkkU5DWiLEqjN5y4DvJgRdKepzAgJgwHnL4uEmWOrHh+X9d59D8x/ds+KqvTsrx65bd584clzlfIfbb6wwZW+kwyf+pfyLQfePXPlH/pbW3edqxCnlzhAS6qA8krh0vEd9UBv2wgAErbBC2qIDZBZdH/fFOJRdfdNUXVH90f3C/kIMeS2vinR/eIxeMF2BACYklNYN59Ap7oQBxZIlkGuwMtAwAAc0JFYuaq5Zep1tAc5hRa+tWUNbggJesKQiut2jH+O9hDPmhZyCstpO2wpAAwGymDJMByHz9UAvNVBT2dxFi4f3wuf5oSHiIJXb7MLXhLfYJlqeCBYi2pPn64lz0fCAKbDkTDQQ/EdAvlTyrjWFp15iZdCRbVhfOzgBnTtyf5MoZO203ZG/yjvH0YYRJwBIMfgVfNd6YwSF3Vp+MrKgS/Av6iaVFj7Lv383XdvHDexvyMj0nkjy1ZLuyNSQ0mk7x9wTAretfOrIv2dVz7G8kJtoT+BH9AyjmB4/E0Nkj0OXOH9uDh284Vk78C5KqsqD9Z9lZU3fyGl+caN8535J+zFf/du5Q8pCO5+IiYZLWU1LRUKbiuaWOOzZ0mSKr26cUn74pHeZLktdpsPqzjzEi4HoZchPtqjzm6Z0jZ7zshihheL+EOeMTNmjDGZUooWTx4OJcb4XIkwvKhn1OJZ7fcCnuPyA+mufCldPEZcnlDIc+Yd3BMXUMtd9CbS/M039MA3UmPI07egtKmpVHW3JxTp/e4b5QQ+Q4Jn7Brgm+yw/ryAczmAnVbekMYD7CzjfSE+I0aDqc5K41hWiqVCDrmT1Lx5pc935Zv0dbqIvq7k5Y7W1o5WPjsxiUos+R3DLXLbyFUPv/DlCw+vGhnPRO2t7IKE/+hmlrTX4j3AY3eRUwx/JivcVPwn7UUcibgQoJAhnmO8r8KDKfeY8S67H1kwYML8QaPdaPfb/V6gJ6S9sLj6O1TNgLIBaYdFA+D1cK9D6Iyw40gE+XPkSaS9QEcpsBBGyG/DdgiYKvCvG3g6zIjHIv2ZuFKAc2Qw5qx7Y3BUuR9THeYH6hE6sTGDa2pIlYzxx///VK8uVncRieVZvVibuK6/A2kUzLFaWWVYcazOX3vPrIT2wRr/xWsSJP/EdeI6mMmchscjAIrr6Aq6iiP8ITh3TNWtnBOPYSmCUL41ds4Qv080YCmQYjeT7ezcIfEYsMfsHJBjUIrXR/f/x3OyQvPKNdAfeYy29DLqkuEu6A+FM1RSo82IJFE9wSkuJuSx/5w6O+yVDVad58xLxAOTknTBrr9DIe74Q0pKuqCHuyJ8K/5LjdA968Kh1tZQmO17kSccuutdhQMdRqFYfEOYCW+/QHKKjyD1Q8zEToJm8Z4t0b9uoUe3fCs+MidqJjduRB79j9wfpdPSaQVjAW8xSP/4fRkOwCfCyXtJwdGOjqP0c/oS/fxoRw9ZSu6KviCdHizqOEoK7v2QLD3a1yao6RUc4/0jjG/TMv7obLqKBzJS1hCzhjDipPCjK674iP4RSJM/Yk74HU5aWE6Av3CSRRROPvESUshu6/fiqcjQy4fgTA2+l4aIRIBnESfRi0TvFPXEKZykPbAQ7r4EJ0o72Q0TsOcb8gF9ZRb1UM8s+gr5QG6L7p9Aq6JLsVb+NvLeBLKOltTQ3dHoN98A+ROu4RLwEz6LPQkoQFY/8fCtNNyOOP4SuoBv/WV12E4sZ/NPxJlFiggBCigToQ+0MAVmMowp60/kg9u4NIUHNKUzqhInYojoY7ym0WBGwYAJOUFiEl/bcvjwFptzGeDTFzQHrpl99dUvXJ1DD9uvyRDk/KespKlCbvsdPXVYvazvK/HYjXdF/9R54ezOztmBSrjotQzVBrgEAR7ZT/ZLhVIRW8eKODGoQVme/k/0EXrLe6SNPvIpmUXa3qW38GveIyvow+zwPXoLmfkpfZj7X+cDlx8i6WUkP42km841IchIkn5iy5YT9AfYn3Mi9C3fcmLgGoQ/XTG5mRnWbim02zsUEzI5T77JKOhYx+mIO0RifWgyy7DoBjjQojDivgjgYOJxuMthzZa7HarmmPSuCGV5xLPvm2/24SRktFRPtOnjjHEeXLCecRkfD6UPkYZyck3cxKFtqieJ9BxCmAE6IyR5YZiBssjDLFIYgILYbUap8bWS+vqS3lMl9SwjppTU936nau47QE4xtEfyebUlPzBsYlF/R3WLy0QIEVIzbO7agvIJRbki/1K4vqT/SqlRqaO+5DWljvqSvumqZhphOJT2JDmWXLRq2jCkx+Gl8vJU2iJXmc2MREe0AmbrlSX1wJxqEugnM6MM3AxmIj/OBYH/9ifw4xkx7I98Nv9f5BlNiQQj7CMM/Yvr+g78+B9z4dqiwbukRkYB1AKb3f6fcoljNfgenPNsaUe8bTA0fEJeoWrxofjoM33naFbiq0ii8lxEV/3HB/Mcp/Df2I4jwOsbucyh9AqyTzAPYKKY8aFAKvf0H0fZAgCdQ0Bzo7wZGAnSJeRjFlNG4LWzc9EmoGzwLMcpcnCFP06CJ2VyuchjwET0F3BGuyb+UJElKCbhD7268/aT9IeniSRNpylIaQj5AEkBENMUoNtPiseuu+Mo/dtn9HH+q96tNEU4CTRQtAlYD8Cqv/I8DTySsxurTCT2dnqWCEia1b5KGon0NP3h5O07e4uwNqyVIYUwPo0+TqZ9RsxH7yByfweCTiShsB/6O+J9qWJ9eQTGNJnpRYBYJkYFjePeadOgsEq0EfkI7YHae5BG6TvBH6L384cQCdP7oc/mqJojyJhGkDeNkK7omnAvY1Fi74RjhfSTUn8M5wOdCK9h1wkaAQYK7mM1VOGdMConabu0N/5AxAv4MCACs1FqhzI6hs4Bx0S4o3IStN/MdC+yEyC+24U/uw7GqApFEtKLkyfTb4JB3/x5Gzu346u/88LBrdcLn79Al7ywunP7js0b58/zB+FZr5BX6EeTJ16/Van7dahbHas7EISfF+sskCX8AVIRXenECFcffOEdpIy2d3bMn+8LBuk3k4XP4QETJ5NiGqIh4gn6583fuHnH9s7VL5DbGT8C3Q/ELMDhdDaDDZKsQ8GJrgwl6/kmFRMkuQrEdQ9fHa6quvphhLXR/WwhiOuu/6ggeqcnnJsrlBV8dD3A2Cy2QNjaUNaoekAaacNFqEB3JrpHOArUGbHFV6cjlvKtQmccuEcwQzxFtUDyt/d3tDN4JxxTWI5D2AqYbizB+duewFbE+KDIWTJI+7l5RiZ1RCo9lg4FAb1bUYwo5KNYAJKh4lKFkBfywwqT3K6kMboDqSLxGOP0rKjGYM/0BYK4A344xDCMQXz3moPv3tifeeO73Zulm5ZUllX97tJ93whfp71+LfLG17ymy85dcpN+wbpv9lUofUuuBZrkDwDRzShdAZ7fLMHOHRB9OOXS4FFIY3D5jmAZQVEXcON+XzCNyCb+Fb6Z/OXyy2lu9ADNvfxy4X98hbr8yqZmf2ACtZGT5K6lo37YveLv9Om/r9j9w6il4h/o0dOn6VFSdvq02tOUwvOqcV5/c3P0tn8e2vBo0ep7Hvr73x+6Z3XRoxsOKXh0kI7QM86z8ZdyXjcsOpENv13nNeI2OBoc431N+YLZquh9sLuG9ngYl2BfUJWd5wnDnyev70SexyO0Il8M03PfxGATEANNQVyxTI4buxOu3AgUKO3ZCJfn4e1RPsZO84dWZYbrkTioD2eydUEMhEiHpMOch6vGFZ0hK2LF+E+GzpSUBR77SQ63Kz0YcKiEQLrblS9L6WZTvurwDa6lQpa6oDykqrdV2h1mk0oYUVFZ5fN5K20evjQ/M9NwJ7198733LiM5JMe+aNFi+vmixYsXkQKp7Aa6/h7BJOXkl6hKbZVINZZWjBAEk9Flr7TVCQ1l+VbDNN9V95E37102YUI0ezGxLYY/+ufFixHm/YJvHMBQQjztRO6NcYWYqJoRfOCmiPYYmwXrCHgdmMfrEvhPs1KXE2AnIgKg1uwDUsJTwsne7yIAg1Fk3qPUAosaQHI4XqnC4uJSAYQuDehQtQCX8xg+L1EghsK+eYGErjKJtjLoE2KLL91Erk3VjUCi9zsEFrqdB3bSq4gnfcb8GXQuEoL9HUgCAjbFf6AzisJAPc689NKZJcOG0YdjRORQBk09MI/xndNjsjUbUIacM8bNw/srCmazHxaxM8aPxzdZjeIhFCH2dxAPKqWOo4wPcUp8w5Pw3nCdAcmBng5UckUia1pQtAgUDwoauThtzsZRUvAWMoFGfPwgge4QTu4kwosXw7gduvhFGqVf0uiLF1/8IhGEk0rJTujzpp3xUgBHcDXH7AYG3zNZebt4v8pq1g78x2Yi2YqjyGgf4N094jGpEXBpLvYKNKcqqOA8P1LqbpdN0AGIQ+Bjl71VRoMslQDXS15/f+06r2/VjEWrV9Ho+q0rfN45S3bd+0dv1fL9wE5/F17w9KYJzTka7a7LHps0ORoltnzb+Cmj/3TfBSUI6Qh5B+a0Cp6LvI6deGVb0EvsQZv4+of0ZE8oOjv0Ecn8MMQ/gCIQmISdOL+62DpoZG+oZxyHHXWnLpQMGFB7xP9aPszQSRhB/KFzZkWDIr4C0unsDJPFwbOz2dihjNYHsGQxt5zJqGQzIHIZKBujTfDb/UGG1/0oFLcriN2MeJ51IB5qiZFdCh0L55VzRqYcj18D7KbLbTR5B4YBrjHjO7SOuqqwLCWDJ7nY4A2PeavTjJqk9LQ6u8WkyzLmlGYajZnmlFRJTkkuX0B24lVXOZ0Nk4KFOXqDscZTkZfnzTQbjMU51qycqqYpxSXZWZWFWearlA4gXYu9zqSMYvqvSDj6+GhVhU+fbTbn2mCThJQUc0CfnJSckqnVputSK8M1r4bpJ2VZ2YV1GaJclpc5IiXFkq/VquXU8SabrbYwM1PiNbm5TWGAwQ7SJX0K42ZgFMSgwoDnf6lEGCgTnq0vuSVkfPL6G5a9eMtYnenVG6+cPk1wDhbeDIWvYCG/75KJflva5SRj1Kve3W/T6NYDH08Yf9UlEwP5ZxdyvwJPz9KQ4GqPy/ZisjNcPQPbf1MHTNzjqmZFz4Lp/5c6pL1AknQinoylZ9dxbpkiQjY/UwqzjRkj7VUkiijth60H9QM45Mi9KFpRhOSMyI7L49I5K+fiarhRwEO3cnNQGgIYM+hS5jUjTYJ+SZmwQJUEiFewC96gV68bMncxY5f9A9NbtMMKgYrEeEkJYWIqqcJhz3bZJ10wc8TwgoJtna1j84tdjvNKyysq+59YcnzZ8cU1Xx/9ZGF1tTV3eFVubnVg45QZTZY8S249nfZEwKzRqjVky4LGgvz8vNASmoZWXGFk1aRDyWrdVLfTOabpolv3ZE9P0qiHBdqX1tVFmXpkH3k6ur/M01Jnt6eoNHand5LDcXqfPqOkzGBYtHt4qS87a5vZXObNzIy+ACxWfhg5MKSPYjYvIut1I6MNZb1T1hURnVvUMwsis1MwF5GgIAZ1fOvGL+h1GwHBdW2k133R/wbf2ndgI1n7xUbarure+AVZu1Hai2c24ijgcf8Zprhlt8Uu5ACDxWnhRByeM4Bt47LThtgsYLQwytGHbuc+Z/MLbL4ox6gPlPaiDDVCTiX8d51VDIxvShinOB6g1g2wY4rCAUcG/oBhhQmMWA0wc+tAaY+SIp12CvkXoLFNXDZiBKQOGI+hM1iFqpDg17ElFdm2dNmtkazhC+6J3LdgRDaszmPR3++8a/c2vj76bP3aDbNrhl1w+dr6KAoYVANjNLC+9PCSiT+GD4dseyPxJmGbyCnxbwzfJKEUCfGU3ua26cWSw3QBLMBDy8n9JfTlW4ETRlGQ505yYtCGA8ZIBFxhR/seDdNMxjU1ivWbGYqCCfZvRLAno24vh8C/6iMiAW+tfpUxYkJnbdGdgb4pwbvitDP2XDh85KUIKkHCgOB7wmFc3oyh6zOiBVTD3/8RillBCeOYICIF2OwUTBV9Z2I7tYD7SxPaGRPROX8hzUOLIIHpZby6oY3kr7lrkEq/Kwg0Uf9xmAKDbaspxjPFxdio4pqaYqWRf49ejdMDmhSzwZO6YQ64mT2ChRhkIhWU86564gsSRKNo9lhOEAYRZldaJd66sr4+urTuibqLIcPfVjdrZj3l+c0Wy0eWkmJLdBNmZkjixXWzembVRZfW169k2Xp+V319XwQunG79yALXWafDhdgvOkZnNDI91K+vr5Ex2xcGYnUM1MZXE0qL5VhePCv9T+ekRiSzETYjVdafGRZOhsNoiQMpEN0D+3OVyepwuNcRDqMGP8wMW06xTGRgd64ytIVl+GMlw8wKQE5jg2xD0A0MkA04IJ0B4DW+KHChDNQLJw8vDI+yrZgCa33nTSPGP7gPCNUvHnxwXOgWehPfOn2ldWR4gXigre3dl64NLfBGIguvueMgSb7rrrt309PP3r55WSQSDIeu+e17y9uQRg8n4DCUGiEMsHIFCj4UYZPtfjStdSagRnsshTndjugxHEFaPCKc7O9AIMOUNYDq8mmP1Bhm1j0RFPXEwY6ygBjfomZaj7Zfez7auxEvPt+e+HzvgDEF4BkEd8zmKIL6dGQ+ENxBMS4BRNph9qxfacAQPZ4W5lg9s5px2AtUEjAFJpW3ykHs2O/BOD4tkN0JRCVgYyEmimAlBdLeQ/Tw4QEuYedhMoKO3p1pGlFvMOTmelvbG6++ad3YMZac6cF07c05Pm95bk5OzlyhmHSQkS8OMh4vkhUl1cXuqpLcbIfTqB925fiamnkjSkvrC80mO307u7yqKju7ojwrJyYz4A9IfxTNXBM3iTuPmw00MswpaLNRIWrtMXTvt5vtbrtsD9r9QC6YvTHaQEu8ilCsyiy73AqZAZMOmHQie9049dyS0+iNdwFUYxTddqNCbEhlhQW2wtGtV4+u1czJCA5b8PH22Ytr/1KzZPbsq2cvu/Dpp1aFgjnqq9RmR6hx1uxmpDQc0yrsGuKkn2jspX0nMhYb+WRVCp9Gnl7rzsq1WkfSix7nfyu8tKQuP0+QZTl1evbkke355VPKSnt7H3qoN3zmTG+RY6LPrglVjLE7XVNTU5JrPSPDE4urybhAvViQUpRUW/uAoNWXF+sz6GlCCL/fnFlVhn2l8KWKniIXoEsBF+CGcXUMb6PFtyS7G3jF4FtwK/bevBdVa04SNMsxO2+zVjHzDooaQE16DRGZwXdpw4cPx+29m/cOzytDe+/eVpQdR5g+mln8HG8cf71i7n3Dt6NuR2PvBuEMiguQsEQhuZAv/YNZf5flDd8bN/5ufvijBs8dmxBOKbZDjH6MvjHq2xsUw+/rxzfewS6drNQBC6ALHhp7Z9LF8HEq0EuonSmDtw5xoxGKBnQ+3uXIhwlvTI/L/FVnSRQ1MbvggYJ4OqDCWac63j2otOL/zRATfVRBohcoRxPIVLTzGMOOVN8qhYpagnT9iWQ9EFeKPUD/KnzIyrcrCgP2T9PJG9H9KGKa8XFi8Ym4yDRux8DgiQ45cTvQWiHg1ANBXRop45Fs8kzr+eQ4XTntuz///E5EPNbrQMFKLrFY+Jz+43Z1QZ5agQldjN8d0O2jKF3ZFN1+fJMaI0wiFok9n2+V9jIdvYg4XQdTA8siSO8KX5Ob2cChqh+u7SKE4Tqk9VFfyKNizioCwA8EQ2IQZQC8Kt+UjoZAqhugY7+7b9slKreh0OJMv8ZiuSbdaSk0uFWXbLsv+iLJfest+pe3ZPV99LsHdpyZL9gynJZi4xPz5j1hLLY4M2zC/DM7HiCGi/Cqt0jugNxC+ohLAe4QLS31CfrBuPKKOHWiU9Q5Rb1oWF037qYjN42rCzLenYwgY2lmdDczI3n0cf4JvsW2evSSm25aMnq1jVzKOHi67pr+jrffRhnC9qhrkL9B/I6wHuVBJTATkZtnWgQmQYYW2HwuLCKQ2tHCwK5zDFBGxF9QJsK5rggQOpG+KWjKRbpW9/8YFvIhnYb2nmHh1n2rUZ/ZtfDhdStXrnt4YUzb3EN7UHGi6l7TMm01rBAkyTzTVq+JzsRsGO+GM9G+iM3f2Oi30ZS4DBzmVDLTlqF9mItZSNiNdiTG/MwmLC4LAQpNh/oKNP3DNzgFlHOkd2skIhr6pggfMUuncN+BMLamP5M/BFlpb9+BSERRvADuJF3MmCpaBe+DuAzokhSWVeTWuI4bmf1dPsyamFiY0bEw3Yh8lqBYyK8toilFtfVucqqIv5nxNbVF/ceZG0d+Ua34DIr+i2sQg0PHoFkGnoruhz2zMSCn5DbgDWLc7dDKgdUi2JPoo6P45yjiyUOKJR5bq6SZhqDfQyiDi+F6LfPaOasuJ7S9bU1L73d4p2hoWdN3AO2MFeve/kzYH0SQp+iJItJHMIeczEpAgUtBp2SPea44XcxeBbkYt2gyyGJAfIQJBjV0/HmdkOvYfAE5qEGBIuToeI2GHDxPyGfHBfYTCyCz4IS9gN0CmSYoUmSIb3Bvsrmbx/wGUM9jI8qzALma8dEkRgoEjSZBR0yK9D3oxpYQWe0t6s0h+4ywMsSu0hFAYi+qbQ1l5YpF2+lvsJQ8UFiRmUNfku69cIKu9wv+PqcbFew6Q0OVhr/KMz7UmqRJ1vWOUJ0ffUY5JY+1JFFB0c0pvCnCEoTtnDNxNSPVDngtMFgQB/RnA3xZTUoDMP8avHSBrzEUNn+Utnrfan8p/UgyMzDbd4PCcnQqymTVOzkXBHCIaudlRle6mqrvKHBOW716WuD8nOj34jEGoKNXsORHxT4N57AG5sEbTG+OA2pKIwlaAIWqitFWQIbobIHgwC+uO4ijHdGFDm8Dv2DCpf5AEO5FHUP8F3+CNNNuXrLebixw5DkLi4vPv7CkqNBpsxWYMnUkJZl6SZJGKK701jUMHzP6tttGjxneUOetpAeZD1O0GO69vEC511Ex66IKB96bl5WthXvJu/QnXo7d3DjxttsmNrKbxW2+9aPNvjxHgTErXS8b9JqM9CyTrcDmKOR5azHxpKtCld7Ckhxran5+qjWnpNBbGT3IHKwe8V0+OjN2Z3qSXp+UjnfmOYrseCft4dNit+ak5+en57Bb2VpT8H0K6hkAMKSp5AzAhwQYX1RbqGQbcIcpM6+588rrQiYynzShJV2k1yE8Sf/xED2q6gaAUMKnuRraxpNUUmEkVQCj7o0eUTVX3I5rcBnRyYukw+iECBQTzPQkIqns+U6TN58pzIA0LCP1MDaoBQ2aVObYyggEJTkgL5rQRmZ2n6KPvEqP0GhFIfdzZO2LDre1vPKKh6bMnNBadT257oukj2+/t23T8pK1y6WM9kna/JvpJ/SfRzoeFO/md1wsp2a/1akqEbz3zQlPf/jt5FL3bR9flt3QOTqZ6Q3J9TF9SB5KqRHIyIYMcxWDNAzu+HWxHODYA09sIN9+wScJvGZmR8fM6HErH2KZV2T1hln9l0nCB/RniXQ8scFNyjc80fHeLMV2QcGf3wPfkoMYwWnzJRHOQ+y6qhSSTUSbj+cccKAymzLEAexlEnuIb9X78C730XmfHCXXk9D3V0ePE99++jVd/9Eukr582SXRv7Vu3Ni9sSPyEbmdnEfs71xCj171LX2Dbnj/D+QqYn6QHm1fsoT+86bLZ83csGHmrMtj+nMFtzoSrWJ1XqD1mZuXi1lVA9U+4EdhE3c6vV4nXXIk7/uq0VeOWLfj4Q8+iPJOH4ABr7O33eHj2368s7b2j5qHbn/6x+gtPofY5fQqtndcRLwNnmXA99Z59Tb2DF3sGTqvMIk4/8dJT9S23HZRx0Nv/PRThP+U5B4cNYr7Ofn3zxylf8H+A9yiyIg0zAtCkZfCiucG9Ni0RzzW3xGhKYKaOTAhQ9efiaiyQ4HYpzmJaGCsX5eeBYyYC7x0NTeWa8VZaRW8VSGeaQMkUbKSqhBxo/4L8974gaAPsAvMeuZdRCCDiMQtuHC2Ss4qkyyg9bVbHwDQERDssuioGF9U1VphTk2/ZGRTO21JLTjv0vMKUtPmXjpXWAIH1cOUo4vGbXSGDl77/ivDNuk2Nk/YGH1y+fB2/8jhS7XLK/Z2F7mShcruByuXa5cOH+m/eOSKVK1Lyii8YPaE8rHL1lWMveCC+4NbFy3aGqyfNKl+INfXTJ7Y9PT8T5+jLf6mJqHi5h56Td6wMrJi93NSsu653fTmsmF5ZP3HN2VoJTYnJnIH5bXScmZXbiboTaZBsQ5hPopOh9mqMUvfbKcP7pgemEe90X9aplnXWSyqcX+l3WT3T1lVbm+uTx9MrhHE1h300R0tVy2KrqDFFst6dAM+fqOw8aKkHHOJqVo/MnWCAHDndlIt3SI9xhVzNUxjnyYAWA6pgkiEm62ER3isKsNRCcl6Bq/jMN9sEmYZ+ExHbrLFZW4ef0HzlCz3BQtm59nSSy968pLVNPrTZ91eizHdM2bW4pWXXfyEde4FLXMFkpI9/8Lpc2Re2iNbiyqC/mqzLrNq4piRaab09Ekjxx6j0f6TY8Y3Zs5+bNWIXTfuuvaKcEtxanRxU0rK2JkLC/KG51umzZmYrugIyU5GW6EkYsA6WG9DQxEb6VKYKmDk0JgSDR6BsOub/CbKi2gKUpGK/J6UsDpSAe7auHLgLEcyO7ghXBZRaAaY4uJAjgQcDSSN8Irz6mC58xy5s5mtQworRFOUlLzmJKO7uqyzf+ts6G4IUZNSzLcOTUnJZyTzflLEWK6P76cnhXYmJayp2RNL6UfOJ0eNanyZ3uVsaAg9NT9WXHxWqsgzFdvNDOaTi7pnLzMfR/fJKqSNrMSIkhsfyl2RMCkhQAARABZQJu0Nn3kpvOXE1qUXXbR064ktfVMii/iObuFkdwe/iPaEgdDvOwCLHk4VF8Nlkcjerd30UKSje+veCNl3fmck0smJJMBNke6Udcz+0gltqGS+4XnAtjfAzC8nslsmBQoewn50F8QJRVF264NeYg4Kbjs5HAi8ueHEiQ1vBgKRjhNfbyQLHvrm230PfvPNQx1PPnn6qW4iXHkkuq237+2NH/Zt6xXfOfF1B1z6ZsfXJzreDAYi0aRvHoKLH9z3bfjJjYyGXHm8PPr8Md74hTf622MczK1EfXESHOsAisYlnS6AYB70A9Wj+RtqMoIscbqBPja7ZWY0VgQlonJOCLpFs05LbBFF9AYMhXUX7UGHG8iQU7t29e4inki0SWpksrFMmqLahC6au3aROeycrI5r7Xt3KTJqSHuIZ9euql3IoOAZJsDctYu274I/4undpcjNYj5PcftT41meGDj4+VYiGm0M9xF/AkVqFI8NEPYtil1rtIlxPiQzMAKSEQFYX4msBY4+G3so6Hv8k8wFdUhn1i3I/ITx0oADhjM/Ply7jI/06qCPgBHTieuHLlToCkUQ0xrBdYzrmUusQ1LqUO6NqfJRmolKCRS/RFRPvYk3KWAgEgcMCg5meo9G5snODETM0BB0Xz/zEn8IhiEsGvozRUMEublBGy+0w6zlJjHZowIkUPaY7wgQhzvAOdN4k1kqUyGMhJ9VJfNioEx0hwRiVaUJWlKmAhDatjPu6bZzZ9zTrX8k3fLIeHID4WxlGcU+e1Ol31VhaC2rejo0dt61k4pTiETb+ZzK+hG1lclJOtcIYXNeuTVdVolatVo2hmqrS5PcQiWra+eQ+nvdh38g1cnBHbvv8IomV7FV1I2a2lptSNWV+8aNqqIfPTZzy/SGIluhudg7to68VbFg5oWjp3pH5GRmes+rq24suG6oL48tTrUM+qDHzJaVvL2gjMB00vB8If9XZm0yIAEq2XBk/fojwtvMxUwNBYrjeoIrehE/ff2Rn46s75uCEjH23JXc27IoiwAnqhieykD61YGiziBDVCGhDPC+bCaCOUQcKsbY+e05hDiDLnHGje9daLrlND1OD994/etVewvuWXXxT8d+e2nG2Ls/h3TYIapzPz3+DLGR4fSYRUXmzSPlNMSnSt3jT9M/09/Rz9+dbRo/5i/bF697rW6YbsweuOvwpZBePI++w4++AKo39++3FKtSBPIFzaMv9/AywFgNzK2XgV5CX406bjz2FxIuGYBcvTYU28KhLNpCqlpgi80EFmJVIKgPMCKXndTyeAWgGKJchHbWXfSwtUS1+3mHepiNV42W9bX02dxSmbwOE0PSG3JSPzRWaaP3VU6UnIVB9X6xMIf+1p1Dt5o9SUlj6JisQtU9qTrVh3Q8r8nOcmi/NhQYtYJ4rNzZn8Uff8pRcMQ8qsC6VZVWkG2qyurbPMHjFprtrpu1Los2bUeOOTq/4UJhOTtttFiSuUR/eBVwL7iKNCTu7K5qRhAWbVK9wuQoCLoQRMUkJigHj/vBZgAVOIO7EG1WYU1xsKY43mhAJ1hvlYNzntPpVfWfXF7FkOBjLq9yBnFxOl8QhoPdnyEfuYeeojvoMrqdntrD/F4feJtcSlL6PqGPrs5MN2XeeKHTuJ7c8NfHSPDymuUadWaSXRUcbbfTDzKL4Aiu6JrjvsztzjSlZ164SUhLSTbJmqX/eOvffa98Sb8fS6aQfxD+muvXt+U+LFjILqz7HvbMtx9gjq57SIpTuFktVPtJMnnhj5e3a2a0ZLizy9NrpLm7RvReeKEwiqhVKj5US1IkQSB1IaKmj5blWy+YvLHp5ZP/Qy+6jL812ryCHCTSaw/0Lyb3RkeX2qaRvys2mHEf6Rnn8jFAfcx/VYZGaP4hHp3M9gZzspr5IlBGf6Bj6K8eoeMmOyZd7Bhlf0D+FNOPimtri0lxMQYd+fUjwCJKTikF/KLMmTCTS5m5bKBbJ3OzFA9UWbAJXpQhJHot2PXi2cavfngtpG0AbgCngNFGYNkBN+EK8Q1Ab7hDJCi73F6YWC5V821ls7LPp198//B4koPeqApuow1vhcmrmIthPMFNX72MvnqlZoS/8dp8UUwmoedaph1qICpJEnjbtuHe4Zr/ac76IHu8ShAN7jySFm2KoIerUgcw786XE5EnTWn75JO2Eduqsx3Z2WNNw6uqhqe5XbbkZGd29bbhL4/e0DFK4BEf3ch1yQ1yY9yeRUNMkkxEPRcMmNCXiXcTMUImFRFnvyvaslN4uMK+mX4SnXId/wjV8t2d0cmygT7lWefqd+zku4XHKp0quik68Tr++f7t/DNwGp/xFLdSzhMjgGUtqPvkmPwMOUctUTQMiYdcPqd3M9NcOYNfum917tiwZ6bRmMu/O5in1/Bl5PXzO5vp1dRDr27uPF+MrJ7mqzAkiWKFD8mEgXxfDmki6rLP6Q8k/fMyehrpGLQ1OCYeG5D1J1oSHUNrf2UDrD1o/aPw2wrNq1eo3fg0gZyEMk2pMdL7HYobUajLMFIzWm90d6i6O7p7t6LKYtDnSQd9wbQMQ2vRx5GgCXhTFgQHK8QUKvwx5k/niSTUiRb86DjXdwD2CToRWL8Wzou4TuU1JJE0HsgGmfcDhxzUAzbwAw2hs1mFPCKcTCm9+c4T7RM7br21w+3S5M29cNOKlZMq27964GpbATnFYLVh1G9uuzWXpuR2bL2yuFhWq3NG+UuO00vp30/cMFevV2lDEzpv+9O/yIin0IOm/5QqY9KiF9pV2tLShtxok1JVTPd6Stp77r5Hu6kBTctZfZ/wTud6o//4Dv9ba1n9Z8gZ8WPxY2yThh9wCBM/pnvI/O10D71nB5nHdmS+OB6O92yPH8/bQe8h8xReUJHVC0AdVwL0RL3svFhcgJiQsgFYQT9jgWMmi/DLS5RoVjE6381OWgbMp1HxipG8UG2rOEnYxZi+nuns1WhS0/e8Pi0tKVUlihKRk1MK7F5LTrZWl5TEE57nVYC+klNTtHp9hfATTYmeuL7e78+1GLItRe6CEUFf1bCKqkBuuoNPVefl+/w1wpa4AQt6b6q6aW1yanpGdnKqMZOXSGlpCWDvlAxDZmZOhlOTnGYVMvRADKo1LlQ5TGvNt/l8wY2iWkqSZVmSRE2SLCSp+I1Bn99me5/ZRERY2BOgnAf5I+w3f6zfFnJLmazp/9B3cRuG/0v/kSF92G/5b/uwTOke+sSQfqz2nt2P/OF4FAA0XgZOF7iRj/+7riQS66Tf/OfOXM4uQssfpUMH138RNx1mn9sVl5B7mUsNarwHfsxYIPYjzAgoLkCPn8GQSErXmWWdOahzB6EW/lMB6AqTyWqr8tUvbhplMqUKJElOTTVmWLKK3eVlRcVZWZmmlDRZI9xaZZHrrCuDM1a2L1x4yfltnvaShpyy4TPKn5780MhF85se/GDqXHGdPuivrqhyuI3m2rrpM2brk1w2RwEMdLZJrzdacl0OpzvXFr1vxlVnVBpeBxSVNiUlRa1XZyfpk89smbrKb8l+6Bra09ZGPNc85Ktn/XAQ+NUcgLU2hINcvirDaECgkUbgPWMeij6Xu0zl92XoYQYgeYIbQGQgW4TJpIoItxXX1hmNWXaFILFnqXNG+z272vnW/JKsYHmkzJdVki+33UbpHb7OVWGL1basSImOVbTMluxetexa3x2E7w3PmuWvKwv4y+sSeMa9nJp5bDGnYSKrkVkJK8x3u6qZmQYcAhZSiRfBbMfXMRtIBT6J65iNEV4vHkM2l13NDYGVUL/TrkNQJpMhNUZQ3M/M92P+cmRAj83qhzsSKlXC/4RjbthD2w/9hnDSTYZUKXQy64cmoFFi9Q9tP9yRUCniY3KKXf6L9gOeRY/qIBlS5dDO+mX74Y6EShO6KkGOz3wnzOf03I3pmvQoBjiH5y5fHnOsPKfXLn2dnVS8QWI+j9BfRwb9BQYsQtE+7cjpiviGfvTMf3tgD9cnxvlBz6DxwONcokSmINDoNAzyU4bhfkIkJkdIIfkOLiM9CY+HvJdYIKODkMykMqIS8AhyREYqwOsrA3bRnYa8jy0AxMGvRdjhb6Wb6L0/79rF/Uzmks1kLgf5n6NV5HxS+5ctW/5Cf0/30d9jjt89beyau4ILNj9K71j/6KP/fOxRUu4dMb/cwgtXmpyVfn+lM/mznp6mlWMAXgoIXqcn5dY0Tx5p/NXIQt5dP9N7f/H8qsSnklrWEmdp7ksbw7NM9yxZ/2j4sX8++uj6yx+lybX68xbMzrM2b5w+wpGlFkjLBx+oXLUTpk4dG9SlL9q7cEKBgcTs1mNz0Az9Xs4i7dmU6HkupvhgNCuLoCcOeOn5Avpf5EuYUpjBFJSEQrk4OtqEqtx7NK2hcKhVcw8c9KckCC+2J4QK+1HRzq+IXbsCDpj3hMWIVRgt6FIRkwX3JKTx08xKBmW178qL5ZnAXWdzZWj3xLkKYsEsgyRgTjzw6QmqYjAiFQtriOJSmfgwMl4amqvAmwdUja0dnuhbHk/ZhhI+4Pnes7Fk4Kikgdzvad1YQuc85elo9cBp2Pc9UlBZqdNpPRMmDssPjZVoK97e4fEQvH+VB45KNno8fDHcvzG6jc7Bm8j9T0FFHt7vwaf1lK4Kt2Zn5y34Y+D8lefButgDdHSV9CU3hTufm89dyl3FbefuQN2yAbUdhjRJLhP9yksw30GU8gBjptgMxCMgxlJloJQLcFwhR+Kh7kzxyGBEMloJvn4Q6AcYUNHHBDCypJgziHFFIxybvZiHayAvfdrafaa1QJ9d7qq312mSJ/omlBUUtJ7pbl3UtlWd0bnIf7NTh1wbhlKDDbM6xx2Vizoz1Fsrllj6b3GFcGTJJmV4D+r5XH1Yn8vrtdqwlmj02nTak67VW4zEY7TQ+3FvMdIe2K8PYxZ3wtv4QN+Iy6Y1l1aa7JK6wjH1/Jtbfdi0kQ3PfVXuv/rrltwaac3eNVV4T5Wyh0OpPqvl66v95V89lzs8g1xWV1jEIJ+i5qe6bH1Ojt5oSu41AzrWAXfytcKixMK7xWxAkN+p5UYyOS2KBYwBry4WfdKiyP7qiWSPh6yMpQVuY0wSqGga4yIhIT/y3GUXrMCQTy04972VsQZVejE4W3dHhC+PxdIBXLHq+ZkzaQ+a4BCaikvp0wzmIBtR9hmfKrKFcEc3YiLFYIH5IMVl3UmcESBAJTeLWS74BhxFnYNZZtkSM2xBu5bEI/Qujb1HAbTeHntbdqvZyleFUDDFsUQIwkmE1X6dFR1zhM5wYR12ODRPydB2VL/gRroGc4fvBSigLkgvUEN67+G79+bf0dnReUf+A3ui4qbrbnM2LRxbbHmR/pZ20t++6ByxcZb9DmnvhW2Fl3mcDXWF8Uz0CJmDVkP0fmY7NJivX/Gc/ycEJ6SEEPoh5n7yP7di5ZO+pEaXa3iS90k62R1K0leO8JfSnhXPLV/+3AriqRk3MSspxKmZr8Ex5ittg14czo3ixnETuanYlwyoqFhgGWfigWKzr3QhLjjnWcckaJSdsImxVFju8PoyMuTMujLXzKdn8q1DDqMvwzizwS5CTdhAHl3d0D0iul9JxZ3uZXNnZGUnFcw7r809f8KE+Wcd9/2M9lOJtlSxPH8VRkdiVt5KinzuK4A/0mQjZ+ByuUKUq6TxBWVAJ8GmNyGg0QPiRb7ELQkAU9xM5yybVOPJaxWHjh45eqiCvDLs810/vTHfu3rRb16igdljpr2xe+HW2Tf3Tpw/sffmWec13C4W9781d1tj47a5QtXsZSri2H54yiIr/bKMZjycftHBadHPwjO7Zy40rpoa97ePSPfAWDCpAHABGOvYTiQggZHFMksYSFqS9Tq0/w0RFh6VyDo9k2gF3AFJc97E/MbaN2fS00vpv2d8UN+YP+m8pgm8xnDPcmvNm4ue0RvGdp/qHmvQP7Po/QbHivsNGn6ceFHZ/lfOn7ZYTVPJv1KWzDr/lf2lBUKo9qqfQjPd9Go+kHuys/Mv27b9pbPzZG70d+RK27z6M5trG/iE+CqpGE+BY9FCgGQKCUCgynqn4I5F27ll/1dvP+MPnHnJMObdQ8JpegNZXfJlZv/NZW/YyGq6v5Bfy2+X1YtvvtnrQ62ioemxzt7HiINkOjeTJ3205qI8epJ+VUJup/O4s+LsaH8ZZ+c/xdj5T8F1ME6X0Ck1qpoZRYh2pV0sYF5zBHF0N/cps2Mt42q40dwFMe/3NB71IH6fA0CJF7GY5EKJKipZbbLdFPMhgFXjNgWY2TaOoZgQwYvhMXeZBLgKRd4m4e7W0XUrHl2y6egVRPVcmi+l3qzOlW57+eLfLCCvLeyaZii50m+b/FbrIq22qxX3N6qmsFBf/fc/tltUpZozXEZfSnX11a8/KjSFOheEVs0ONmyYfOXvSf3wkhIivLJt1j3zwrMsDVOvXVBc5cyd8YawZ9Wl9wv8nZeu2jdciRkWrbliuSkrPSdXb0lzqDP47XPD21m/TyFj5SulrZyO2VtWqTLMGA1WiQvrDjj0BWW8205MGWa7EhnWLKmE/sdJ6SuZR9Dc/2TBj3cveyH06Hyiu3Tz9wc3ZABIq/1bzUAx/UHauof+Yz+aPt762tyWV9s39b40+97PNpGukfSnkbEiWLtVxCvtke47l0xUiMlEVxBtAbH2/znacxl/2m1Z+n30g4v5YrqCL1se/UDaSH+wz8/r//wyvozvK7QK9I3o+xfz/qiPr2iLHlFsC4GLaWM+uUpMOwBuzErJpyHMUgXmtgu4cJOZXC2WHjrU+4dDQgt/vzHFYByTFX09+kbWGKMhxSg1PtN/8JlnhPHP9O/li3TDbFbZQDeRzUDD2IbpEp+jZbGGzzYWRSgAr8cgAcZeBn4feDMFHGhIQG5rDfVeiyBfXB9qvVorpibRZWRLtkHj0tAJH31IJ0DGkE220GVJqaK2MMi385cEeZfQiff0d8BeeFdrz0yi2+gyqzGZV5PVr75Kb1DzyUBM7SKXJWXatYXlVE1Ol7P1vkLWyHOgrTalrTIiSmhrEPoE1mAZD8gyj4gcJGaTrFnT0jcZhb2qp6at3hndG10sp2iSNbaUZH4N+So3xZFlEy4VFpw31UbttifO799z/hQb+cz2uNDUfwF5R9RatOnJ6Ot9uUObnGpGn/0BvtDEbOY9TG5wtoZWL8nOECGiy623krgVsOg0mYUyIgqBoAhA85xxvcbfOq+U3uA/rNLTG0rn3brhMFUxrVb/s2Q1OxYWwBVktf/wubhO1aT4XW/EroruZ1qwV2PV/itWy9k8bg7in19Gp3LAIbwXHBCMDkWSidcAEOKcoarwBQz33Ue/Yzbp95H2NA1PXqEfzJtHVOcOXSXfRwyJN5H2JJHvIQ2o3iTpfDGTBcdpA1xlpl9GdmRRRmwEzfUHce3X0f3MBWhofIu+KbHwmimKnYLCu/3neocEL1et7s9ktsxnRypRQDSrd6BPLYPaa6Ve1H4pcRdQFzb0KbGIGjQFaY5MID3QOrtWrO+bwpzh8XksbIsSYiGiBNtXHKsw9sGArQ3ghri31LliJGMIfTOL96MgFkYe0xRmkq3ag3gvjPJHDOcIWGjv2d9ZiBEuZECGrY5Z9KAtlNQY6TuA1yL+6u+gPahVj8Wki18vxiXnKgAg6PmM8pn9KPZhJuixmIftzOGFb0XLc+Yfg/EKB2JZlDEuG4WP6AQHtJ6OudxgkK1gAP2WBo7jXs/isaipY8nSuvr6uqWLN5ZY8qbkWXFnseJuYaHVas2T1XWhxYtPL15SVx99rBCD6RepuoE9seQVwtBbMRUN1txiyA6BAQXcRdwKbj235ZyrJ5ARhwtG1lhUrqcjukZiSUFPAWaErQ+gtVsaMQUDVmYNZ2S6LjkjyE4EHMQbsBJ2Ah3LOBb6FdXR3ioxIW8SRpOmuO0WPUQ/ZqutCn7GN9eufZN+S9+j37659vKiwBLy+HW9B5YvP9B73Xv7J93kN6y7YPNn2ZZLN5Yuci/hk1OrH81I1WUAAlZJyQDjh11VttAdFoTk1OLr5hANXSxl56QJqclkYS3vKls7PdikK9CuqGvhy03r8MCubatrCbJVP9iOIta23kvWvkmMg026488v1lcvFbOhKfQf0KRLVM31NdO7O654rDiP/DlNq9LqeGsuISqduSxQIpB/zYbydzNS01XJ2hUb6MdEbS4eWcETWrn5pvfpzUe2tkx4qHHmN0uUdDOLV3S237ESZyUWoNh2VooyfgQUUiNlIQxhNh/HoCLoiqz45g/ugfMLM9y595z+3wNxYeKp/qznxf28MfIh2i3gWpTVfQfC/cdlNSyidgwihpHUI+hWKe0dCHOSMhA1WGlLTzj2F4tj5GH4PC5LhCfoY3Gn0Ys8rEQdwVfDW9FYAm9UA007W35Xfp3L4oqYjmUYV8+4MfT9DRGcmezLMQRlP4rgxyyTIFMdlOHXZCSVYqIbEGX8XsPQTbVvW9XNy9c2m7VaaZvF0r/UOs3S/5PFItxumTarhnxfk6kRpGRVxcJxpeXLSXFNzfSamugHY/iNo/t/Gs13jOn/ieX/PSaeHyM/vE3Sas3Na5ffXLXNArUtgdqSLNOswm0WWkN1NROWl5eOW1ihSpYETSHWN71m+Ojo1WPI92OinaPJ9wN5tr96jGLvBd0DdH0K44AGNK3ItBs42egdFN6h9TQXNxzEC5S8qnv1vtVrWqZfBsP01ccRNIlkjjNFkY/ol8iNf/vgvm8wxahA01avnYrgd+3Uz+jTjg8U8dwHDjLpM7wDoysylxto13RilTqkd2BE3Uw7rjhi+RwNRMXsUyr0GbKEDHKFzLuZlYFDeESJY8iT8Q8+yN9yvP3i2gs8usmzWnJy5j5VqlO7SnQ62ii909px3nkdtMPiElXJwy2jjQb6XjSqkxfddXd19cv0kfS0B6PfzZgxgYvZsiqyGpSL4xypZ/EouLP58Xj0MYWaNMZVKYl0JayH+BcTHHHPDVN+MI3ku1Tdgzz4jzGXewwwOX8U/WnUfBbTvwXRV7h3K9/KxEhknBJR/83byDe3pX9J3/kSJeUMqfbAnsxQPPHdGO/fNmr+/FE25SsAa/hHEAP9OOg5WGucPLkZAz2pYC2nyb+TD3KZTDtUx3F6lHyHCBeCLua0pEwtnuMzM2d/ZUZveuvidkuYpJ74dkO6lWae+FqlrSodFWgqLhW/p79/ltRmned0ZfR/1iq0XVb5lzn02vUl62aWrK/lf4idyqa/F6/MOH3ZKqhF+8/+ezU6euNLvxPUlkxnljVFvZz+/iBcmeFynvf7Ff23Tq1sXF8yc51nHVk35+/0cVKbDWdas+hrMH4psXiAaAuVz42PSUY3cTdxt3P3cPu5p2AkBb/CVBgFaHqIAAlLAsg2qmQJY3U5BJMZP3QkAXUN805vBq4SDaLSUMuaR2SlwI0CATEQ1JcRokfFIvIPgt5gRo0h2tLVIkxkAlS7ziuLyHfm45HTLCn1CGiNZWfWVLIP63EqTslBA+LLIGDTHGIwmeEC+cjCSbssuWMmL+y1Lpi0q3rMpEXCKwX2Gxbtph9WY3oX8USuaVRllmqStBqtpnq8ujBNnTbM3ioniSoJiNs7oEBOq7YL+jHddGeWXzW2lPzmaKVBJafl2W5+gCd1dZVFZMLRjGUjyZmXpsHyXppLHluKQfv46Kpbkklqhr560tVFGkmtqXVq1frJ+Y9eeDF54LGUXPuBeS0rZdkn0Kq2iwmpqy0XD9ITJHfspEm7cgk9wWcTc+6Y3bfmkrz+W9ve3OcM7rir7a19juAOfnXFBl6TlZnbECrOGbeQ3J4s5Kq0qQ5B0qQIavUDr5G7lBIiB3JPjwvQlLFv0BuIHByWlHX+rAs3kAp6WMUbM6z0gQmNUwFZFKIjI6mYcvuqOxCyqFL+7hcyCU/u/I5sEYg2TSSWr5pH0+LSJ34KWfJzW9d9On9fOQkZsvU6uovU0A+IQDBQFvdbki/rpcdY1KwAcLwZbhdKgXCSyFKG2cQJJ38gSxfP00/v+nrB4fHjDy/4umu6fsFCspTkLyTjfvcb0rzyWVmY3Ng4WZCfXUkP/OZ39DeAre6DuWmW5wMXOpLZWynR4Oz4s+lhtgEMAd5TsLslpnVGbX9c749LTbDHfNGRNZYUw1ghoHy0Ao+Vm0JENo9oyls/KT1TSpHSo62fC7pUIz1qTNUJ4ct5Z4t9apYtL2cyL3QaVBqtPm/iIxOa137F15TNzK26smZzzeUVFYHa9Zs6rfkjHMUp1urshqwaQ2Z2Upm46W8fz73KLPF89NOM9PR0nY538SqbbdLKlSvnOHg+N0UlSUlqk39kUyTqS6teErlw2RsbqyvSbQ/t/mNP+1r+Kykpd+z0OR7H1FS1Oavmwmnn2b2J/rFDaQxmDZ5FbDqMiKBPoDJsSqTFMy8B9cz+kZLGDV1hMfiYElqI0Q3MPCFFiRuHIWKAYlcNxBBWwfNylC+gsOBsRNDFFRqMzPZibDJRJxsxjA5+TA3vDwOtTHuQhs4rJB5IlaAj7UBBNeITMDCLcjZ2VR05heJQTp3w3KGxPpTnmxkZwyzHSYJdi8jiQ+HzgYFggU2QKcIXjttoKSyb0oKwEkdy0Bhi0MZEGrC7Uvo5HvU8wfrIKaL/oY7ZliBJz0xGdM54ASMCsIsSrJUc6E2OhuWSJro/Izk9LzR1WHX1sKnjqqs15F/FRRcOG3bp1CmXpqf3VytjEKczcXutHWjxTOpPG1bdMrV6WEUlEC0X0736YdVwy6VT+Kez0jOiD8doUfms9uewmBmus97gbD63lJzdWOVrPrFgoR0MeZKJ9BmYJ+1nty+SKOmONsUiaSjmWP+/8H3pQ+YE+jcbWOTcfOCtCzkPV8Fiv9VhNExNXF0uMpLazsjr/0temUTAUzO1OnPPZ9GE/6ts4gyHTggPBnY5ZxKLYZewzjLiMU7ia40FApa9QbPXHRcgOWOsQ+JyY1F9lJppVHHh6cIZPjjllUXHPlIAf8SjhFBQmAZsR9KvrjvGw5xj7Vl4GwtZ5UxYiudegughxfwr0FOK+Y2ceyHGjlg2bqXED+mfgX5JfPnEV0yIfa4Cviw9foc76NYQmwagvqzcCuAmwp6GcYXQkWhg8NDjnoWMZCGWcRYLQ9pQmjg6sMxl1S+ggR86xcVkE3g0BC6mJOnoqlxHumeYu7DQPWx4XiPxzBrmdhc2QcGQwaK8qEtJ4cfIcil9UnYXB4KFhdnDgqS57kT2MHd7odtdfNa4oc9QKvuWgQm4N5cS40ppqWgMmmWzM2EvVKEeoJxHKi/uPeb3JbaVth9Yd+AA7Rnc72q8SMNnJSe/USqLcyyNHk+jJ7HJVZFwVTicuKft80bopuTnr3y1uXbJ96V5+aWl+XkAE97n3peBKFbi4RPl+3EOt4vHb8ephnyZxHN3e/vde+j59Pw9LEf2kX30BxYij0X2ljxnncRc7xkc1fhFzJ9U4f1xRmRhr7BvhXhhE21m2W3HAnfQjHw/QiDkrCNoFYRBiVe1L47g+9EUyJEucS39EJYbi8D6yYHfR0fCIaRKbLJ4vKDYV0x1bph5xKbXMc9qGUPCwm3RI9v5eXRJJIIRPyMIS/uPh4kv+sF2fj5GoIhEm1TNsEuwn8Je0uuEIKB50eY062xmQaeH+mSnTXTrbJL7C4xEt5GsBXS/FnNfYMi6jfQ6aPh1kBNLydrerUNPAbDFUxvZrUP8jcyA834hzf7vuM1z+xq9+9+woOdyJlKd/G/Z0tQY3quB1ruHRAObzE0DOvIC7qLBb5cwGSETwyrSQptRERfWE+VrnOJZxwNR+bxGO349TzwrL9r9XrbFvm/iYSYrXSzp79CmFadptameVC1/KC29MD0tTVusTYt96wT+cWMR1eM5VDLjkdSIuDhcV+bxlNWFY2mvUQsVGHtNqVCnqdcA1aUbeo3whLRerSLbZrHywgn7s+L6D1BU54rWnRjBODFSN38i+pC4HqMZs2RoqP/+LwZiG/95MLaxOODDNfgFLU6vDEGMgiRKoDadEENqYRR82QsqaUVlgR2DdqFJXkRxQ5Ru7vWL66ZV2AsKCugB9PZGsViM1ECd9fXyKHkL8LJc0BSSgsiuBqqs6GDsZi5xKEZNkzCKFTIUVpXMxFWMPU9jcawS8kkkktvZ/eEnH3Z35jiyLhibP6pu+LBQwFpWakypLGvxzE11tM4dToQbRmV5HDm56Vliektw0XhCCmsaSpJNk+65fdjo2fu3a+XkJKf2+sfGNNx9uVZKSnKmr75z5/V35+hql1y+vfOKsrq77hpvtFf43WnazA2l2W5ThqQhGuewKcWjNqoFU4l7pGtC6p/HliRNC+Y1VNYFxjnrxmkLSjuenpPs0KbLyXOeWrpmzzQlP+V2eoKi+hvoJQ8QFnuBv/9f41GivyiJz17Y/qs8RhiHVId55atIytRlG8zf/zWPzAeSBjg18ZsDsWiU50j6O3AxwIFCS3LcQia3sMGq5vRMwh8T9Mcxb3zh4rfnDLHPKQAryPsN/6+tq49powzj995de9dee9xde9eOftJ2bQ9KKR+FFSjjI2yUj8k2BgPGNuYYDFyczCFOJ4sogU0jJoaQLJoxp3+YqPMjBrPETf8wuCVmyeb4zzDjEhIX58yMZsDp+9616BbT8ObN2/ejLc897/s8z+/5vepV177/rR5Mfpo8mC66dqerys2Hd9GuBveBafCgJBb0O0xeh6u8u7syU93TlakWFhPLeXmNL42lHi1TYxrSdWy1RON6pAIObyLsjgRtYi4eebReHvageoDGtHsbtdwqFMvxYVGozToxLJ4Tl8qqCDwUJam4mukLVHnlq5A7RSehWILql5FQexSgKKikgrKRaOttamPZY63E8v1fTnw3sZXOz33r0o/Lo0iHrC7paooX+6Le5CdtfQ3KJU42QzuZD8MSJNuv7bVKxoDInx1vyGXCAm9kEsKRhydFO0n6JenGxb56o8wLBqZ5IXtzR/657+8CcOLYlfHtlDNbJZhfvdrXUCRtBMdrfHLxogXODOc363lOVl5JBOy6QFjUkY72wnreYGRkvmsxFbeSfqiVSdI+UjcEZzbKwomMfZHBGCOmCJ6C2gVu5+qeKxqACA96ZLNqYaDQlHr/qHJzBj+9oNyAOzc65s+sjSxACyhvIX0fBHid0uuTqrUCePTy88U8ID/SqNsR9zr5AxiAR4MBZRYsKV7youIFS2m8s2br/Du2GDE9oRxgFJxETwH+lzILR8zC0XAUnAXO8MhY+J+3aGMXiGWVHAyWqL+24uN90+tQ9KpdXWQZfqWBzBJpDDZKL0J4Z3h4h4fBBSTPyJBDVMPo4U3Hgde5c6MIdaX1BW69ldVpGH8oL/p4SZRQxcpiRenFmXZSa1aj7TZpfQHyD9pVV50qDQRKU9V1Lppm/AzNWYxCRawq151IdURoC8cFZwribdkiMBh8Zoq36F2l+T5ffqlLb4HfKmh5M+HOfFBiG8FGyroHZ96fGewui7AE6bEEaR0dirR0nKzff2FfykbQwSC3dmvLC/VVZmhmeuH7OCuXdg10lcosDqeDk1aPb8EQ7Hta5VhX7z5DdFIo2qPam/j6e0h/aihsFDl5kLEW0ngc+LeeV/oUfEplaIPuwQbXvae2tPs0zWVhASpTCEJrEAiugRwFBuQvRTwiCO9VZkHxOyBpXtGydbeoBm1A7vIk/H11atJk5sIL6npfy6zT6Q+ofs+W5kaXM+B74hDx+5QgSbE1LraPnxIiMfw3SQzVrDXh91ysmZkyJlxrvMvBTFFhG4N/GUcOzbZEherR9ISKUiWEtyS1U1j5LOLZSdgjntUlT0S3Q/NYtjQ3rbss4VItzSkX8Kx8CEYLYlEouHykQJks3Msrv9JRwqPcY5xOlzLpdDJAgKuCUcmxkpSRH7Ii0aY6Ig+ZamTlKLr38WN3TSuY9kSUO1c8kQiSyUPYJLWDeg6e2hNYA8pQQYATUKVzQwVmAG5ST0H9jQNYsABKoBqhQvjIKjwE+6KLGMtUFUh+IWabLA7AMTms3SwK9iwRqoJ5UY5v3KCz5JR0OH9STssHdjXnDfQf2F/tBvMjXE2d13am96jLm5dlX7GIWTwumXKNQJDzZatu1OoIBxzAwvhZkSCNHGtVWDDv3NzT2384v3lnf1D5Wznv6ih187gjEA+KYP68zRzx2l7rfdbjra3hV18VOfsG1mkOGwEXovyixtWJYbep6yoPWgWUpCHsGIYhjgEVJ6oFg3PA47lM6YyldOLTI3lPCL6PeL7Xk5yK/jsEdtalydCQqIWqAKaRXvio602XJ/a/Ew7LDcfsq0ai3ghwAr5wmjAZWLMgSKLAsSajAe4dOMABPOV4vAUum501gc/LYwVlL57aFCtwOARQFPZ5KhO54fJyD7QyGVA3PDc3PNS6MR7NmVAi/dP9/dP6CyutE5cPt3NttcTzdpvDRnMUbWOkLC6LNhho1mTNEuD5hqZInSwHnQ4jw2etnRkuPOD2tO1wuwtixcM61qDXUzqopwiziaDmfp5r2VSXeNLdCC1DtEQ/ls6nZPS3sRospbLqqiju4iI3ga5xplDQzoZATlEc/XZGeBgtEaD4BP1eHboBXrJFCdQtkMn5ILoKfLu3g00Lu+Rtu7Ym+Xevfjte3vT01wGfobKC6n27va72yEydYuo5u3BrsKdTuaz86Tx46kxjzwcJe+fw8epn9tSCXDymkiHqb7OhxTdaZi1F28a27+3k6qvK3zsbGPhqJFirLCov3zkHiu5fm/BnfTN0fl+0vrL1eNLp75lcLVbNKuwfErMzKQB42mNgZGBgYGTs9NeexxjPb/OVgZv9AlCE4cKatyHINPsFsDgHAxOIBwBGoQtZAAB42mNgZGBgv/D/BohkYACTjAyo4BsAdroFVQAAeNptU6FuwzAQPacgKl4+oKBwaGB/UWmglfIB0cBAP2TIY1XBpLLClhRtpKAJqLTAfUOxpWps5+ScnF8S6enu7PO7d2fHOGq+ZEtk2E9rKtLaPLK9MyoV39q48S3brN3rUKl9AruCXICxbR5iMkvr5CuGr5HkbH97fVqD2Yu1sEcjvj9/Eb5ihCsT/VVvA/wZcxXtHvOh/i7f9+iEx8WzCr2HOWOdiNPGnDh7KmHtjc+8x5obzinbBWMDtZ5Bl4Vaa8ZUzTDgg3Ec6S3gD9ZPaoaqZ4wDfxd/Kg6uZc4wY6/3wHhh/0nmUUKPbjjjwf3i21zK+oNo+mbs+ncW3YtaGwP9QL0Caqp/qIG8UdTb9eIk7zXkJznRP0LGRxcAAAAmACYAJgAuAIYAqADUAT4BkAGoAe4CLgKSAsgDEANcA5ID1AQcBJgEzgUKBTIF8gYcBmQGkgbOBxIHRgeoB9oIOAhSCHgIlgjCCOwJCAkWCSQJMglACU4JrAnACewKLApiCoAKlArSCvQLLAt0C+YMSgyODMIM+g00DWQNlA3CDfAOHA5eDp4Oyg8YD3wP3hACEDIQfBDCEPARDBFIEWIRoBI+EoYSqBLKEuwTFhOoE+QUUBR6FJoUthUKFVIVlhYMFk4WjhbQFzIXyBhCGLYY2hj2GQwZTBmGGeAaJhpeGoQaqBrkGzIbiBw6HGocuhzsHTQdah2MHbAePh52HtQe9h9yH7QgCCBsILIg1CD2IQ4hjiHKIiQimCK2I2Aj0CRWJIgk0CTsJQ4lQCWOJaol2iX8JpgnQCfEKBAoKihAKFoocCiKKKAouijQKQgpJiniKkgqsiuGK+Ishi0CLUwtpC3gLgwuGi6cLuAvEi9GL5wv3DBCMJQwwDDsMSgxXjF2MZgx3jK2MuQzLjNKM8w0GDRcNNI1PDZeNoo3FjdON4o3yjgqOHI4lDkCOUY5kjmqOdQ6Ijp8OrQ66DsQO0Y7pjw2PHA8pj0sPZg+Dj6iPso+6D8GPxw/Mj9GP74/zD/iQJBBCEG2QiRCJAAAeNpjYGRgYPjGsIlBkAEEmICYkQEk5gDmMwAALxQB/wB42o1Sy07CQBQ9bdGEhLhw4cK4aHSjJhQQRYQt6kJiiC/cFiiPiLSUCpj4HX6T7ty68RuMH2A8Mx0a0m7MZGbOPT33MfcWQAavMKCl0gC+uEOsYZ1WiHWs4VthA2X8KpzCtlZSeAVz7V7hVfIfCqexr/0onMGmvqXwGzb0he878no9xJ8GNS84RwN1mJjCgY8JBnAxon3A7ZIxYdN+5j0kCqQqqZ4RBegTdSUTEDmYo83To7XQ7VITcHmoIMc1k8tCj1+feIuMPfJDegjfEXM43DmyHtks49sYUyniPJLZwZnKeJrIt4ca1RNqRTRXRruiosdc4jU+CoyU5yqhiltcoIlLoqRXNuaXVJgxxV2sQ8uZGrgmI6xltk9loOJNIw8LxzyrfKuNB8YUmi5Z0aEWp2ThSO4yirRO/lF7U3a5wyp82VtRe0eigZyDKadsM+NMKb1IuZhQk3ZradZhrTfM4dCq8WzzNlmP+FbktAt8R4V1luS/JV5+GE3OZD/G9B0wtsg0/AP9pH7rAAB42m2UZZAdRRhF9wRJcHd3hzf9dc/MwyGwwd3dAgmEJUgIwd3d3d0tuLu7u7tD8Rfbs/94VVu3pnb69Ntb92zPoJ7/Pn+N70k9//f5858fegYxiAmYkImYmMEMYRImZTImZwqmZCqmZhqmZTqmZwZmZCZmZhZmZTZmZw7mZC7mZh7mZT7mZwEWZCEWZhEWZTEWZwmWZCk6VCSCTKGmoaXL0izDsizH8qzAiqzEygxlFVall2GsxuqswZqsxdqsw7qsx/pswIZsxMZswqZsxuZswZZsxdZsw7Zsx/bswI7sxHB2ZhdGMJJd2Y1R7E4fezCaPdmLvdmHMezLWPZjHPtzAAdyEAdzCIdyGIdzBEdyFEdzDMdyHMdzAidyEidzCqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3cynru4m3u4l/u4nwd4kId4mEd4lMd4nCd4kqd4mmd4lud4nhd4kZd4mVd4ldd4nTd4k7d4m3d4l/d4nw/4kI/4mE/4lM/4nC/4kq/4mm/4lu/4nh/4kZ/4mV/4ld/4nT8Gj+kbmUrv0H+zt+p0zMpMZpjZLGZtNmZrdvuzklfJq+RV8io5lZxKTiWnkpPkJDlJTpKT5CQ5SU6Sk+SEnPB8eD78u0JOyAnPh+ez57PfI8vJcrLns/dnzxd/X7yn+F7xnuL7ZeB976u9r/a+Wk4tp5ZTy6nl1HJqOY3nG79vI6eR08hp5DRyGjmNnNbv08pr5bXyWnltPy+5p+SekjtK7ih1Bt6rzcZszf57kztK7ii5o+SOUiXPPSX3lNxTck/JPSX3lNxTck/JPaUkz10ld5XcVXJXyV0ld5VCnvtK7iu5r+S+kvtKIc+dJXeW3FlyX2F/0Rl4DjObxazNxmzNfm7YY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY+hrDPSpr5Hl6W1kefob+hu5n5d9zgPPpWNWZjLDzGYxa7Mx5eh5rj2v51nPs55nPc96nvU863lu5Oh71ves71nfs75nfc/6nvU963vW96zvWd+zvmd9z/qeW3mtvFZeK68rryuvK68rryuvK68rryuvK6/bzyv+fyn6UfSj6EfRj6IXRS+KXhS9KHpR9KLoRdGLohdFL4peFL0oelH0ouhF0YuiF0Uvil4UvSh6UVIzpG/42GGjxo0e8TfXWJDWAAAAAAFUhzzUAAA=) format('woff'),
+    src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAGW8AA4AAAAAo7wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcb+kWhkdERUYAAAFgAAAAHwAAACABMQAET1MvMgAAAYAAAABAAAAAYJYFachjbWFwAAABwAAAATwAAAKatulUimdhc3AAAAL8AAAACAAAAAgAAAAQZ2x5ZgAAAwQAAFl6AACLYEUhCQtoZWFkAABcgAAAAC4AAAA2Cpn6WGhoZWEAAFywAAAAGwAAACQPogitaG10eAAAXMwAAAEvAAAEENEK6Wlsb2NhAABd/AAAAgoAAAIKw8CgEm1heHAAAGAIAAAAHwAAACABVwCzbmFtZQAAYCgAAAGdAAADWi+oduNwb3N0AABhyAAAA+oAAAoztf4M13dlYmYAAGW0AAAABgAAAAYlmlWwAAAAAQAAAADMPaLPAAAAANHVnZ0AAAAA0dXWGXjaY2BkYGDgA2IJBhBgYmBkYGRkBpIsYB4DAAR3ADcAeNpjYGY/xTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vjqzXwDxgaQGkGJEUqLAwAgANkAKxHja3ZA7SwNREIXnJmtkuXfHBbFYsViQFNutTxJsVoMmARUxhSSFxEcTq9iI6dJY2FnY+Gvs1EYbUTBYq5U696GNui4JWNjbeGDOcGD4DgwApKE3I8ASB3acJNbNFttPdg0i6IPh7AfZNEgejVJAIU1Tngo0TyWq0gY1qEUHkklbejKQeRnJOWUrTwUqr8q6rNd0Vdd1Q7f0oT4xlrGNZwIzZnKmEMcACRvIpSHyKZuwxylHUcIuUoXqtEW71JYg09KVvgy7bKZc5atQRbqkV7rsTd3UbX1kwGSMa3wTmgkTxXGnf8DCL/zEd3zDV3zBZ3zCR3zAe7zFG7zCC1zGJSziLM7gFE46e07T2XG2nXVRFzVRFRWxKhbFgoh4h9/xa37Jz/kZP+396q/EMvBTwFKJpX4fwL/XN7iViiEAAQAB//8AD3jarL0HfBRl+jg+78zOzG7aZrMtbTfZbEvZ1G0hZRMg9NBCiwpIWXoxijQJqBgRlRIbNsSGiD0qchaOs52uHbmIp4ce6slx6p16x9eDJPv6e553dpMN4n3v+//8s5l533ln5p133vL05xlO5OCPnOYPcQIncRouhdNyXKXOphP0Nr1ZR2zJRKcnp3sepY9HHqU7yNRHI4/yh6JN5EbuZ9r9M6HRj7ifiYfy3M8c4RL+KjmO58JcVH5R6oE6/RynIcEQMZmtxGwVAkENkSVDHjEZ5DRelmBn5UMkGAiG+GCgCsqrguL+aP2urHW31pQ+OKWkblbLiprow9H6py2WpRZLzohFpmF236QKefTiSy/1FXhTm325lilwaopF2MS/tis31e6ybinLzLWlkpTow/xrT7OzUy05gdHplXbfpZcuHi1XTPQVNOlWDs9hdXKEeLiI1CiruQzoE1uVyagzSCWE6OwFLr/OFyCnhY6WNWtaIjQlAqmsXtMSbWpZQ1PI6TUt/KGWNfDaAvdvqOMT6Rj0ZRqrxyxriFtD/F6RQLfiJjXeuTS6Prp+Kf8j6YxE9/OtvZOEfNqm2nTnUv46Vk7bIndFH4k+xk+jWnKapkC9EW6XvFyu4TI5F1cH9ZrStSSNuEkDCfjcrgItIa4A5PM17FiSiWQwmwIyMUlaIuW7XekNJETMrLRK+semTXe2fLmUSM3NDQ0NzzSMp09ahrTccSVZ0Pctb8rLK2jNi36LSRnZY8UTdPeVyi10XmNjwzPSISy5o2WIlYjjm6GCxsZm+uTSL1vu3NQ7Ayq4MC+ft0a/Yemb5F52YtMmsnAT3GKhcxueaWzgOBXMjzC803JOz+VwRThHiM7nKiFum2wvkKD3TV5bVYCrMhmkApdPtOlYGvBWmXU26ND+Q9FQW/TwtbTt2oeLamuLhFNFtdHGIzfffORm4SA5DcnNi805tBv6VMkLHfyhotpIpLYo2gQ38M9i8RFV78nFeI9IzlJ5CX2AHXB8/5wQYEQ5HD7RZrTpvHyrcKr3gJDflxkhp0VDz3fhiGjA8f+GOyn9RTrFqblszo6z3k0COOvFIJHTiN0mY6Mb4EUDGuWETMQ8eugl0pQ90+XO6HvjIuHatVXfzqXt7Z72Vk97vSCRpiw8lU0PSbnKlXq366J32vo2TK0a1u5phQtJx5zTdC+cyYAz2fQlXII8zJk3pKjUxxk5G7RdUrkJPjxIXBnBgMOs4U0SLjQ2f2A1Sh3z6T+uiH419uitY/ltPt/82US1hv6ZZBNrUXXPbutUi9VqmWq1CD/P9/mil4+99egY3noFyZg/u9pD/0xPkrzVP0fzLJbYhZxAPMQjq6W9sP5LuFHK6NptAyNLvDi0JcSIA1lP7DiatdgzsPTiR348ssSvZEPul9W1RT3f4ViLhqLavswwZsOWYkt/hpw+T1mnqgvzvZNw0C21LbW7jBaLcRdkeBfm6AOJZdFPMcfAI9fJPSCPlFthlnIEhtEl4dIzy9CdKuhK4g6aAri6VIaDfPtvJrw6YlyT3vebH+mpAP0o8LafmH+EwqZxI/TSAwej1x706UeMG/HKxIM/0r8F3g6QUrjgn6yw6VWYbwaYb4dgvmVyFfDsgjJVOXGFBG8VTJQ0UXBCaiFpKntBGV8OnRMiXpVp5uSAJ0snCJJU0rAwtGhrWRpR6TJL/JtI+uV/2Kj1P7T3ywULv3jyJrf78g+vUHld9WPG1Ov1wWXzx5WueXSWnDVq6KQh9K8HtxxdcVbUuq2ZZltBSvLZtvc3KzA8LKuhPW6uHN7eLsnw3pJstPldbtkddLntOm8g6A6aA0G/zWgyB82yyezlqgI+V4FkkNWfZgfvOnpX6yLavaj1ru67gpmffmIeAiXTlhMPKxli/qSv6kxX15kuIX/ZdDgDl3yaGYQzrYtI0YJZUBLIiZXMWkCHduG1rF0RuUCeDDAWRoUzZQAWUbkFUbC5lemdURXwszZIDS+PGDGnjb619SX60S7aHRZyRlWumkP48pUTJqycIJe9TCn9eU6bv5E+l0e3RQRyI2lYNWdE9MSE6iBcgc8ihfJymMc6zgF9UKUyy2UwPyXZqyHeQIZDX+BwB60wRwNBu4bY0wTh1F1EN++x0ItL7/mx4BR9gD5wJPNVUvrE3fSH/lIym8w+krHh4PfS3k1tr7XMef022kY695OMPT0dsQLSSds2fXbfLA5hZQTeV1lLWbCai365mrh8lVlS5TvcARV7b1MVAUjlhx9bL1vZelkH6yVIWohvwwb6Ln2SvrthA//Qmr1r1uyF+evp2Uo8Qj6CNry4LxP2wpg9O3bsge0EXrQmuj8cDkN7UrkIrO3lMC+0AL3NMAZ5MENKYI4EuVquAVb7uPOsd5vOpocmeWNbHLIHoZ1OODfoGM6rEo7l5fAODvYOx4tqexwM5BKP8t+7otgCKzyCHca3IsLsiyaUHBp8BelEsBEDIapPoMATYX80xcKuCocBp3vieTgRyyJMBXwQlvYyGsE6mEqwxagEdxAWBqwSWApAMZyKUQy0GzLC3p6ecPwf6Ye+E3H6QchvWdP3ZMJpxCUcjPkReJYMvZyHuERv1wMt4WCjG/AJTpPZZS9QyS6HvUAOBIVTUVNZpOJW4ZRwqm9oSy1AsTBf2pbpLzxEX5k1i75yqNCf2SacIsW9B1Wra7EvwuzVor//823PyS/s3v2C/NxtCs6Th8trgBrUIQUDRBoiPhvQb4jOZOnO7RYLbek9oCo5YJ0S/SuftSN6apTcuh1oLDq5b4h4/ICF9N3MZ+6I/rWbA7oS/uA9jsBMsXOtsHKXcm1QlM6XEUe+Ko3w6RlWAjM3RGAOmzLSeZzGLigNMJrRJUv2AnfA4YWF55KMBqAgTWYTIA2geUIEAS+7wgWAUjLlEb2GhFRuOM9riIv3+4geb5ePLHjhJ/oBfZF+8NMLCyBPKslIUvnTC71vkJVk/I87dvxIn6U302cxR+rpB0sMaXrj1VNt+pVk3vt3EfNy3yyzKVsUqhry8+mPRpdabdAaDJun2pfYHQbITm0jzxNRUJs0ctLsj3qOk01v/49Q/PXqjYsWCSOURy04pwnijEEPHc8a0lsk+NW8t5wkkX2vrpwvjxtrGVpYpFHN2FJ3oqWF/wdRqwQ+6CPJEi8Qf5Co6ZFoLv+CnNXSctWQR//wJ7pNuLn31Hxy3bfP0neiO4utnBibs8thRslcMluxHK5FAhB70OYR1/VsVTX3nQC6hm18a3S/vPzMGXEdrInugQ1g4jTSKYtyGtAWJVCbz10GeDEj6E5TmRESBgPOXxYJ00dXPTEm6/37H5z33J4VVenZXz16+9x5wlPnK+WPbZ7Z4ErfSYZO/kv5lgPvnb3qD32trbvOV4jTS+ynJVVAeaVw6fiOeqC3bQQACdvgBTXEBsgsur93EvGounonqbqi+6P7hXyEGPLy3knR/eJxeME2BACYktMKHTVAp7oQBxZIlgGuwMtAQD8c0JFYuaq5ZfL1tBs5hRa+tWUNbggJusOQiut2jH2edhPPmhZyGstpG2wpAAz6y2DJMByHz9UAvNVBT2dxFi4f3wuf5oSHiIJXb7MLXhLfYJlqeCBYi2rPnKklL0TCAKbDkTDQQ/EdAvnTyrjWFp19mZdCRbVhfOzABnTtqb5MoYO20TZG/yjvH0YYRJwBIMfgVfNd6YwSF3Vp+MrKgS/Av6SaUFj7Hv38vfduGjO+rz0j0nETy1ZLuyNSQ0mk9x9wTAres/OrIn0dVz3O8kJtoT+BH9AyjmBo/E0Nkj0OXOH9uDh284Vkb/+5KqsqD9Z9lZU3fyGl+caM8Z39J+zFf/ds5Q8pCO4BIiYZLWU1LRUKbisaX+OzZ0mSKr26cXHbouHeZHl57DYfVnH2ZVwOQg9DfLRbnd0yafms2cOLGV4s4g95Rk2bNspkSilaNHEolBjjcyXC8KKeUYvntN8LeI7LD6S78qV08ThxeUIhz9l3cU9cQC130ptJ8zff0APfSI0hT+/80qamUtU9nlCk57tvlBP4DAmesaufb7LD+vMCzuUAdlp5QxoPsLOM94X4jBgNpjonjWNZKZYKOeQuUvPWVT7fVW/RN+hC+oaSl9tbW9tb+ezEJCqx5HcMt8jLh6965MUvX3xk1fB4JmpvZRck/Ec3s6StFu8BHruTnGb4M1nhpuI/aS/iSMSFAIUM8RzjfRUeTLnHjHfZ/ciCARPmDxrtRrvf7vcCPSHthcXV165qBpQNSDssGgCvh3scQkeEHUciyJ8jTyLtBTpKgYUwQn4btkPAVIF/XcDTYUY8HunLxJUCnCODMefcG4Ojyv2Y6jDfX4/QgY0ZWFODqmSMP/7/p3p1sbqLSCzP6sXaxHV97UijYI7VyirDimN1/tp7ZiW0D9b4L16TIPknrhPXwUzmNDweAVBcR1fQVRzhD8G546ou5Zx4HEsRhPKtsXOG+H2iAUuBFLuFbGfnDonHgT1m54Acg1K8Prr/P56TFZpXroH+yGO0pZdRlwx3QX8onKGSGm1GJInqCU5xMSGP/efU2WGvbLDqPGdfJsA0t5JO2PW1K8Qdf0hJSSf0cGeEb8V/qRG6Z1041NoaCrN9D/KEg3c9q3CgwygUi28IM/lh/HBpsvhXpH6ImdhJUBTf2RJ9aQs9tIUQ8a+z+14kb2z8QYEZf+T+KJ2RzihYC/iLARrI78twAE4RTt1HCo62tx+ln9OX6edH27vJEnJ39EXpzEBR+1FScN9HZMnR3uWCml6p8P8RxrtpGY90Lm3FAykpa4hZQxiBUnjsyiuP0T8CefJHzAm/w4kLSwpwGE60iMLNJ15CCtltfV48FRl8+SC8qcH30hCRCPAs4iR6keidop44hVO0GxbDPZfiZGkju2ESdn9DPqSvzqAe6plBXyUfysuj+8fRqugSrJW/nbw/jqyjJTV0dzT6zTdAAoVruAQchc9iTwIqkNVPPHwrDbchnr+Uzudbf1kdthPL2RwUcXaRIkKACspECAQtTIHZDOPK+hN54eVcmsIHmtIZZYmTMUT0MX7TaDCjcMCE3CAxia9vOXx4i825FHDqi5oD18665poXr8mhh+3XZghy/tNW0lQhL/8dPX1YvbT3K/H4TXdH/9Qxc1ZHx6xAJVz0eoZqA1yCQI/sJ/ulQqmIrWVFpBjUoDxP/yf6KL31fbKcPvopmUGWv0dv5de8T1bQR9jh+/RWMv1T+gj3v84HLj9E0stIfhpJN51vQpDhJP3kli0n6Q+wP+9E6F225WT/NQiDOmOyMzOs31Jot3cwNmSynnyTUdCxjtMRd4jE+tBklmHh9XOhRWHEfxHAw8TjcJfDui13O1TNMQleEcrziGffN9/sw0nI6KnuaNPHGWM8uGg9YzI+HkwjIh3l5Jq48YPbVE8SaTqEMv20RkjywjADdZGHWaQyAA2x24xS4+sl9fUlPadL6llGTCmp7/lO1dx7gJxmqI/k82pLfmDI+KK+9uoWl4kQIqRm2Ny1BeXjinJF/uVwfUnfVVKjUkd9yetKHfUlvVNVzTTC8CjtTnIsvnjVlCFIk8NL5eWptEWuMpsZCY9oBczWq0rqgUHVJNBQZkYduBncRJ6cCwIP7k/gyTNiFADy2vx/kWd0JRKNsI8wEkBc13vgx/+YC9cWDdwlNTIqoBZY7bb/lEscq4H34JznSjzibYOh4RPyCmWLD8VHn+09T7MSX0USleciyuo7MZDnOIUHx3YcAX7fyGUOplmQhYJ5ABPFjA8Fcrm77wTKFwDoHAK6G2XOwEyQTiEfs5gyIq+NnYs2AXWDZzlOkYUrPHISPCmTy0U+Ayaiv4Az2jXxh4osQVEJf+i1nXecoj88QyRpKk1BakPIB0gKgJimAO1+Sjx+/Z1H6d8+o0/wX/VspSnCKaCDok3AfgBm/ZXnaeCRnN1YZSKxt9OzREDyrPY10kikZ+gPp+7Y2VOEtWGtDCmE8Wn0CTLlM2I+eieR+9oRdCIZhf3Q1x7vSxXryyMwpslMNwIEMzEqqBz3TpsGBVaijchHaDfU3o10Su9J/hB9gD+EiJg+AH02W9UcQeY0gvxphHRG14R7GJsSeyccK6ShlPpjeB9oRXgNu07QCDBQcB+roQrvhFE5RdukvfEHIl7AhwEhmI2SO5TTMZQOOCbCHZWToP1mpn+RnQDx3S782XUwRlUolpBemjiRfhMM+ubN3dixHV/93RcPbr1B+PxFuvjF1R3bd2zeOG+uPwjPepW8So9NHH/DVqXuN6BudazuQBB+XqyzQJbwB0hFdKUTI1x98MV3kTra3tE+b54vGKTfTBQ+hweMn0iKaYiGiCfonztv4+Yd2ztWv0juYPQFdD8QtACH09kMNkiyDoUnujKUruebVEyY5CoQ1z1yTbiq6ppHENZG97OFIK674VhB9C5PODdXKCs4dgPA2Cy2QNjaUNaoul8iacNFqEB3Jr5HOAoUGrHFV6cjlvKtQkccuEcwQzxFtUD2t/W1tzF4JxxX2I5D2AqYbizB+duWwFrEeKHIOXJI+/n5RiZ5REo9lg4GAT1bUZQo5KNoAJLBIlOFmBfywwqj3KakMboDqSLxOOP2rKjKYM/0BYK4A544xDCMQXzv2oPv3dSXedN7XZulmxdXllX97rJ93whfp71xHfLH176uy85dfLN+/rpv9lUofUuuA5rkDwDRzShhAb7fLMHOHRB9OOXS4FFIY3D5jmAZQXEXcOR+XzCNyCb+Vb6Z/OWKK2hu9ADNveIK4X98hbr8yqZmf2ActZFT5O4lI37YveLv9Jm/r9j9w4gl4h/o0TNn6FFSduaM2tOUwvOqMV5/c3P09n8e2vBY0ep7H/773x++d3XRYxsOKXh0gI7QM+6z8ZeyXjcsOpENv13nNeI2MBoc439N+YLZquh+sLsG93gYl2BvUJWd5wnDnyev92SexyO0Im8M03Pf+GATEANNQVyxTJYbuxOu3AgUKO3eCJfn4e1RPsZS84dWZYbrkTioD2eydUEMhEiHpMOch6vGFZ0hK6LF+E+GzpSUBR77SQ63Kz0YcKiEQLrblS9L6WZTvurwja4lQpa6oDykqrdV2h1mk0oYVlFZ5fN5K20evjQ/M9NwF71j8333LSU5JMe+cOEi+vnCRYsWkgKp7Ea6/l7BJOXke4RSWyVSjaUVwwTBZHTZK211QkNZvtUwxXf1/eSt+5aOGxfNXkRsi+CP/nnRIoR5v+Ad+zGUEE87kINjnCEmqmYEH7gp4j3GasE6An4H5vG6BB7UrNTlBNiJiACoNXu/pPC0cKrnuwjAYBSbdyu1wKIGkByOV6qwubhUAKFL/XpULcDlPIbPSxSIobBwXiChq0yirQz6hNjiSzeRc1N1IZDo+Q6BhW7ngZ30auJJnzZvGp2DhGBfO5KAgE3xH+iMojBQj9Mvu2x6yZAh9JEYETmYSVP3z2N85/SYfM0GlCHnjHH08P6Kktnsh0XsjPHk8U1Wo4gIxYh97cSDiqkTKOdDnBLf8CS8N1xnQHKgux0VXZHImhYULwLFg8LGuK42wsZRUvAWMoFGfPwAge4QTu0kwkuXwLgduuQlGqVf0uhLl1zyEhGEU0rJTujzpp3xUgBHcDXHbAcG3jNZebt4v8pq1g78x2Yi2YqjyGgf4N894nGpEXBpLvYKNKcqqOA8P1LqbpdN0AGIQ+Bjl71VRoMslRC4640P1q7z+lZNW7h6FY2u37rC5529eNd9f/RWLdsPLPV34fnPbBrXnKPR7rr88QkTo1Fiy7eNnTTyT/dfVIKQjpB3YU6r4LnI69iJV7YFvcQetIlvfERPdYeis0LHSOZHIf5BFIPAJOzA+dXJ1kEje0M94zjsqD91oXTAgBok/tfyYYZOwgjiD503KxoUERaQTudmmDwOnp3Nxg7ltD6AJYu4ZUxOJZsBkctA2Rhtgt/uDzK87kfBuF1B7GbE86wD8VBLjOxS6Fg4r5wzMgV5/BpgN11uo8nbPwxwjRnfoXXE1YVlKRk8ycUGb3jcW51m1CSlp9XZLSZdljGnNNNozDSnpEpySnL5fLITr7ra6WyYECzM0RuMNZ6KvDxvptlgLM6xZuVUNU0qLsnOqizMMl+tdADpXOR1JmUU039FwtEnRqoqfPpssznXBpskpKSYA/rkpOSUTK02XZdaGa55LUw/KcvKLqzLEOWyvMxhKSmWfK1WLaeONdlstYWZmRKvyc1tCgMMdpBO6VMYNwOjIAaUBjz/S0VCf5nwXH3JrSHjUzfcuPSlW0frTK/ddNXUKYJzoPAWKHwVC/l9l47329KuIBkjXvPufodGtx74eNzYqy8dH8g/t5D7FXh6jpYEV3tcvheTn+Hq6d/+mzpg4p5QNSu6Fkz/v9Qh7QWSpAPxZCw9t47zyxURsvmZYphtzCBpryJVRIk/bN2oI8AhR+5F0YwiJGdEdlwml85ZORdXw40AHrqVm43SEMCYQZcyrxlpEvRLyoQFqiRAvIJd8Aa9et2guYsZu+zvn96iHVYIVCTGS0oIE1NJFQ57tss+4aLpw4YWFGzraB2dX+xyXFBaXlHZ9+TiE0tPLKr5+ugnC6qrrblDq3JzqwMbJ01rsuRZcuvplCcDZo1WrSFb5jcW5OfnhRbTNLTkCiOrJh1KVusmu53OUU0X37Yne2qSRj0k0Lakri7KVCT7yDPR/WWeljq7PUWlsTu9ExyOM/v0GSVlBsPC3UNLfdlZ28zmMm9mZvRFYLHyw8iBIX0Us3sRWa8bGW0o652yrojo3KKeWRGZnYK5iAQFMajjWzd+Qa/fCAiucyO9/ou+N/nW3gMbydovNtI2VdfGL8jajdJePLMRRwGP+84y5S27LXYhBxgsTgsn4vCcfmwbl582xGYBo4VRlj54O/85m19g80U5Rp2gtBflqBFyOuG/85xiYHxTwjjF8QA1b4AdUxQOONL/BwwrTGDEaoCZW/tLu5UU6bTTyL8AjW3ishEjIHXAeAydwSpUhQS/ji2pyLYlS2+LZA2df2/k/vnDsmF1Ho/+fufdu7fx9dHn6tdumFUz5KIr1tZHUcCg6h+j/vWlh5dM/DF8OGjbG4k3CdtETot/Y/gmCaVIiKf0NrdNL5YcpvNhAR5aRh4ooa/cBpwwioI8d5GTA3YcMEYi4Ao72vhomHYyrq1RLODMUBRMsIEjgj0Z9Xs5BP5Vx4gEvLX6NcaICR21RXcFeicF747Tzthz4fCRlyOoCAkDgu8Oh3F5M4au14hWUA1//0coZgkljGGCiBRgs1MwVXSeie3UAu4vTWhnTETn/IU0D62CBKab8eoGN5K/9u4BKv3uINBEfSdgCgy0raYYzxQXY6OKa2qKlUb+PXoNTg9oUswOT+qCOeBmNgkWYpCJVFDOu+qJL0gQjaLpYzlBGESYbWmVeNvK+vrokron6y6BDH973Yzp9ZTnN1ssxywlxZboJsxMk8RL6mZ0z6iLLqmvX8my9fyu+vreCFw41XrMAtdZp8KF2C86Rmc0Ml3Ur6+v4TH7FwZidQzUxlcTSovlWF48J/1P56RGJLMRNiNV1pcZFk6Fw2iNAykQ3f3785XJ6nC4xxEOoxY/zIxbTrNMpH93vjK0h2X4YyXDzApATmODbEPQDQyQDTggnQHgNb4ocKEM1AunDi8Ij7CtmARrfefNw8Y+tA8I1S8eemhM6FZ6M986daV1eHi+eGD58vdevi403xuJLLj2zoMk+e6779lNzzx3x+alkUgwHLr2t+8vW440ejgBh6HUCGGAlStQ8KEIm2z3o3mtMwE12mMpzOk2RI/hCNLiEeFUXzsCGaawAVSXT7ulxjCz8ImgqCcOdpQFxPgWNdN6LP+156PNG/Hi8+2Jz/f2G1QAnkFwx+yOIqhTR+YDwR0U4xJApB1mz/qVBgzS5WlhjtUzyxmHvUAlAVNgUnmrHMSO/R6M49MC2Z1AVAI2FmKiCFZSIO09RA8f7ucSdh4mw+jI3ZmmYfUGQ26ut7Wt8Zqb140eZcmZGkzX3pLj85bn5uTkzBGKSTsZ/tIA4/ESWVFSXeyuKsnNdjiN+iFXja2pmTustLS+0Gyy03eyKqqqgIQsz8qJyQz4A9IfRTPXxE3gLuBmAY0McwrabFSIWnsM3fvtZrvbLtuDdj+QC2ZvjDbQEq8iFKsyyy63QmbApAMmncheN049t+Q0euNdANUYRbfdqBAbUllhga1wZOs1I2s1szOCQ+Z/vH3Wotq/1CyeNeuaWUtnPvP0qlAwR3212uwINc6Y1WzPctsdUyrsGuKkn2jspb0nMxab+GRVCp9Gnlnrzsq1WofTi5/gfyu8vLguP0+QZTl1avbE4W355ZPKSnt6Hn64J3z2bE+RY7zPrglVjLI7XZNTU5JrPcPD44uryZhAvViQUpRUW/ugoNWXF+sz6BlCCL/fnFlVhn2l8KWKniIXoEsBF+CGcHUMb6PVtyS7G3jF6FtwKzbfvBdVa04SNMsxW2+zVjH1DooaQE16DRGZ0Xdpw0ePxG2+m/cOzStDm++eVpQdR5hOmln9nGgce4Ni8n3jtyPuQIPvBuEsiguQsEQhuZAv/YNZgJflDd0bNwBvfuRYg+fOTQinFPshRj9G3xzx7Y2K8fcNYxvvZJdOVOqABdAJD429M+lk+DgV6CXUzpTBW4e4kQhFAzof73Lkw4Q3psdl/qpzJIqamG1wf0E87VfhrFOd6BpQWvH/ZoiJPqYg0YuUo3FkMtp6jGJHqm+VQkUtQTr/RLIejCvFHqR/FT5i5dsVhQH7p+nkzeh+FDFN+zix+GRcZBq3ZWDwRIecuB1orRBw6oGgLo2U8Ug2eaZ0f3KCrpzy3Z9/fjciHu9xoGAll1gsfE7fCbu6IE+twIROxu/26/dRlK5sin4/vkmNESYRi8Sez7dKe5meXkScroOpgWURpHeFr8ktbOBQ3Q/XdhLCcB3S+qgv5FExZxUB4AeCITGIMgBelW9KR2Mg1Y3Qsd/dv+1SldtQaHGmX2uxXJvutBQa3KpLt90ffYnkvv02/cvbsvp++t2DO87OE2wZTkux8cm5c580FlucGTZh3tkdDxLDxXjV2yS3X24hHeNSgDtEa0t9gn4wrrwiTp3oFHVOUS8aVteNufnIzWPqgox3J8PIaJoZ3c1MSR57gn+Sb7GtHrn45psXj1xtI5cxDp6uu7av/Z13UIawPeoa4G8QvyOsR3lQCcxE5OaZFoFJkKEFNp8LiwikdrQysOsc/ZQR8ReUiXCuMwKETqR3Eppzkc7VfT+GhXxIp6DNZ1i4bd9q1Gd2Lnhk3cqV6x5ZENM2d9NuVJyouta0TFkNKwRJMs+U1Wui0zEbxrvhTLQ3YvM3NvptNCUuA4c5lcy0ZWgj5mJWEnajHYkxP7MLi8tCgELTob4Czf/wDU4D5Rzp2RqJiIbeScIxZu0U7j0Qxtb0ZfKHICvt7T0QiSiKF8CdpJMZVEWr4H0QlwFdksKyitwa13Ejs8HLh1kTEwszOhamG5HPERQL+bVFNKWott5NThfxtzC+prao7wRz5cgvqhWfRdF/cQ1icOgYNM3AU9H9sGc2BuS0vBx4gxh3O7hyYLUI9iT66Sg+Oop48pBijcfWKmmmIej3EMrgYrheyzx3zqnLCW1fvqal5zu8UzS0rOk9gLbGioVvXybsDyLIU/REEekYzCEXsxJQ4FLQKdlj3itOF7NZQS7GLSLeEwPio0wyqKFjL+iAXPvmi8hBDUoUIUfHajTk4AVCPjsusJ+cD5n5Jwvs7BbMYBn2xZvcW2zu5jHfAdTz2IjyLHiIGR9NYqRA0GgSdMSkSN+DbmwJkdXeop4css8IK0PsLB0GJPbC2tZQVq5YtJ3+BkvJg4UVmTn0Zem+meN0PV/w9zvdqGDXGRqqNPzVnrGh1iRNsq5nmOrC6LPKKXm0JYkKim5O4U0RliBs55yJqxmpdsBrgYGCOKA/F+DLalIagPnX4KXzfY2hsPlY2up9q/2l9JhkZmC290aF5ehQlMmqd3MuCuAQ1c7NjK50NVXfWeCcsnr1lMCFOdHvxeMMQEevZMmPio0azmENzIM3md4cB9SURhK0AApVFaOtgAzR2QLB/l9cdxBHO6ILnd76f8GES/2BINyLOob4L/4EabrdvHi93VjgyHMWFhdfOLOkqNBpsxWYMnUkJZl6SZJGKK701jUMHTXy9ttHjhraUOetpAeZH1O0GO69okC511Ex4+IKB96bl5WthXvJe/QnXo7d3Dj+9tvHN7KbxW2+9SPNvjxHgTErXS8b9JqM9CyTrcDmKOR5azHxpKtCld7Ckhxran5+qjWnpNBbGT3InKwe9V0xMjN2Z3qSXp+UjnfmOYrseCft5tNit+ak5+en57Bb2VpT8H0K6hkAMKSp5AzAhwQYX1RbqGQbcIcp06+966rrQyYyjzShNV2kxyE8Rf/xMD2q6gKAUMKnuRqWjyWppMJIqgBG3Rc9omquuAPX4FKikxdKh9ERESgmmOlJRFLZ850mbz5TmAFpWEbqYWxQCxo0qcyxlREISnJAXjhuOZnedZo++ho9QqMVhdzPkbUvOVx55ZVXPjxp+rjWqhvI9V8kfXzHfcs3LStZu0zKaJugzb+FfkL/eaT9IfEefsclcmr22x2qEsF7/+zw1EfeSS513/7x5dkNHSOTmd6Q3BDTh+ShlBqBjGzIMFcxSMPgjl8XywGOPfDkBvLtF3ySwGumt7dPj56w8iGWeVVWb5jRd7kkfEh/lkj7kxvcpHzDk+3vz1BsFxT8+T3wLTkIi5w2XxLhPMSuq0oh2US0+XjOAQcqsylD7MdeJrGb+FZ9AO9yP537yVFyAwl9f030BPHtp1/T9cd2kfRlSy+N/q1148auje2RY+QOcgGxv3spPXr1t/RNuuGDP5CrifkherRt8WL6z5uvmDF9w4bpM66I6c8V3OpItIzVeYHWZ65eLmZZDVR7vy+FTdzp9HqddPGRvO+rRl41bN2ORz78MMo7fQAGvM6eNoePX/7jXbW1f9Q8fMczP0Zv9TnETqeX2d+hzvt2eJYB31vn1dvYM3SxZ+i8wgTi/B8nPVnbcvvF7Q+/+dNPEf5TkntwxAju5+TfP3uU/gX7D3CLIiPSME8IRV4KK57r12PTbvF4X3uEpghq5sSEDF1fJqLKdgVgn+EkooGxfkN6DjBiLvDS1dxorhVnpVXwVoV4pg2QRMlKqkLEjfovzHvjB4I+wC4w65mHEYEMIhK34MLZKjmrTLKAFthufQBAR0Cwy6KjYmxRVWuFOTX90uFNbbQlteCCyy4oSE2bc9kcYTEcVA9Rji4es9EZOnjdB68O2aTb2DxuY/SpZUPb/MOHLtEuq9jbVeRKFiq7Hqpcpl0ydLj/kuErUrUuKaPwolnjykcvXVcx+qKLHghuXbhwa7B+woT6/lxvM3ly0zPzPn2etvibmoSKW7rptXlDysiK3c9Lybrnd9NbyobkkfUf35yhldicGM8dlNdKy5htuZmgR5kGxTqE+Sk6HWarxix9s50+tGNqYC71Rv9pmWJdZ7GoxvyVdpHdP2VVub25Pn0wuUYQW3fQx3a0XL0wuoIWWyzr0RX4xE3CxouTcswlpmr98NRxAsCdO0i1dKv0OFfM1TCNfZoAYDmkCiIRbrYSHuGxqgxHJSTrGbx2+xSYbzYJMwx8piM32eIyN4+9qHlSlvui+bPybOmlFz916Woa/emzLq/FmO4ZNWPRyssvedI656KWOUJq9ryZU2fLvLRHthZVBP3VZl1m1fhRw9NM6ekTho8+TqN9p0aNbcyc9fiqYbtu2nXdleGW4tTooqaUlNHTF9jyh+Zbpswenx7TEZKdjLZCSUS/hbDehoYiNtKpMFXAyKExJRo8AmHXO/EtlBfRFKQiFfk9KWF1pALctXHlwFkOZ3Zwg7gsotAMMMXF/hwJOBpIGuFlCfh130C58zy5c5mtQworRFOUlLzuJCM7O62zfuts6GoIUZNSzLcOTknJZyTzAVLEWK6PH6CnhDYmJayp2RNL6THnUyNGNL5C73Y2NISenhcrLj4nVeSZiu0m+gs6mO7Zy0zI0YWyCmkjKzGi5MaHclckTEoIEEAEgAWUSXvDZ18Obzm5dcnFFy/ZenJL76TIQr69SzjV1c4vpN1hIPR7D8Cih1PFxXBZJLJ3axc9FGnv2ro3QvZd2BGJdHAiCXCTpLtkHbO/dEIbKpl/eB6w7Q0w88uJ7JZJgYKHsB/dBXFCUZTd+qCXmIOC204OBwJvbTh5csNbgUCk/eTXG8n8h7/5dt9D33zzcPtTT515uosIVx2JbuvpfWfjR73besR3T37dDpe+1f71yfa3goFINOmbh+Hih/Z9G35qIyMhV54oj75wnDd+4Y3+9jgHcytRX5wExzqAonFJpwsgmAd9QfVo/oaajCBLnG6gj81umRmNFUGJqJwTgm7RrNMSW0QRvQFDYd1Fu9HpBjLk9K5dPbuIJxJtkhqZbCyTpqg2oZvmrl1kNjsnq+Na+55diowa0m7i2bWrahcyKHiGCTB37aJtu+CPeHp2KXKzmN9T3P7UeI43Bg5+vpWIRhvDfcSfQJEaxeP9hH2LYtcabWKcD8kMDINkWADWVyJrgaPPxh4Kep/4JHN+HdKZdfMzP2G8NOCAocyXD9cu4yO9OugjYMR04vrBCxW6QhHEtEZwHeN65hLrkJQ6lHtjqnyUZqJSAsUvEdXTb+FNChiIxAGDgoOZ3qORebMzAxEzNARd2M++zB+CYQiLhr5M0RBBbm7AxgvtMGu5CUz2qAAJlD3mOwLE4Q5wzjTeZJbKVAgj4WdVybwYKBPdIYFYVWmClpSpAIQu3xn3dtu5M+7t1jecbnl0LLmRcLayjGKfvanS76owtJZVPRMaPfe6CcUpRKJtfE5l/bDayuQknWuYsDmv3Jouq0StWi0bQ7XVpUluoZLVtXNQ/T3uwz+Q6uTgjt13ekWTq9gq6kZMbq02pOrKfWNGVNFjj0/fMrWhyFZoLvaOriNvV8yfPnPkZO+wnMxM7wV11Y0F1w/257HFqZYBP/SY2bKStxeUEZhOGp4v5P/KrE36JUAlG46sX39EeIe5mamhQHFeT3BHL+Knrj/y05H1vZNQIsaeu5J7RxZlEeBEFcNTGUi/OlDUGWSIKiSUAd6XzUQwh4hDxRg7vz2HEGfQJU676f2ZplvP0BP08E03vFG1t+DeVZf8dPy3l2WMvudzSIccojr3M2PPEhsZSo9bVGTuXFJOQ3yq1DX2DP0z/R39/L1ZprGj/rJ90brX64boRu2Buw5fBuklc+m7/MiLoHpz335LsSpFIF/QPPpKNy8DjNXA3HoF6CX016jjxmJ/IeGSAcjVa0OxLRzKoi2kqgW22ExgIVYFgvoAI3LZSS2PVwCKIcpFaGfdSQ9bS1S7X3Coh9h41UhZX0ufyy2VyRswMSS9ISf1I2OVNnp/5XjJWRhU7xcLc+hv3Tl0q9mTlDSKjsoqVN2bqlN9RMfymuwsh/ZrQ4FRK4jHy519WfyJpx0FR8wjCqxbVWkF2aaqrN7N4zxuodnuukXrsmjTduSYo/MaZgrL2GmjxZLMJfrEq4B7wVWkIXGHd1UzgrBok+pVJkdB0IUgKiYxQTl43Bc2A6jAadxMtFmFNcXBmuJ4owEdYb1VDs55XsdX1X9yexVDgo+5vcoZxMXpfEEYDnZ/hnzkXnqa7qBL6XZ6eg/zfX3wHXIZSen9hD62OjPdlHnTTKdxPbnxr4+T4BU1yzTqzCS7KjjSbqcfZhbBEVzROdt9ududaUrPnLlJSEtJNsmaJf94+9+9r35Jvx9NJpF/EP7aG9Yvz31EsJBdWPe97JnvPMicXfeQFKdwi1qo9pNk8uIfr2jTTGvJcGeXp9dIc3YN65k5UxhB1CoVH6olKZIgkLoQUdPHyvKtF03c2PTKqf+hF1/O3xZtXkEOEun1B/sWkfuiI0ttU8jfFRvMuJ/0tPP5GKA+5r8qQyM0/yCvTmZ7gzlZzXwRKKM/0Dn0V4/QeZMdk052jLI/IH+K6bHi2tpiUlyMgUd+/QiwiJJTSgG/KHMmzORSZi4b6NaJ3AzFC1UWbIIXZQiJXgt2vXiu8asfXgtpG4AbwClgyBFYdsBNuEJ8A9Ab7hAJyi63FyaWS9V8e9mM7AvpF98/MpbkoEeqgttow9th8hrmYhhPcNPXLqevXaUZ5m+8Ll8Uk0no+ZYphxqISpIE3rZtqHeo5n+asz7MHqsSRIM7j6RFmyLo5arUAcy785VE5ElTln/yyfJh26qzHdnZo01Dq6qGprldtuRkZ3b1tqGvjNzQPkLgER/dxHXKDXJj3J5FQ0ySTEQ9FwyY0JeJdxMxQiYUEWefK9qyU3ikwr6ZfhKddD3/KNXyXR3RibKBPu1Z5+pz7OS7hMcrnSq6KTr+ev6Fvu38s3Aan/E0t1LOEyOAZS2o++SY/Aw5Ry1RNAyJh1w+p3cz01w5g1+yb3Xu6LBnutGYy783kKfX8mXkjQs7muk11EOvae64UIysnuKrMCSJYoUPyYT+fG8OaSLqss/pDyT98zJ6BukYtDU4Lh7vl/UnWhIdR2t/ZQOsPWD9o/DbCs2rV6jd+DSBnIQyTakx0vMdShtRqMswUjNab3S1q7rau3q2ospiwOdJB33BtAyDa9HHkaAJeFMWCAcrxBQq/DHmU+eJJNSJFvzoPNd7APYJOhFYvxbOi7hO5TUkkTQeyAaZ9wOHHNQDNvADDaGzWYU8IpxKKb3lrpNt49tvu63d7dLkzZm5acXKCZVtXz14ja2AnGaw2jDiN7fflktTctu3XlVcLKvVOSP8JSfoZfTvJ2+co9ertKFxHbf/6V9k2NPoQdN3WpUxYeGLbSptaWlDbrRJqSqmez0t7T1/36PdVL+m5Zy+T3in873Rf3yH/621rP6z5Kz4sfgxtknD9zuEiR/TPWTedrqH3ruDzGU7Mk8cC8d7tseP5+6g95K5Ci+oyOoFrgyojOnchdxsbl4sNkBMSNkArKA/4I7rXNkvL1Gi6a1ihL6bnbWQgWJ2fwj1toqXhF2MKeyZ0l6NNjW9L+jT0pJSVaIoETk5pcDuteRka3VJSTzheV4F+Cs5NUWrN5gzhZ9oSvTkDfV+f67FkG0pchcMC/qqhlRUBXLTHXyqOi/f568RtsRNWNCHU9VFa5NT0zOyk1ONmbxESktLAH+nZBgyM3MynJrkNKuQoQdyUK1xodJhSmu+zecLbhTVUpIsy5IkapJkIUnFbwz6/DbbB8wqIhJmPlYD/BH2WyDWbwu5pUzW9H/pu7gRw/+l/8igPuyz/Nd9WKZ0D33yf+lH/nA8FgCaLwOvC/zIx/9dVxKJddJv/nNnLmMXoe0PdujA+i/ipsLsc7viEnIvc6lBjXf/jxkLxH6EGQHFBejxMxgWSek5s6wzB3XuINTCfyoAXWEyWW1VvvpFTSNMplSBJMmpqcYMS1axu7ysqDgrK9OUkiZrhNuqLHKddWVw2sq2BQsuvXC5p62kIads6LTyZyY+PHzhvKaHPpw8R1ynD/qrK6ocbqO5tm7qtFn6JJfNUQADnW3S642WXJfD6c61Re+fdvVZlYbXAUWlTUlJUevV2Un65LNbJq/yW7IfvpZ2L19OPNc+7KtncPAg8Ks5AGttCAe5fFWG0YBAI43Ae8Y8FH0ud5nK78vQwwRA8gQ3gMhAtggTSRURbi+urTMas+wKQWLPUueM9Ht2tfGt+SVZwfJImS+rJF9efjuld/o6VoUtVtvSIiVCVtFSW7J71dLrfHcSvic8Y4a/rizgL69L4Bn3cmrmscWchomsRmYlrDDfbapmZhpwCFhIJWYEsx1fx2wgFfgkrmM2Rni9eBzZXHY1NwhWQv1Ouw5BmUwG1RhBcT8z34/5y5F+PTarH+5IqFQJARSOuWIPbj/0G8JJNxlUpdDBrB+agEaJ1T+4/XBHQqWIj8lpdvkv2g94Fj2qg2RQlYM765fthzsSKk3oqgQ5PvOdMJ/Xczema9KjGOA8nrt8ecyx8rxeu/QNdlLxBon5PEJ/HRnwF+i3CEX7tCNnKuIb+tIz/+3+PVyfGOsHPYPGAo9zqRKdgkCj0zDQTxmG/AmRmBwhheQ7uIz0JDwe9F5igYwOQjKTyohK0CPIERmpAK+vDNhFdxryPrYAEAe/FmWHv41uovf9vGsX9zOZQzaTORzkf45WkQtJ7V+2bPkL/T3dR3+POX73lNFr7g7O3/wYvXP9Y4/98/HHSLl32LxyCy9cZXJW+v2VzuTPurubVo4CaCkgdJ2alFvTPHG48VejC3l3/Uzv+8XzqxKfSmpZS5yluS9vDM8w3bt4/WPhx//52GPrr3iMJtfqL5g/K8/avHHqMEeWWiAtH36octWOmzx5dFCXvnDvgnEFBhKzW4/NQTP0ezmLtmdTIui5mOKD0awsip7Y76XnC+h/kS9hSmEGU1ASCuXiyGgTqnLv1bSGwqFWzb1w0JeSILzYnhAu7EdFO78idu0KOGDeExYjVmG0oEtFTBbcnZDGTzMrGZTVvicvkqcDd50NGLYB3s9VEAtoGSQBc+KBT09QFYNRqVhoQxSXysSH0fHS0FwF3jygamxt90Tf9njKNpTwAc/3no0l/UclDeQBT+vGEjr7aQy3CKdh3/toQWWlTqf1jBs/JD80WqKteHu7x0Pw/lUeOCrZ6PHwxXD/xug2OhtvIg88DRV5eD8GZIx2l64Kt2Zn583/Y+DClRfAutgDdHSV9CU3mbuIm8+t4jZzO7i7ULdsQG2HIU2Sy0S/IlsPMudBFPMAZ6YYDcTDIMZSZaSUC3BgIUfi8e5M8fBgRDJaCb5/EOgHGFHRxyQwsqTYM4hxTSMcm72Yh2sgL33a2nW2tUCfXe6qt9dpksf7xpUVFLSeuaC1deHyreqMjoX+W5w65NswoBpsmNU57qxc2JGh3lqxJLfvVlcIx5ZsUgb4oJ7P1Yf1ubxeqw1riUavTafd6Vq9xUg8Rgt9APcWI+2G/fowZnEnvNN6tqvVN+zyKc2llSa7pK5wTL7wllZfa2vr2dbhDc9/Ve6/5uuW3Bppzd41VXhTlbKHQ6k+q+Xra/zlXz2fOzSDXF5XWMSAn6Lpp7psfU6O3mhK7jEDRtYBg/K1wqXEorxxMTsQ5HlqueFMVouiAWPAq4tFobQo8r96ItnjoStjaYHbGJMGKtrGuFhIyI88f/lFKzD0UwvOf29lrEWVXgzS1tUe4ctjMXUAX6x6Yfp02o1mOISm4nL6NIM5yUaUfcaninwh3N6F2EgxWmB+SHF5dxJnBChQybUi5CW+fmdR50CWWbfEjFvQtiXxCD1MY++BFI1kj70uu9ds5atCKJ3iWCIE4SQCbL/Oit45Qke4sA67HNqnZGgb6mBwI50DucP3AShQ2zTqAjVk7jt8z978OzvaO+7Mf3BPVNx0/e3OpgWjiy0v0d/SDvrbl5zDNs6w3yntnbm88HKPs6GuMJ6JHiGz0XaIPsAsiAby9Sue9/+EQIWUEEI/wtxP/udXrHzKl9Tocg1N8j5FJ7pDSfrKYf5S2r3i+WXLnl9BPDVjxmclhdAekfkcHGc+0zboyaHcCG4MNx5WLxcDLioWZMaZeKDY7ivdiOvOec4xCRplJ2xiLBWWOby+jAw5s67MNf2Z6XzroMPoKzDWbMCLUCPWn0eXN3STiO5XUnGne+mcaVnZSQVzL1junjdu3Lxzjnt/RjuqRJuqWJ6/GiMlMWtvJUV+91XAI2mykTNwuVwhylfS+IIyoJdg05sQ3ugBASN74pYEAC1upnuWTaqx5PWKQ0ePHD1UQV4d8vmun96c51298Dcv08CsUVPe3L1g66xbesbPG99zy4wLGu4Qi/venrOtsXHbHKFq1lIVcWw/PGmhlX5ZRjMeSb/44JToZ+HpXdMXGFdNjvvdR6R7YSyYdAC4AYx7bCcSkMLIapklDCotyXod2gGHCAuVSmSdnkm2Au6ApLlgfH5j7VvT6Zkl9N/TPqxvzJ9wQdM4XmO4d5m15q2Fz+oNo7tOd4026J9d+EGDY8UDBg0/Rry4bP+rF05ZpKap5F8pi2dc+Or+0gIhVHv1T6HpbnoNH8g91dHxl23b/tLRcSo3+jtylW1u/dnNtQ18QpyVVIyrwLGoIUA6hQQgVGW9U3DHou7cuv+rd571B86+bBj13iHhDL2RrC75MrPvlrI3bWQ13V/Ir+W3y+pFt9zi9aF20dD0eEfP48RBMp2byVM+WnNxHj1Fvyohd9C53DnxdrS/jLfzn2Lt/KcgOxizS+iQGlXNjDJE+9JOFjyvOYK4uov7lNmzlnE13EjAbYoXfBqP+hC/zwHgxIvITHKhZBWVrTbZbor5EsCqcZsCzHwbx1BMiObF0Jm7TAKUhaJvk3BP68i6FY8t3nT0SqJ6Ps2XUm9W50q3v3LJb+aT1xd0TjGUXOW3TXy7daFW29mK+5tUk1jYr74HHt8tqlLNGS6jL6W6+po3HhOaQh3zQ6tmBRs2TLzq96R+aEkJEV7dNuPeueEZllDLdfOLq5y5094U9qy67AGBv+uyVfuGKvHDojVXLjNlpefk6i1pDnUGv31OeDvr90lktHyVtJXTKRZ/qgwzRoZVYsS6Aw59QRnvthNThtmuRIk1Syqh7wlS+mrmETT7P1Xw4z1LXww9No/oLtv8/cENGQDUav5W219Mf5C27qH/2I8mkLe9PqfltbZNPS/Puu+zTaRzGD09LFYEa7eKeKU90v3nk40KMdnoCqItINa+P0e7L+fPuC1Lvo9+eAlfTFfwZcuiH0ob6Q/2eXl9n1/Ol/G9hVaBvhn94BLeH/XxFcujR9i7vgnczHLmm6vEtwPgxqyVfBrCLFZgbruAGzeZyTVi6aFDPX84JLTwDxhTDMZRWdE3om9mjTIaUoxS47N9B599Vhj7bN9evkg3xGaVDXQT2QykjG2ILvE5WhZ3+FyjUYQC8HoMEmAcZuD7gUdTwIGGBOTlraGe6xDoi+tDrddoxdQkupRsyTZoXBo67thHdBxkDNlkC12alCpqC4N8G39pkHcJHXhPXzvshfe09swkuo0utRqTeTVZ/dpr9EY1nww01S5yeVKmXVtYTtXkTDlb7ytkjTwb2mpT2iojroS2BqFPYA2W8YAv84jIQWI2yZo1Lb0TUeirenrK6p3RvdFFcoomWWNLSebXkK9yUxxZNuEyYf4Fk23Ubnvywr49F06ykc9sTwhNfReRd0WtRZuejD7fVzi0yalm9N3v5w9NzHbew+QH52pq9ZLsDBEiutx6K4lbA4tOk1koI6IQCIoANM8b32vsbXNL6Y3+wyo9vbF07m0bDlMV0271PUdWs2NhPlxBVvsPn4/7VE2I3/Vm7KrofqYNey1W7b9itZzL6+Yg/vlllCoHHMJ7wQHBKFEkmXgNACHOG7IKX8Bw//30O2abfj9pS9Pw5FX64dy5RHX+EFby/cSQeBNpSxL5btKAak6SzhczmXCcNsBVZvpllEcWbcRG0Gx/ANd+Hd3PXIEGx7nonRQLtZmi2CsoPNx/rndQIHPV6r5MZtN8bsQSBUSzevv71DKgxVbqRS2YEn8BdWKDnxKLrEFTkObIBNIDrbRrxfreScwpHp/HwrcooRYiSuB9xcEKYyD029wAboh7TZ0vXjKG0zezuD8KYmEkMk1hptmqPYj3wiiFxNCOgIX2nvvNhRjhQvpl2eqYZQ/aREmNkd4DeC3ir7522o3a9Vhsuvj1YlyCrgIAgh7QKKfZj+IfZooei3/Yxhxf+Fa0QGd+Mhi7sD+mRRnjtlEIic5wQOvpmOsNBtsKBtB/qf847v0sHo+a2hcvqauvr1uyaGOJJW9SnhV3FivuFhRardY8WV0XWrTozKLFdfXRxwsxsH6Rqgt4FEteIQy9FVPRYM0thuwgGFDAXcwt49ZyHeddPYGMOFwwssaikj0d0TUSSwp6CjBjbH0Ard7SiCkYsDKrOCPTeckZQXYi4CDeAAAzSUb3Mo4FgUWltLdKTMibhJGkKW7BRQ/Rj9laq4Kf8a21a9+i39L36bdvrb2iKLCYPHF9z4Flyw70XP/+/gk3+w3rLtr8Wbblso2lC92L+eTU6scyUnUZgH5VUjJA+CFXly1whwUhObX4+tlEQxdJPk2SmZcX1PKusrVTg026Au2Kuha+3LQOD+za5XUtQbbkB5pRxJrWc+nat4hxoEV3/vml+uolYja0hP4DWnSpqrm+ZmpX+5WPF+eRP6dpVVodb80lRKUzlwVKBPKvWVD+XkZquipZu2ID/Zg3mxenWGnl5ps/oLcc2doy7uHG6d8sVtLNSvzWc32PlVgrsUDFtnNSFPMjkJAaKQtjCDP5BAYWQXdkxT9/YA+cX5jhzb3n9QHvjw0TT/XnPC/u643RD9F2AdehrO49EO47IathAbVhIDGMqB5B10ppb3+ok5T+6MFKW7rDsb9YLCMPw+VxeSI8QR+LP42e5GEl8gi+Gt6KBhN4oxro2Vnye/IbXBZXBDyYnxvC1TNODP1/QwRnJfuCDEH5jyL8McskyNQHZfhVGUmlmOkGRBm/2zB4U+3bVnXLsrXNZq1W2max9C2xTrH0/WSxCHdYpsyoId/XZGoEKVlVsWBMafkyUlxTM7WmJvrhKH7jyL6fRvLto/p+Yvl/j4rnR8mPbJO0WnPz2mW3VG2zQG2LobYkyxSrcLuF1lBdzbhl5aVjFlSokiVBU4j1Ta0ZOjJ6zSjy/ahox0jyfX+e7a8Zpdh8QfcATZ/CuJ9+bSsy7QZONnoHBHhoQc3FjQfxAiWv6lq9b/WalqmXwzB99XEEzSKZ80xR5Bj9Epnxbx/a9w2mGBloyuq1kxH0rp38GX3G8aEiovvQQSZ8hndghEXmdgPtmkqsUrv0Loyom2nIFWcsn6OBqJiNSoU+Q5aQOa6QeTezNHAIjyqxDHky9qGH+FtPtF1Se5FHN3FGS07OnKdLdWpXiU5HG6V3W9svuKCdtltcoip5qGWk0UDfj0Z18sK776mufoU+mp72UPS7adPGcTF7VkVWg7JxnCP1LCYFdy4vHo9AplCSxrg6JZGmhPUQ/3KCI+69YcoPppF8l6prgP/+MeZ2j0Em542gP42Yx2L7tyDqCvds5VuZHImMUSLrv3U7+eb29C/pu1+itJwh1G7Yk2mKN74b4/7bRsybN8KmfA1gDf8oYp8fB7wHa40TJzZjsCcVrOU0+XfyQS6TaYjqOE6P0u8Q4ULQxZyWlKnF/+JzM3rT25e0WcIk9eS3G9KtNPPk1yptVemIQFNxqfg9/f1zpDbrAqcro++zVmH55ZV/mU2vW1+ybnrJ+lr+h9ipbPp78aqMM5evglq0/+y7T6OjN738O0FtyXRmWVPUy+jvD8KVGS7nBb9f0Xfb5MrG9SXT13nWkXWz/06fILXZcKY1i74O45cSiwmI9lD53GhuAtfKzeHauU5uF3cPt497CkZS8CsMhVGApocIkK8kgCyjSpYwXpdDMJnxg0cSIiMt0ZuBo2RGUWboG1k5dKMoQAwE9WWE6FG1iJyDoDeYUWeI1nS1CBGZBNWu88oicpz5eOQ0w4OxHgHtsezMnkr2YT1OxS05aEBMGQQ8mkMMJjNcIB9ZMGGXJXfUxAU91vkTdlWPmrBQeLXAfuPC3fSjakzvJp7ItY2qzFJNklaj1VSPVRemqdOG2FvTUtKAqL0TDuW0arugH9VFd2b5VaNLyW+OVhpUclqe7ZYHeVJXV1lExh3NWDqcnH15CiztJbnk8SUYtI+Prro1maRm6KsnXFOkkdSaWqdWrZ+Y/9jMS8iDj6fk2g/MbVkpyz6BVi2/hJC62nLxID1JckdPmLArl9CTfDYx547afVsuyeu7bflb+5zBHXcvf3ufI7iDX12xgddkZeY2hIpzxiwgdyQLuSptqkPKkdTqB18ndyvHRA7knhkToCmj36Q3Ejk4JCnrwhkzN5AKeljFGzOs9MFxjZMBTRSiGyOpmHTHqjsRpqhS/u4XMglP7vqObBGINk0klq+aR9Li0id/Clnyc1vXfTpvXzkJGbL1OrqL1NAPiUBi3+b5LcmX9dLjLGpWADjdDLcLpT84QWQpw2zihFM/kCWL5uqndn49//DYsYfnf905VT9/AVlC8heQMb/7DWle+ZwsTGxsnCjIz62kB37zO/obwFT3w7w0y/OA+xzO7K2UaHB2/Nn0MNMAfgDPKdjdEtM6o7Y/rvfHZSbYY77oyBJLimGsEFA+XIHHyk0hIpuHNeWtn5CeKaVI6dHWzwVdqpEeNabqhPAVvLPFPjnLlpczkRc6DCqNVp83/tFxzWu/4mvKpudWXVWzueaKiopA7fpNHdb8YY7iFGt1dkNWjSEzO6lM3PS3j+dcbZZ4PvqpTpeertPxLl5ls01YuXLlbAfP56aoJClJbfIPb4pEfWnViyMzl765sboi3fbw7j92t63lv5KSckdPne1xTE5Vm7NqZk65wO5N9I8dTF8wa/AsYtNhRAR9AoVhUyItnn0ZqGb2jxQ0bugKi8HHlNBCjGZgxgkpStw4DBEDlLqqP4awCp6Xo3wFhQVnI4Iurs9g5LUXY5OJOtmIYXTwg2p4fxhoZNqNtHNeIfFAqgQdaQPqqRGfgIFZlLOxq+rIaRSDcuqE5w6O9aE838xIGGY5ThLMWkQWHwqfD4wDC2yCzBC+cNxGS2HVlBaElTiSA6YQcQsTRiPG7K6Ufo5HPk+wPnKK6H+oY7YlSMozixGdM17ACADsogRrJQd6k6NhuaSJ7s9ITs8LTR5SXT1k8pjqag35V3HRzCFDLps86bL09L5qZQziNCZur7cBFZ5J/WlDqlsmVw+pqASC5RK6Vz+kGm65bBL/TFZ6RvSRGB0qn9P+HBYzw3XOG5zL35aScxurfNEnFiy0nSFOMp4+C/Ok7dz2RRIl3NGmWCQNxRzr/xd+L33QnED/ZgOLnJsPPHUh5+EqWOy3OoyGqYmry0VGTtsZaf1/ySuTCHhpplZn7vksmvB/lU2c4dAJ4YHALudNYjHsEtZZRjzGSXytsUDAsjdo9rrjgiNnjG1IXG4sqo9SM40qLjydOMMHpryy6NiHCuCPeJQQCgrDgO1I+tV1x/iX86w9C29jIaucCUvx/EsQPaSYfwV6SjG/kfMvxNgRyw7YKCX2T3+/JL584ismxD5XAU+WHr/DHXRriE0DUF9WbgVwE2FPw7hC6EjUP3jocc9CRrIQyziLhUFtKE0cHfRQU/0CGvihU1xMJoFHg+BiSpKOrsp1pHuGuAsL3UOG5jUSz4whbndhExQMGizKi7qUFH6ULJfSp2R3cSBYWJg9JEia605mD3G3FbrdxeeMG/oMpbJvGZiAc3MpMa6UlorGoFk2OxP2QhXK/8t5pPDi3mN+X2JbaduBdQcO0O6B/a7GizV8VnLym6WyONvS6PE0ehKbXBUJV4XDiXvaNneYblJ+/srXmmsXf1+al19amp8HMOED7gMZCGIlHj5RviHncLt4/H6catDXSTz3tLXds4deSC/cw3JkH9lHf2Ah8lhkb8lzzknM9ZzFUY1fxPxJFb4fZ0QW9gr7XogXNtFmlt12LHAHzcjzIwRCrjqCVkEYlHhV26IIvh9NgRzpFNfSj2C5sQisnxz4fXQ4HEKqxCaLxwuKfclU54aZR2x6HfOsljEkLNwWPbKdn0sXRyIY8TOCsLTvRJj4oh9u5+dhBIpItEnVDLsE+ynsJb1OCAKaF21Os85mFnR6qE922kS3zia5v8BIdBvJWkD3azH3BYas20ivh4ZfDzmxlKzt2Tr4FABbPLWR3TrI38gMOO8XUuz/jtM8v6/Re/8N+3k+ZyLVqf+WJU2N4b0aaH1hDBs0AV/TzE3ipgJvMxO4m/7vlzDZIBO/KlJCm1ERE9YTJYwTfshkoACO+8PyeY12/ISeeE5etPu9bIt95MTDbFY6WdLXrk0rTtNq04ymVC1/KC29MD0tTVusTYt98QT+cWMx1eM5VC/jkdSI2DhcV+bxlNWFY2mPUQsVGHugOm2qqccA1aUbeoz4iB6tItVm0fLCCfvI4O8wJFBV54vYnRjFODFaN38y+rC4HiMas2RwuP++L/rjG/95IL6x2O/HNfAlLU6vDEOMiiRKsDadEENsYRR82QsqaUVlgR0Dd6FZXkRxRZRu6fGL66ZU2AsKCugB9PhGsViM3EB99Q3yCHkLdyHHBU0hKYjsaqDKik7GbuYWhyLUNAkjWSFTYVXJTFzF2PM0FssqIZ9EIrkdXR998lFXR44j66LR+SPqhg4JBaxlpcaUyrIWz5xUR+ucoUS4cUSWx5GTm54lprcEF44lpLCmoSTZNOHeO4aMnLV/u1ZOTnJqb3h8VMM9V2ilpCRn+uq7dt5wT46udvEV2zuuLKu7++6xRnuF352mzdxQmu02ZUgaonEOmVQ8YqNaMJW4h7vGpf55dEnSlGBeQ2VdYIyzboy2oLT9mdnJDm26nDz76SVr9kxR8pPuoCcpqr6BZvIAcbEX+Pv/NSYl+oyS+ASG7b/KY5RxSHWYV76OpExetsEM/l/zyIAgeYCTE787EItIeZ6krx2XAxwo9CTHLWByCxv3/+q6FuA2ijN8e3fS6WHLOr1j6SRZkvWwZVmWLQk/JL9ix07sEOJHnIdNnDqxE5OWJiQ4DpCAg0kIBdMEY8gAtkmYNn0QGmAMhpI+hgooDJQQk2mnDR3SyQCFBsJAY2vp7p5k7EBHo7ud092edNr99398//dfj0YS8e6nnPzp1Tc9d3ENOl2qpAIyB+mwjpS8dnxvsyf2m1hParOuI9WEZ69+glc2tBaMgCslQbfTnGE3C2Xr11ekmxvWpZtFxcyl/Pzld+xrXLxt3CeiXffNlYh8j5zLbC/1Wv1uoz6P9i9ul3ltuO2SUWL9RjG/CsdxHFQAWcRrKSqcEzZE4wztCbBcmGT7AjJe+Th2qEgMOI5A/DIGfDwAcATUQIDZeGhLjeRg9JqjzKXLHw++NrxMVpB3dPrvlwawFJm7IKkuntkcsMeead3cAKfVvkxkK/NetAWx9je6dAaFS88fG2rIU3o1vEJZqtl+9Xa9iWWdBsO7pzbXKXy8Rq5sSmRXrikYf+sTAAZ3nhm6gbNkE5L5udc3N4QMuWBXtcNXPKNFPaP+M6W82gcPlLpMEpdXL2HN7UV1vFyh9PHrZhrDOtaJBDPLmnbX9qOeFT7NYNrGSOOMMVsEzyHpgpZ0su7q5UCPlD22iVgZOCxF6pDCs6P0vQn4Llq9sao/mtydQFZQfiJVEwL8hJNKY8RiATx+OfliHrC/FunbMf86+x7oQ+pBHxwDF6CdPQXt4EIK8yzaO99eW4zZnnAeMA5M4llAfw3H0BVj6Gp0FeoF9bDoWvTPa8VrE8wlQhCGtvh88Y7Xnpu6DyebM5GbXEI/qS99ixQOG6cYYcwzUuCRQpjA4xkbc5huGE/eVAx4nj83gBFX4rnAKtWpJCLOH40XabgkwJBhpdXhFOP0cVY8TCLtRsP8DdgvZUJtVWPE5Yo0VtUKMpnSqZSptQpNeTCeZy1tXOOXadVq92hhuDVbD+RyRybHa6VCpMDhKIgIUi36VW7tg6XW9BdlVjIqf3T9ttGnRretj/pVDGvTumUSmcffvOb2uo3Hb2w0MjK3W508V7+3Lp6JTE07+pxW+SLr+tZFfCoadYc6rRqqpzD0e4TwrJMaaJhSCkd7iM1Jz3+G5aeIxMaRkytpiyGFxUHv+dzSm9As9SHNYwPOR0l5T40p9ynhs8AeVMIWgpEaDIZqYGeBHGemYC4RjPWKanH0DhhEv2h03jEqwhqwuzyGnq+EJE6mi15wb29uHrNYnC7i+WxuWi5YXI7rtzCfH9IYDMGkOngjf0jjD9L/Meg91ckV9GeCKlN5SFEqJHnBrDzEeY1K+oUwdmq2lpYTr6bNE2osYewljS2a2dN+Wwtj8tvmLtj8ktWi17K5acW82xLdqrmpUQC22V+BgcJgAA1c3l8IDxZ18fBTWYCxwc+UFosAD1osSqBBdwUDBvNszIe9keWlrcQduSWj2gdvxvUfn7ZWrwIjNj+8eMbm9+MxuYU6yK3mbkWaeynS5yhAsGcgLrEiASYHVlbKIflNA7RRATQCSYQKwyPjtAediwsyRokIZJ/XZ2dozUCtzFGZMvUaU5YeiYIpvS+cu0SizSlZY/knvNe3qa0pv69308YqK5jara6utRsPd98s2POzTLNafRZPGzLyFEDjK/DpJAM6s9dlBlqlU6VnWIVapYMqMGWp7Ozu3VrQ1NLrht/ASWFNxMrTZlfYrQdTk8ZMv914X/ctNntNNT93t15tWqKyZHoVQO3hnHpRR6OoD7i3CRdaORpJ/dROisI8AwQnKgaCc8B385m+ZbeqBItynzCEH3N9z+c5hRZegk6WpAjR8FDzxAElEl84uLdXvDK88XGv19ew0zSnYOoUgGbQi5YxGXJVpkZj0GvUqgyFHK0dNKAB0nJstqBgNKkywLNlwcLobfuvCxaazRq6yOuwVZTmecvKbMjSVILaHRMTO/pX5YYDOcPQ3zvS2zsiPT67aviVre3q1hpmj8loNsrUnMyoNGSps2RyuUyVocvSIP1GxrESn89tMSuUfFby8I6iTVZb62qrtTBYvEOikkulnATJKSYzg+EmPpxovq629AfW5cg6xLfopVI5lUrpB1Q11UiYdQmQuzhkZXA5Zw4H7YwY4BSg8bNTIGW0RIOGj9tpl+BK8AZjgMGnudJ5H8y6QkfHDeC6RJtvZduyGP/k668Ola340e9cDnlFOdf9WHttzfbRWpjReSxxblvnWvgK/MrSs//w8s6Tpaa1O3ZV/XhDDcijg4QQUfqByjPzQPOYNrRy3w1da9V18bITx1x9v93troEz8K6L4yB0+Y1hZ9bv+ydvDNRVrNoVszg7D84VE9NKzOWkCAbZQZXguuyLq5+S8CWxeOLAjn+kAADxkqe8FkZ9cTgiDczzbpDSrfAsod+oddng6ZzyismK8pycyHiEbVqYPyyWfevpwRwcO2OPHEokPwrGWsrLyspbYsGQ6fx5U2p9NhAuB1zNIkJUbFakJsSJ8zjTCvNRRTBOC6Dlkv1aZc7LzaQFk4XvKAT+gmhPKKSOWOd+eE4AxQZ1ZPZT7LCh5aqV+dza6zc2ZLnj0QIznJyYdMeZAwJ41W/1JH85dxuxP17jbpI+SZmQ5hugakiGhlEMXmOyo0rg9qCJkBMyIlsQ4IcRJQVnAGbVx/hJTpobNRjRLsfhiaJp40KfO9xyPAelU2pBuPqN0CLwgvDEv2/d88Vl4Hn6xKdCa7LDYXtWt8SjKJr7a99r+5u3P7J3D/uvjY92oFPg+fbu/rjqS/Do1qV7aGnyHbSg7NotHeZRP1ehIOD9+MOffzX2cMVnAlydW5zvPq3lGMDCoy8M7O87MH6Lt71jw8a7TqMzNP2Sz1/a08Em/wJGju/aLdZj3ITsrW2YA3K+oqXT4fLkYowJwXBhGWKU8Ebsa5kGDReHhi7CqelPYP8+wLTBByeBfmICfjw5kmx7Pvmzl+8Ed3Hb7v8CPgdH4HNf3D8zNbbz4AmkU1UA/YnhnQ8n6Jcef+oMktN3UNNcG6en5FS2WFHCbRejeQCTlGCi1YgGyWP0YF04pIfEODbBNJKBVGmhj2b/vKzbo/VFp9/seaC9xbf/yDizYwRUtYRBf1f9+JH9vpZ2yd0nPsZR84/gn7x3Hhmv7+oH4RZQNVKPLkw6Wtof6HlzOurTerrrR+CZRZg2LUYIXovKAdoc86JpEPreLK4KJ3zfeT7XlXuvO9ftPvj9WL336OHkIDzljMWdTqejMuZ0/F+8SbrGDXpLFuy/rWqD8R/gikgMv7Cdrh9LIOjiJp0HN4rmfhmJxYXjbHGItaF/CBs9oBCpcH5V0bHH/rHlSdDV2QUzBnsDa/R6qSqRot5YkkhWJ5fJQ4ZlJhO4TPq7QvVIbuW2kup0fC6D8yCRqGRyGB2SjHSYxxSSOCUSqUxDoHMvGOwC8BdgqdtTB0+CzsFBaS8AAELdQ5tCm47qIITfNMOj4KZmgPqmtfjoQ4vqWS2ok0HwKQveuPRegthNHantCIldXcEQGczwj70FGG8HrmC4DswQ8/xo6j7qj1whh6sLYZkjjjikrVJIXSAqQgQdZMWYIdIc3JyPkaqyTTGtZn1yZm+gNbuw5OU/5A+Dwf8eqlmdaysPLn2mshgsbXr3vLRfbm1YYsyQSgrgPfeUvPhyNKBryR+mS66+k7+1u3ODI5RRG/3bsvpKBYVzlkUbzr6gJoUdfSMf8SOnKsEiY0USduq1JJlcQra5IAWl4yUkQuHUS47ANtjWiN2SPbAf7hIhdQnz/FHmifkmjt8g620Ab5HhzJ5KSDCy/XAjeB4u/xD+HKxfDrrg5FsnT8Lt88cb51uJdP09cX81XXuBepHwGh5P1WqSEnWfFSlkkKzUEOgZ0lXwQwaY649+f6Ech2fTcpz56TkBvonkOKtBXV8rxkEXFuNztwmwDIlxupU5QM1z4h9P4Zgw+VIYMzlJj6dKMGOaXLLH9tL/AIxzQ2cAAHjaY2BkYGBgZOzcvTpCNJ7f5isDN/sFoAjDxavXJJFp9gtgcQ4GJhAPAGEpC8MAAHjaY2BkYGC/8P8GiGRgAJOMDCiAkQUAdcoEZAB42mP8wgAGTLMYGBiBbPYLDCnsFxh1gPR3ID6BxH8F4YPZE4C0CEQOjk8gyTOg0aFoatEw4wSIOnTMrMB+gWkPKgbZweQEpG8g3IfsBsYVUHoCmhwDFjZI/zGgeRFY3HUC4kew+08gaBgG6WE8A3U7CKtguh+uHuTHL1BzvqCGFczvsHBGtwfFzAmoZqKHPcNxNLEsoJ4uVDeDzeQE0r5APAPNLjM0d01AsysPiDmRwhCGJwLxRix+g+GfaOLbkMIQyc/ofJj5cP48JDOAdjEeQgtjkHs3AHEAkG0EDY/jaH78ghnGGPGLnjZDoOLCUDftBeKFiHSGEi9IYtgww3k0+1LQ7ETKQ2AMTaPo7oX75QtUXRpCPYrZIFyHFv6weOqB6tkFEmeKYGAAANkHWesAAAAAJgAmACYALgCGAKgA1AE+AZABqAHuAi4CkgLIAxADXAOSA9QEHASYBM4FCgUyBfIGHAZkBpIGzgcSB0YHqAfaCDgIUgh4CJYIwgjsCQgJFgkkCTIJQAlOCawJwgnuCi4KZAqCCpYK1Ar2Cy4LdgvoDEwMkAzEDPwNNg1mDZYNxA3yDh4OYA6gDswPGg9+D+AQBBA0EH4QxBDyEQ4RShFkEaISQBKIEqoSzBLuExgTqhPmFFIUfBScFLgVDBVUFZgWDhZQFpAW0hc0F8oYRBi4GNwY+BkOGU4ZiBniGigaYBqGGqoa5hs0G4ocPBxsHLwc7h02HWwdjh2yHkAeeB7WHvgfdB+2IAogbiC0INYg+CEQIZAhzCImIpoiuCNiI9IkWCSKJNIk7iUQJUIlkCWsJdwl/iaaJ0InxigSKCwoQihcKHIojCiiKLwo0ikKKSgp5CpKKrQriivmLIwtCC1SLaot5i4SLiAuoi7mLxgvTC+iL+IwSDCaMMYw8jEuMWQxfDGeMeQyujLoMzIzTjPQNBw0YDTWNUA2YDaMNxg3UDeMN8w4LDh0OJY5BDlIOZQ5rDnWOiQ6fjq2Ouo7EjtIO6g8Ojx0PKo9MD2cPhI+pj7OPuw/Cj8gPzY/Sj/CP9A/5kCUQQxBukIoQnZCtEMsQ2hDskPyRCZETkSCRLBE9EVaRZhFsEWwAAB42mNgZGBgZGHYwCDIAAJMQMwIhAwMDmA+AwAVeAEMAHjajVLJTgJBEH0zoJHEcPDgwXiY6EVNWMSALFeXRIkhGsXrIMMSEQYYFhOPfoEf4ne4XLx68RuMH2B81dMQwlxMpadfvX5V1V01AKJ4RghGOALgi8vHBlbo+dik5lvjELL41TiMDSOj8QLGxrXGi+Q/NI5gx/jReBlr5rrGL1g1J7GvSJpFjd+wZD5o/I6o+ejjzxBjn3CMEoqwMISDHvpoooM2/RRXh4wFm/499xaRp1RB9YjIQ4OophiPyMEYN/y69Ca6LWo8mos8ErSRsjjqPB1wl4p18i1GSGybNRyuBFmXbIz5bXSplDx3ZDZxpCseBupt44DqPrWSraOynVNRZy15TQ+7zJSkZVDAJU5RxhlRMCo2FxdUWHOKq7kOzVYq4YKMeLNsg0pP5xtOI+LY57fAt9q4ZU7R1MhKhyqcUhxptbLYo5f7x93LqstV3qKneit3ryrUVHOw1JRtVhxppTtVTiZUpl+ZmbV/V2Gr9E5ULfmHUuosx2kLzqsXCy97Wr1H5uXqXjmM60/nabFLXTJNnkn91h+P6YatAAAAeNptlGV0XFUYRbNDocXd3R0y97v3vTc4FFLc3a3QQilFSilW3N3d3a24u7u7u7uXVbLzj/mRs2bl3X0nJ2dPR2fHf68xoztSx/+86DP2R0cnnYxDH8ZlPPrSj/GZgAmZiImZhEmZjMmZgimZiqmZhmmZjumZgRmZiZmZhVmZjdmZgzmZi7mZh3mZj/lZgAVZiIVZhEXpokUiyBQqahraLMbiLMGSLMXSLMOyLEd/lmcFuhnAiqzEyqzCqqzG6qzBmqzF2qzDuqzH+mzAhmzExmzCpmzG5mzBlmzF1mzDtgxkO7ZnEIPZgR0Zwk4MZWeGsQu7shu7M5w9GMGejGQv9mYf9mU/RrE/B3AgB3Ewh3Aoh3E4R3AkR3E0x3Asx3E8J3AiJ3Eyp3Aqp3E6Z3AmZ3E253Au53E+F3AhF3Exl3Apl3E5V3AlV3E113At13E9N3AjN3Ezo7mFW7mN27mDO7mLu7mHe7mP+3mAB3mIh3mER3mMx3mCJ3mKp3mGZ3mO53mBF3mJl3mFV3mN13mDN3mLt3mHd3mP9/mAD/mIj/mET/mMz/mCL/mKr/mGb/mO7/mBH/mJn/mFX/mN3/mDP/mLv/mHMZ1j//2dfYcPHZxKd/+x2d3q6jJbZjLDzGYxK7M2G7Pdky15LXkteS15LTktOS05LTktOUlOkpPkJDlJTpKT5CQ5SU7ICc+H58O/K+SEnPB8eD57Pvs5spwsJ3s+e3/2fPH3xXuKzxXvKT5fep/3vsr7Ku+r5FRyKjmVnEpOJaeSU3u+9vPWcmo5tZxaTi2nllPLafw8jbxGXiOvkdf08JJ7Su4puaPkjlJX73OVWZuN2XNvckfJHSV3lNxRaslzT8k9JfeU3FNyT8k9JfeU3FNyTynJc1fJXSV3ldxVclfJXaWQ576S+0ruK7mv5L5SyHNnyZ0ld5bcV9hfdPW+DzObxazM2mzMHm7YY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY+hr9Papr5Hl6W1kefob+hu5h5d9n3vfly6zZSYzzGwWszJrU46e58rzep71POt51vOs51nPs57nWo6+Z33P+p71Pet71ves71nfs75nfc/6nvU963vW96zvuZHXyGvkNfLa8try2vLa8try2vLa8try2vLaPbzi90vRj6IfRT+KfhS9KHpR9KLoRdGLohdFL4peFL0oelH0ouhF0YuiF0Uvil4UvSh6UfSi6EXRi6IXRS+KXhS9KHpR9KHoQ9GHog9FH4o+FD0oelD0oOToN3TgiAFDRg4b9C8VmLmgAAAAAVWwJZkAAA==) format('woff'),
                url(../fonts/dashicons.ttf) format("truetype"),
                url(../fonts/dashicons.svg#dashicons) format("svg");
        font-weight: normal;
        content: "\f148";
 }
 
+.dashicons-filter:before {
+       content: "\f536";
+}
+
+.dashicons-admin-customizer:before {
+       content: "\f540";
+}
+
+.dashicons-admin-multisite:before {
+       content: "\f541";
+}
+
 
 /* Both Admin Menu and Post Formats */
 
        content: "\f165";
 }
 
+.dashicons-image-rotate:before {
+       content: "\f531";
+}
+
+
 .dashicons-image-rotate-left:before {
        content: "\f166";
 }
        content: "\f169";
 }
 
+.dashicons-image-filter:before {
+       content: "\f533";
+}
+
 
 /* Both Image Editing and TinyMCE */
 
        content: "\f476";
 }
 
+.dashicons-editor-table:before {
+       content: "\f535";
+}
+
 /* Post Icons */
 
 .dashicons-align-left:before {
        content: "\f160";
 }
 
+.dashicons-unlock:before {
+       content: "\f528";
+}
+
 .dashicons-calendar:before {
        content: "\f145";
 }
        content: "\f177";
 }
 
+.dashicons-hidden:before {
+       content: "\f530";
+}
+
 .dashicons-post-status:before {
        content: "\f173";
 }
        content: "\f182";
 }
 
+.dashicons-sticky:before {
+       content: "\f537";
+}
+
 
 /* Sorting */
 
        content: "\f180";
 }
 
-.dashicons-info:before {
-       content: "\f348";
-}
-
 .dashicons-cart:before {
        content: "\f174";
 }
        content: "\f502"
 }
 
+.dashicons-plus-alt2:before {
+       content: "\f543"
+}
+
 .dashicons-minus:before {
        content: "\f460";
 }
        content: "\f227";
 }
 
+.dashicons-info:before {
+       content: "\f348";
+}
+
+.dashicons-warning:before {
+       content: "\f534";
+}
+
 
 /* Social Icons */
 
 .dashicons-money:before {
        content: "\f526";
 }
+
+.dashicons-thumbs-up:before {
+       content: "\f529";
+}
+
+.dashicons-thumbs-down:before {
+       content: "\f542";
+}
+
+.dashicons-layout:before {
+       content: "\f538";
+}
\ No newline at end of file
index cc49c481742999638f66ebb1c7de87868998b636..2c8e0ebadecc229e9041b4d7a71aef023681640b 100644 (file)
@@ -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,d09GRgABAAAAAGBQAA4AAAAAm3wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcbYyDmkdERUYAAAFgAAAAHgAAACABIwAET1MvMgAAAYAAAABAAAAAYJYFaatjbWFwAAABwAAAASoAAAKC/cQq02dhc3AAAALsAAAACAAAAAj//wADZ2x5ZgAAAvQAAFSXAACESOAO2gZoZWFkAABXjAAAAC4AAAA2CEgozmhoZWEAAFe8AAAAGgAAACQPogifaG10eAAAV9gAAAEcAAAD2GOq3ltsb2NhAABY9AAAAe4AAAHu4pbA6m1heHAAAFrkAAAAHwAAACABSQC1bmFtZQAAWwQAAAGKAAADLCbHbA5wb3N0AABckAAAA7UAAAmnz3C/rndlYmYAAGBIAAAABgAAAAY81VSHAAAAAQAAAADMPaLPAAAAANCh83cAAAAA0KztU3jaY2BkYGDgA2IJBhBgYmAEwq9AzALmMQAADtEBKAAAeNpjYGY/yTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vqqzXwDxgaQGkGJEUqLAwAgAMrcKp3ja3ZA7SwNRFITPNTGy7N3jglosWCxIkHRBVAw2q6JJQEWMILGQ9dHEKjZCwCKNhZ2t/8hGG1EwWKuVOvehjbouCVhYWzlw5jAwfMUQUYZ6N0oidRLHaRLdnBVx+jcoon4azn/AwRACjKGAIqZRwgIWUUEdO2ighRMllKMCVVAlFal57ehAF3RJV03VbJq6iU3DtMypObdZ69jAjicJUUol+BhBiHxKncAMopRaRg0x9nCItiKVUb4KVbFLFdrXoS7qyFTMWpe6a5qmbc4s2Zz1bZgknYHBLH/xJ7/zG7/yCz/zEz/yA9/zLd/wFV/wKq9wmed4lqd40jvymt6Bt+9ty1huybqsyXW5LJdk5HbcO/favewt8/cSOfpBi77U+n4X6N/rG5Q9gGkAAAAAAAH//wACeNqsvQd8FGX6OD7vzM7Mbtpmsy1tN9lsS9nUbSFlEyD00EKLBaQsPWAUaRJQMSIqJTZsiA0Re1TkLBxnO107clFPDz3Uk+PUO/WOrwdJ9vX3PO/sJhvE+973//lnM/O+887MO++85enPM5zIwR85xR/iBE7iNFwKp+W4Sp1NJ+hterOO2JKJTk9O9T5CH4s8QneQ6Y9EHuEPRZvIDdzPtOdnQqMfcj8TD+W5nznCJfxVchzPhbmo/ILUC3X6OU5DgiFiMluJ2SoEghoiS4Y8YjLIabwswc7Kh0gwEAzxwUAVlFcFxf3R+l1Z626pKX1gWknd7JYVNdGHovVPWSzLLJacUYtNI+y+KRXy2CWXXOIr8KY2+3It0+DUNIuwiX91V26q3WXdUpaZa0slKdGH+FefYmenW3ICY9Mr7b5LLlkyVq6Y7Cto0q0cmcPq5AjxcBGpUVZzGdAntiqTUWeQSgjR2Qtcfp0vQE4JnS1r1rREaEoEUlm9piXa1LKGppBTa1r4Qy1r4LUF7t9QxyfSR9CXaawes6whbg3xe0UC3Yqb1HjHsuj66Ppl/I+kKxLdz7f2TRHyabtq0x3L+GtZOW2P3Bl9OPooP4NqySmaAvVGuF1ym1zDZXIurg7qNaVrSRpxkwYS8LldBVpCXAHI52vYsSQTyWA2BWRikrREyne70htIiJhZaZX0j02b7mj5chmRmpsbGhqebphIn7AMa7n9CrKw/1velJdX0JoX/RaTMrLHiifo7iuUW+j8xsaGp6VDWHJ7yzArESc2QwWNjc30iWVfttyxqW8WVHB+Xj5vjX7D0jfIPezEpk1k0Sa4xULnNTzd2MBxKpgfYXinNk7P5XBFOEeIzucqIW6bbC+QoPdNXltVgKsyGaQCl0+06Vga8FaZdTbo0IFD0VBb9NA1tP2ah4pqa4uEk0W10cYjN9105CbhIDkFyU1LzDm0B/pUyQud/KGi2kiktijaBDfwz2DxEVXfiSV4j0jOUHkpvZ8dcPzAnBBgRDkcPtFmtOm8fKtwsu+AkN+fGSGnREPvd+GIaMDx/4Y7If1FOsmp4Z0cOOvdJICzXgwSOY3YbbJU4Hb5GuBNAxrljEzEPHroRdKUfaHLndH/+gXCNWurvp1HOzo8HR6Pp6NekEhTFp7LpoekXOVSvdt1wdvt/RumV42Ai0o2ejpI59xTdC+cyoBT2fRFWH8R7nUpKvVzRs4GbZdUboI9FiSujGDAYdbwJgkXGps/sBqlzgX0H5dHvxp/9Jbx/Dafb8EcolpD/0yyibWoune3dbrFarVMt1qEnxf4fNHLxt9ydBxvvZxkLJhT7aF/pidI3uqfo3kWS+xCTiAe4pHV0l5Y/yXcGGV07bbBkSVeHNoSYsSBrCd2HM1a7BhYevEjPx5Z4leyIffL6tqi3u9wrEVDUW1/ZhizYUuxZSBDTp2jrEvVjfm+KTjoltqW2l1Gi8W4CzK8C3P0/sSy6KeYY+CR6+Lul0fLrTCiHIFhdEm49MwydKcKupK4g6YAri6V4SDf8ZtJr4ya0KT3/eZHejJAPwy85SfmH6GwacIovXT/weg1B336URNGvTz54I/0b4G3AqQULvgnK2x6BeabAebbIZhvmVwFPLugTFVOXCHBWwXzJE0UnJBaSJrKXlDGl0PnhIhXZbpwasCTpRMESSppWBRavLUsjah0mSX+TST9sj9s1Pof3PvlwkVfPHGj233ZB5ervK76cePq9frg8gUTStc8MlvOGjN8yjD614Nbjq44I2rd1kyzrSAl+Uz7e5sVGB6W1dAeN1cOb2+XZHhvSTba/C637A663HadNxB0B82BoN9mNJmDZtlk9nJVAZ+rQDLI6k+zg3cevbN1Me1Z3Hpnz53BzE8/MQ+DkhltxMNKhpk/6a863d19ulvIXz4TzsAln2YG4UzrYlK0cDaUBHJiJbMX0uHdeC1rV0QukKcCjIVR4UwZgEVUbkEUbG5lemdUBfysDVLDS6NGzW2nb259kX64i/aEhZwxlavmEr585aRJKyfJZS9RSn+e2+5vpM/m0W0RgdxAGlbNHRU9Pqk6CFfgs0ih3AbzWIcrmlSpzHIZzE9J9mqIN5Dh0Bc43EErzNFA0K4h9jRBOHkn0c1/NPTCsrt/LDhJ76f3H8l8hZQ+fhf9YaCUzCFzjmRsOPi9tHdT+6stc1+7lbaTrv0kY09vZ6yAdNH2TZ/dO5tDWBmB91XWUhas5qJfriYuX2WWVPkOd0DF3ttURQBS+eHH1stWtl7WwXoJkhbi27CBvkOfoO9s2MA/uGbvmjV7Yf56ercSj5CPoA0v7s+EvTBuz44de2A7jhetie4Ph8PQnlQuAmu7DeaFFqC3GcYgD2ZICcyRIFfLNcBqn3CO9W7T2fTQJG9si0P2ILTTCeeGHMN5VcKx3Abv4GDvcKyottfBQC7xKP99K4otsMIj2GF8KyLM/mhCyaGhV5AuBBsxEKL6BAo8EfZHUyzsqnAYcLonnocTsSy8N+KDsLSX0QjWoVSCLUYluIOwMGCVwFIAiuFkjGKgPZAR9vb2huP/SD/0H4/TD0J+y5r+JxJOIy7hYMyPwLNk6OU8xCV6ux5oCQcb3YBPcJrMLnuBSnY57AVyICicjJrKIhW3CCeFk/3DW2oBioX50vZMX9Eh+vLs2fTlQ4X+zHbhJCnuO6haXYt9EWavFv39n299Vn5+9+7n5WdvVXCePFJeA9SgDikYINIQ8dmAfkN0Jkt3bLdYaEvfAVXJAeu06F/5rB3Rk2Pk1u1AY9Gp/cPEYwcspP8mPnNH9K89HNCV8AfvcQRmip1rhZW7jGuHonS+jDjyVWmET8+wEpi5IQJz2JSRzuM0dkFpgNGMLlmyF7gDDi8sPJdkNAAFaTKbAGkAzRMiCHjZFS4AlJIpj+g1JKRyw3leQ1y830f0eLt8ZOHzP9H36Qv0/Z+eXwh5UklGk8qfnu97nawkE3/cseNH+gy9iT6DOVJP319qSNMbr5pu068k89+7k5jbfLPNpmxRqGrIz6c/Gl1qtUFrMGyebl9qdxggO72dPEdEQW3SyElzPuw9Rja99T9C8derNy5eLIxSHrXwrCaIs4Y8dCJrSF+R4Ffz3nKSRPa9snKBPGG8ZXhhkVqctaXueEsL/w+iVgl80EeSJV4g/iBR0yPRXP55Oaul5cphj/zhT3SbcFPfyQXk2m+foW9HdxZbOTE2Z9tgRslcMluxHK5FAhB7yOYR1/VuVTX3Hwe6hm18a3S/3Hb6tLgO1kTP4AYwcQbpkkU5DWiLEqjN5y4DvJgRdKepzAgJgwHnL4uEmWOrHh+X9d59D8x/ds+KqvTsrx65bd584clzlfIfbb6wwZW+kwyf+pfyLQfePXPlH/pbW3edqxCnlzhAS6qA8krh0vEd9UBv2wgAErbBC2qIDZBZdH/fFOJRdfdNUXVH90f3C/kIMeS2vinR/eIxeMF2BACYklNYN59Ap7oQBxZIlkGuwMtAwAAc0JFYuaq5Zep1tAc5hRa+tWUNbggJesKQiut2jH+O9hDPmhZyCstpO2wpAAwGymDJMByHz9UAvNVBT2dxFi4f3wuf5oSHiIJXb7MLXhLfYJlqeCBYi2pPn64lz0fCAKbDkTDQQ/EdAvlTyrjWFp15iZdCRbVhfOzgBnTtyf5MoZO203ZG/yjvH0YYRJwBIMfgVfNd6YwSF3Vp+MrKgS/Av6iaVFj7Lv383XdvHDexvyMj0nkjy1ZLuyNSQ0mk7x9wTAretfOrIv2dVz7G8kJtoT+BH9AyjmB4/E0Nkj0OXOH9uDh284Vk78C5KqsqD9Z9lZU3fyGl+caN8535J+zFf/du5Q8pCO5+IiYZLWU1LRUKbiuaWOOzZ0mSKr26cUn74pHeZLktdpsPqzjzEi4HoZchPtqjzm6Z0jZ7zshihheL+EOeMTNmjDGZUooWTx4OJcb4XIkwvKhn1OJZ7fcCnuPyA+mufCldPEZcnlDIc+Yd3BMXUMtd9CbS/M039MA3UmPI07egtKmpVHW3JxTp/e4b5QQ+Q4Jn7Brgm+yw/ryAczmAnVbekMYD7CzjfSE+I0aDqc5K41hWiqVCDrmT1Lx5pc935Zv0dbqIvq7k5Y7W1o5WPjsxiUos+R3DLXLbyFUPv/DlCw+vGhnPRO2t7IKE/+hmlrTX4j3AY3eRUwx/JivcVPwn7UUcibgQoJAhnmO8r8KDKfeY8S67H1kwYML8QaPdaPfb/V6gJ6S9sLj6O1TNgLIBaYdFA+D1cK9D6Iyw40gE+XPkSaS9QEcpsBBGyG/DdgiYKvCvG3g6zIjHIv2ZuFKAc2Qw5qx7Y3BUuR9THeYH6hE6sTGDa2pIlYzxx///VK8uVncRieVZvVibuK6/A2kUzLFaWWVYcazOX3vPrIT2wRr/xWsSJP/EdeI6mMmchscjAIrr6Aq6iiP8ITh3TNWtnBOPYSmCUL41ds4Qv080YCmQYjeT7ezcIfEYsMfsHJBjUIrXR/f/x3OyQvPKNdAfeYy29DLqkuEu6A+FM1RSo82IJFE9wSkuJuSx/5w6O+yVDVad58xLxAOTknTBrr9DIe74Q0pKuqCHuyJ8K/5LjdA968Kh1tZQmO17kSccuutdhQMdRqFYfEOYCW+/QHKKjyD1Q8zEToJm8Z4t0b9uoUe3fCs+MidqJjduRB79j9wfpdPSaQVjAW8xSP/4fRkOwCfCyXtJwdGOjqP0c/oS/fxoRw9ZSu6KviCdHizqOEoK7v2QLD3a1yao6RUc4/0jjG/TMv7obLqKBzJS1hCzhjDipPCjK674iP4RSJM/Yk74HU5aWE6Av3CSRRROPvESUshu6/fiqcjQy4fgTA2+l4aIRIBnESfRi0TvFPXEKZykPbAQ7r4EJ0o72Q0TsOcb8gF9ZRb1UM8s+gr5QG6L7p9Aq6JLsVb+NvLeBLKOltTQ3dHoN98A+ROu4RLwEz6LPQkoQFY/8fCtNNyOOP4SuoBv/WV12E4sZ/NPxJlFiggBCigToQ+0MAVmMowp60/kg9u4NIUHNKUzqhInYojoY7ym0WBGwYAJOUFiEl/bcvjwFptzGeDTFzQHrpl99dUvXJ1DD9uvyRDk/KespKlCbvsdPXVYvazvK/HYjXdF/9R54ezOztmBSrjotQzVBrgEAR7ZT/ZLhVIRW8eKODGoQVme/k/0EXrLe6SNPvIpmUXa3qW38GveIyvow+zwPXoLmfkpfZj7X+cDlx8i6WUkP42km841IchIkn5iy5YT9AfYn3Mi9C3fcmLgGoQ/XTG5mRnWbim02zsUEzI5T77JKOhYx+mIO0RifWgyy7DoBjjQojDivgjgYOJxuMthzZa7HarmmPSuCGV5xLPvm2/24SRktFRPtOnjjHEeXLCecRkfD6UPkYZyck3cxKFtqieJ9BxCmAE6IyR5YZiBssjDLFIYgILYbUap8bWS+vqS3lMl9SwjppTU936nau47QE4xtEfyebUlPzBsYlF/R3WLy0QIEVIzbO7agvIJRbki/1K4vqT/SqlRqaO+5DWljvqSvumqZhphOJT2JDmWXLRq2jCkx+Gl8vJU2iJXmc2MREe0AmbrlSX1wJxqEugnM6MM3AxmIj/OBYH/9ifw4xkx7I98Nv9f5BlNiQQj7CMM/Yvr+g78+B9z4dqiwbukRkYB1AKb3f6fcoljNfgenPNsaUe8bTA0fEJeoWrxofjoM33naFbiq0ii8lxEV/3HB/Mcp/Df2I4jwOsbucyh9AqyTzAPYKKY8aFAKvf0H0fZAgCdQ0Bzo7wZGAnSJeRjFlNG4LWzc9EmoGzwLMcpcnCFP06CJ2VyuchjwET0F3BGuyb+UJElKCbhD7268/aT9IeniSRNpylIaQj5AEkBENMUoNtPiseuu+Mo/dtn9HH+q96tNEU4CTRQtAlYD8Cqv/I8DTySsxurTCT2dnqWCEia1b5KGon0NP3h5O07e4uwNqyVIYUwPo0+TqZ9RsxH7yByfweCTiShsB/6O+J9qWJ9eQTGNJnpRYBYJkYFjePeadOgsEq0EfkI7YHae5BG6TvBH6L384cQCdP7oc/mqJojyJhGkDeNkK7omnAvY1Fi74RjhfSTUn8M5wOdCK9h1wkaAQYK7mM1VOGdMConabu0N/5AxAv4MCACs1FqhzI6hs4Bx0S4o3IStN/MdC+yEyC+24U/uw7GqApFEtKLkyfTb4JB3/x5Gzu346u/88LBrdcLn79Al7ywunP7js0b58/zB+FZr5BX6EeTJ16/Van7dahbHas7EISfF+sskCX8AVIRXenECFcffOEdpIy2d3bMn+8LBuk3k4XP4QETJ5NiGqIh4gn6583fuHnH9s7VL5DbGT8C3Q/ELMDhdDaDDZKsQ8GJrgwl6/kmFRMkuQrEdQ9fHa6quvphhLXR/WwhiOuu/6ggeqcnnJsrlBV8dD3A2Cy2QNjaUNaoekAaacNFqEB3JrpHOArUGbHFV6cjlvKtQmccuEcwQzxFtUDyt/d3tDN4JxxTWI5D2AqYbizB+duewFbE+KDIWTJI+7l5RiZ1RCo9lg4FAb1bUYwo5KNYAJKh4lKFkBfywwqT3K6kMboDqSLxGOP0rKjGYM/0BYK4A344xDCMQXz3moPv3tifeeO73Zulm5ZUllX97tJ93whfp71+LfLG17ymy85dcpN+wbpv9lUofUuuBZrkDwDRzShdAZ7fLMHOHRB9OOXS4FFIY3D5jmAZQVEXcON+XzCNyCb+Fb6Z/OXyy2lu9ADNvfxy4X98hbr8yqZmf2ACtZGT5K6lo37YveLv9Om/r9j9w6il4h/o0dOn6VFSdvq02tOUwvOqcV5/c3P0tn8e2vBo0ep7Hvr73x+6Z3XRoxsOKXh0kI7QM86z8ZdyXjcsOpENv13nNeI2OBoc431N+YLZquh9sLuG9ngYl2BfUJWd5wnDnyev70SexyO0Il8M03PfxGATEANNQVyxTI4buxOu3AgUKO3ZCJfn4e1RPsZO84dWZYbrkTioD2eydUEMhEiHpMOch6vGFZ0hK2LF+E+GzpSUBR77SQ63Kz0YcKiEQLrblS9L6WZTvurwDa6lQpa6oDykqrdV2h1mk0oYUVFZ5fN5K20evjQ/M9NwJ7198733LiM5JMe+aNFi+vmixYsXkQKp7Aa6/h7BJOXkl6hKbZVINZZWjBAEk9Flr7TVCQ1l+VbDNN9V95E37102YUI0ezGxLYY/+ufFixHm/YJvHMBQQjztRO6NcYWYqJoRfOCmiPYYmwXrCHgdmMfrEvhPs1KXE2AnIgKg1uwDUsJTwsne7yIAg1Fk3qPUAosaQHI4XqnC4uJSAYQuDehQtQCX8xg+L1EghsK+eYGErjKJtjLoE2KLL91Erk3VjUCi9zsEFrqdB3bSq4gnfcb8GXQuEoL9HUgCAjbFf6AzisJAPc689NKZJcOG0YdjRORQBk09MI/xndNjsjUbUIacM8bNw/srCmazHxaxM8aPxzdZjeIhFCH2dxAPKqWOo4wPcUp8w5Pw3nCdAcmBng5UckUia1pQtAgUDwoauThtzsZRUvAWMoFGfPwgge4QTu4kwosXw7gduvhFGqVf0uiLF1/8IhGEk0rJTujzpp3xUgBHcDXH7AYG3zNZebt4v8pq1g78x2Yi2YqjyGgf4N094jGpEXBpLvYKNKcqqOA8P1LqbpdN0AGIQ+Bjl71VRoMslQDXS15/f+06r2/VjEWrV9Ho+q0rfN45S3bd+0dv1fL9wE5/F17w9KYJzTka7a7LHps0ORoltnzb+Cmj/3TfBSUI6Qh5B+a0Cp6LvI6deGVb0EvsQZv4+of0ZE8oOjv0Ecn8MMQ/gCIQmISdOL+62DpoZG+oZxyHHXWnLpQMGFB7xP9aPszQSRhB/KFzZkWDIr4C0unsDJPFwbOz2dihjNYHsGQxt5zJqGQzIHIZKBujTfDb/UGG1/0oFLcriN2MeJ51IB5qiZFdCh0L55VzRqYcj18D7KbLbTR5B4YBrjHjO7SOuqqwLCWDJ7nY4A2PeavTjJqk9LQ6u8WkyzLmlGYajZnmlFRJTkkuX0B24lVXOZ0Nk4KFOXqDscZTkZfnzTQbjMU51qycqqYpxSXZWZWFWearlA4gXYu9zqSMYvqvSDj6+GhVhU+fbTbn2mCThJQUc0CfnJSckqnVputSK8M1r4bpJ2VZ2YV1GaJclpc5IiXFkq/VquXU8SabrbYwM1PiNbm5TWGAwQ7SJX0K42ZgFMSgwoDnf6lEGCgTnq0vuSVkfPL6G5a9eMtYnenVG6+cPk1wDhbeDIWvYCG/75KJflva5SRj1Kve3W/T6NYDH08Yf9UlEwP5ZxdyvwJPz9KQ4GqPy/ZisjNcPQPbf1MHTNzjqmZFz4Lp/5c6pL1AknQinoylZ9dxbpkiQjY/UwqzjRkj7VUkiijth60H9QM45Mi9KFpRhOSMyI7L49I5K+fiarhRwEO3cnNQGgIYM+hS5jUjTYJ+SZmwQJUEiFewC96gV68bMncxY5f9A9NbtMMKgYrEeEkJYWIqqcJhz3bZJ10wc8TwgoJtna1j84tdjvNKyysq+59YcnzZ8cU1Xx/9ZGF1tTV3eFVubnVg45QZTZY8S249nfZEwKzRqjVky4LGgvz8vNASmoZWXGFk1aRDyWrdVLfTOabpolv3ZE9P0qiHBdqX1tVFmXpkH3k6ur/M01Jnt6eoNHand5LDcXqfPqOkzGBYtHt4qS87a5vZXObNzIy+ACxWfhg5MKSPYjYvIut1I6MNZb1T1hURnVvUMwsis1MwF5GgIAZ1fOvGL+h1GwHBdW2k133R/wbf2ndgI1n7xUbarure+AVZu1Hai2c24ijgcf8Zprhlt8Uu5ACDxWnhRByeM4Bt47LThtgsYLQwytGHbuc+Z/MLbL4ox6gPlPaiDDVCTiX8d51VDIxvShinOB6g1g2wY4rCAUcG/oBhhQmMWA0wc+tAaY+SIp12CvkXoLFNXDZiBKQOGI+hM1iFqpDg17ElFdm2dNmtkazhC+6J3LdgRDaszmPR3++8a/c2vj76bP3aDbNrhl1w+dr6KAoYVANjNLC+9PCSiT+GD4dseyPxJmGbyCnxbwzfJKEUCfGU3ua26cWSw3QBLMBDy8n9JfTlW4ETRlGQ505yYtCGA8ZIBFxhR/seDdNMxjU1ivWbGYqCCfZvRLAno24vh8C/6iMiAW+tfpUxYkJnbdGdgb4pwbvitDP2XDh85KUIKkHCgOB7wmFc3oyh6zOiBVTD3/8RillBCeOYICIF2OwUTBV9Z2I7tYD7SxPaGRPROX8hzUOLIIHpZby6oY3kr7lrkEq/Kwg0Uf9xmAKDbaspxjPFxdio4pqaYqWRf49ejdMDmhSzwZO6YQ64mT2ChRhkIhWU86564gsSRKNo9lhOEAYRZldaJd66sr4+urTuibqLIcPfVjdrZj3l+c0Wy0eWkmJLdBNmZkjixXWzembVRZfW169k2Xp+V319XwQunG79yALXWafDhdgvOkZnNDI91K+vr5Ex2xcGYnUM1MZXE0qL5VhePCv9T+ekRiSzETYjVdafGRZOhsNoiQMpEN0D+3OVyepwuNcRDqMGP8wMW06xTGRgd64ytIVl+GMlw8wKQE5jg2xD0A0MkA04IJ0B4DW+KHChDNQLJw8vDI+yrZgCa33nTSPGP7gPCNUvHnxwXOgWehPfOn2ldWR4gXigre3dl64NLfBGIguvueMgSb7rrrt309PP3r55WSQSDIeu+e17y9uQRg8n4DCUGiEMsHIFCj4UYZPtfjStdSagRnsshTndjugxHEFaPCKc7O9AIMOUNYDq8mmP1Bhm1j0RFPXEwY6ygBjfomZaj7Zfez7auxEvPt+e+HzvgDEF4BkEd8zmKIL6dGQ+ENxBMS4BRNph9qxfacAQPZ4W5lg9s5px2AtUEjAFJpW3ykHs2O/BOD4tkN0JRCVgYyEmimAlBdLeQ/Tw4QEuYedhMoKO3p1pGlFvMOTmelvbG6++ad3YMZac6cF07c05Pm95bk5OzlyhmHSQkS8OMh4vkhUl1cXuqpLcbIfTqB925fiamnkjSkvrC80mO307u7yqKju7ojwrJyYz4A9IfxTNXBM3iTuPmw00MswpaLNRIWrtMXTvt5vtbrtsD9r9QC6YvTHaQEu8ilCsyiy73AqZAZMOmHQie9049dyS0+iNdwFUYxTddqNCbEhlhQW2wtGtV4+u1czJCA5b8PH22Ytr/1KzZPbsq2cvu/Dpp1aFgjnqq9RmR6hx1uxmpDQc0yrsGuKkn2jspX0nMhYb+WRVCp9Gnl7rzsq1WkfSix7nfyu8tKQuP0+QZTl1evbkke355VPKSnt7H3qoN3zmTG+RY6LPrglVjLE7XVNTU5JrPSPDE4urybhAvViQUpRUW/uAoNWXF+sz6GlCCL/fnFlVhn2l8KWKniIXoEsBF+CGcXUMb6PFtyS7G3jF4FtwK/bevBdVa04SNMsxO2+zVjHzDooaQE16DRGZwXdpw4cPx+29m/cOzytDe+/eVpQdR5g+mln8HG8cf71i7n3Dt6NuR2PvBuEMiguQsEQhuZAv/YNZf5flDd8bN/5ufvijBs8dmxBOKbZDjH6MvjHq2xsUw+/rxzfewS6drNQBC6ALHhp7Z9LF8HEq0EuonSmDtw5xoxGKBnQ+3uXIhwlvTI/L/FVnSRQ1MbvggYJ4OqDCWac63j2otOL/zRATfVRBohcoRxPIVLTzGMOOVN8qhYpagnT9iWQ9EFeKPUD/KnzIyrcrCgP2T9PJG9H9KGKa8XFi8Ym4yDRux8DgiQ45cTvQWiHg1ANBXRop45Fs8kzr+eQ4XTntuz///E5EPNbrQMFKLrFY+Jz+43Z1QZ5agQldjN8d0O2jKF3ZFN1+fJMaI0wiFok9n2+V9jIdvYg4XQdTA8siSO8KX5Ob2cChqh+u7SKE4Tqk9VFfyKNizioCwA8EQ2IQZQC8Kt+UjoZAqhugY7+7b9slKreh0OJMv8ZiuSbdaSk0uFWXbLsv+iLJfest+pe3ZPV99LsHdpyZL9gynJZi4xPz5j1hLLY4M2zC/DM7HiCGi/Cqt0jugNxC+ohLAe4QLS31CfrBuPKKOHWiU9Q5Rb1oWF037qYjN42rCzLenYwgY2lmdDczI3n0cf4JvsW2evSSm25aMnq1jVzKOHi67pr+jrffRhnC9qhrkL9B/I6wHuVBJTATkZtnWgQmQYYW2HwuLCKQ2tHCwK5zDFBGxF9QJsK5rggQOpG+KWjKRbpW9/8YFvIhnYb2nmHh1n2rUZ/ZtfDhdStXrnt4YUzb3EN7UHGi6l7TMm01rBAkyTzTVq+JzsRsGO+GM9G+iM3f2Oi30ZS4DBzmVDLTlqF9mItZSNiNdiTG/MwmLC4LAQpNh/oKNP3DNzgFlHOkd2skIhr6pggfMUuncN+BMLamP5M/BFlpb9+BSERRvADuJF3MmCpaBe+DuAzokhSWVeTWuI4bmf1dPsyamFiY0bEw3Yh8lqBYyK8toilFtfVucqqIv5nxNbVF/ceZG0d+Ua34DIr+i2sQg0PHoFkGnoruhz2zMSCn5DbgDWLc7dDKgdUi2JPoo6P45yjiyUOKJR5bq6SZhqDfQyiDi+F6LfPaOasuJ7S9bU1L73d4p2hoWdN3AO2MFeve/kzYH0SQp+iJItJHMIeczEpAgUtBp2SPea44XcxeBbkYt2gyyGJAfIQJBjV0/HmdkOvYfAE5qEGBIuToeI2GHDxPyGfHBfYTCyCz4IS9gN0CmSYoUmSIb3Bvsrmbx/wGUM9jI8qzALma8dEkRgoEjSZBR0yK9D3oxpYQWe0t6s0h+4ywMsSu0hFAYi+qbQ1l5YpF2+lvsJQ8UFiRmUNfku69cIKu9wv+PqcbFew6Q0OVhr/KMz7UmqRJ1vWOUJ0ffUY5JY+1JFFB0c0pvCnCEoTtnDNxNSPVDngtMFgQB/RnA3xZTUoDMP8avHSBrzEUNn+Utnrfan8p/UgyMzDbd4PCcnQqymTVOzkXBHCIaudlRle6mqrvKHBOW716WuD8nOj34jEGoKNXsORHxT4N57AG5sEbTG+OA2pKIwlaAIWqitFWQIbobIHgwC+uO4ijHdGFDm8Dv2DCpf5AEO5FHUP8F3+CNNNuXrLebixw5DkLi4vPv7CkqNBpsxWYMnUkJZl6SZJGKK701jUMHzP6tttGjxneUOetpAeZD1O0GO69vEC511Ex66IKB96bl5WthXvJu/QnXo7d3DjxttsmNrKbxW2+9aPNvjxHgTErXS8b9JqM9CyTrcDmKOR5azHxpKtCld7Ckhxran5+qjWnpNBbGT3IHKwe8V0+OjN2Z3qSXp+UjnfmOYrseCft4dNit+ak5+en57Bb2VpT8H0K6hkAMKSp5AzAhwQYX1RbqGQbcIcpM6+588rrQiYynzShJV2k1yE8Sf/xED2q6gaAUMKnuRraxpNUUmEkVQCj7o0eUTVX3I5rcBnRyYukw+iECBQTzPQkIqns+U6TN58pzIA0LCP1MDaoBQ2aVObYyggEJTkgL5rQRmZ2n6KPvEqP0GhFIfdzZO2LDre1vPKKh6bMnNBadT257oukj2+/t23T8pK1y6WM9kna/JvpJ/SfRzoeFO/md1wsp2a/1akqEbz3zQlPf/jt5FL3bR9flt3QOTqZ6Q3J9TF9SB5KqRHIyIYMcxWDNAzu+HWxHODYA09sIN9+wScJvGZmR8fM6HErH2KZV2T1hln9l0nCB/RniXQ8scFNyjc80fHeLMV2QcGf3wPfkoMYwWnzJRHOQ+y6qhSSTUSbj+cccKAymzLEAexlEnuIb9X78C730XmfHCXXk9D3V0ePE99++jVd/9Eukr582SXRv7Vu3Ni9sSPyEbmdnEfs71xCj171LX2Dbnj/D+QqYn6QHm1fsoT+86bLZ83csGHmrMtj+nMFtzoSrWJ1XqD1mZuXi1lVA9U+4EdhE3c6vV4nXXIk7/uq0VeOWLfj4Q8+iPJOH4ABr7O33eHj2368s7b2j5qHbn/6x+gtPofY5fQqtndcRLwNnmXA99Z59Tb2DF3sGTqvMIk4/8dJT9S23HZRx0Nv/PRThP+U5B4cNYr7Ofn3zxylf8H+A9yiyIg0zAtCkZfCiucG9Ni0RzzW3xGhKYKaOTAhQ9efiaiyQ4HYpzmJaGCsX5eeBYyYC7x0NTeWa8VZaRW8VSGeaQMkUbKSqhBxo/4L8974gaAPsAvMeuZdRCCDiMQtuHC2Ss4qkyyg9bVbHwDQERDssuioGF9U1VphTk2/ZGRTO21JLTjv0vMKUtPmXjpXWAIH1cOUo4vGbXSGDl77/ivDNuk2Nk/YGH1y+fB2/8jhS7XLK/Z2F7mShcruByuXa5cOH+m/eOSKVK1Lyii8YPaE8rHL1lWMveCC+4NbFy3aGqyfNKl+INfXTJ7Y9PT8T5+jLf6mJqHi5h56Td6wMrJi93NSsu653fTmsmF5ZP3HN2VoJTYnJnIH5bXScmZXbiboTaZBsQ5hPopOh9mqMUvfbKcP7pgemEe90X9aplnXWSyqcX+l3WT3T1lVbm+uTx9MrhHE1h300R0tVy2KrqDFFst6dAM+fqOw8aKkHHOJqVo/MnWCAHDndlIt3SI9xhVzNUxjnyYAWA6pgkiEm62ER3isKsNRCcl6Bq/jMN9sEmYZ+ExHbrLFZW4ef0HzlCz3BQtm59nSSy968pLVNPrTZ91eizHdM2bW4pWXXfyEde4FLXMFkpI9/8Lpc2Re2iNbiyqC/mqzLrNq4piRaab09Ekjxx6j0f6TY8Y3Zs5+bNWIXTfuuvaKcEtxanRxU0rK2JkLC/KG51umzZmYrugIyU5GW6EkYsA6WG9DQxEb6VKYKmDk0JgSDR6BsOub/CbKi2gKUpGK/J6UsDpSAe7auHLgLEcyO7ghXBZRaAaY4uJAjgQcDSSN8Irz6mC58xy5s5mtQworRFOUlLzmJKO7uqyzf+ts6G4IUZNSzLcOTUnJZyTzflLEWK6P76cnhXYmJayp2RNL6UfOJ0eNanyZ3uVsaAg9NT9WXHxWqsgzFdvNDOaTi7pnLzMfR/fJKqSNrMSIkhsfyl2RMCkhQAARABZQJu0Nn3kpvOXE1qUXXbR064ktfVMii/iObuFkdwe/iPaEgdDvOwCLHk4VF8Nlkcjerd30UKSje+veCNl3fmck0smJJMBNke6Udcz+0gltqGS+4XnAtjfAzC8nslsmBQoewn50F8QJRVF264NeYg4Kbjs5HAi8ueHEiQ1vBgKRjhNfbyQLHvrm230PfvPNQx1PPnn6qW4iXHkkuq237+2NH/Zt6xXfOfF1B1z6ZsfXJzreDAYi0aRvHoKLH9z3bfjJjYyGXHm8PPr8Md74hTf622MczK1EfXESHOsAisYlnS6AYB70A9Wj+RtqMoIscbqBPja7ZWY0VgQlonJOCLpFs05LbBFF9AYMhXUX7UGHG8iQU7t29e4inki0SWpksrFMmqLahC6au3aROeycrI5r7Xt3KTJqSHuIZ9euql3IoOAZJsDctYu274I/4undpcjNYj5PcftT41meGDj4+VYiGm0M9xF/AkVqFI8NEPYtil1rtIlxPiQzMAKSEQFYX4msBY4+G3so6Hv8k8wFdUhn1i3I/ITx0oADhjM/Ply7jI/06qCPgBHTieuHLlToCkUQ0xrBdYzrmUusQ1LqUO6NqfJRmolKCRS/RFRPvYk3KWAgEgcMCg5meo9G5snODETM0BB0Xz/zEn8IhiEsGvozRUMEublBGy+0w6zlJjHZowIkUPaY7wgQhzvAOdN4k1kqUyGMhJ9VJfNioEx0hwRiVaUJWlKmAhDatjPu6bZzZ9zTrX8k3fLIeHID4WxlGcU+e1Ol31VhaC2rejo0dt61k4pTiETb+ZzK+hG1lclJOtcIYXNeuTVdVolatVo2hmqrS5PcQiWra+eQ+nvdh38g1cnBHbvv8IomV7FV1I2a2lptSNWV+8aNqqIfPTZzy/SGIluhudg7to68VbFg5oWjp3pH5GRmes+rq24suG6oL48tTrUM+qDHzJaVvL2gjMB00vB8If9XZm0yIAEq2XBk/fojwtvMxUwNBYrjeoIrehE/ff2Rn46s75uCEjH23JXc27IoiwAnqhieykD61YGiziBDVCGhDPC+bCaCOUQcKsbY+e05hDiDLnHGje9daLrlND1OD994/etVewvuWXXxT8d+e2nG2Ls/h3TYIapzPz3+DLGR4fSYRUXmzSPlNMSnSt3jT9M/09/Rz9+dbRo/5i/bF697rW6YbsweuOvwpZBePI++w4++AKo39++3FKtSBPIFzaMv9/AywFgNzK2XgV5CX406bjz2FxIuGYBcvTYU28KhLNpCqlpgi80EFmJVIKgPMCKXndTyeAWgGKJchHbWXfSwtUS1+3mHepiNV42W9bX02dxSmbwOE0PSG3JSPzRWaaP3VU6UnIVB9X6xMIf+1p1Dt5o9SUlj6JisQtU9qTrVh3Q8r8nOcmi/NhQYtYJ4rNzZn8Uff8pRcMQ8qsC6VZVWkG2qyurbPMHjFprtrpu1Los2bUeOOTq/4UJhOTtttFiSuUR/eBVwL7iKNCTu7K5qRhAWbVK9wuQoCLoQRMUkJigHj/vBZgAVOIO7EG1WYU1xsKY43mhAJ1hvlYNzntPpVfWfXF7FkOBjLq9yBnFxOl8QhoPdnyEfuYeeojvoMrqdntrD/F4feJtcSlL6PqGPrs5MN2XeeKHTuJ7c8NfHSPDymuUadWaSXRUcbbfTDzKL4Aiu6JrjvsztzjSlZ164SUhLSTbJmqX/eOvffa98Sb8fS6aQfxD+muvXt+U+LFjILqz7HvbMtx9gjq57SIpTuFktVPtJMnnhj5e3a2a0ZLizy9NrpLm7RvReeKEwiqhVKj5US1IkQSB1IaKmj5blWy+YvLHp5ZP/Qy+6jL812ryCHCTSaw/0Lyb3RkeX2qaRvys2mHEf6Rnn8jFAfcx/VYZGaP4hHp3M9gZzspr5IlBGf6Bj6K8eoeMmOyZd7Bhlf0D+FNOPimtri0lxMQYd+fUjwCJKTikF/KLMmTCTS5m5bKBbJ3OzFA9UWbAJXpQhJHot2PXi2cavfngtpG0AbgCngNFGYNkBN+EK8Q1Ab7hDJCi73F6YWC5V821ls7LPp198//B4koPeqApuow1vhcmrmIthPMFNX72MvnqlZoS/8dp8UUwmoedaph1qICpJEnjbtuHe4Zr/ac76IHu8ShAN7jySFm2KoIerUgcw786XE5EnTWn75JO2Eduqsx3Z2WNNw6uqhqe5XbbkZGd29bbhL4/e0DFK4BEf3ch1yQ1yY9yeRUNMkkxEPRcMmNCXiXcTMUImFRFnvyvaslN4uMK+mX4SnXId/wjV8t2d0cmygT7lWefqd+zku4XHKp0quik68Tr++f7t/DNwGp/xFLdSzhMjgGUtqPvkmPwMOUctUTQMiYdcPqd3M9NcOYNfum917tiwZ6bRmMu/O5in1/Bl5PXzO5vp1dRDr27uPF+MrJ7mqzAkiWKFD8mEgXxfDmki6rLP6Q8k/fMyehrpGLQ1OCYeG5D1J1oSHUNrf2UDrD1o/aPw2wrNq1eo3fg0gZyEMk2pMdL7HYobUajLMFIzWm90d6i6O7p7t6LKYtDnSQd9wbQMQ2vRx5GgCXhTFgQHK8QUKvwx5k/niSTUiRb86DjXdwD2CToRWL8Wzou4TuU1JJE0HsgGmfcDhxzUAzbwAw2hs1mFPCKcTCm9+c4T7RM7br21w+3S5M29cNOKlZMq27964GpbATnFYLVh1G9uuzWXpuR2bL2yuFhWq3NG+UuO00vp30/cMFevV2lDEzpv+9O/yIin0IOm/5QqY9KiF9pV2tLShtxok1JVTPd6Stp77r5Hu6kBTctZfZ/wTud6o//4Dv9ba1n9Z8gZ8WPxY2yThh9wCBM/pnvI/O10D71nB5nHdmS+OB6O92yPH8/bQe8h8xReUJHVC0AdVwL0RL3svFhcgJiQsgFYQT9jgWMmi/DLS5RoVjE6381OWgbMp1HxipG8UG2rOEnYxZi+nuns1WhS0/e8Pi0tKVUlihKRk1MK7F5LTrZWl5TEE57nVYC+klNTtHp9hfATTYmeuL7e78+1GLItRe6CEUFf1bCKqkBuuoNPVefl+/w1wpa4AQt6b6q6aW1yanpGdnKqMZOXSGlpCWDvlAxDZmZOhlOTnGYVMvRADKo1LlQ5TGvNt/l8wY2iWkqSZVmSRE2SLCSp+I1Bn99me5/ZRERY2BOgnAf5I+w3f6zfFnJLmazp/9B3cRuG/0v/kSF92G/5b/uwTOke+sSQfqz2nt2P/OF4FAA0XgZOF7iRj/+7riQS66Tf/OfOXM4uQssfpUMH138RNx1mn9sVl5B7mUsNarwHfsxYIPYjzAgoLkCPn8GQSErXmWWdOahzB6EW/lMB6AqTyWqr8tUvbhplMqUKJElOTTVmWLKK3eVlRcVZWZmmlDRZI9xaZZHrrCuDM1a2L1x4yfltnvaShpyy4TPKn5780MhF85se/GDqXHGdPuivrqhyuI3m2rrpM2brk1w2RwEMdLZJrzdacl0OpzvXFr1vxlVnVBpeBxSVNiUlRa1XZyfpk89smbrKb8l+6Bra09ZGPNc85Ktn/XAQ+NUcgLU2hINcvirDaECgkUbgPWMeij6Xu0zl92XoYQYgeYIbQGQgW4TJpIoItxXX1hmNWXaFILFnqXNG+z272vnW/JKsYHmkzJdVki+33UbpHb7OVWGL1basSImOVbTMluxetexa3x2E7w3PmuWvKwv4y+sSeMa9nJp5bDGnYSKrkVkJK8x3u6qZmQYcAhZSiRfBbMfXMRtIBT6J65iNEV4vHkM2l13NDYGVUL/TrkNQJpMhNUZQ3M/M92P+cmRAj83qhzsSKlXC/4RjbthD2w/9hnDSTYZUKXQy64cmoFFi9Q9tP9yRUCniY3KKXf6L9gOeRY/qIBlS5dDO+mX74Y6EShO6KkGOz3wnzOf03I3pmvQoBjiH5y5fHnOsPKfXLn2dnVS8QWI+j9BfRwb9BQYsQtE+7cjpiviGfvTMf3tgD9cnxvlBz6DxwONcokSmINDoNAzyU4bhfkIkJkdIIfkOLiM9CY+HvJdYIKODkMykMqIS8AhyREYqwOsrA3bRnYa8jy0AxMGvRdjhb6Wb6L0/79rF/Uzmks1kLgf5n6NV5HxS+5ctW/5Cf0/30d9jjt89beyau4ILNj9K71j/6KP/fOxRUu4dMb/cwgtXmpyVfn+lM/mznp6mlWMAXgoIXqcn5dY0Tx5p/NXIQt5dP9N7f/H8qsSnklrWEmdp7ksbw7NM9yxZ/2j4sX8++uj6yx+lybX68xbMzrM2b5w+wpGlFkjLBx+oXLUTpk4dG9SlL9q7cEKBgcTs1mNz0Az9Xs4i7dmU6HkupvhgNCuLoCcOeOn5Avpf5EuYUpjBFJSEQrk4OtqEqtx7NK2hcKhVcw8c9KckCC+2J4QK+1HRzq+IXbsCDpj3hMWIVRgt6FIRkwX3JKTx08xKBmW178qL5ZnAXWdzZWj3xLkKYsEsgyRgTjzw6QmqYjAiFQtriOJSmfgwMl4amqvAmwdUja0dnuhbHk/ZhhI+4Pnes7Fk4Kikgdzvad1YQuc85elo9cBp2Pc9UlBZqdNpPRMmDssPjZVoK97e4fEQvH+VB45KNno8fDHcvzG6jc7Bm8j9T0FFHt7vwaf1lK4Kt2Zn5y34Y+D8lefButgDdHSV9CU3hTufm89dyl3FbefuQN2yAbUdhjRJLhP9yksw30GU8gBjptgMxCMgxlJloJQLcFwhR+Kh7kzxyGBEMloJvn4Q6AcYUNHHBDCypJgziHFFIxybvZiHayAvfdrafaa1QJ9d7qq312mSJ/omlBUUtJ7pbl3UtlWd0bnIf7NTh1wbhlKDDbM6xx2Vizoz1Fsrllj6b3GFcGTJJmV4D+r5XH1Yn8vrtdqwlmj02nTak67VW4zEY7TQ+3FvMdIe2K8PYxZ3wtv4QN+Iy6Y1l1aa7JK6wjH1/Jtbfdi0kQ3PfVXuv/rrltwaac3eNVV4T5Wyh0OpPqvl66v95V89lzs8g1xWV1jEIJ+i5qe6bH1Ojt5oSu41AzrWAXfytcKixMK7xWxAkN+p5UYyOS2KBYwBry4WfdKiyP7qiWSPh6yMpQVuY0wSqGga4yIhIT/y3GUXrMCQTy04972VsQZVejE4W3dHhC+PxdIBXLHq+ZkzaQ+a4BCaikvp0wzmIBtR9hmfKrKFcEc3YiLFYIH5IMVl3UmcESBAJTeLWS74BhxFnYNZZtkSM2xBu5bEI/Qujb1HAbTeHntbdqvZyleFUDDFsUQIwkmE1X6dFR1zhM5wYR12ODRPydB2VL/gRroGc4fvBSigLkgvUEN67+G79+bf0dnReUf+A3ui4qbrbnM2LRxbbHmR/pZ20t++6ByxcZb9DmnvhW2Fl3mcDXWF8Uz0CJmDVkP0fmY7NJivX/Gc/ycEJ6SEEPoh5n7yP7di5ZO+pEaXa3iS90k62R1K0leO8JfSnhXPLV/+3AriqRk3MSspxKmZr8Ex5ittg14czo3ixnETuanYlwyoqFhgGWfigWKzr3QhLjjnWcckaJSdsImxVFju8PoyMuTMujLXzKdn8q1DDqMvwzizwS5CTdhAHl3d0D0iul9JxZ3uZXNnZGUnFcw7r809f8KE+Wcd9/2M9lOJtlSxPH8VRkdiVt5KinzuK4A/0mQjZ+ByuUKUq6TxBWVAJ8GmNyGg0QPiRb7ELQkAU9xM5yybVOPJaxWHjh45eqiCvDLs810/vTHfu3rRb16igdljpr2xe+HW2Tf3Tpw/sffmWec13C4W9781d1tj47a5QtXsZSri2H54yiIr/bKMZjycftHBadHPwjO7Zy40rpoa97ePSPfAWDCpAHABGOvYTiQggZHFMksYSFqS9Tq0/w0RFh6VyDo9k2gF3AFJc97E/MbaN2fS00vpv2d8UN+YP+m8pgm8xnDPcmvNm4ue0RvGdp/qHmvQP7Po/QbHivsNGn6ceFHZ/lfOn7ZYTVPJv1KWzDr/lf2lBUKo9qqfQjPd9Go+kHuys/Mv27b9pbPzZG70d+RK27z6M5trG/iE+CqpGE+BY9FCgGQKCUCgynqn4I5F27ll/1dvP+MPnHnJMObdQ8JpegNZXfJlZv/NZW/YyGq6v5Bfy2+X1YtvvtnrQ62ioemxzt7HiINkOjeTJ3205qI8epJ+VUJup/O4s+LsaH8ZZ+c/xdj5T8F1ME6X0Ck1qpoZRYh2pV0sYF5zBHF0N/cps2Mt42q40dwFMe/3NB71IH6fA0CJF7GY5EKJKipZbbLdFPMhgFXjNgWY2TaOoZgQwYvhMXeZBLgKRd4m4e7W0XUrHl2y6egVRPVcmi+l3qzOlW57+eLfLCCvLeyaZii50m+b/FbrIq22qxX3N6qmsFBf/fc/tltUpZozXEZfSnX11a8/KjSFOheEVs0ONmyYfOXvSf3wkhIivLJt1j3zwrMsDVOvXVBc5cyd8YawZ9Wl9wv8nZeu2jdciRkWrbliuSkrPSdXb0lzqDP47XPD21m/TyFj5SulrZyO2VtWqTLMGA1WiQvrDjj0BWW8205MGWa7EhnWLKmE/sdJ6SuZR9Dc/2TBj3cveyH06Hyiu3Tz9wc3ZABIq/1bzUAx/UHauof+Yz+aPt762tyWV9s39b40+97PNpGukfSnkbEiWLtVxCvtke47l0xUiMlEVxBtAbH2/znacxl/2m1Z+n30g4v5YrqCL1se/UDaSH+wz8/r//wyvozvK7QK9I3o+xfz/qiPr2iLHlFsC4GLaWM+uUpMOwBuzErJpyHMUgXmtgu4cJOZXC2WHjrU+4dDQgt/vzHFYByTFX09+kbWGKMhxSg1PtN/8JlnhPHP9O/li3TDbFbZQDeRzUDD2IbpEp+jZbGGzzYWRSgAr8cgAcZeBn4feDMFHGhIQG5rDfVeiyBfXB9qvVorpibRZWRLtkHj0tAJH31IJ0DGkE220GVJqaK2MMi385cEeZfQiff0d8BeeFdrz0yi2+gyqzGZV5PVr75Kb1DzyUBM7SKXJWXatYXlVE1Ol7P1vkLWyHOgrTalrTIiSmhrEPoE1mAZD8gyj4gcJGaTrFnT0jcZhb2qp6at3hndG10sp2iSNbaUZH4N+So3xZFlEy4VFpw31UbttifO799z/hQb+cz2uNDUfwF5R9RatOnJ6Ot9uUObnGpGn/0BvtDEbOY9TG5wtoZWL8nOECGiy623krgVsOg0mYUyIgqBoAhA85xxvcbfOq+U3uA/rNLTG0rn3brhMFUxrVb/s2Q1OxYWwBVktf/wubhO1aT4XW/EroruZ1qwV2PV/itWy9k8bg7in19Gp3LAIbwXHBCMDkWSidcAEOKcoarwBQz33Ue/Yzbp95H2NA1PXqEfzJtHVOcOXSXfRwyJN5H2JJHvIQ2o3iTpfDGTBcdpA1xlpl9GdmRRRmwEzfUHce3X0f3MBWhofIu+KbHwmimKnYLCu/3neocEL1et7s9ktsxnRypRQDSrd6BPLYPaa6Ve1H4pcRdQFzb0KbGIGjQFaY5MID3QOrtWrO+bwpzh8XksbIsSYiGiBNtXHKsw9sGArQ3ghri31LliJGMIfTOL96MgFkYe0xRmkq3ag3gvjPJHDOcIWGjv2d9ZiBEuZECGrY5Z9KAtlNQY6TuA1yL+6u+gPahVj8Wki18vxiXnKgAg6PmM8pn9KPZhJuixmIftzOGFb0XLc+Yfg/EKB2JZlDEuG4WP6AQHtJ6OudxgkK1gAP2WBo7jXs/isaipY8nSuvr6uqWLN5ZY8qbkWXFnseJuYaHVas2T1XWhxYtPL15SVx99rBCD6RepuoE9seQVwtBbMRUN1txiyA6BAQXcRdwKbj235ZyrJ5ARhwtG1lhUrqcjukZiSUFPAWaErQ+gtVsaMQUDVmYNZ2S6LjkjyE4EHMQbsBJ2Ah3LOBb6FdXR3ioxIW8SRpOmuO0WPUQ/ZqutCn7GN9eufZN+S9+j37659vKiwBLy+HW9B5YvP9B73Xv7J93kN6y7YPNn2ZZLN5Yuci/hk1OrH81I1WUAAlZJyQDjh11VttAdFoTk1OLr5hANXSxl56QJqclkYS3vKls7PdikK9CuqGvhy03r8MCubatrCbJVP9iOIta23kvWvkmMg026488v1lcvFbOhKfQf0KRLVM31NdO7O654rDiP/DlNq9LqeGsuISqduSxQIpB/zYbydzNS01XJ2hUb6MdEbS4eWcETWrn5pvfpzUe2tkx4qHHmN0uUdDOLV3S237ESZyUWoNh2VooyfgQUUiNlIQxhNh/HoCLoiqz45g/ugfMLM9y595z+3wNxYeKp/qznxf28MfIh2i3gWpTVfQfC/cdlNSyidgwihpHUI+hWKe0dCHOSMhA1WGlLTzj2F4tj5GH4PC5LhCfoY3Gn0Ys8rEQdwVfDW9FYAm9UA007W35Xfp3L4oqYjmUYV8+4MfT9DRGcmezLMQRlP4rgxyyTIFMdlOHXZCSVYqIbEGX8XsPQTbVvW9XNy9c2m7VaaZvF0r/UOs3S/5PFItxumTarhnxfk6kRpGRVxcJxpeXLSXFNzfSamugHY/iNo/t/Gs13jOn/ieX/PSaeHyM/vE3Sas3Na5ffXLXNArUtgdqSLNOswm0WWkN1NROWl5eOW1ihSpYETSHWN71m+Ojo1WPI92OinaPJ9wN5tr96jGLvBd0DdH0K44AGNK3ItBs42egdFN6h9TQXNxzEC5S8qnv1vtVrWqZfBsP01ccRNIlkjjNFkY/ol8iNf/vgvm8wxahA01avnYrgd+3Uz+jTjg8U8dwHDjLpM7wDoysylxto13RilTqkd2BE3Uw7rjhi+RwNRMXsUyr0GbKEDHKFzLuZlYFDeESJY8iT8Q8+yN9yvP3i2gs8usmzWnJy5j5VqlO7SnQ62ii909px3nkdtMPiElXJwy2jjQb6XjSqkxfddXd19cv0kfS0B6PfzZgxgYvZsiqyGpSL4xypZ/EouLP58Xj0MYWaNMZVKYl0JayH+BcTHHHPDVN+MI3ku1Tdgzz4jzGXewwwOX8U/WnUfBbTvwXRV7h3K9/KxEhknBJR/83byDe3pX9J3/kSJeUMqfbAnsxQPPHdGO/fNmr+/FE25SsAa/hHEAP9OOg5WGucPLkZAz2pYC2nyb+TD3KZTDtUx3F6lHyHCBeCLua0pEwtnuMzM2d/ZUZveuvidkuYpJ74dkO6lWae+FqlrSodFWgqLhW/p79/ltRmned0ZfR/1iq0XVb5lzn02vUl62aWrK/lf4idyqa/F6/MOH3ZKqhF+8/+ezU6euNLvxPUlkxnljVFvZz+/iBcmeFynvf7Ff23Tq1sXF8yc51nHVk35+/0cVKbDWdas+hrMH4psXiAaAuVz42PSUY3cTdxt3P3cPu5p2AkBb/CVBgFaHqIAAlLAsg2qmQJY3U5BJMZP3QkAXUN805vBq4SDaLSUMuaR2SlwI0CATEQ1JcRokfFIvIPgt5gRo0h2tLVIkxkAlS7ziuLyHfm45HTLCn1CGiNZWfWVLIP63EqTslBA+LLIGDTHGIwmeEC+cjCSbssuWMmL+y1Lpi0q3rMpEXCKwX2Gxbtph9WY3oX8USuaVRllmqStBqtpnq8ujBNnTbM3ioniSoJiNs7oEBOq7YL+jHddGeWXzW2lPzmaKVBJafl2W5+gCd1dZVFZMLRjGUjyZmXpsHyXppLHluKQfv46Kpbkklqhr560tVFGkmtqXVq1frJ+Y9eeDF54LGUXPuBeS0rZdkn0Kq2iwmpqy0XD9ITJHfspEm7cgk9wWcTc+6Y3bfmkrz+W9ve3OcM7rir7a19juAOfnXFBl6TlZnbECrOGbeQ3J4s5Kq0qQ5B0qQIavUDr5G7lBIiB3JPjwvQlLFv0BuIHByWlHX+rAs3kAp6WMUbM6z0gQmNUwFZFKIjI6mYcvuqOxCyqFL+7hcyCU/u/I5sEYg2TSSWr5pH0+LSJ34KWfJzW9d9On9fOQkZsvU6uovU0A+IQDBQFvdbki/rpcdY1KwAcLwZbhdKgXCSyFKG2cQJJ38gSxfP00/v+nrB4fHjDy/4umu6fsFCspTkLyTjfvcb0rzyWVmY3Ng4WZCfXUkP/OZ39DeAre6DuWmW5wMXOpLZWynR4Oz4s+lhtgEMAd5TsLslpnVGbX9c749LTbDHfNGRNZYUw1ghoHy0Ao+Vm0JENo9oyls/KT1TSpHSo62fC7pUIz1qTNUJ4ct5Z4t9apYtL2cyL3QaVBqtPm/iIxOa137F15TNzK26smZzzeUVFYHa9Zs6rfkjHMUp1urshqwaQ2Z2Upm46W8fz73KLPF89NOM9PR0nY538SqbbdLKlSvnOHg+N0UlSUlqk39kUyTqS6teErlw2RsbqyvSbQ/t/mNP+1r+Kykpd+z0OR7H1FS1Oavmwmnn2b2J/rFDaQxmDZ5FbDqMiKBPoDJsSqTFMy8B9cz+kZLGDV1hMfiYElqI0Q3MPCFFiRuHIWKAYlcNxBBWwfNylC+gsOBsRNDFFRqMzPZibDJRJxsxjA5+TA3vDwOtTHuQhs4rJB5IlaAj7UBBNeITMDCLcjZ2VR05heJQTp3w3KGxPpTnmxkZwyzHSYJdi8jiQ+HzgYFggU2QKcIXjttoKSyb0oKwEkdy0Bhi0MZEGrC7Uvo5HvU8wfrIKaL/oY7ZliBJz0xGdM54ASMCsIsSrJUc6E2OhuWSJro/Izk9LzR1WHX1sKnjqqs15F/FRRcOG3bp1CmXpqf3VytjEKczcXutHWjxTOpPG1bdMrV6WEUlEC0X0736YdVwy6VT+Kez0jOiD8doUfms9uewmBmus97gbD63lJzdWOVrPrFgoR0MeZKJ9BmYJ+1nty+SKOmONsUiaSjmWP+/8H3pQ+YE+jcbWOTcfOCtCzkPV8Fiv9VhNExNXF0uMpLazsjr/0temUTAUzO1OnPPZ9GE/6ts4gyHTggPBnY5ZxKLYZewzjLiMU7ia40FApa9QbPXHRcgOWOsQ+JyY1F9lJppVHHh6cIZPjjllUXHPlIAf8SjhFBQmAZsR9KvrjvGw5xj7Vl4GwtZ5UxYiudegughxfwr0FOK+Y2ceyHGjlg2bqXED+mfgX5JfPnEV0yIfa4Cviw9foc76NYQmwagvqzcCuAmwp6GcYXQkWhg8NDjnoWMZCGWcRYLQ9pQmjg6sMxl1S+ggR86xcVkE3g0BC6mJOnoqlxHumeYu7DQPWx4XiPxzBrmdhc2QcGQwaK8qEtJ4cfIcil9UnYXB4KFhdnDgqS57kT2MHd7odtdfNa4oc9QKvuWgQm4N5cS40ppqWgMmmWzM2EvVKEeoJxHKi/uPeb3JbaVth9Yd+AA7Rnc72q8SMNnJSe/USqLcyyNHk+jJ7HJVZFwVTicuKft80bopuTnr3y1uXbJ96V5+aWl+XkAE97n3peBKFbi4RPl+3EOt4vHb8ephnyZxHN3e/vde+j59Pw9LEf2kX30BxYij0X2ljxnncRc7xkc1fhFzJ9U4f1xRmRhr7BvhXhhE21m2W3HAnfQjHw/QiDkrCNoFYRBiVe1L47g+9EUyJEucS39EJYbi8D6yYHfR0fCIaRKbLJ4vKDYV0x1bph5xKbXMc9qGUPCwm3RI9v5eXRJJIIRPyMIS/uPh4kv+sF2fj5GoIhEm1TNsEuwn8Je0uuEIKB50eY062xmQaeH+mSnTXTrbJL7C4xEt5GsBXS/FnNfYMi6jfQ6aPh1kBNLydrerUNPAbDFUxvZrUP8jcyA834hzf7vuM1z+xq9+9+woOdyJlKd/G/Z0tQY3quB1ruHRAObzE0DOvIC7qLBb5cwGSETwyrSQptRERfWE+VrnOJZxwNR+bxGO349TzwrL9r9XrbFvm/iYSYrXSzp79CmFadptameVC1/KC29MD0tTVusTYt96wT+cWMR1eM5VDLjkdSIuDhcV+bxlNWFY2mvUQsVGHtNqVCnqdcA1aUbeo3whLRerSLbZrHywgn7s+L6D1BU54rWnRjBODFSN38i+pC4HqMZs2RoqP/+LwZiG/95MLaxOODDNfgFLU6vDEGMgiRKoDadEENqYRR82QsqaUVlgR2DdqFJXkRxQ5Ru7vWL66ZV2AsKCugB9PZGsViM1ECd9fXyKHkL8LJc0BSSgsiuBqqs6GDsZi5xKEZNkzCKFTIUVpXMxFWMPU9jcawS8kkkktvZ/eEnH3Z35jiyLhibP6pu+LBQwFpWakypLGvxzE11tM4dToQbRmV5HDm56Vliektw0XhCCmsaSpJNk+65fdjo2fu3a+XkJKf2+sfGNNx9uVZKSnKmr75z5/V35+hql1y+vfOKsrq77hpvtFf43WnazA2l2W5ThqQhGuewKcWjNqoFU4l7pGtC6p/HliRNC+Y1VNYFxjnrxmkLSjuenpPs0KbLyXOeWrpmzzQlP+V2eoKi+hvoJQ8QFnuBv/9f41GivyiJz17Y/qs8RhiHVId55atIytRlG8zf/zWPzAeSBjg18ZsDsWiU50j6O3AxwIFCS3LcQia3sMGq5vRMwh8T9Mcxb3zh4rfnDLHPKQAryPsN/6+tq49powzj995de9dee9xde9eOftJ2bQ9KKR+FFSjjI2yUj8k2BgPGNuYYDFyczCFOJ4sogU0jJoaQLJoxp3+YqPMjBrPETf8wuCVmyeb4zzDjEhIX58yMZsDp+9616BbT8ObN2/ejLc897/s8z+/5vepV177/rR5Mfpo8mC66dqerys2Hd9GuBveBafCgJBb0O0xeh6u8u7syU93TlakWFhPLeXmNL42lHi1TYxrSdWy1RON6pAIObyLsjgRtYi4eebReHvageoDGtHsbtdwqFMvxYVGozToxLJ4Tl8qqCDwUJam4mukLVHnlq5A7RSehWILql5FQexSgKKikgrKRaOttamPZY63E8v1fTnw3sZXOz33r0o/Lo0iHrC7paooX+6Le5CdtfQ3KJU42QzuZD8MSJNuv7bVKxoDInx1vyGXCAm9kEsKRhydFO0n6JenGxb56o8wLBqZ5IXtzR/657+8CcOLYlfHtlDNbJZhfvdrXUCRtBMdrfHLxogXODOc363lOVl5JBOy6QFjUkY72wnreYGRkvmsxFbeSfqiVSdI+UjcEZzbKwomMfZHBGCOmCJ6C2gVu5+qeKxqACA96ZLNqYaDQlHr/qHJzBj+9oNyAOzc65s+sjSxACyhvIX0fBHid0uuTqrUCePTy88U8ID/SqNsR9zr5AxiAR4MBZRYsKV7youIFS2m8s2br/Du2GDE9oRxgFJxETwH+lzILR8zC0XAUnAXO8MhY+J+3aGMXiGWVHAyWqL+24uN90+tQ9KpdXWQZfqWBzBJpDDZKL0J4Z3h4h4fBBSTPyJBDVMPo4U3Hgde5c6MIdaX1BW69ldVpGH8oL/p4SZRQxcpiRenFmXZSa1aj7TZpfQHyD9pVV50qDQRKU9V1Lppm/AzNWYxCRawq151IdURoC8cFZwribdkiMBh8Zoq36F2l+T5ffqlLb4HfKmh5M+HOfFBiG8FGyroHZ96fGewui7AE6bEEaR0dirR0nKzff2FfykbQwSC3dmvLC/VVZmhmeuH7OCuXdg10lcosDqeDk1aPb8EQ7Hta5VhX7z5DdFIo2qPam/j6e0h/aihsFDl5kLEW0ngc+LeeV/oUfEplaIPuwQbXvae2tPs0zWVhASpTCEJrEAiugRwFBuQvRTwiCO9VZkHxOyBpXtGydbeoBm1A7vIk/H11atJk5sIL6npfy6zT6Q+ofs+W5kaXM+B74hDx+5QgSbE1LraPnxIiMfw3SQzVrDXh91ysmZkyJlxrvMvBTFFhG4N/GUcOzbZEherR9ISKUiWEtyS1U1j5LOLZSdgjntUlT0S3Q/NYtjQ3rbss4VItzSkX8Kx8CEYLYlEouHykQJks3Msrv9JRwqPcY5xOlzLpdDJAgKuCUcmxkpSRH7Ii0aY6Ig+ZamTlKLr38WN3TSuY9kSUO1c8kQiSyUPYJLWDeg6e2hNYA8pQQYATUKVzQwVmAG5ST0H9jQNYsABKoBqhQvjIKjwE+6KLGMtUFUh+IWabLA7AMTms3SwK9iwRqoJ5UY5v3KCz5JR0OH9STssHdjXnDfQf2F/tBvMjXE2d13am96jLm5dlX7GIWTwumXKNQJDzZatu1OoIBxzAwvhZkSCNHGtVWDDv3NzT2384v3lnf1D5Wznv6ih187gjEA+KYP68zRzx2l7rfdbjra3hV18VOfsG1mkOGwEXovyixtWJYbep6yoPWgWUpCHsGIYhjgEVJ6oFg3PA47lM6YyldOLTI3lPCL6PeL7Xk5yK/jsEdtalydCQqIWqAKaRXvio602XJ/a/Ew7LDcfsq0ai3ghwAr5wmjAZWLMgSKLAsSajAe4dOMABPOV4vAUum501gc/LYwVlL57aFCtwOARQFPZ5KhO54fJyD7QyGVA3PDc3PNS6MR7NmVAi/dP9/dP6CyutE5cPt3NttcTzdpvDRnMUbWOkLC6LNhho1mTNEuD5hqZInSwHnQ4jw2etnRkuPOD2tO1wuwtixcM61qDXUzqopwiziaDmfp5r2VSXeNLdCC1DtEQ/ls6nZPS3sRospbLqqiju4iI3ga5xplDQzoZATlEc/XZGeBgtEaD4BP1eHboBXrJFCdQtkMn5ILoKfLu3g00Lu+Rtu7Ym+Xevfjte3vT01wGfobKC6n27va72yEydYuo5u3BrsKdTuaz86Tx46kxjzwcJe+fw8epn9tSCXDymkiHqb7OhxTdaZi1F28a27+3k6qvK3zsbGPhqJFirLCov3zkHiu5fm/BnfTN0fl+0vrL1eNLp75lcLVbNKuwfErMzKQB42mNgZGBgYGTs9NeexxjPb/OVgZv9AlCE4cKatyHINPsFsDgHAxOIBwBGoQtZAAB42mNgZGBgv/D/BohkYACTjAyo4BsAdroFVQAAeNptU6FuwzAQPacgKl4+oKBwaGB/UWmglfIB0cBAP2TIY1XBpLLClhRtpKAJqLTAfUOxpWps5+ScnF8S6enu7PO7d2fHOGq+ZEtk2E9rKtLaPLK9MyoV39q48S3brN3rUKl9AruCXICxbR5iMkvr5CuGr5HkbH97fVqD2Yu1sEcjvj9/Eb5ihCsT/VVvA/wZcxXtHvOh/i7f9+iEx8WzCr2HOWOdiNPGnDh7KmHtjc+8x5obzinbBWMDtZ5Bl4Vaa8ZUzTDgg3Ec6S3gD9ZPaoaqZ4wDfxd/Kg6uZc4wY6/3wHhh/0nmUUKPbjjjwf3i21zK+oNo+mbs+ncW3YtaGwP9QL0Caqp/qIG8UdTb9eIk7zXkJznRP0LGRxcAAAAmACYAJgAuAIYAqADUAT4BkAGoAe4CLgKSAsgDEANcA5ID1AQcBJgEzgUKBTIF8gYcBmQGkgbOBxIHRgeoB9oIOAhSCHgIlgjCCOwJCAkWCSQJMglACU4JrAnACewKLApiCoAKlArSCvQLLAt0C+YMSgyODMIM+g00DWQNlA3CDfAOHA5eDp4Oyg8YD3wP3hACEDIQfBDCEPARDBFIEWIRoBI+EoYSqBLKEuwTFhOoE+QUUBR6FJoUthUKFVIVlhYMFk4WjhbQFzIXyBhCGLYY2hj2GQwZTBmGGeAaJhpeGoQaqBrkGzIbiBw6HGocuhzsHTQdah2MHbAePh52HtQe9h9yH7QgCCBsILIg1CD2IQ4hjiHKIiQimCK2I2Aj0CRWJIgk0CTsJQ4lQCWOJaol2iX8JpgnQCfEKBAoKihAKFoocCiKKKAouijQKQgpJiniKkgqsiuGK+Ishi0CLUwtpC3gLgwuGi6cLuAvEi9GL5wv3DBCMJQwwDDsMSgxXjF2MZgx3jK2MuQzLjNKM8w0GDRcNNI1PDZeNoo3FjdON4o3yjgqOHI4lDkCOUY5kjmqOdQ6Ijp8OrQ66DsQO0Y7pjw2PHA8pj0sPZg+Dj6iPso+6D8GPxw/Mj9GP74/zD/iQJBBCEG2QiRCJAAAeNpjYGRgYPjGsIlBkAEEmICYkQEk5gDmMwAALxQB/wB42o1Sy07CQBQ9bdGEhLhw4cK4aHSjJhQQRYQt6kJiiC/cFiiPiLSUCpj4HX6T7ty68RuMH2A8Mx0a0m7MZGbOPT33MfcWQAavMKCl0gC+uEOsYZ1WiHWs4VthA2X8KpzCtlZSeAVz7V7hVfIfCqexr/0onMGmvqXwGzb0he878no9xJ8GNS84RwN1mJjCgY8JBnAxon3A7ZIxYdN+5j0kCqQqqZ4RBegTdSUTEDmYo83To7XQ7VITcHmoIMc1k8tCj1+feIuMPfJDegjfEXM43DmyHtks49sYUyniPJLZwZnKeJrIt4ca1RNqRTRXRruiosdc4jU+CoyU5yqhiltcoIlLoqRXNuaXVJgxxV2sQ8uZGrgmI6xltk9loOJNIw8LxzyrfKuNB8YUmi5Z0aEWp2ThSO4yirRO/lF7U3a5wyp82VtRe0eigZyDKadsM+NMKb1IuZhQk3ZradZhrTfM4dCq8WzzNlmP+FbktAt8R4V1luS/JV5+GE3OZD/G9B0wtsg0/AP9pH7rAAB42m2UZZAdRRhF9wRJcHd3hzf9dc/MwyGwwd3dAgmEJUgIwd3d3d0tuLu7u7tD8Rfbs/94VVu3pnb69Ntb92zPoJ7/Pn+N70k9//f5858fegYxiAmYkImYmMEMYRImZTImZwqmZCqmZhqmZTqmZwZmZCZmZhZmZTZmZw7mZC7mZh7mZT7mZwEWZCEWZhEWZTEWZwmWZCk6VCSCTKGmoaXL0izDsizH8qzAiqzEygxlFVall2GsxuqswZqsxdqsw7qsx/pswIZsxMZswqZsxuZswZZsxdZsw7Zsx/bswI7sxHB2ZhdGMJJd2Y1R7E4fezCaPdmLvdmHMezLWPZjHPtzAAdyEAdzCIdyGIdzBEdyFEdzDMdyHMdzAidyEidzCqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3cynru4m3u4l/u4nwd4kId4mEd4lMd4nCd4kqd4mmd4lud4nhd4kZd4mVd4ldd4nTd4k7d4m3d4l/d4nw/4kI/4mE/4lM/4nC/4kq/4mm/4lu/4nh/4kZ/4mV/4ld/4nT8Gj+kbmUrv0H+zt+p0zMpMZpjZLGZtNmZrdvuzklfJq+RV8io5lZxKTiWnkpPkJDlJTpKT5CQ5SU6Sk+SEnPB8eD78u0JOyAnPh+ez57PfI8vJcrLns/dnzxd/X7yn+F7xnuL7ZeB976u9r/a+Wk4tp5ZTy6nl1HJqOY3nG79vI6eR08hp5DRyGjmNnNbv08pr5bXyWnltPy+5p+SekjtK7ih1Bt6rzcZszf57kztK7ii5o+SOUiXPPSX3lNxTck/JPSX3lNxTck/JPaUkz10ld5XcVXJXyV0ld5VCnvtK7iu5r+S+kvtKIc+dJXeW3FlyX2F/0Rl4DjObxazNxmzNfm7YY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY+hrDPSpr5Hl6W1kefob+hu5n5d9zgPPpWNWZjLDzGYxa7Mx5eh5rj2v51nPs55nPc96nvU863lu5Oh71ves71nfs75nfc/6nvU963vW96zvWd+zvmd9z/qeW3mtvFZeK68rryuvK68rryuvK68rryuvK6/bzyv+fyn6UfSj6EfRj6IXRS+KXhS9KHpR9KLoRdGLohdFL4peFL0oelH0ouhF0YuiF0Uvil4UvSh6UVIzpG/42GGjxo0e8TfXWJDWAAAAAAFUhzzUAAA=) 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-excerpt-view:before,.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-controls-play:before{content:"\f522"}.dashicons-controls-pause:before{content:"\f523"}.dashicons-controls-forward:before{content:"\f519"}.dashicons-controls-skipforward:before{content:"\f517"}.dashicons-controls-back:before{content:"\f518"}.dashicons-controls-skipback:before{content:"\f516"}.dashicons-controls-repeat:before{content:"\f515"}.dashicons-controls-volumeon:before{content:"\f521"}.dashicons-controls-volumeoff:before{content:"\f520"}.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-phone:before{content:"\f525"}.dashicons-smiley:before{content:"\f328"}.dashicons-index-card:before{content:"\f510"}.dashicons-carrot:before{content:"\f511"}.dashicons-building:before{content:"\f512"}.dashicons-store:before{content:"\f513"}.dashicons-album:before{content:"\f514"}.dashicons-palmtree:before{content:"\f527"}.dashicons-tickets-alt:before{content:"\f524"}.dashicons-money:before{content:"\f526"}
\ 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/font-woff;charset=utf-8;base64,d09GRgABAAAAAGW8AA4AAAAAo7wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcb+kWhkdERUYAAAFgAAAAHwAAACABMQAET1MvMgAAAYAAAABAAAAAYJYFachjbWFwAAABwAAAATwAAAKatulUimdhc3AAAAL8AAAACAAAAAgAAAAQZ2x5ZgAAAwQAAFl6AACLYEUhCQtoZWFkAABcgAAAAC4AAAA2Cpn6WGhoZWEAAFywAAAAGwAAACQPogitaG10eAAAXMwAAAEvAAAEENEK6Wlsb2NhAABd/AAAAgoAAAIKw8CgEm1heHAAAGAIAAAAHwAAACABVwCzbmFtZQAAYCgAAAGdAAADWi+oduNwb3N0AABhyAAAA+oAAAoztf4M13dlYmYAAGW0AAAABgAAAAYlmlWwAAAAAQAAAADMPaLPAAAAANHVnZ0AAAAA0dXWGXjaY2BkYGDgA2IJBhBgYmBkYGRkBpIsYB4DAAR3ADcAeNpjYGY/xTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vjqzXwDxgaQGkGJEUqLAwAgANkAKxHja3ZA7SwNREIXnJmtkuXfHBbFYsViQFNutTxJsVoMmARUxhSSFxEcTq9iI6dJY2FnY+Gvs1EYbUTBYq5U696GNui4JWNjbeGDOcGD4DgwApKE3I8ASB3acJNbNFttPdg0i6IPh7AfZNEgejVJAIU1Tngo0TyWq0gY1qEUHkklbejKQeRnJOWUrTwUqr8q6rNd0Vdd1Q7f0oT4xlrGNZwIzZnKmEMcACRvIpSHyKZuwxylHUcIuUoXqtEW71JYg09KVvgy7bKZc5atQRbqkV7rsTd3UbX1kwGSMa3wTmgkTxXGnf8DCL/zEd3zDV3zBZ3zCR3zAe7zFG7zCC1zGJSziLM7gFE46e07T2XG2nXVRFzVRFRWxKhbFgoh4h9/xa37Jz/kZP+396q/EMvBTwFKJpX4fwL/XN7iViiEAAQAB//8AD3jarL0HfBRl+jg+78zOzG7aZrMtbTfZbEvZ1G0hZRMg9NBCiwpIWXoxijQJqBgRlRIbNsSGiD0qchaOs52uHbmIp4ce6slx6p16x9eDJPv6e553dpMN4n3v+//8s5l533ln5p133vL05xlO5OCPnOYPcQIncRouhdNyXKXOphP0Nr1ZR2zJRKcnp3sepY9HHqU7yNRHI4/yh6JN5EbuZ9r9M6HRj7ifiYfy3M8c4RL+KjmO58JcVH5R6oE6/RynIcEQMZmtxGwVAkENkSVDHjEZ5DRelmBn5UMkGAiG+GCgCsqrguL+aP2urHW31pQ+OKWkblbLiprow9H6py2WpRZLzohFpmF236QKefTiSy/1FXhTm325lilwaopF2MS/tis31e6ybinLzLWlkpTow/xrT7OzUy05gdHplXbfpZcuHi1XTPQVNOlWDs9hdXKEeLiI1CiruQzoE1uVyagzSCWE6OwFLr/OFyCnhY6WNWtaIjQlAqmsXtMSbWpZQ1PI6TUt/KGWNfDaAvdvqOMT6Rj0ZRqrxyxriFtD/F6RQLfiJjXeuTS6Prp+Kf8j6YxE9/OtvZOEfNqm2nTnUv46Vk7bIndFH4k+xk+jWnKapkC9EW6XvFyu4TI5F1cH9ZrStSSNuEkDCfjcrgItIa4A5PM17FiSiWQwmwIyMUlaIuW7XekNJETMrLRK+semTXe2fLmUSM3NDQ0NzzSMp09ahrTccSVZ0Pctb8rLK2jNi36LSRnZY8UTdPeVyi10XmNjwzPSISy5o2WIlYjjm6GCxsZm+uTSL1vu3NQ7Ayq4MC+ft0a/Yemb5F52YtMmsnAT3GKhcxueaWzgOBXMjzC803JOz+VwRThHiM7nKiFum2wvkKD3TV5bVYCrMhmkApdPtOlYGvBWmXU26ND+Q9FQW/TwtbTt2oeLamuLhFNFtdHGIzfffORm4SA5DcnNi805tBv6VMkLHfyhotpIpLYo2gQ38M9i8RFV78nFeI9IzlJ5CX2AHXB8/5wQYEQ5HD7RZrTpvHyrcKr3gJDflxkhp0VDz3fhiGjA8f+GOyn9RTrFqblszo6z3k0COOvFIJHTiN0mY6Mb4EUDGuWETMQ8eugl0pQ90+XO6HvjIuHatVXfzqXt7Z72Vk97vSCRpiw8lU0PSbnKlXq366J32vo2TK0a1u5phQtJx5zTdC+cyYAz2fQlXII8zJk3pKjUxxk5G7RdUrkJPjxIXBnBgMOs4U0SLjQ2f2A1Sh3z6T+uiH419uitY/ltPt/82US1hv6ZZBNrUXXPbutUi9VqmWq1CD/P9/mil4+99egY3noFyZg/u9pD/0xPkrzVP0fzLJbYhZxAPMQjq6W9sP5LuFHK6NptAyNLvDi0JcSIA1lP7DiatdgzsPTiR348ssSvZEPul9W1RT3f4ViLhqLavswwZsOWYkt/hpw+T1mnqgvzvZNw0C21LbW7jBaLcRdkeBfm6AOJZdFPMcfAI9fJPSCPlFthlnIEhtEl4dIzy9CdKuhK4g6aAri6VIaDfPtvJrw6YlyT3vebH+mpAP0o8LafmH+EwqZxI/TSAwej1x706UeMG/HKxIM/0r8F3g6QUrjgn6yw6VWYbwaYb4dgvmVyFfDsgjJVOXGFBG8VTJQ0UXBCaiFpKntBGV8OnRMiXpVp5uSAJ0snCJJU0rAwtGhrWRpR6TJL/JtI+uV/2Kj1P7T3ywULv3jyJrf78g+vUHld9WPG1Ov1wWXzx5WueXSWnDVq6KQh9K8HtxxdcVbUuq2ZZltBSvLZtvc3KzA8LKuhPW6uHN7eLsnw3pJstPldbtkddLntOm8g6A6aA0G/zWgyB82yyezlqgI+V4FkkNWfZgfvOnpX6yLavaj1ru67gpmffmIeAiXTlhMPKxli/qSv6kxX15kuIX/ZdDgDl3yaGYQzrYtI0YJZUBLIiZXMWkCHduG1rF0RuUCeDDAWRoUzZQAWUbkFUbC5lemdURXwszZIDS+PGDGnjb619SX60S7aHRZyRlWumkP48pUTJqycIJe9TCn9eU6bv5E+l0e3RQRyI2lYNWdE9MSE6iBcgc8ihfJymMc6zgF9UKUyy2UwPyXZqyHeQIZDX+BwB60wRwNBu4bY0wTh1F1EN++x0ItL7/mx4BR9gD5wJPNVUvrE3fSH/lIym8w+krHh4PfS3k1tr7XMef022kY695OMPT0dsQLSSds2fXbfLA5hZQTeV1lLWbCai365mrh8lVlS5TvcARV7b1MVAUjlhx9bL1vZelkH6yVIWohvwwb6Ln2SvrthA//Qmr1r1uyF+evp2Uo8Qj6CNry4LxP2wpg9O3bsge0EXrQmuj8cDkN7UrkIrO3lMC+0AL3NMAZ5MENKYI4EuVquAVb7uPOsd5vOpocmeWNbHLIHoZ1OODfoGM6rEo7l5fAODvYOx4tqexwM5BKP8t+7otgCKzyCHca3IsLsiyaUHBp8BelEsBEDIapPoMATYX80xcKuCocBp3vieTgRyyJMBXwQlvYyGsE6mEqwxagEdxAWBqwSWApAMZyKUQy0GzLC3p6ecPwf6Ye+E3H6QchvWdP3ZMJpxCUcjPkReJYMvZyHuERv1wMt4WCjG/AJTpPZZS9QyS6HvUAOBIVTUVNZpOJW4ZRwqm9oSy1AsTBf2pbpLzxEX5k1i75yqNCf2SacIsW9B1Wra7EvwuzVor//823PyS/s3v2C/NxtCs6Th8trgBrUIQUDRBoiPhvQb4jOZOnO7RYLbek9oCo5YJ0S/SuftSN6apTcuh1oLDq5b4h4/ICF9N3MZ+6I/rWbA7oS/uA9jsBMsXOtsHKXcm1QlM6XEUe+Ko3w6RlWAjM3RGAOmzLSeZzGLigNMJrRJUv2AnfA4YWF55KMBqAgTWYTIA2geUIEAS+7wgWAUjLlEb2GhFRuOM9riIv3+4geb5ePLHjhJ/oBfZF+8NMLCyBPKslIUvnTC71vkJVk/I87dvxIn6U302cxR+rpB0sMaXrj1VNt+pVk3vt3EfNy3yyzKVsUqhry8+mPRpdabdAaDJun2pfYHQbITm0jzxNRUJs0ctLsj3qOk01v/49Q/PXqjYsWCSOURy04pwnijEEPHc8a0lsk+NW8t5wkkX2vrpwvjxtrGVpYpFHN2FJ3oqWF/wdRqwQ+6CPJEi8Qf5Co6ZFoLv+CnNXSctWQR//wJ7pNuLn31Hxy3bfP0neiO4utnBibs8thRslcMluxHK5FAhB70OYR1/VsVTX3nQC6hm18a3S/vPzMGXEdrInugQ1g4jTSKYtyGtAWJVCbz10GeDEj6E5TmRESBgPOXxYJ00dXPTEm6/37H5z33J4VVenZXz16+9x5wlPnK+WPbZ7Z4ErfSYZO/kv5lgPvnb3qD32trbvOV4jTS+ynJVVAeaVw6fiOeqC3bQQACdvgBTXEBsgsur93EvGounonqbqi+6P7hXyEGPLy3knR/eJxeME2BACYktMKHTVAp7oQBxZIlgGuwMtAQD8c0JFYuaq5ZfL1tBs5hRa+tWUNbggJusOQiut2jH2edhPPmhZyGstpG2wpAAz6y2DJMByHz9UAvNVBT2dxFi4f3wuf5oSHiIJXb7MLXhLfYJlqeCBYi2rPnKklL0TCAKbDkTDQQ/EdAvnTyrjWFp19mZdCRbVhfOzABnTtqb5MoYO20TZG/yjvH0YYRJwBIMfgVfNd6YwSF3Vp+MrKgS/Av6SaUFj7Hv38vfduGjO+rz0j0nETy1ZLuyNSQ0mk9x9wTAres/OrIn0dVz3O8kJtoT+BH9AyjmBo/E0Nkj0OXOH9uDh284Vkb/+5KqsqD9Z9lZU3fyGl+caM8Z39J+zFf/ds5Q8pCO4BIiYZLWU1LRUKbisaX+OzZ0mSKr26cXHbouHeZHl57DYfVnH2ZVwOQg9DfLRbnd0yafms2cOLGV4s4g95Rk2bNspkSilaNHEolBjjcyXC8KKeUYvntN8LeI7LD6S78qV08ThxeUIhz9l3cU9cQC130ptJ8zff0APfSI0hT+/80qamUtU9nlCk57tvlBP4DAmesaufb7LD+vMCzuUAdlp5QxoPsLOM94X4jBgNpjonjWNZKZYKOeQuUvPWVT7fVW/RN+hC+oaSl9tbW9tb+ezEJCqx5HcMt8jLh6965MUvX3xk1fB4JmpvZRck/Ec3s6StFu8BHruTnGb4M1nhpuI/aS/iSMSFAIUM8RzjfRUeTLnHjHfZ/ciCARPmDxrtRrvf7vcCPSHthcXV165qBpQNSDssGgCvh3scQkeEHUciyJ8jTyLtBTpKgYUwQn4btkPAVIF/XcDTYUY8HunLxJUCnCODMefcG4Ojyv2Y6jDfX4/QgY0ZWFODqmSMP/7/p3p1sbqLSCzP6sXaxHV97UijYI7VyirDimN1/tp7ZiW0D9b4L16TIPknrhPXwUzmNDweAVBcR1fQVRzhD8G546ou5Zx4HEsRhPKtsXOG+H2iAUuBFLuFbGfnDonHgT1m54Acg1K8Prr/P56TFZpXroH+yGO0pZdRlwx3QX8onKGSGm1GJInqCU5xMSGP/efU2WGvbLDqPGdfJsA0t5JO2PW1K8Qdf0hJSSf0cGeEb8V/qRG6Z1041NoaCrN9D/KEg3c9q3CgwygUi28IM/lh/HBpsvhXpH6ImdhJUBTf2RJ9aQs9tIUQ8a+z+14kb2z8QYEZf+T+KJ2RzihYC/iLARrI78twAE4RTt1HCo62tx+ln9OX6edH27vJEnJ39EXpzEBR+1FScN9HZMnR3uWCml6p8P8RxrtpGY90Lm3FAykpa4hZQxiBUnjsyiuP0T8CefJHzAm/w4kLSwpwGE60iMLNJ15CCtltfV48FRl8+SC8qcH30hCRCPAs4iR6keidop44hVO0GxbDPZfiZGkju2ESdn9DPqSvzqAe6plBXyUfysuj+8fRqugSrJW/nbw/jqyjJTV0dzT6zTdAAoVruAQchc9iTwIqkNVPPHwrDbchnr+Uzudbf1kdthPL2RwUcXaRIkKACspECAQtTIHZDOPK+hN54eVcmsIHmtIZZYmTMUT0MX7TaDCjcMCE3CAxia9vOXx4i825FHDqi5oD18665poXr8mhh+3XZghy/tNW0lQhL/8dPX1YvbT3K/H4TXdH/9Qxc1ZHx6xAJVz0eoZqA1yCQI/sJ/ulQqmIrWVFpBjUoDxP/yf6KL31fbKcPvopmUGWv0dv5de8T1bQR9jh+/RWMv1T+gj3v84HLj9E0stIfhpJN51vQpDhJP3kli0n6Q+wP+9E6F225WT/NQiDOmOyMzOs31Jot3cwNmSynnyTUdCxjtMRd4jE+tBklmHh9XOhRWHEfxHAw8TjcJfDui13O1TNMQleEcrziGffN9/sw0nI6KnuaNPHGWM8uGg9YzI+HkwjIh3l5Jq48YPbVE8SaTqEMv20RkjywjADdZGHWaQyAA2x24xS4+sl9fUlPadL6llGTCmp7/lO1dx7gJxmqI/k82pLfmDI+KK+9uoWl4kQIqRm2Ny1BeXjinJF/uVwfUnfVVKjUkd9yetKHfUlvVNVzTTC8CjtTnIsvnjVlCFIk8NL5eWptEWuMpsZCY9oBczWq0rqgUHVJNBQZkYduBncRJ6cCwIP7k/gyTNiFADy2vx/kWd0JRKNsI8wEkBc13vgx/+YC9cWDdwlNTIqoBZY7bb/lEscq4H34JznSjzibYOh4RPyCmWLD8VHn+09T7MSX0USleciyuo7MZDnOIUHx3YcAX7fyGUOplmQhYJ5ABPFjA8Fcrm77wTKFwDoHAK6G2XOwEyQTiEfs5gyIq+NnYs2AXWDZzlOkYUrPHISPCmTy0U+Ayaiv4Az2jXxh4osQVEJf+i1nXecoj88QyRpKk1BakPIB0gKgJimAO1+Sjx+/Z1H6d8+o0/wX/VspSnCKaCDok3AfgBm/ZXnaeCRnN1YZSKxt9OzREDyrPY10kikZ+gPp+7Y2VOEtWGtDCmE8Wn0CTLlM2I+eieR+9oRdCIZhf3Q1x7vSxXryyMwpslMNwIEMzEqqBz3TpsGBVaijchHaDfU3o10Su9J/hB9gD+EiJg+AH02W9UcQeY0gvxphHRG14R7GJsSeyccK6ShlPpjeB9oRXgNu07QCDBQcB+roQrvhFE5RdukvfEHIl7AhwEhmI2SO5TTMZQOOCbCHZWToP1mpn+RnQDx3S782XUwRlUolpBemjiRfhMM+ubN3dixHV/93RcPbr1B+PxFuvjF1R3bd2zeOG+uPwjPepW8So9NHH/DVqXuN6BudazuQBB+XqyzQJbwB0hFdKUTI1x98MV3kTra3tE+b54vGKTfTBQ+hweMn0iKaYiGiCfonztv4+Yd2ztWv0juYPQFdD8QtACH09kMNkiyDoUnujKUruebVEyY5CoQ1z1yTbiq6ppHENZG97OFIK674VhB9C5PODdXKCs4dgPA2Cy2QNjaUNaoul8iacNFqEB3Jr5HOAoUGrHFV6cjlvKtQkccuEcwQzxFtUD2t/W1tzF4JxxX2I5D2AqYbizB+duWwFrEeKHIOXJI+/n5RiZ5REo9lg4GAT1bUZQo5KNoAJLBIlOFmBfywwqj3KakMboDqSLxOOP2rKjKYM/0BYK4A544xDCMQXzv2oPv3dSXedN7XZulmxdXllX97rJ93whfp71xHfLH176uy85dfLN+/rpv9lUofUuuA5rkDwDRzShhAb7fLMHOHRB9OOXS4FFIY3D5jmAZQXEXcOR+XzCNyCb+Vb6Z/OWKK2hu9ADNveIK4X98hbr8yqZmf2ActZFT5O4lI37YveLv9Jm/r9j9w4gl4h/o0TNn6FFSduaM2tOUwvOqMV5/c3P09n8e2vBY0ep7H/773x++d3XRYxsOKXh0gI7QM+6z8ZeyXjcsOpENv13nNeI2MBoc439N+YLZquh+sLsG93gYl2BvUJWd5wnDnyev92SexyO0Im8M03Pf+GATEANNQVyxTJYbuxOu3AgUKO3eCJfn4e1RPsZS84dWZYbrkTioD2eydUEMhEiHpMOch6vGFZ0hK6LF+E+GzpSUBR77SQ63Kz0YcKiEQLrblS9L6WZTvurwja4lQpa6oDykqrdV2h1mk0oYVlFZ5fN5K20evjQ/M9NwF71j8333LSU5JMe+cOEi+vnCRYsWkgKp7Ea6/l7BJOXke4RSWyVSjaUVwwTBZHTZK211QkNZvtUwxXf1/eSt+5aOGxfNXkRsi+CP/nnRIoR5v+Ad+zGUEE87kINjnCEmqmYEH7gp4j3GasE6An4H5vG6BB7UrNTlBNiJiACoNXu/pPC0cKrnuwjAYBSbdyu1wKIGkByOV6qwubhUAKFL/XpULcDlPIbPSxSIobBwXiChq0yirQz6hNjiSzeRc1N1IZDo+Q6BhW7ngZ30auJJnzZvGp2DhGBfO5KAgE3xH+iMojBQj9Mvu2x6yZAh9JEYETmYSVP3z2N85/SYfM0GlCHnjHH08P6Kktnsh0XsjPHk8U1Wo4gIxYh97cSDiqkTKOdDnBLf8CS8N1xnQHKgux0VXZHImhYULwLFg8LGuK42wsZRUvAWMoFGfPwAge4QTu0kwkuXwLgduuQlGqVf0uhLl1zyEhGEU0rJTujzpp3xUgBHcDXHbAcG3jNZebt4v8pq1g78x2Yi2YqjyGgf4N894nGpEXBpLvYKNKcqqOA8P1LqbpdN0AGIQ+Bjl71VRoMslRC4640P1q7z+lZNW7h6FY2u37rC5529eNd9f/RWLdsPLPV34fnPbBrXnKPR7rr88QkTo1Fiy7eNnTTyT/dfVIKQjpB3YU6r4LnI69iJV7YFvcQetIlvfERPdYeis0LHSOZHIf5BFIPAJOzA+dXJ1kEje0M94zjsqD91oXTAgBok/tfyYYZOwgjiD503KxoUERaQTudmmDwOnp3Nxg7ltD6AJYu4ZUxOJZsBkctA2Rhtgt/uDzK87kfBuF1B7GbE86wD8VBLjOxS6Fg4r5wzMgV5/BpgN11uo8nbPwxwjRnfoXXE1YVlKRk8ycUGb3jcW51m1CSlp9XZLSZdljGnNNNozDSnpEpySnL5fLITr7ra6WyYECzM0RuMNZ6KvDxvptlgLM6xZuVUNU0qLsnOqizMMl+tdADpXOR1JmUU039FwtEnRqoqfPpssznXBpskpKSYA/rkpOSUTK02XZdaGa55LUw/KcvKLqzLEOWyvMxhKSmWfK1WLaeONdlstYWZmRKvyc1tCgMMdpBO6VMYNwOjIAaUBjz/S0VCf5nwXH3JrSHjUzfcuPSlW0frTK/ddNXUKYJzoPAWKHwVC/l9l47329KuIBkjXvPufodGtx74eNzYqy8dH8g/t5D7FXh6jpYEV3tcvheTn+Hq6d/+mzpg4p5QNSu6Fkz/v9Qh7QWSpAPxZCw9t47zyxURsvmZYphtzCBpryJVRIk/bN2oI8AhR+5F0YwiJGdEdlwml85ZORdXw40AHrqVm43SEMCYQZcyrxlpEvRLyoQFqiRAvIJd8Aa9et2guYsZu+zvn96iHVYIVCTGS0oIE1NJFQ57tss+4aLpw4YWFGzraB2dX+xyXFBaXlHZ9+TiE0tPLKr5+ugnC6qrrblDq3JzqwMbJ01rsuRZcuvplCcDZo1WrSFb5jcW5OfnhRbTNLTkCiOrJh1KVusmu53OUU0X37Yne2qSRj0k0Lakri7KVCT7yDPR/WWeljq7PUWlsTu9ExyOM/v0GSVlBsPC3UNLfdlZ28zmMm9mZvRFYLHyw8iBIX0Us3sRWa8bGW0o652yrojo3KKeWRGZnYK5iAQFMajjWzd+Qa/fCAiucyO9/ou+N/nW3gMbydovNtI2VdfGL8jajdJePLMRRwGP+84y5S27LXYhBxgsTgsn4vCcfmwbl582xGYBo4VRlj54O/85m19g80U5Rp2gtBflqBFyOuG/85xiYHxTwjjF8QA1b4AdUxQOONL/BwwrTGDEaoCZW/tLu5UU6bTTyL8AjW3ishEjIHXAeAydwSpUhQS/ji2pyLYlS2+LZA2df2/k/vnDsmF1Ho/+fufdu7fx9dHn6tdumFUz5KIr1tZHUcCg6h+j/vWlh5dM/DF8OGjbG4k3CdtETot/Y/gmCaVIiKf0NrdNL5YcpvNhAR5aRh4ooa/cBpwwioI8d5GTA3YcMEYi4Ao72vhomHYyrq1RLODMUBRMsIEjgj0Z9Xs5BP5Vx4gEvLX6NcaICR21RXcFeicF747Tzthz4fCRlyOoCAkDgu8Oh3F5M4au14hWUA1//0coZgkljGGCiBRgs1MwVXSeie3UAu4vTWhnTETn/IU0D62CBKab8eoGN5K/9u4BKv3uINBEfSdgCgy0raYYzxQXY6OKa2qKlUb+PXoNTg9oUswOT+qCOeBmNgkWYpCJVFDOu+qJL0gQjaLpYzlBGESYbWmVeNvK+vrokron6y6BDH973Yzp9ZTnN1ssxywlxZboJsxMk8RL6mZ0z6iLLqmvX8my9fyu+vreCFw41XrMAtdZp8KF2C86Rmc0Ml3Ur6+v4TH7FwZidQzUxlcTSovlWF48J/1P56RGJLMRNiNV1pcZFk6Fw2iNAykQ3f3785XJ6nC4xxEOoxY/zIxbTrNMpH93vjK0h2X4YyXDzApATmODbEPQDQyQDTggnQHgNb4ocKEM1AunDi8Ij7CtmARrfefNw8Y+tA8I1S8eemhM6FZ6M986daV1eHi+eGD58vdevi403xuJLLj2zoMk+e6779lNzzx3x+alkUgwHLr2t+8vW440ejgBh6HUCGGAlStQ8KEIm2z3o3mtMwE12mMpzOk2RI/hCNLiEeFUXzsCGaawAVSXT7ulxjCz8ImgqCcOdpQFxPgWNdN6LP+156PNG/Hi8+2Jz/f2G1QAnkFwx+yOIqhTR+YDwR0U4xJApB1mz/qVBgzS5WlhjtUzyxmHvUAlAVNgUnmrHMSO/R6M49MC2Z1AVAI2FmKiCFZSIO09RA8f7ucSdh4mw+jI3ZmmYfUGQ26ut7Wt8Zqb140eZcmZGkzX3pLj85bn5uTkzBGKSTsZ/tIA4/ESWVFSXeyuKsnNdjiN+iFXja2pmTustLS+0Gyy03eyKqqqgIQsz8qJyQz4A9IfRTPXxE3gLuBmAY0McwrabFSIWnsM3fvtZrvbLtuDdj+QC2ZvjDbQEq8iFKsyyy63QmbApAMmncheN049t+Q0euNdANUYRbfdqBAbUllhga1wZOs1I2s1szOCQ+Z/vH3Wotq/1CyeNeuaWUtnPvP0qlAwR3212uwINc6Y1WzPctsdUyrsGuKkn2jspb0nMxab+GRVCp9Gnlnrzsq1WofTi5/gfyu8vLguP0+QZTl1avbE4W355ZPKSnt6Hn64J3z2bE+RY7zPrglVjLI7XZNTU5JrPcPD44uryZhAvViQUpRUW/ugoNWXF+sz6BlCCL/fnFlVhn2l8KWKniIXoEsBF+CGcHUMb6PVtyS7G3jF6FtwKzbfvBdVa04SNMsxW2+zVjH1DooaQE16DRGZ0Xdpw0ePxG2+m/cOzStDm++eVpQdR5hOmln9nGgce4Ni8n3jtyPuQIPvBuEsiguQsEQhuZAv/YNZgJflDd0bNwBvfuRYg+fOTQinFPshRj9G3xzx7Y2K8fcNYxvvZJdOVOqABdAJD429M+lk+DgV6CXUzpTBW4e4kQhFAzof73Lkw4Q3psdl/qpzJIqamG1wf0E87VfhrFOd6BpQWvH/ZoiJPqYg0YuUo3FkMtp6jGJHqm+VQkUtQTr/RLIejCvFHqR/FT5i5dsVhQH7p+nkzeh+FDFN+zix+GRcZBq3ZWDwRIecuB1orRBw6oGgLo2U8Ug2eaZ0f3KCrpzy3Z9/fjciHu9xoGAll1gsfE7fCbu6IE+twIROxu/26/dRlK5sin4/vkmNESYRi8Sez7dKe5meXkScroOpgWURpHeFr8ktbOBQ3Q/XdhLCcB3S+qgv5FExZxUB4AeCITGIMgBelW9KR2Mg1Y3Qsd/dv+1SldtQaHGmX2uxXJvutBQa3KpLt90ffYnkvv02/cvbsvp++t2DO87OE2wZTkux8cm5c580FlucGTZh3tkdDxLDxXjV2yS3X24hHeNSgDtEa0t9gn4wrrwiTp3oFHVOUS8aVteNufnIzWPqgox3J8PIaJoZ3c1MSR57gn+Sb7GtHrn45psXj1xtI5cxDp6uu7av/Z13UIawPeoa4G8QvyOsR3lQCcxE5OaZFoFJkKEFNp8LiwikdrQysOsc/ZQR8ReUiXCuMwKETqR3Eppzkc7VfT+GhXxIp6DNZ1i4bd9q1Gd2Lnhk3cqV6x5ZENM2d9NuVJyouta0TFkNKwRJMs+U1Wui0zEbxrvhTLQ3YvM3NvptNCUuA4c5lcy0ZWgj5mJWEnajHYkxP7MLi8tCgELTob4Czf/wDU4D5Rzp2RqJiIbeScIxZu0U7j0Qxtb0ZfKHICvt7T0QiSiKF8CdpJMZVEWr4H0QlwFdksKyitwa13Ejs8HLh1kTEwszOhamG5HPERQL+bVFNKWott5NThfxtzC+prao7wRz5cgvqhWfRdF/cQ1icOgYNM3AU9H9sGc2BuS0vBx4gxh3O7hyYLUI9iT66Sg+Oop48pBijcfWKmmmIej3EMrgYrheyzx3zqnLCW1fvqal5zu8UzS0rOk9gLbGioVvXybsDyLIU/REEekYzCEXsxJQ4FLQKdlj3itOF7NZQS7GLSLeEwPio0wyqKFjL+iAXPvmi8hBDUoUIUfHajTk4AVCPjsusJ+cD5n5Jwvs7BbMYBn2xZvcW2zu5jHfAdTz2IjyLHiIGR9NYqRA0GgSdMSkSN+DbmwJkdXeop4css8IK0PsLB0GJPbC2tZQVq5YtJ3+BkvJg4UVmTn0Zem+meN0PV/w9zvdqGDXGRqqNPzVnrGh1iRNsq5nmOrC6LPKKXm0JYkKim5O4U0RliBs55yJqxmpdsBrgYGCOKA/F+DLalIagPnX4KXzfY2hsPlY2up9q/2l9JhkZmC290aF5ehQlMmqd3MuCuAQ1c7NjK50NVXfWeCcsnr1lMCFOdHvxeMMQEevZMmPio0azmENzIM3md4cB9SURhK0AApVFaOtgAzR2QLB/l9cdxBHO6ILnd76f8GES/2BINyLOob4L/4EabrdvHi93VjgyHMWFhdfOLOkqNBpsxWYMnUkJZl6SZJGKK701jUMHTXy9ttHjhraUOetpAeZH1O0GO69okC511Ex4+IKB96bl5WthXvJe/QnXo7d3Dj+9tvHN7KbxW2+9SPNvjxHgTErXS8b9JqM9CyTrcDmKOR5azHxpKtCld7Ckhxran5+qjWnpNBbGT3InKwe9V0xMjN2Z3qSXp+UjnfmOYrseCft5tNit+ak5+en57Bb2VpT8H0K6hkAMKSp5AzAhwQYX1RbqGQbcIcp06+966rrQyYyjzShNV2kxyE8Rf/xMD2q6gKAUMKnuRqWjyWppMJIqgBG3Rc9omquuAPX4FKikxdKh9ERESgmmOlJRFLZ850mbz5TmAFpWEbqYWxQCxo0qcyxlREISnJAXjhuOZnedZo++ho9QqMVhdzPkbUvOVx55ZVXPjxp+rjWqhvI9V8kfXzHfcs3LStZu0zKaJugzb+FfkL/eaT9IfEefsclcmr22x2qEsF7/+zw1EfeSS513/7x5dkNHSOTmd6Q3BDTh+ShlBqBjGzIMFcxSMPgjl8XywGOPfDkBvLtF3ySwGumt7dPj56w8iGWeVVWb5jRd7kkfEh/lkj7kxvcpHzDk+3vz1BsFxT8+T3wLTkIi5w2XxLhPMSuq0oh2US0+XjOAQcqsylD7MdeJrGb+FZ9AO9yP537yVFyAwl9f030BPHtp1/T9cd2kfRlSy+N/q1148auje2RY+QOcgGxv3spPXr1t/RNuuGDP5CrifkherRt8WL6z5uvmDF9w4bpM66I6c8V3OpItIzVeYHWZ65eLmZZDVR7vy+FTdzp9HqddPGRvO+rRl41bN2ORz78MMo7fQAGvM6eNoePX/7jXbW1f9Q8fMczP0Zv9TnETqeX2d+hzvt2eJYB31vn1dvYM3SxZ+i8wgTi/B8nPVnbcvvF7Q+/+dNPEf5TkntwxAju5+TfP3uU/gX7D3CLIiPSME8IRV4KK57r12PTbvF4X3uEpghq5sSEDF1fJqLKdgVgn+EkooGxfkN6DjBiLvDS1dxorhVnpVXwVoV4pg2QRMlKqkLEjfovzHvjB4I+wC4w65mHEYEMIhK34MLZKjmrTLKAFthufQBAR0Cwy6KjYmxRVWuFOTX90uFNbbQlteCCyy4oSE2bc9kcYTEcVA9Rji4es9EZOnjdB68O2aTb2DxuY/SpZUPb/MOHLtEuq9jbVeRKFiq7Hqpcpl0ydLj/kuErUrUuKaPwolnjykcvXVcx+qKLHghuXbhwa7B+woT6/lxvM3ly0zPzPn2etvibmoSKW7rptXlDysiK3c9Lybrnd9NbyobkkfUf35yhldicGM8dlNdKy5htuZmgR5kGxTqE+Sk6HWarxix9s50+tGNqYC71Rv9pmWJdZ7GoxvyVdpHdP2VVub25Pn0wuUYQW3fQx3a0XL0wuoIWWyzr0RX4xE3CxouTcswlpmr98NRxAsCdO0i1dKv0OFfM1TCNfZoAYDmkCiIRbrYSHuGxqgxHJSTrGbx2+xSYbzYJMwx8piM32eIyN4+9qHlSlvui+bPybOmlFz916Woa/emzLq/FmO4ZNWPRyssvedI656KWOUJq9ryZU2fLvLRHthZVBP3VZl1m1fhRw9NM6ekTho8+TqN9p0aNbcyc9fiqYbtu2nXdleGW4tTooqaUlNHTF9jyh+Zbpswenx7TEZKdjLZCSUS/hbDehoYiNtKpMFXAyKExJRo8AmHXO/EtlBfRFKQiFfk9KWF1pALctXHlwFkOZ3Zwg7gsotAMMMXF/hwJOBpIGuFlCfh130C58zy5c5mtQworRFOUlLzuJCM7O62zfuts6GoIUZNSzLcOTknJZyTzAVLEWK6PH6CnhDYmJayp2RNL6THnUyNGNL5C73Y2NISenhcrLj4nVeSZiu0m+gs6mO7Zy0zI0YWyCmkjKzGi5MaHclckTEoIEEAEgAWUSXvDZ18Obzm5dcnFFy/ZenJL76TIQr69SzjV1c4vpN1hIPR7D8Cih1PFxXBZJLJ3axc9FGnv2ro3QvZd2BGJdHAiCXCTpLtkHbO/dEIbKpl/eB6w7Q0w88uJ7JZJgYKHsB/dBXFCUZTd+qCXmIOC204OBwJvbTh5csNbgUCk/eTXG8n8h7/5dt9D33zzcPtTT515uosIVx2JbuvpfWfjR73besR3T37dDpe+1f71yfa3goFINOmbh+Hih/Z9G35qIyMhV54oj75wnDd+4Y3+9jgHcytRX5wExzqAonFJpwsgmAd9QfVo/oaajCBLnG6gj81umRmNFUGJqJwTgm7RrNMSW0QRvQFDYd1Fu9HpBjLk9K5dPbuIJxJtkhqZbCyTpqg2oZvmrl1kNjsnq+Na+55diowa0m7i2bWrahcyKHiGCTB37aJtu+CPeHp2KXKzmN9T3P7UeI43Bg5+vpWIRhvDfcSfQJEaxeP9hH2LYtcabWKcD8kMDINkWADWVyJrgaPPxh4Kep/4JHN+HdKZdfMzP2G8NOCAocyXD9cu4yO9OugjYMR04vrBCxW6QhHEtEZwHeN65hLrkJQ6lHtjqnyUZqJSAsUvEdXTb+FNChiIxAGDgoOZ3qORebMzAxEzNARd2M++zB+CYQiLhr5M0RBBbm7AxgvtMGu5CUz2qAAJlD3mOwLE4Q5wzjTeZJbKVAgj4WdVybwYKBPdIYFYVWmClpSpAIQu3xn3dtu5M+7t1jecbnl0LLmRcLayjGKfvanS76owtJZVPRMaPfe6CcUpRKJtfE5l/bDayuQknWuYsDmv3Jouq0StWi0bQ7XVpUluoZLVtXNQ/T3uwz+Q6uTgjt13ekWTq9gq6kZMbq02pOrKfWNGVNFjj0/fMrWhyFZoLvaOriNvV8yfPnPkZO+wnMxM7wV11Y0F1w/257HFqZYBP/SY2bKStxeUEZhOGp4v5P/KrE36JUAlG46sX39EeIe5mamhQHFeT3BHL+Knrj/y05H1vZNQIsaeu5J7RxZlEeBEFcNTGUi/OlDUGWSIKiSUAd6XzUQwh4hDxRg7vz2HEGfQJU676f2ZplvP0BP08E03vFG1t+DeVZf8dPy3l2WMvudzSIccojr3M2PPEhsZSo9bVGTuXFJOQ3yq1DX2DP0z/R39/L1ZprGj/rJ90brX64boRu2Buw5fBuklc+m7/MiLoHpz335LsSpFIF/QPPpKNy8DjNXA3HoF6CX016jjxmJ/IeGSAcjVa0OxLRzKoi2kqgW22ExgIVYFgvoAI3LZSS2PVwCKIcpFaGfdSQ9bS1S7X3Coh9h41UhZX0ufyy2VyRswMSS9ISf1I2OVNnp/5XjJWRhU7xcLc+hv3Tl0q9mTlDSKjsoqVN2bqlN9RMfymuwsh/ZrQ4FRK4jHy519WfyJpx0FR8wjCqxbVWkF2aaqrN7N4zxuodnuukXrsmjTduSYo/MaZgrL2GmjxZLMJfrEq4B7wVWkIXGHd1UzgrBok+pVJkdB0IUgKiYxQTl43Bc2A6jAadxMtFmFNcXBmuJ4owEdYb1VDs55XsdX1X9yexVDgo+5vcoZxMXpfEEYDnZ/hnzkXnqa7qBL6XZ6eg/zfX3wHXIZSen9hD62OjPdlHnTTKdxPbnxr4+T4BU1yzTqzCS7KjjSbqcfZhbBEVzROdt9ududaUrPnLlJSEtJNsmaJf94+9+9r35Jvx9NJpF/EP7aG9Yvz31EsJBdWPe97JnvPMicXfeQFKdwi1qo9pNk8uIfr2jTTGvJcGeXp9dIc3YN65k5UxhB1CoVH6olKZIgkLoQUdPHyvKtF03c2PTKqf+hF1/O3xZtXkEOEun1B/sWkfuiI0ttU8jfFRvMuJ/0tPP5GKA+5r8qQyM0/yCvTmZ7gzlZzXwRKKM/0Dn0V4/QeZMdk052jLI/IH+K6bHi2tpiUlyMgUd+/QiwiJJTSgG/KHMmzORSZi4b6NaJ3AzFC1UWbIIXZQiJXgt2vXiu8asfXgtpG4AbwClgyBFYdsBNuEJ8A9Ab7hAJyi63FyaWS9V8e9mM7AvpF98/MpbkoEeqgttow9th8hrmYhhPcNPXLqevXaUZ5m+8Ll8Uk0no+ZYphxqISpIE3rZtqHeo5n+asz7MHqsSRIM7j6RFmyLo5arUAcy785VE5ElTln/yyfJh26qzHdnZo01Dq6qGprldtuRkZ3b1tqGvjNzQPkLgER/dxHXKDXJj3J5FQ0ySTEQ9FwyY0JeJdxMxQiYUEWefK9qyU3ikwr6ZfhKddD3/KNXyXR3RibKBPu1Z5+pz7OS7hMcrnSq6KTr+ev6Fvu38s3Aan/E0t1LOEyOAZS2o++SY/Aw5Ry1RNAyJh1w+p3cz01w5g1+yb3Xu6LBnutGYy783kKfX8mXkjQs7muk11EOvae64UIysnuKrMCSJYoUPyYT+fG8OaSLqss/pDyT98zJ6BukYtDU4Lh7vl/UnWhIdR2t/ZQOsPWD9o/DbCs2rV6jd+DSBnIQyTakx0vMdShtRqMswUjNab3S1q7rau3q2ospiwOdJB33BtAyDa9HHkaAJeFMWCAcrxBQq/DHmU+eJJNSJFvzoPNd7APYJOhFYvxbOi7hO5TUkkTQeyAaZ9wOHHNQDNvADDaGzWYU8IpxKKb3lrpNt49tvu63d7dLkzZm5acXKCZVtXz14ja2AnGaw2jDiN7fflktTctu3XlVcLKvVOSP8JSfoZfTvJ2+co9ertKFxHbf/6V9k2NPoQdN3WpUxYeGLbSptaWlDbrRJqSqmez0t7T1/36PdVL+m5Zy+T3in873Rf3yH/621rP6z5Kz4sfgxtknD9zuEiR/TPWTedrqH3ruDzGU7Mk8cC8d7tseP5+6g95K5Ci+oyOoFrgyojOnchdxsbl4sNkBMSNkArKA/4I7rXNkvL1Gi6a1ihL6bnbWQgWJ2fwj1toqXhF2MKeyZ0l6NNjW9L+jT0pJSVaIoETk5pcDuteRka3VJSTzheV4F+Cs5NUWrN5gzhZ9oSvTkDfV+f67FkG0pchcMC/qqhlRUBXLTHXyqOi/f568RtsRNWNCHU9VFa5NT0zOyk1ONmbxESktLAH+nZBgyM3MynJrkNKuQoQdyUK1xodJhSmu+zecLbhTVUpIsy5IkapJkIUnFbwz6/DbbB8wqIhJmPlYD/BH2WyDWbwu5pUzW9H/pu7gRw/+l/8igPuyz/Nd9WKZ0D33yf+lH/nA8FgCaLwOvC/zIx/9dVxKJddJv/nNnLmMXoe0PdujA+i/ipsLsc7viEnIvc6lBjXf/jxkLxH6EGQHFBejxMxgWSek5s6wzB3XuINTCfyoAXWEyWW1VvvpFTSNMplSBJMmpqcYMS1axu7ysqDgrK9OUkiZrhNuqLHKddWVw2sq2BQsuvXC5p62kIads6LTyZyY+PHzhvKaHPpw8R1ynD/qrK6ocbqO5tm7qtFn6JJfNUQADnW3S642WXJfD6c61Re+fdvVZlYbXAUWlTUlJUevV2Un65LNbJq/yW7IfvpZ2L19OPNc+7KtncPAg8Ks5AGttCAe5fFWG0YBAI43Ae8Y8FH0ud5nK78vQwwRA8gQ3gMhAtggTSRURbi+urTMas+wKQWLPUueM9Ht2tfGt+SVZwfJImS+rJF9efjuld/o6VoUtVtvSIiVCVtFSW7J71dLrfHcSvic8Y4a/rizgL69L4Bn3cmrmscWchomsRmYlrDDfbapmZhpwCFhIJWYEsx1fx2wgFfgkrmM2Rni9eBzZXHY1NwhWQv1Ouw5BmUwG1RhBcT8z34/5y5F+PTarH+5IqFQJARSOuWIPbj/0G8JJNxlUpdDBrB+agEaJ1T+4/XBHQqWIj8lpdvkv2g94Fj2qg2RQlYM765fthzsSKk3oqgQ5PvOdMJ/Xczema9KjGOA8nrt8ecyx8rxeu/QNdlLxBon5PEJ/HRnwF+i3CEX7tCNnKuIb+tIz/+3+PVyfGOsHPYPGAo9zqRKdgkCj0zDQTxmG/AmRmBwhheQ7uIz0JDwe9F5igYwOQjKTyohK0CPIERmpAK+vDNhFdxryPrYAEAe/FmWHv41uovf9vGsX9zOZQzaTORzkf45WkQtJ7V+2bPkL/T3dR3+POX73lNFr7g7O3/wYvXP9Y4/98/HHSLl32LxyCy9cZXJW+v2VzuTPurubVo4CaCkgdJ2alFvTPHG48VejC3l3/Uzv+8XzqxKfSmpZS5yluS9vDM8w3bt4/WPhx//52GPrr3iMJtfqL5g/K8/avHHqMEeWWiAtH36octWOmzx5dFCXvnDvgnEFBhKzW4/NQTP0ezmLtmdTIui5mOKD0awsip7Y76XnC+h/kS9hSmEGU1ASCuXiyGgTqnLv1bSGwqFWzb1w0JeSILzYnhAu7EdFO78idu0KOGDeExYjVmG0oEtFTBbcnZDGTzMrGZTVvicvkqcDd50NGLYB3s9VEAtoGSQBc+KBT09QFYNRqVhoQxSXysSH0fHS0FwF3jygamxt90Tf9njKNpTwAc/3no0l/UclDeQBT+vGEjr7aQy3CKdh3/toQWWlTqf1jBs/JD80WqKteHu7x0Pw/lUeOCrZ6PHwxXD/xug2OhtvIg88DRV5eD8GZIx2l64Kt2Zn583/Y+DClRfAutgDdHSV9CU3mbuIm8+t4jZzO7i7ULdsQG2HIU2Sy0S/IlsPMudBFPMAZ6YYDcTDIMZSZaSUC3BgIUfi8e5M8fBgRDJaCb5/EOgHGFHRxyQwsqTYM4hxTSMcm72Yh2sgL33a2nW2tUCfXe6qt9dpksf7xpUVFLSeuaC1deHyreqMjoX+W5w65NswoBpsmNU57qxc2JGh3lqxJLfvVlcIx5ZsUgb4oJ7P1Yf1ubxeqw1riUavTafd6Vq9xUg8Rgt9APcWI+2G/fowZnEnvNN6tqvVN+zyKc2llSa7pK5wTL7wllZfa2vr2dbhDc9/Ve6/5uuW3Bppzd41VXhTlbKHQ6k+q+Xra/zlXz2fOzSDXF5XWMSAn6Lpp7psfU6O3mhK7jEDRtYBg/K1wqXEorxxMTsQ5HlqueFMVouiAWPAq4tFobQo8r96ItnjoStjaYHbGJMGKtrGuFhIyI88f/lFKzD0UwvOf29lrEWVXgzS1tUe4ctjMXUAX6x6Yfp02o1mOISm4nL6NIM5yUaUfcaninwh3N6F2EgxWmB+SHF5dxJnBChQybUi5CW+fmdR50CWWbfEjFvQtiXxCD1MY++BFI1kj70uu9ds5atCKJ3iWCIE4SQCbL/Oit45Qke4sA67HNqnZGgb6mBwI50DucP3AShQ2zTqAjVk7jt8z978OzvaO+7Mf3BPVNx0/e3OpgWjiy0v0d/SDvrbl5zDNs6w3yntnbm88HKPs6GuMJ6JHiGz0XaIPsAsiAby9Sue9/+EQIWUEEI/wtxP/udXrHzKl9Tocg1N8j5FJ7pDSfrKYf5S2r3i+WXLnl9BPDVjxmclhdAekfkcHGc+0zboyaHcCG4MNx5WLxcDLioWZMaZeKDY7ivdiOvOec4xCRplJ2xiLBWWOby+jAw5s67MNf2Z6XzroMPoKzDWbMCLUCPWn0eXN3STiO5XUnGne+mcaVnZSQVzL1junjdu3Lxzjnt/RjuqRJuqWJ6/GiMlMWtvJUV+91XAI2mykTNwuVwhylfS+IIyoJdg05sQ3ugBASN74pYEAC1upnuWTaqx5PWKQ0ePHD1UQV4d8vmun96c51298Dcv08CsUVPe3L1g66xbesbPG99zy4wLGu4Qi/venrOtsXHbHKFq1lIVcWw/PGmhlX5ZRjMeSb/44JToZ+HpXdMXGFdNjvvdR6R7YSyYdAC4AYx7bCcSkMLIapklDCotyXod2gGHCAuVSmSdnkm2Au6ApLlgfH5j7VvT6Zkl9N/TPqxvzJ9wQdM4XmO4d5m15q2Fz+oNo7tOd4026J9d+EGDY8UDBg0/Rry4bP+rF05ZpKap5F8pi2dc+Or+0gIhVHv1T6HpbnoNH8g91dHxl23b/tLRcSo3+jtylW1u/dnNtQ18QpyVVIyrwLGoIUA6hQQgVGW9U3DHou7cuv+rd571B86+bBj13iHhDL2RrC75MrPvlrI3bWQ13V/Ir+W3y+pFt9zi9aF20dD0eEfP48RBMp2byVM+WnNxHj1Fvyohd9C53DnxdrS/jLfzn2Lt/KcgOxizS+iQGlXNjDJE+9JOFjyvOYK4uov7lNmzlnE13EjAbYoXfBqP+hC/zwHgxIvITHKhZBWVrTbZbor5EsCqcZsCzHwbx1BMiObF0Jm7TAKUhaJvk3BP68i6FY8t3nT0SqJ6Ps2XUm9W50q3v3LJb+aT1xd0TjGUXOW3TXy7daFW29mK+5tUk1jYr74HHt8tqlLNGS6jL6W6+po3HhOaQh3zQ6tmBRs2TLzq96R+aEkJEV7dNuPeueEZllDLdfOLq5y5094U9qy67AGBv+uyVfuGKvHDojVXLjNlpefk6i1pDnUGv31OeDvr90lktHyVtJXTKRZ/qgwzRoZVYsS6Aw59QRnvthNThtmuRIk1Syqh7wlS+mrmETT7P1Xw4z1LXww9No/oLtv8/cENGQDUav5W219Mf5C27qH/2I8mkLe9PqfltbZNPS/Puu+zTaRzGD09LFYEa7eKeKU90v3nk40KMdnoCqItINa+P0e7L+fPuC1Lvo9+eAlfTFfwZcuiH0ob6Q/2eXl9n1/Ol/G9hVaBvhn94BLeH/XxFcujR9i7vgnczHLmm6vEtwPgxqyVfBrCLFZgbruAGzeZyTVi6aFDPX84JLTwDxhTDMZRWdE3om9mjTIaUoxS47N9B599Vhj7bN9evkg3xGaVDXQT2QykjG2ILvE5WhZ3+FyjUYQC8HoMEmAcZuD7gUdTwIGGBOTlraGe6xDoi+tDrddoxdQkupRsyTZoXBo67thHdBxkDNlkC12alCpqC4N8G39pkHcJHXhPXzvshfe09swkuo0utRqTeTVZ/dpr9EY1nww01S5yeVKmXVtYTtXkTDlb7ytkjTwb2mpT2iojroS2BqFPYA2W8YAv84jIQWI2yZo1Lb0TUeirenrK6p3RvdFFcoomWWNLSebXkK9yUxxZNuEyYf4Fk23Ubnvywr49F06ykc9sTwhNfReRd0WtRZuejD7fVzi0yalm9N3v5w9NzHbew+QH52pq9ZLsDBEiutx6K4lbA4tOk1koI6IQCIoANM8b32vsbXNL6Y3+wyo9vbF07m0bDlMV0271PUdWs2NhPlxBVvsPn4/7VE2I3/Vm7KrofqYNey1W7b9itZzL6+Yg/vlllCoHHMJ7wQHBKFEkmXgNACHOG7IKX8Bw//30O2abfj9pS9Pw5FX64dy5RHX+EFby/cSQeBNpSxL5btKAak6SzhczmXCcNsBVZvpllEcWbcRG0Gx/ANd+Hd3PXIEGx7nonRQLtZmi2CsoPNx/rndQIHPV6r5MZtN8bsQSBUSzevv71DKgxVbqRS2YEn8BdWKDnxKLrEFTkObIBNIDrbRrxfreScwpHp/HwrcooRYiSuB9xcEKYyD029wAboh7TZ0vXjKG0zezuD8KYmEkMk1hptmqPYj3wiiFxNCOgIX2nvvNhRjhQvpl2eqYZQ/aREmNkd4DeC3ir7522o3a9Vhsuvj1YlyCrgIAgh7QKKfZj+IfZooei3/Yxhxf+Fa0QGd+Mhi7sD+mRRnjtlEIic5wQOvpmOsNBtsKBtB/qf847v0sHo+a2hcvqauvr1uyaGOJJW9SnhV3FivuFhRardY8WV0XWrTozKLFdfXRxwsxsH6Rqgt4FEteIQy9FVPRYM0thuwgGFDAXcwt49ZyHeddPYGMOFwwssaikj0d0TUSSwp6CjBjbH0Ard7SiCkYsDKrOCPTeckZQXYi4CDeAAAzSUb3Mo4FgUWltLdKTMibhJGkKW7BRQ/Rj9laq4Kf8a21a9+i39L36bdvrb2iKLCYPHF9z4Flyw70XP/+/gk3+w3rLtr8Wbblso2lC92L+eTU6scyUnUZgH5VUjJA+CFXly1whwUhObX4+tlEQxdJPk2SmZcX1PKusrVTg026Au2Kuha+3LQOD+za5XUtQbbkB5pRxJrWc+nat4hxoEV3/vml+uolYja0hP4DWnSpqrm+ZmpX+5WPF+eRP6dpVVodb80lRKUzlwVKBPKvWVD+XkZquipZu2ID/Zg3mxenWGnl5ps/oLcc2doy7uHG6d8sVtLNSvzWc32PlVgrsUDFtnNSFPMjkJAaKQtjCDP5BAYWQXdkxT9/YA+cX5jhzb3n9QHvjw0TT/XnPC/u643RD9F2AdehrO49EO47IathAbVhIDGMqB5B10ppb3+ok5T+6MFKW7rDsb9YLCMPw+VxeSI8QR+LP42e5GEl8gi+Gt6KBhN4oxro2Vnye/IbXBZXBDyYnxvC1TNODP1/QwRnJfuCDEH5jyL8McskyNQHZfhVGUmlmOkGRBm/2zB4U+3bVnXLsrXNZq1W2max9C2xTrH0/WSxCHdYpsyoId/XZGoEKVlVsWBMafkyUlxTM7WmJvrhKH7jyL6fRvLto/p+Yvl/j4rnR8mPbJO0WnPz2mW3VG2zQG2LobYkyxSrcLuF1lBdzbhl5aVjFlSokiVBU4j1Ta0ZOjJ6zSjy/ahox0jyfX+e7a8Zpdh8QfcATZ/CuJ9+bSsy7QZONnoHBHhoQc3FjQfxAiWv6lq9b/WalqmXwzB99XEEzSKZ80xR5Bj9Epnxbx/a9w2mGBloyuq1kxH0rp38GX3G8aEiovvQQSZ8hndghEXmdgPtmkqsUrv0Loyom2nIFWcsn6OBqJiNSoU+Q5aQOa6QeTezNHAIjyqxDHky9qGH+FtPtF1Se5FHN3FGS07OnKdLdWpXiU5HG6V3W9svuKCdtltcoip5qGWk0UDfj0Z18sK776mufoU+mp72UPS7adPGcTF7VkVWg7JxnCP1LCYFdy4vHo9AplCSxrg6JZGmhPUQ/3KCI+69YcoPppF8l6prgP/+MeZ2j0Em542gP42Yx2L7tyDqCvds5VuZHImMUSLrv3U7+eb29C/pu1+itJwh1G7Yk2mKN74b4/7bRsybN8KmfA1gDf8oYp8fB7wHa40TJzZjsCcVrOU0+XfyQS6TaYjqOE6P0u8Q4ULQxZyWlKnF/+JzM3rT25e0WcIk9eS3G9KtNPPk1yptVemIQFNxqfg9/f1zpDbrAqcro++zVmH55ZV/mU2vW1+ybnrJ+lr+h9ipbPp78aqMM5evglq0/+y7T6OjN738O0FtyXRmWVPUy+jvD8KVGS7nBb9f0Xfb5MrG9SXT13nWkXWz/06fILXZcKY1i74O45cSiwmI9lD53GhuAtfKzeHauU5uF3cPt497CkZS8CsMhVGApocIkK8kgCyjSpYwXpdDMJnxg0cSIiMt0ZuBo2RGUWboG1k5dKMoQAwE9WWE6FG1iJyDoDeYUWeI1nS1CBGZBNWu88oicpz5eOQ0w4OxHgHtsezMnkr2YT1OxS05aEBMGQQ8mkMMJjNcIB9ZMGGXJXfUxAU91vkTdlWPmrBQeLXAfuPC3fSjakzvJp7ItY2qzFJNklaj1VSPVRemqdOG2FvTUtKAqL0TDuW0arugH9VFd2b5VaNLyW+OVhpUclqe7ZYHeVJXV1lExh3NWDqcnH15CiztJbnk8SUYtI+Prro1maRm6KsnXFOkkdSaWqdWrZ+Y/9jMS8iDj6fk2g/MbVkpyz6BVi2/hJC62nLxID1JckdPmLArl9CTfDYx547afVsuyeu7bflb+5zBHXcvf3ufI7iDX12xgddkZeY2hIpzxiwgdyQLuSptqkPKkdTqB18ndyvHRA7knhkToCmj36Q3Ejk4JCnrwhkzN5AKeljFGzOs9MFxjZMBTRSiGyOpmHTHqjsRpqhS/u4XMglP7vqObBGINk0klq+aR9Li0id/Clnyc1vXfTpvXzkJGbL1OrqL1NAPiUBi3+b5LcmX9dLjLGpWADjdDLcLpT84QWQpw2zihFM/kCWL5uqndn49//DYsYfnf905VT9/AVlC8heQMb/7DWle+ZwsTGxsnCjIz62kB37zO/obwFT3w7w0y/OA+xzO7K2UaHB2/Nn0MNMAfgDPKdjdEtM6o7Y/rvfHZSbYY77oyBJLimGsEFA+XIHHyk0hIpuHNeWtn5CeKaVI6dHWzwVdqpEeNabqhPAVvLPFPjnLlpczkRc6DCqNVp83/tFxzWu/4mvKpudWXVWzueaKiopA7fpNHdb8YY7iFGt1dkNWjSEzO6lM3PS3j+dcbZZ4PvqpTpeertPxLl5ls01YuXLlbAfP56aoJClJbfIPb4pEfWnViyMzl765sboi3fbw7j92t63lv5KSckdPne1xTE5Vm7NqZk65wO5N9I8dTF8wa/AsYtNhRAR9AoVhUyItnn0ZqGb2jxQ0bugKi8HHlNBCjGZgxgkpStw4DBEDlLqqP4awCp6Xo3wFhQVnI4Iurs9g5LUXY5OJOtmIYXTwg2p4fxhoZNqNtHNeIfFAqgQdaQPqqRGfgIFZlLOxq+rIaRSDcuqE5w6O9aE838xIGGY5ThLMWkQWHwqfD4wDC2yCzBC+cNxGS2HVlBaElTiSA6YQcQsTRiPG7K6Ufo5HPk+wPnKK6H+oY7YlSMozixGdM17ACADsogRrJQd6k6NhuaSJ7s9ITs8LTR5SXT1k8pjqag35V3HRzCFDLps86bL09L5qZQziNCZur7cBFZ5J/WlDqlsmVw+pqASC5RK6Vz+kGm65bBL/TFZ6RvSRGB0qn9P+HBYzw3XOG5zL35aScxurfNEnFiy0nSFOMp4+C/Ok7dz2RRIl3NGmWCQNxRzr/xd+L33QnED/ZgOLnJsPPHUh5+EqWOy3OoyGqYmry0VGTtsZaf1/ySuTCHhpplZn7vksmvB/lU2c4dAJ4YHALudNYjHsEtZZRjzGSXytsUDAsjdo9rrjgiNnjG1IXG4sqo9SM40qLjydOMMHpryy6NiHCuCPeJQQCgrDgO1I+tV1x/iX86w9C29jIaucCUvx/EsQPaSYfwV6SjG/kfMvxNgRyw7YKCX2T3+/JL584ismxD5XAU+WHr/DHXRriE0DUF9WbgVwE2FPw7hC6EjUP3jocc9CRrIQyziLhUFtKE0cHfRQU/0CGvihU1xMJoFHg+BiSpKOrsp1pHuGuAsL3UOG5jUSz4whbndhExQMGizKi7qUFH6ULJfSp2R3cSBYWJg9JEia605mD3G3FbrdxeeMG/oMpbJvGZiAc3MpMa6UlorGoFk2OxP2QhXK/8t5pPDi3mN+X2JbaduBdQcO0O6B/a7GizV8VnLym6WyONvS6PE0ehKbXBUJV4XDiXvaNneYblJ+/srXmmsXf1+al19amp8HMOED7gMZCGIlHj5RviHncLt4/H6catDXSTz3tLXds4deSC/cw3JkH9lHf2Ah8lhkb8lzzknM9ZzFUY1fxPxJFb4fZ0QW9gr7XogXNtFmlt12LHAHzcjzIwRCrjqCVkEYlHhV26IIvh9NgRzpFNfSj2C5sQisnxz4fXQ4HEKqxCaLxwuKfclU54aZR2x6HfOsljEkLNwWPbKdn0sXRyIY8TOCsLTvRJj4oh9u5+dhBIpItEnVDLsE+ynsJb1OCAKaF21Os85mFnR6qE922kS3zia5v8BIdBvJWkD3azH3BYas20ivh4ZfDzmxlKzt2Tr4FABbPLWR3TrI38gMOO8XUuz/jtM8v6/Re/8N+3k+ZyLVqf+WJU2N4b0aaH1hDBs0AV/TzE3ipgJvMxO4m/7vlzDZIBO/KlJCm1ERE9YTJYwTfshkoACO+8PyeY12/ISeeE5etPu9bIt95MTDbFY6WdLXrk0rTtNq04ymVC1/KC29MD0tTVusTYt98QT+cWMx1eM5VC/jkdSI2DhcV+bxlNWFY2mPUQsVGHugOm2qqccA1aUbeoz4iB6tItVm0fLCCfvI4O8wJFBV54vYnRjFODFaN38y+rC4HiMas2RwuP++L/rjG/95IL6x2O/HNfAlLU6vDEOMiiRKsDadEENsYRR82QsqaUVlgR0Dd6FZXkRxRZRu6fGL66ZU2AsKCugB9PhGsViM3EB99Q3yCHkLdyHHBU0hKYjsaqDKik7GbuYWhyLUNAkjWSFTYVXJTFzF2PM0FssqIZ9EIrkdXR998lFXR44j66LR+SPqhg4JBaxlpcaUyrIWz5xUR+ucoUS4cUSWx5GTm54lprcEF44lpLCmoSTZNOHeO4aMnLV/u1ZOTnJqb3h8VMM9V2ilpCRn+uq7dt5wT46udvEV2zuuLKu7++6xRnuF352mzdxQmu02ZUgaonEOmVQ8YqNaMJW4h7vGpf55dEnSlGBeQ2VdYIyzboy2oLT9mdnJDm26nDz76SVr9kxR8pPuoCcpqr6BZvIAcbEX+Pv/NSYl+oyS+ASG7b/KY5RxSHWYV76OpExetsEM/l/zyIAgeYCTE787EItIeZ6krx2XAxwo9CTHLWByCxv3/+q6FuA2ijN8e3fS6WHLOr1j6SRZkvWwZVmWLQk/JL9ix07sEOJHnIdNnDqxE5OWJiQ4DpCAg0kIBdMEY8gAtkmYNn0QGmAMhpI+hgooDJQQk2mnDR3SyQCFBsJAY2vp7p5k7EBHo7ud092edNr99398//dfj0YS8e6nnPzp1Tc9d3ENOl2qpAIyB+mwjpS8dnxvsyf2m1hParOuI9WEZ69+glc2tBaMgCslQbfTnGE3C2Xr11ekmxvWpZtFxcyl/Pzld+xrXLxt3CeiXffNlYh8j5zLbC/1Wv1uoz6P9i9ul3ltuO2SUWL9RjG/CsdxHFQAWcRrKSqcEzZE4wztCbBcmGT7AjJe+Th2qEgMOI5A/DIGfDwAcATUQIDZeGhLjeRg9JqjzKXLHw++NrxMVpB3dPrvlwawFJm7IKkuntkcsMeead3cAKfVvkxkK/NetAWx9je6dAaFS88fG2rIU3o1vEJZqtl+9Xa9iWWdBsO7pzbXKXy8Rq5sSmRXrikYf+sTAAZ3nhm6gbNkE5L5udc3N4QMuWBXtcNXPKNFPaP+M6W82gcPlLpMEpdXL2HN7UV1vFyh9PHrZhrDOtaJBDPLmnbX9qOeFT7NYNrGSOOMMVsEzyHpgpZ0su7q5UCPlD22iVgZOCxF6pDCs6P0vQn4Llq9sao/mtydQFZQfiJVEwL8hJNKY8RiATx+OfliHrC/FunbMf86+x7oQ+pBHxwDF6CdPQXt4EIK8yzaO99eW4zZnnAeMA5M4llAfw3H0BVj6Gp0FeoF9bDoWvTPa8VrE8wlQhCGtvh88Y7Xnpu6DyebM5GbXEI/qS99ixQOG6cYYcwzUuCRQpjA4xkbc5huGE/eVAx4nj83gBFX4rnAKtWpJCLOH40XabgkwJBhpdXhFOP0cVY8TCLtRsP8DdgvZUJtVWPE5Yo0VtUKMpnSqZSptQpNeTCeZy1tXOOXadVq92hhuDVbD+RyRybHa6VCpMDhKIgIUi36VW7tg6XW9BdlVjIqf3T9ttGnRretj/pVDGvTumUSmcffvOb2uo3Hb2w0MjK3W508V7+3Lp6JTE07+pxW+SLr+tZFfCoadYc6rRqqpzD0e4TwrJMaaJhSCkd7iM1Jz3+G5aeIxMaRkytpiyGFxUHv+dzSm9As9SHNYwPOR0l5T40p9ynhs8AeVMIWgpEaDIZqYGeBHGemYC4RjPWKanH0DhhEv2h03jEqwhqwuzyGnq+EJE6mi15wb29uHrNYnC7i+WxuWi5YXI7rtzCfH9IYDMGkOngjf0jjD9L/Meg91ckV9GeCKlN5SFEqJHnBrDzEeY1K+oUwdmq2lpYTr6bNE2osYewljS2a2dN+Wwtj8tvmLtj8ktWi17K5acW82xLdqrmpUQC22V+BgcJgAA1c3l8IDxZ18fBTWYCxwc+UFosAD1osSqBBdwUDBvNszIe9keWlrcQduSWj2gdvxvUfn7ZWrwIjNj+8eMbm9+MxuYU6yK3mbkWaeynS5yhAsGcgLrEiASYHVlbKIflNA7RRATQCSYQKwyPjtAediwsyRokIZJ/XZ2dozUCtzFGZMvUaU5YeiYIpvS+cu0SizSlZY/knvNe3qa0pv69308YqK5jara6utRsPd98s2POzTLNafRZPGzLyFEDjK/DpJAM6s9dlBlqlU6VnWIVapYMqMGWp7Ozu3VrQ1NLrht/ASWFNxMrTZlfYrQdTk8ZMv914X/ctNntNNT93t15tWqKyZHoVQO3hnHpRR6OoD7i3CRdaORpJ/dROisI8AwQnKgaCc8B385m+ZbeqBItynzCEH3N9z+c5hRZegk6WpAjR8FDzxAElEl84uLdXvDK88XGv19ew0zSnYOoUgGbQi5YxGXJVpkZj0GvUqgyFHK0dNKAB0nJstqBgNKkywLNlwcLobfuvCxaazRq6yOuwVZTmecvKbMjSVILaHRMTO/pX5YYDOcPQ3zvS2zsiPT67aviVre3q1hpmj8loNsrUnMyoNGSps2RyuUyVocvSIP1GxrESn89tMSuUfFby8I6iTVZb62qrtTBYvEOikkulnATJKSYzg+EmPpxovq629AfW5cg6xLfopVI5lUrpB1Q11UiYdQmQuzhkZXA5Zw4H7YwY4BSg8bNTIGW0RIOGj9tpl+BK8AZjgMGnudJ5H8y6QkfHDeC6RJtvZduyGP/k668Ola340e9cDnlFOdf9WHttzfbRWpjReSxxblvnWvgK/MrSs//w8s6Tpaa1O3ZV/XhDDcijg4QQUfqByjPzQPOYNrRy3w1da9V18bITx1x9v93troEz8K6L4yB0+Y1hZ9bv+ydvDNRVrNoVszg7D84VE9NKzOWkCAbZQZXguuyLq5+S8CWxeOLAjn+kAADxkqe8FkZ9cTgiDczzbpDSrfAsod+oddng6ZzyismK8pycyHiEbVqYPyyWfevpwRwcO2OPHEokPwrGWsrLyspbYsGQ6fx5U2p9NhAuB1zNIkJUbFakJsSJ8zjTCvNRRTBOC6Dlkv1aZc7LzaQFk4XvKAT+gmhPKKSOWOd+eE4AxQZ1ZPZT7LCh5aqV+dza6zc2ZLnj0QIznJyYdMeZAwJ41W/1JH85dxuxP17jbpI+SZmQ5hugakiGhlEMXmOyo0rg9qCJkBMyIlsQ4IcRJQVnAGbVx/hJTpobNRjRLsfhiaJp40KfO9xyPAelU2pBuPqN0CLwgvDEv2/d88Vl4Hn6xKdCa7LDYXtWt8SjKJr7a99r+5u3P7J3D/uvjY92oFPg+fbu/rjqS/Do1qV7aGnyHbSg7NotHeZRP1ehIOD9+MOffzX2cMVnAlydW5zvPq3lGMDCoy8M7O87MH6Lt71jw8a7TqMzNP2Sz1/a08Em/wJGju/aLdZj3ITsrW2YA3K+oqXT4fLkYowJwXBhGWKU8Ebsa5kGDReHhi7CqelPYP8+wLTBByeBfmICfjw5kmx7Pvmzl+8Ed3Hb7v8CPgdH4HNf3D8zNbbz4AmkU1UA/YnhnQ8n6Jcef+oMktN3UNNcG6en5FS2WFHCbRejeQCTlGCi1YgGyWP0YF04pIfEODbBNJKBVGmhj2b/vKzbo/VFp9/seaC9xbf/yDizYwRUtYRBf1f9+JH9vpZ2yd0nPsZR84/gn7x3Hhmv7+oH4RZQNVKPLkw6Wtof6HlzOurTerrrR+CZRZg2LUYIXovKAdoc86JpEPreLK4KJ3zfeT7XlXuvO9ftPvj9WL336OHkIDzljMWdTqejMuZ0/F+8SbrGDXpLFuy/rWqD8R/gikgMv7Cdrh9LIOjiJp0HN4rmfhmJxYXjbHGItaF/CBs9oBCpcH5V0bHH/rHlSdDV2QUzBnsDa/R6qSqRot5YkkhWJ5fJQ4ZlJhO4TPq7QvVIbuW2kup0fC6D8yCRqGRyGB2SjHSYxxSSOCUSqUxDoHMvGOwC8BdgqdtTB0+CzsFBaS8AAELdQ5tCm47qIITfNMOj4KZmgPqmtfjoQ4vqWS2ok0HwKQveuPRegthNHantCIldXcEQGczwj70FGG8HrmC4DswQ8/xo6j7qj1whh6sLYZkjjjikrVJIXSAqQgQdZMWYIdIc3JyPkaqyTTGtZn1yZm+gNbuw5OU/5A+Dwf8eqlmdaysPLn2mshgsbXr3vLRfbm1YYsyQSgrgPfeUvPhyNKBryR+mS66+k7+1u3ODI5RRG/3bsvpKBYVzlkUbzr6gJoUdfSMf8SOnKsEiY0USduq1JJlcQra5IAWl4yUkQuHUS47ANtjWiN2SPbAf7hIhdQnz/FHmifkmjt8g620Ab5HhzJ5KSDCy/XAjeB4u/xD+HKxfDrrg5FsnT8Lt88cb51uJdP09cX81XXuBepHwGh5P1WqSEnWfFSlkkKzUEOgZ0lXwQwaY649+f6Ech2fTcpz56TkBvonkOKtBXV8rxkEXFuNztwmwDIlxupU5QM1z4h9P4Zgw+VIYMzlJj6dKMGOaXLLH9tL/AIxzQ2cAAHjaY2BkYGBgZOzcvTpCNJ7f5isDN/sFoAjDxavXJJFp9gtgcQ4GJhAPAGEpC8MAAHjaY2BkYGC/8P8GiGRgAJOMDCiAkQUAdcoEZAB42mP8wgAGTLMYGBiBbPYLDCnsFxh1gPR3ID6BxH8F4YPZE4C0CEQOjk8gyTOg0aFoatEw4wSIOnTMrMB+gWkPKgbZweQEpG8g3IfsBsYVUHoCmhwDFjZI/zGgeRFY3HUC4kew+08gaBgG6WE8A3U7CKtguh+uHuTHL1BzvqCGFczvsHBGtwfFzAmoZqKHPcNxNLEsoJ4uVDeDzeQE0r5APAPNLjM0d01AsysPiDmRwhCGJwLxRix+g+GfaOLbkMIQyc/ofJj5cP48JDOAdjEeQgtjkHs3AHEAkG0EDY/jaH78ghnGGPGLnjZDoOLCUDftBeKFiHSGEi9IYtgww3k0+1LQ7ETKQ2AMTaPo7oX75QtUXRpCPYrZIFyHFv6weOqB6tkFEmeKYGAAANkHWesAAAAAJgAmACYALgCGAKgA1AE+AZABqAHuAi4CkgLIAxADXAOSA9QEHASYBM4FCgUyBfIGHAZkBpIGzgcSB0YHqAfaCDgIUgh4CJYIwgjsCQgJFgkkCTIJQAlOCawJwgnuCi4KZAqCCpYK1Ar2Cy4LdgvoDEwMkAzEDPwNNg1mDZYNxA3yDh4OYA6gDswPGg9+D+AQBBA0EH4QxBDyEQ4RShFkEaISQBKIEqoSzBLuExgTqhPmFFIUfBScFLgVDBVUFZgWDhZQFpAW0hc0F8oYRBi4GNwY+BkOGU4ZiBniGigaYBqGGqoa5hs0G4ocPBxsHLwc7h02HWwdjh2yHkAeeB7WHvgfdB+2IAogbiC0INYg+CEQIZAhzCImIpoiuCNiI9IkWCSKJNIk7iUQJUIlkCWsJdwl/iaaJ0InxigSKCwoQihcKHIojCiiKLwo0ikKKSgp5CpKKrQriivmLIwtCC1SLaot5i4SLiAuoi7mLxgvTC+iL+IwSDCaMMYw8jEuMWQxfDGeMeQyujLoMzIzTjPQNBw0YDTWNUA2YDaMNxg3UDeMN8w4LDh0OJY5BDlIOZQ5rDnWOiQ6fjq2Ouo7EjtIO6g8Ojx0PKo9MD2cPhI+pj7OPuw/Cj8gPzY/Sj/CP9A/5kCUQQxBukIoQnZCtEMsQ2hDskPyRCZETkSCRLBE9EVaRZhFsEWwAAB42mNgZGBgZGHYwCDIAAJMQMwIhAwMDmA+AwAVeAEMAHjajVLJTgJBEH0zoJHEcPDgwXiY6EVNWMSALFeXRIkhGsXrIMMSEQYYFhOPfoEf4ne4XLx68RuMH2B81dMQwlxMpadfvX5V1V01AKJ4RghGOALgi8vHBlbo+dik5lvjELL41TiMDSOj8QLGxrXGi+Q/NI5gx/jReBlr5rrGL1g1J7GvSJpFjd+wZD5o/I6o+ejjzxBjn3CMEoqwMISDHvpoooM2/RRXh4wFm/499xaRp1RB9YjIQ4OophiPyMEYN/y69Ca6LWo8mos8ErSRsjjqPB1wl4p18i1GSGybNRyuBFmXbIz5bXSplDx3ZDZxpCseBupt44DqPrWSraOynVNRZy15TQ+7zJSkZVDAJU5RxhlRMCo2FxdUWHOKq7kOzVYq4YKMeLNsg0pP5xtOI+LY57fAt9q4ZU7R1MhKhyqcUhxptbLYo5f7x93LqstV3qKneit3ryrUVHOw1JRtVhxppTtVTiZUpl+ZmbV/V2Gr9E5ULfmHUuosx2kLzqsXCy97Wr1H5uXqXjmM60/nabFLXTJNnkn91h+P6YatAAAAeNptlGV0XFUYRbNDocXd3R0y97v3vTc4FFLc3a3QQilFSilW3N3d3a24u7u7u7uXVbLzj/mRs2bl3X0nJ2dPR2fHf68xoztSx/+86DP2R0cnnYxDH8ZlPPrSj/GZgAmZiImZhEmZjMmZgimZiqmZhmmZjumZgRmZiZmZhVmZjdmZgzmZi7mZh3mZj/lZgAVZiIVZhEXpokUiyBQqahraLMbiLMGSLMXSLMOyLEd/lmcFuhnAiqzEyqzCqqzG6qzBmqzF2qzDuqzH+mzAhmzExmzCpmzG5mzBlmzF1mzDtgxkO7ZnEIPZgR0Zwk4MZWeGsQu7shu7M5w9GMGejGQv9mYf9mU/RrE/B3AgB3Ewh3Aoh3E4R3AkR3E0x3Asx3E8J3AiJ3Eyp3Aqp3E6Z3AmZ3E253Au53E+F3AhF3Exl3Apl3E5V3AlV3E113At13E9N3AjN3Ezo7mFW7mN27mDO7mLu7mHe7mP+3mAB3mIh3mER3mMx3mCJ3mKp3mGZ3mO53mBF3mJl3mFV3mN13mDN3mLt3mHd3mP9/mAD/mIj/mET/mMz/mCL/mKr/mGb/mO7/mBH/mJn/mFX/mN3/mDP/mLv/mHMZ1j//2dfYcPHZxKd/+x2d3q6jJbZjLDzGYxK7M2G7Pdky15LXkteS15LTktOS05LTktOUlOkpPkJDlJTpKT5CQ5SU7ICc+H58O/K+SEnPB8eD57Pvs5spwsJ3s+e3/2fPH3xXuKzxXvKT5fep/3vsr7Ku+r5FRyKjmVnEpOJaeSU3u+9vPWcmo5tZxaTi2nllPLafw8jbxGXiOvkdf08JJ7Su4puaPkjlJX73OVWZuN2XNvckfJHSV3lNxRaslzT8k9JfeU3FNyT8k9JfeU3FNyTynJc1fJXSV3ldxVclfJXaWQ576S+0ruK7mv5L5SyHNnyZ0ld5bcV9hfdPW+DzObxazM2mzMHm7YY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY+hr9Papr5Hl6W1kefob+hu5h5d9n3vfly6zZSYzzGwWszJrU46e58rzep71POt51vOs51nPs57nWo6+Z33P+p71Pet71ves71nfs75nfc/6nvU963vW96zvuZHXyGvkNfLa8try2vLa8try2vLa8try2vLaPbzi90vRj6IfRT+KfhS9KHpR9KLoRdGLohdFL4peFL0oelH0ouhF0YuiF0Uvil4UvSh6UfSi6EXRi6IXRS+KXhS9KHpR9KHoQ9GHog9FH4o+FD0oelD0oOToN3TgiAFDRg4b9C8VmLmgAAAAAVWwJZkAAA==) 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-filter:before{content:"\f536"}.dashicons-admin-customizer:before{content:"\f540"}.dashicons-admin-multisite:before{content:"\f541"}.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:before{content:"\f531"}.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-image-filter:before{content:"\f533"}.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-editor-table:before{content:"\f535"}.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-unlock:before{content:"\f528"}.dashicons-calendar:before{content:"\f145"}.dashicons-calendar-alt:before{content:"\f508"}.dashicons-visibility:before{content:"\f177"}.dashicons-hidden:before{content:"\f530"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-sticky:before{content:"\f537"}.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-excerpt-view:before,.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-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-controls-play:before{content:"\f522"}.dashicons-controls-pause:before{content:"\f523"}.dashicons-controls-forward:before{content:"\f519"}.dashicons-controls-skipforward:before{content:"\f517"}.dashicons-controls-back:before{content:"\f518"}.dashicons-controls-skipback:before{content:"\f516"}.dashicons-controls-repeat:before{content:"\f515"}.dashicons-controls-volumeon:before{content:"\f521"}.dashicons-controls-volumeoff:before{content:"\f520"}.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-plus-alt2:before{content:"\f543"}.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-info:before{content:"\f348"}.dashicons-warning:before{content:"\f534"}.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-phone:before{content:"\f525"}.dashicons-smiley:before{content:"\f328"}.dashicons-index-card:before{content:"\f510"}.dashicons-carrot:before{content:"\f511"}.dashicons-building:before{content:"\f512"}.dashicons-store:before{content:"\f513"}.dashicons-album:before{content:"\f514"}.dashicons-palmtree:before{content:"\f527"}.dashicons-tickets-alt:before{content:"\f524"}.dashicons-money:before{content:"\f526"}.dashicons-thumbs-up:before{content:"\f529"}.dashicons-thumbs-down:before{content:"\f542"}.dashicons-layout:before{content:"\f538"}
\ No newline at end of file
index cb773388085eb8ea6d19e15e3eb78674f43a5bdc..a961b7afd1c6bc4113b61194ebe4f1699bcb601a 100644 (file)
@@ -79,8 +79,8 @@
        width: calc( 100% - 36px );
 }
 
-.mce-wp-help .mce-window-head {
-       border-bottom: none;
+.mce-window .mce-foot {
+       border-top: 1px solid #dfdfdf;
 }
 
 .mce-textbox,
        box-shadow: 0 0 2px rgba(30,140,190,0.8);
 }
 
+.mce-window .mce-wp-help {
+       height: 360px;
+       width: 460px;
+       overflow: auto;
+}
+
+.mce-window .mce-wp-help * {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.mce-window .mce-wp-help > .mce-container-body {
+       width: auto !important;
+}
+
+.mce-window .wp-editor-help {
+       padding: 10px 20px 0 10px;
+}
+
+.mce-window .wp-editor-help h2,
+.mce-window .wp-editor-help p {
+       margin: 8px 0;
+       white-space: normal;
+       font-size: 14px;
+       font-weight: normal;
+}
+
+.mce-window .wp-editor-help table {
+       width: 100%;
+       margin-bottom: 20px;
+}
+
+.mce-window .wp-editor-help td,
+.mce-window .wp-editor-help th {
+       font-size: 13px;
+       padding: 5px;
+       vertical-align: middle;
+       word-wrap: break-word;
+       white-space: normal;
+}
+
+.mce-window .wp-editor-help th {
+       font-weight: bold;
+       padding-bottom: 0;
+}
+
+.mce-window .wp-editor-help kbd {
+       font-family: monospace;
+       padding: 2px 7px 3px;
+       font-weight: bold;
+       margin: 0;
+       background: #eaeaea;
+       background: rgba(0,0,0,0.08);
+}
+
+.mce-window .wp-help-header td {
+       font-weight: bold;
+       padding: 0 5px;
+}
+
+.mce-window .wp-help-th-center td:nth-child(odd),
+.mce-window .wp-help-th-center th:nth-child(odd) {
+    text-align: center;
+}
+
 /* TinyMCE menus */
 .mce-menu,
 .mce-floatpanel.mce-popover {
        box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
 }
 
+.mce-menu,
 .mce-floatpanel.mce-popover.mce-bottom {
        margin-top: 2px;
 }
 div.mce-panel {
        border: 0;
        background: #fff;
-       -webkit-filter: none;
-       filter: none;
 }
 
 .mce-panel.mce-menu {
@@ -174,6 +239,7 @@ div.mce-inline-toolbar-grp {
        -webkit-user-select: none;
        -ms-user-select: none;
        user-select: none;
+       max-width: 98%;
        z-index: 100100; /* Same as the other TinyMCE "panels" */
 }
 
@@ -199,30 +265,30 @@ div.mce-inline-toolbar-grp:after {
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-up:before {
-       top: -18px;
+       top: -9px;
        border-bottom-color: #a0a5aa;
-       border-width: 9px;
+       border-width: 0 9px 9px;
        margin-right: -9px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-down:before {
-       bottom: -18px;
+       bottom: -9px;
        border-top-color: #a0a5aa;
-       border-width: 9px;
+       border-width: 9px 9px 0;
        margin-right: -9px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-up:after {
-       top: -16px;
+       top: -8px;
        border-bottom-color: #f5f5f5;
-       border-width: 8px;
+       border-width: 0 8px 8px;
        margin-right: -8px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-down:after {
-       bottom: -16px;
+       bottom: -8px;
        border-top-color: #f5f5f5;
-       border-width: 8px;
+       border-width: 8px 8px 0;
        margin-right: -8px;
 }
 
@@ -286,7 +352,6 @@ div.mce-path {
 .mce-path-item,
 .mce-path .mce-divider {
        font-size: 12px;
-       line-height: 18px;
 }
 
 .mce-toolbar .mce-btn,
@@ -299,21 +364,15 @@ div.mce-path {
        cursor: pointer;
 }
 
-#wp-fullscreen-buttons .mce-btn,
 .mce-toolbar .mce-btn-group .mce-btn,
 .qt-dfw {
        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:hover,
 .mce-toolbar .mce-btn-group .mce-btn:hover,
-#wp-fullscreen-buttons .mce-btn:focus,
 .mce-toolbar .mce-btn-group .mce-btn:focus,
 .qt-dfw:hover,
 .qt-dfw:focus {
@@ -326,9 +385,7 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-active,
-#wp-fullscreen-buttons .mce-btn.mce-active,
 .mce-toolbar .mce-btn-group .mce-btn:active,
-#wp-fullscreen-buttons .mce-btn:active,
 .qt-dfw.active {
        background: #ebebeb;
        border-color: #999;
@@ -345,9 +402,7 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover,
-#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,
-.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,
-#wp-fullscreen-buttons .mce-btn.mce-disabled:focus {
+.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus {
        color: #a0a5aa;
        background: none;
        border-color: #ddd;
@@ -367,6 +422,13 @@ div.mce-path {
        line-height: normal;
 }
 
+.mce-toolbar .mce-listbox button {
+       font-size: 13px;
+       line-height: 20px;
+       padding-right: 6px;
+       padding-left: 20px;
+}
+
 .mce-toolbar .mce-btn i {
        text-shadow: none;
 }
@@ -401,12 +463,7 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover {
-    background-image: none;
-    border-color: #b4b9be;
-}
-
-.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span {
-       font-size: 13px;
+       border-color: #b4b9be;
 }
 
 .mce-panel .mce-btn i.mce-caret {
@@ -416,13 +473,7 @@ div.mce-path {
 }
 
 .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;
+       left: 4px;
 }
 
 .mce-panel .mce-btn:hover i.mce-caret {
@@ -443,34 +494,33 @@ div.mce-path {
        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-toolbar .mce-splitbtn .mce-open.mce-active {
+       background: transparent;
+       outline: none;
 }
 
 .mce-menu .mce-menu-item:hover,
 .mce-menu .mce-menu-item.mce-selected,
-.mce-menu .mce-menu-item:focus {
-       color: #000;
-       background-color: #b4b9be;
-       background-image: none;
-       -webkit-filter: none;
-       filter: none;
-}
-
-.mce-menu .mce-menu-item:hover .mce-ico,
-.mce-menu .mce-menu-item.mce-selected .mce-ico,
-.mce-menu .mce-menu-item:focus .mce-ico,
-.mce-menu .mce-menu-item:hover .mce-text,
-.mce-menu .mce-menu-item.mce-active:hover .mce-text,
-.mce-menu .mce-menu-item.mce-selected .mce-text {
-       color: #000;
+.mce-menu .mce-menu-item:focus,
+.mce-menu .mce-menu-item-normal.mce-active,
+.mce-menu .mce-menu-item-preview.mce-active {
+       background: #0073aa; /* See color scheme. */
+}
+
+.mce-menu .mce-menu-item-preview.mce-active {
+       border-right: none;
+}
+
+.mce-menu .mce-menu-item-preview.mce-active .mce-text {
+       color: #fff;
+}
+
+.mce-menu .mce-menu-item.mce-disabled {
+       cursor: default;
+}
+
+.mce-menu .mce-menu-item.mce-disabled:hover {
+    background: #ccc;
 }
 
 /* Menubar */
@@ -480,13 +530,32 @@ div.mce-path {
        border-width: 0px 0px 1px;
 }
 
-.mce-menubar .mce-btn:focus {
-       outline: 0;
+.mce-menubar .mce-menubtn {
+       margin: 2px;
+}
+
+.mce-menubar .mce-menubtn:hover,
+.mce-menubar .mce-menubtn.mce-active,
+.mce-menubar .mce-menubtn:focus {
+       border-color: transparent;
+       background: transparent;
+}
+
+.mce-menubar .mce-menubtn:focus {
+       color: #124964;
+       -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);
 }
 
 div.mce-menu .mce-menu-item-sep,
 .mce-menu-item-sep:hover {
-       margin: 5px 0 4px;
+       border-bottom: 1px solid #ddd;
+       height: 0px;
+       margin: 5px 0;
 }
 
 .mce-menubtn span {
@@ -525,7 +594,6 @@ div.mce-menu .mce-menu-item-sep,
        white-space: nowrap;
        -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
        box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
-       background-image: none;
 }
 
 /* Remove the dotted border on :focus and the extra padding in Firefox */
@@ -619,9 +687,10 @@ div.mce-menu .mce-menu-item-sep,
        cursor: default;
 }
 
-.mce-menubtn.mce-fixed-width button span {
-       max-width: 80px;
-       padding-left: 16px;
+.mce-menubtn.mce-fixed-width button {
+       overflow-x: hidden;
+       text-overflow: ellipsis;
+       width: 110px;
 }
 
 /* Charmap modal */
@@ -651,6 +720,8 @@ div.mce-menu .mce-menu-item-sep,
 }
 
 .mce-tooltip-inner {
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
        -webkit-box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
        box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
        color: #fff;
@@ -1066,6 +1137,7 @@ i.mce-i-wp_code:before {
        position: relative;
        border-bottom: 1px solid #dedede;
        background: #f5f5f5;
+       min-height: 30px;
 }
 
 .has-dfw .quicktags-toolbar {
@@ -1111,7 +1183,6 @@ i.mce-i-wp_code:before {
                padding: 6px 7px;
        }
 
-       #wp-fullscreen-buttons .mce-btn,
        .mce-toolbar .mce-btn-group .mce-btn {
                margin: 1px;
        }
@@ -1355,6 +1426,8 @@ i.mce-i-wp_code:before {
        text-align: left;
        padding-left: 5px;
        max-width: 24%;
+       vertical-align: middle;
+       word-wrap: break-word;
 }
 
 #wp-link .link-search-field {
@@ -1607,509 +1680,42 @@ i.mce-i-wp_code:before {
        }
 }
 
-/* Old TinyMCE 3.x modal */
-/*
-.clearlooks2 .mceTop {
-       border-bottom: 1px solid #ccc;
-}
-
-.clearlooks2 .mceTop span {
-       font: 13px/24px "Open Sans", sans-serif;
-       color: #e5e5e5;
-}
-
-.clearlooks2 .mceTop .mceLeft {
-       background: #444444;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceTop .mceRight {
-       background: #444444;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceMiddle {
-       clip: rect(24px auto auto auto);
-}
-
-.clearlooks2 .mceMiddle .mceLeft {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceMiddle .mceRight {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom .mceLeft {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom .mceCenter {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom .mceRight {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceClose,
-.clearlooks2 .mceFocus .mceClose,
-.clearlooks2 .mceFocus .mceClose:hover {
-       background-image: none;
-}
-.clearlooks2 .mceClose:before {
-       content: '\f158';
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       color: #999;
-       padding-left: 12px;
-}
-
-/* from colors.css
-.clearlooks2 {
-       box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-}
-
-.clearlooks2 .mceMiddle span,
-.clearlooks2 .mceMiddle .mceLeft,
-.clearlooks2 .mceMiddle .mceRight,
-.clearlooks2 .mceBottom,
-.clearlooks2 .mceBottom .mceLeft,
-.clearlooks2 .mceBottom .mceCenter,
-.clearlooks2 .mceBottom .mceRight {
-       background-color: #fcfcfc;
-}
-
-.clearlooks2 .mceTop span,
-.clearlooks2 .mceFocus .mceTop span {
-       color: #23282d;
-}
-
-.clearlooks2 .mceClose:before {
-       color: #999;
-}
-
-.clearlooks2 .mceClose:hover:before {
-       color: #00a0d2;
-}
-*/
-/* Distraction-Free Writing mode
- * =Overlay Styles
--------------------------------------------------------------- */
-.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 .fullscreen-overlay,
-.wp-fullscreen-active #wp-fullscreen-body {
-       display: block;
+div.wp-link-preview {
+       float: right;
+       margin: 5px;
+       max-width: 694px;
+       overflow: hidden;
+       text-overflow: ellipsis;
 }
 
-.fullscreen-fader {
-       z-index: 200000;
+div.wp-link-preview a {
+       color: #0073aa;
+       text-decoration: underline;
+       -webkit-transition-property: border, background, color;
+       transition-property: border, background, color;
+       -webkit-transition-duration: .05s;
+       transition-duration: .05s;
+       -webkit-transition-timing-function: ease-in-out;
+       transition-timing-function: ease-in-out;
+       cursor: pointer;
 }
 
-.wp-fullscreen-active .fullscreen-fader,
-.wp-core-ui.wp-fullscreen-active .postbox-container {
-       display: none;
+@media screen and ( max-width: 782px ) {
+       div.wp-link-preview {
+               margin: 8px 5px 8px 0;
+               max-width: 70%;
+               max-width: -webkit-calc(100% - 86px);
+               max-width: calc(100% - 86px);
+       }
 }
 
 /* =Overlay Body
 -------------------------------------------------------------- */
 
-#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-wrap .wp-editor-container,
-.wp-fullscreen-title,
-#wp-fullscreen-central-toolbar {
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-       max-width: 100%;
-}
-
-.wp-fullscreen-active .wp-editor-tools,
-.wp-fullscreen-active .quicktags-toolbar,
-.wp-fullscreen-active .mce-toolbar-grp,
-.wp-fullscreen-active .mce-statusbar {
-       display: none;
-}
-
-#wp-fullscreen-statusbar {
-       position: fixed;
-       right: 0;
-       left: 0;
-       bottom: 0;
-       height: 30px;
-       z-index: 100020;
-       background: #fff;
-       -webkit-transition: height 0.2s;
-       transition: height 0.2s;
-}
-
-#wp-fullscreen-status {
-       margin: 0 auto;
-       padding: 0;
-}
-
-.wp-fullscreen-active .wp-fullscreen-title,
-.wp-fullscreen-active .wp-fullscreen-title:focus,
-.wp-fullscreen-active .wp-editor-container {
-       -webkit-border-radius: 0;
-       border-radius: 0;
-       border: 1px dashed transparent;
-       background: transparent;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-       -webkit-transition: border-color 0.4s;
-       transition: border-color 0.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: #82878c;
-       font-size: 18px;
-       float: left;
-       padding: 4px 0 0;
-}
-
-/* =Top bar
--------------------------------------------------------------- */
-#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 0.4s;
-       transition: opacity 0.4s;
-}
-
-#wp-fullscreen-toolbar {
-       padding: 6px 10px 0;
-       clear: both;
-       max-width: 1100px;
-       margin: 0 auto;
-}
-
-#wp-fullscreen-mode-bar,
-#wp-fullscreen-button-bar,
-#wp-fullscreen-close {
-       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-count,
-#wp-fullscreen-close {
-       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: 0.5;
-}
-
-#wp-fullscreen-buttons .mce-btn button {
-    margin: 0;
-    outline: 0 none;
-    border: 0 none;
-    white-space: nowrap;
-    width: auto;
-    background: none;
-       color: #32373c;
-    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;
-}
-
-/* =Thickbox Adjustments
--------------------------------------------------------------- */
-.wp-fullscreen-active #TB_overlay {
-       z-index: 100050;
-}
-
-.wp-fullscreen-active #TB_window {
-       z-index: 100051;
-}
-
-/* Colors */
-.fullscreen-overlay {
-       background: #fff;
-}
-
-/* =CSS 3 transitions
--------------------------------------------------------------- */
-
-.wp-fullscreen-active #fullscreen-topbar {
-       -webkit-transition-duration: 0.8s;
-       transition-duration: 0.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: 0.4s;
-       transition-duration: 0.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-fullscreen-title,
-.wp-fullscreen-active .wp-editor-container {
-       -webkit-transition-duration: 0.8s;
-       transition-duration: 0.8s;
-       border-color: transparent;
-}
-
-.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title,
-.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container {
-       -webkit-transition-duration: 0.4s;
-       transition-duration: 0.4s;
-       border-color: #ccc;
-}
-
-.fade-1000,
-.fade-600,
-.fade-400,
-.fade-300 {
-       opacity: 0;
-       -webkit-transition-property: opacity;
-       transition-property: opacity;
-}
-
-.fade-1000 {
-       -webkit-transition-duration: 1s;
-       transition-duration: 1s;
-}
-
-.fade-600 {
-       -webkit-transition-duration: 0.6s;
-       transition-duration: 0.6s;
-}
-
-.fade-400 {
-       -webkit-transition-duration: 0.4s;
-       transition-duration: 0.4s;
-}
-
-.fade-300 {
-       -webkit-transition-duration: 0.3s;
-       transition-duration: 0.3s;
-}
-
-.fade-trigger {
-       opacity: 1;
-}
-
-/* DFW on touch screen devices */
-.wp-dfw-touch #fullscreen-topbar {
-       position: absolute;
-       opacity: 1;
-}
-
-.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container,
-.wp-dfw-touch .wp-fullscreen-title {
-       max-width: 700px;
-}
-
-.wp-fullscreen-active.wp-dfw-touch  .wp-fullscreen-title,
-.wp-fullscreen-active.wp-dfw-touch .wp-editor-container {
-       border-color: #ccc;
-}
-
-.wp-dfw-touch #wp-fullscreen-statusbar {
-       height: 30px;
-}
-
-@media screen and ( max-width: 782px ) {
-       #wp-fullscreen-close,
-       #wp-fullscreen-central-toolbar,
-       #wp-fullscreen-mode-bar,
-       #wp-fullscreen-button-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-wrap .wp-editor-container,
-       .wp-fullscreen-title {
-               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;
-       }
-}
-
 /* =Localization
 -------------------------------------------------------------- */
 .rtl .wp-switch-editor,
@@ -2136,8 +1742,7 @@ html:lang(he-il) .rtl .quicktags-toolbar input  {
 @media print,
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
-       .wp-media-buttons .add_media span.wp-media-buttons-icon,
-       #wp-fullscreen-buttons #wp_fs_image span.mce_image {
+       .wp-media-buttons .add_media span.wp-media-buttons-icon {
                background: none;
        }
 }
index fe338b5ffb71d24050c2e24d805c0cc73e85b673..012ab17860848d04e500ebac47e52259236de4fd 100644 (file)
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);-webkit-transition:none;transition:none}.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;-webkit-transition:none;transition:none}.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:#00a0d2}.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-inline-toolbar-grp{border:1px solid #a0a5aa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;right:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-18px;border-bottom-color:#a0a5aa;border-width:9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-18px;border-top-color:#a0a5aa;border-width:9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-16px;border-bottom-color:#f5f5f5;border-width:8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-16px;border-top-color:#f5f5f5;border-width:8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{right:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-full{left:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}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-dfw{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-dfw{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-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#23282d;-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);outline:0}#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,.qt-dfw.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:#a0a5aa;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-dfw{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:#b4b9be}.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:#32373c}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #32373c;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:#b4b9be;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:#23282d}.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:#32373c;-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:#a0a5aa;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:#00a0d2;border-color:#0073aa;-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:#0073aa;-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-dfw{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-dashicon,i.mce-i-dfw,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_code,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-dfw{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-dfw:before,i.mce-i-dfw: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'}i.mce-i-wp_code:before{content:'\f475'}.rtl i.mce-i-outdent:before{content:'\f222'}.rtl i.mce-i-indent:before{content:'\f221'}.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}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.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{float:right;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 5px 0 0;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor: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);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.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;border-bottom-color:#f5f5f5}.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-dfw,.qt-dfw{position:absolute;top:0;left:0;margin:5px 0 0 5px}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{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;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}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#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:#00a0d2}#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{-webkit-overflow-scrolling:touch;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{margin-top:5px}#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:172px}.has-text-field #wp-link .query-results{top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;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 #00a0d2}#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:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#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);word-wrap:break-word}#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 .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{margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:195px}#wp-link-wrap.search-panel-visible.has-text-field .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:#82878c;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:#32373c;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,(-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-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);-webkit-transition:none;transition:none}.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;-webkit-transition:none;transition:none}.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:#00a0d2}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-window .mce-foot{border-top:1px solid #dfdfdf}#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-window .mce-wp-help{height:360px;width:460px;overflow:auto}.mce-window .mce-wp-help *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mce-window .mce-wp-help>.mce-container-body{width:auto!important}.mce-window .wp-editor-help{padding:10px 20px 0 10px}.mce-window .wp-editor-help h2,.mce-window .wp-editor-help p{margin:8px 0;white-space:normal;font-size:14px;font-weight:400}.mce-window .wp-editor-help table{width:100%;margin-bottom:20px}.mce-window .wp-editor-help td,.mce-window .wp-editor-help th{font-size:13px;padding:5px;vertical-align:middle;word-wrap:break-word;white-space:normal}.mce-window .wp-editor-help th{font-weight:700;padding-bottom:0}.mce-window .wp-editor-help kbd{font-family:monospace;padding:2px 7px 3px;font-weight:700;margin:0;background:#eaeaea;background:rgba(0,0,0,.08)}.mce-window .wp-help-header td{font-weight:700;padding:0 5px}.mce-window .wp-help-th-center td:nth-child(odd),.mce-window .wp-help-th-center th:nth-child(odd){text-align:center}.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,.mce-menu{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}.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-inline-toolbar-grp{border:1px solid #a0a5aa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;max-width:98%;z-index:100100}.wp-editor-area,div.mce-inline-toolbar-grp{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;right:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-9px;border-bottom-color:#a0a5aa;border-width:0 9px 9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-9px;border-top-color:#a0a5aa;border-width:9px 9px 0;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-8px;border-bottom-color:#f5f5f5;border-width:0 8px 8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-8px;border-top-color:#f5f5f5;border-width:8px 8px 0;margin-right:-8px}.mce-toolbar .mce-btn-group,div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before,div.mce-path{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{right:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-full{left:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;-webkit-border-radius:2px;border-radius:2px}.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#23282d;-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);outline:0}.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.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}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;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-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-listbox button{font-size:13px;line-height:20px;padding-right:6px;padding-left:20px}.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{border-color:#b4b9be}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:4px}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#32373c}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #32373c;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{background:0 0;outline:0}.mce-menu .mce-menu-item-normal.mce-active,.mce-menu .mce-menu-item-preview.mce-active,.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{background:#0073aa}.mce-menu .mce-menu-item-preview.mce-active{border-right:none}.mce-menu .mce-menu-item-preview.mce-active .mce-text{color:#fff}.mce-menu .mce-menu-item.mce-disabled{cursor:default}.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-menubtn{margin:2px}.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus,.mce-menubar .mce-menubtn:hover{border-color:transparent;background:0 0}.mce-menubar .mce-menubtn:focus{color:#124964;-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-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}.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:#23282d}.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:#32373c;-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:#a0a5aa;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:#00a0d2;border-color:#0073aa;-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:#0073aa;-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}#wp-link li,#wp-link-close,#wp-link-search-toggle,.mce-charmap td{cursor:pointer}.mce-toolbar .mce-ico,.qt-dfw{text-align:center;text-shadow:none}.mce-menubtn.mce-fixed-width button{overflow-x:hidden;text-overflow:ellipsis;width:110px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-toolbar .mce-btn .mce-open,.qt-dfw{line-height:20px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-border-radius:3px;border-radius:3px;-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;margin:0;padding:0}.qt-dfw{color:#777;width:28px;height:26px}.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-dashicon,i.mce-i-dfw,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_code,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-dfw{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-dfw:before,i.mce-i-dfw: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'}i.mce-i-wp_code:before{content:'\f475'}.rtl i.mce-i-outdent:before{content:'\f222'}.rtl i.mce-i-indent:before{content:'\f221'}.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;box-sizing:border-box}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.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{float:right;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 5px 0 0;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor: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);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.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;border-bottom-color:#f5f5f5}.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-link-close:before,#wp-link-search-toggle:after{vertical-align:top;speak:none;-moz-osx-font-smoothing:grayscale}.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;min-height:30px}.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-dfw,.qt-dfw{position:absolute;top:0;left:0;margin:5px 0 0 5px}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{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;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}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#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}#wp-link-close:before{font:400 20px/36px dashicons;-webkit-font-smoothing:antialiased;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#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{-webkit-overflow-scrolling:touch;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;-webkit-font-smoothing:antialiased;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 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%;vertical-align:middle;word-wrap:break-word}#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{margin-top:5px}#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:172px}.has-text-field #wp-link .query-results{top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 10px 4px 6px;position:relative}#wp-link .query-notice,#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link .query-notice{padding:0;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 #00a0d2}#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:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#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);word-wrap:break-word}#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 .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{margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:195px}#wp-link-wrap.search-panel-visible.has-text-field .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}}div.wp-link-preview{float:right;margin:5px;max-width:694px;overflow:hidden;text-overflow:ellipsis}div.wp-link-preview a{color:#0073aa;text-decoration:underline;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;cursor:pointer}@media screen and (max-width:782px){div.wp-link-preview{margin:8px 5px 8px 0;max-width:70%;max-width:-webkit-calc(100% - 86px);max-width:calc(100% - 86px)}}.mce-fullscreen{z-index:100010}.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,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
index 7ba00f92ddb85c66338adebf8d25f7fe79f836e3..b89e93907eb43ada2129cef3a1871ef6b2dff946 100644 (file)
@@ -79,8 +79,8 @@
        width: calc( 100% - 36px );
 }
 
-.mce-wp-help .mce-window-head {
-       border-bottom: none;
+.mce-window .mce-foot {
+       border-top: 1px solid #dfdfdf;
 }
 
 .mce-textbox,
        box-shadow: 0 0 2px rgba(30,140,190,0.8);
 }
 
+.mce-window .mce-wp-help {
+       height: 360px;
+       width: 460px;
+       overflow: auto;
+}
+
+.mce-window .mce-wp-help * {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.mce-window .mce-wp-help > .mce-container-body {
+       width: auto !important;
+}
+
+.mce-window .wp-editor-help {
+       padding: 10px 10px 0 20px;
+}
+
+.mce-window .wp-editor-help h2,
+.mce-window .wp-editor-help p {
+       margin: 8px 0;
+       white-space: normal;
+       font-size: 14px;
+       font-weight: normal;
+}
+
+.mce-window .wp-editor-help table {
+       width: 100%;
+       margin-bottom: 20px;
+}
+
+.mce-window .wp-editor-help td,
+.mce-window .wp-editor-help th {
+       font-size: 13px;
+       padding: 5px;
+       vertical-align: middle;
+       word-wrap: break-word;
+       white-space: normal;
+}
+
+.mce-window .wp-editor-help th {
+       font-weight: bold;
+       padding-bottom: 0;
+}
+
+.mce-window .wp-editor-help kbd {
+       font-family: monospace;
+       padding: 2px 7px 3px;
+       font-weight: bold;
+       margin: 0;
+       background: #eaeaea;
+       background: rgba(0,0,0,0.08);
+}
+
+.mce-window .wp-help-header td {
+       font-weight: bold;
+       padding: 0 5px;
+}
+
+.mce-window .wp-help-th-center td:nth-child(odd),
+.mce-window .wp-help-th-center th:nth-child(odd) {
+    text-align: center;
+}
+
 /* TinyMCE menus */
 .mce-menu,
 .mce-floatpanel.mce-popover {
        box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
 }
 
+.mce-menu,
 .mce-floatpanel.mce-popover.mce-bottom {
        margin-top: 2px;
 }
 div.mce-panel {
        border: 0;
        background: #fff;
-       -webkit-filter: none;
-       filter: none;
 }
 
 .mce-panel.mce-menu {
@@ -174,6 +239,7 @@ div.mce-inline-toolbar-grp {
        -webkit-user-select: none;
        -ms-user-select: none;
        user-select: none;
+       max-width: 98%;
        z-index: 100100; /* Same as the other TinyMCE "panels" */
 }
 
@@ -199,30 +265,30 @@ div.mce-inline-toolbar-grp:after {
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-up:before {
-       top: -18px;
+       top: -9px;
        border-bottom-color: #a0a5aa;
-       border-width: 9px;
+       border-width: 0 9px 9px;
        margin-left: -9px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-down:before {
-       bottom: -18px;
+       bottom: -9px;
        border-top-color: #a0a5aa;
-       border-width: 9px;
+       border-width: 9px 9px 0;
        margin-left: -9px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-up:after {
-       top: -16px;
+       top: -8px;
        border-bottom-color: #f5f5f5;
-       border-width: 8px;
+       border-width: 0 8px 8px;
        margin-left: -8px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-down:after {
-       bottom: -16px;
+       bottom: -8px;
        border-top-color: #f5f5f5;
-       border-width: 8px;
+       border-width: 8px 8px 0;
        margin-left: -8px;
 }
 
@@ -286,7 +352,6 @@ div.mce-path {
 .mce-path-item,
 .mce-path .mce-divider {
        font-size: 12px;
-       line-height: 18px;
 }
 
 .mce-toolbar .mce-btn,
@@ -299,21 +364,15 @@ div.mce-path {
        cursor: pointer;
 }
 
-#wp-fullscreen-buttons .mce-btn,
 .mce-toolbar .mce-btn-group .mce-btn,
 .qt-dfw {
        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:hover,
 .mce-toolbar .mce-btn-group .mce-btn:hover,
-#wp-fullscreen-buttons .mce-btn:focus,
 .mce-toolbar .mce-btn-group .mce-btn:focus,
 .qt-dfw:hover,
 .qt-dfw:focus {
@@ -326,9 +385,7 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-active,
-#wp-fullscreen-buttons .mce-btn.mce-active,
 .mce-toolbar .mce-btn-group .mce-btn:active,
-#wp-fullscreen-buttons .mce-btn:active,
 .qt-dfw.active {
        background: #ebebeb;
        border-color: #999;
@@ -345,9 +402,7 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover,
-#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,
-.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,
-#wp-fullscreen-buttons .mce-btn.mce-disabled:focus {
+.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus {
        color: #a0a5aa;
        background: none;
        border-color: #ddd;
@@ -367,6 +422,13 @@ div.mce-path {
        line-height: normal;
 }
 
+.mce-toolbar .mce-listbox button {
+       font-size: 13px;
+       line-height: 20px;
+       padding-left: 6px;
+       padding-right: 20px;
+}
+
 .mce-toolbar .mce-btn i {
        text-shadow: none;
 }
@@ -401,12 +463,7 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover {
-    background-image: none;
-    border-color: #b4b9be;
-}
-
-.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span {
-       font-size: 13px;
+       border-color: #b4b9be;
 }
 
 .mce-panel .mce-btn i.mce-caret {
@@ -416,13 +473,7 @@ div.mce-path {
 }
 
 .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;
+       right: 4px;
 }
 
 .mce-panel .mce-btn:hover i.mce-caret {
@@ -443,34 +494,33 @@ div.mce-path {
        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-toolbar .mce-splitbtn .mce-open.mce-active {
+       background: transparent;
+       outline: none;
 }
 
 .mce-menu .mce-menu-item:hover,
 .mce-menu .mce-menu-item.mce-selected,
-.mce-menu .mce-menu-item:focus {
-       color: #000;
-       background-color: #b4b9be;
-       background-image: none;
-       -webkit-filter: none;
-       filter: none;
-}
-
-.mce-menu .mce-menu-item:hover .mce-ico,
-.mce-menu .mce-menu-item.mce-selected .mce-ico,
-.mce-menu .mce-menu-item:focus .mce-ico,
-.mce-menu .mce-menu-item:hover .mce-text,
-.mce-menu .mce-menu-item.mce-active:hover .mce-text,
-.mce-menu .mce-menu-item.mce-selected .mce-text {
-       color: #000;
+.mce-menu .mce-menu-item:focus,
+.mce-menu .mce-menu-item-normal.mce-active,
+.mce-menu .mce-menu-item-preview.mce-active {
+       background: #0073aa; /* See color scheme. */
+}
+
+.mce-menu .mce-menu-item-preview.mce-active {
+       border-left: none;
+}
+
+.mce-menu .mce-menu-item-preview.mce-active .mce-text {
+       color: #fff;
+}
+
+.mce-menu .mce-menu-item.mce-disabled {
+       cursor: default;
+}
+
+.mce-menu .mce-menu-item.mce-disabled:hover {
+    background: #ccc;
 }
 
 /* Menubar */
@@ -480,13 +530,32 @@ div.mce-path {
        border-width: 0px 0px 1px;
 }
 
-.mce-menubar .mce-btn:focus {
-       outline: 0;
+.mce-menubar .mce-menubtn {
+       margin: 2px;
+}
+
+.mce-menubar .mce-menubtn:hover,
+.mce-menubar .mce-menubtn.mce-active,
+.mce-menubar .mce-menubtn:focus {
+       border-color: transparent;
+       background: transparent;
+}
+
+.mce-menubar .mce-menubtn:focus {
+       color: #124964;
+       -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);
 }
 
 div.mce-menu .mce-menu-item-sep,
 .mce-menu-item-sep:hover {
-       margin: 5px 0 4px;
+       border-bottom: 1px solid #ddd;
+       height: 0px;
+       margin: 5px 0;
 }
 
 .mce-menubtn span {
@@ -525,7 +594,6 @@ div.mce-menu .mce-menu-item-sep,
        white-space: nowrap;
        -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
        box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
-       background-image: none;
 }
 
 /* Remove the dotted border on :focus and the extra padding in Firefox */
@@ -619,9 +687,10 @@ div.mce-menu .mce-menu-item-sep,
        cursor: default;
 }
 
-.mce-menubtn.mce-fixed-width button span {
-       max-width: 80px;
-       padding-right: 16px;
+.mce-menubtn.mce-fixed-width button {
+       overflow-x: hidden;
+       text-overflow: ellipsis;
+       width: 110px;
 }
 
 /* Charmap modal */
@@ -651,6 +720,8 @@ div.mce-menu .mce-menu-item-sep,
 }
 
 .mce-tooltip-inner {
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
        -webkit-box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
        box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
        color: #fff;
@@ -1066,6 +1137,7 @@ i.mce-i-wp_code:before {
        position: relative;
        border-bottom: 1px solid #dedede;
        background: #f5f5f5;
+       min-height: 30px;
 }
 
 .has-dfw .quicktags-toolbar {
@@ -1111,7 +1183,6 @@ i.mce-i-wp_code:before {
                padding: 6px 7px;
        }
 
-       #wp-fullscreen-buttons .mce-btn,
        .mce-toolbar .mce-btn-group .mce-btn {
                margin: 1px;
        }
@@ -1355,6 +1426,8 @@ i.mce-i-wp_code:before {
        text-align: right;
        padding-right: 5px;
        max-width: 24%;
+       vertical-align: middle;
+       word-wrap: break-word;
 }
 
 #wp-link .link-search-field {
@@ -1607,509 +1680,42 @@ i.mce-i-wp_code:before {
        }
 }
 
-/* Old TinyMCE 3.x modal */
-/*
-.clearlooks2 .mceTop {
-       border-bottom: 1px solid #ccc;
-}
-
-.clearlooks2 .mceTop span {
-       font: 13px/24px "Open Sans", sans-serif;
-       color: #e5e5e5;
-}
-
-.clearlooks2 .mceTop .mceLeft {
-       background: #444444;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceTop .mceRight {
-       background: #444444;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceMiddle {
-       clip: rect(24px auto auto auto);
-}
-
-.clearlooks2 .mceMiddle .mceLeft {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceMiddle .mceRight {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom .mceLeft {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom .mceCenter {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceBottom .mceRight {
-       background: #f1f1f1;
-       border-color: transparent;
-}
-
-.clearlooks2 .mceClose,
-.clearlooks2 .mceFocus .mceClose,
-.clearlooks2 .mceFocus .mceClose:hover {
-       background-image: none;
-}
-.clearlooks2 .mceClose:before {
-       content: '\f158';
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       color: #999;
-       padding-left: 12px;
-}
-
-/* from colors.css
-.clearlooks2 {
-       box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-}
-
-.clearlooks2 .mceMiddle span,
-.clearlooks2 .mceMiddle .mceLeft,
-.clearlooks2 .mceMiddle .mceRight,
-.clearlooks2 .mceBottom,
-.clearlooks2 .mceBottom .mceLeft,
-.clearlooks2 .mceBottom .mceCenter,
-.clearlooks2 .mceBottom .mceRight {
-       background-color: #fcfcfc;
-}
-
-.clearlooks2 .mceTop span,
-.clearlooks2 .mceFocus .mceTop span {
-       color: #23282d;
-}
-
-.clearlooks2 .mceClose:before {
-       color: #999;
-}
-
-.clearlooks2 .mceClose:hover:before {
-       color: #00a0d2;
-}
-*/
-/* Distraction-Free Writing mode
- * =Overlay Styles
--------------------------------------------------------------- */
-.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 .fullscreen-overlay,
-.wp-fullscreen-active #wp-fullscreen-body {
-       display: block;
+div.wp-link-preview {
+       float: left;
+       margin: 5px;
+       max-width: 694px;
+       overflow: hidden;
+       text-overflow: ellipsis;
 }
 
-.fullscreen-fader {
-       z-index: 200000;
+div.wp-link-preview a {
+       color: #0073aa;
+       text-decoration: underline;
+       -webkit-transition-property: border, background, color;
+       transition-property: border, background, color;
+       -webkit-transition-duration: .05s;
+       transition-duration: .05s;
+       -webkit-transition-timing-function: ease-in-out;
+       transition-timing-function: ease-in-out;
+       cursor: pointer;
 }
 
-.wp-fullscreen-active .fullscreen-fader,
-.wp-core-ui.wp-fullscreen-active .postbox-container {
-       display: none;
+@media screen and ( max-width: 782px ) {
+       div.wp-link-preview {
+               margin: 8px 0 8px 5px;
+               max-width: 70%;
+               max-width: -webkit-calc(100% - 86px);
+               max-width: calc(100% - 86px);
+       }
 }
 
 /* =Overlay Body
 -------------------------------------------------------------- */
 
-#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-wrap .wp-editor-container,
-.wp-fullscreen-title,
-#wp-fullscreen-central-toolbar {
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-       max-width: 100%;
-}
-
-.wp-fullscreen-active .wp-editor-tools,
-.wp-fullscreen-active .quicktags-toolbar,
-.wp-fullscreen-active .mce-toolbar-grp,
-.wp-fullscreen-active .mce-statusbar {
-       display: none;
-}
-
-#wp-fullscreen-statusbar {
-       position: fixed;
-       left: 0;
-       right: 0;
-       bottom: 0;
-       height: 30px;
-       z-index: 100020;
-       background: #fff;
-       -webkit-transition: height 0.2s;
-       transition: height 0.2s;
-}
-
-#wp-fullscreen-status {
-       margin: 0 auto;
-       padding: 0;
-}
-
-.wp-fullscreen-active .wp-fullscreen-title,
-.wp-fullscreen-active .wp-fullscreen-title:focus,
-.wp-fullscreen-active .wp-editor-container {
-       -webkit-border-radius: 0;
-       border-radius: 0;
-       border: 1px dashed transparent;
-       background: transparent;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-       -webkit-transition: border-color 0.4s;
-       transition: border-color 0.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: #82878c;
-       font-size: 18px;
-       float: right;
-       padding: 4px 0 0;
-}
-
-/* =Top bar
--------------------------------------------------------------- */
-#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 0.4s;
-       transition: opacity 0.4s;
-}
-
-#wp-fullscreen-toolbar {
-       padding: 6px 10px 0;
-       clear: both;
-       max-width: 1100px;
-       margin: 0 auto;
-}
-
-#wp-fullscreen-mode-bar,
-#wp-fullscreen-button-bar,
-#wp-fullscreen-close {
-       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-count,
-#wp-fullscreen-close {
-       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: 0.5;
-}
-
-#wp-fullscreen-buttons .mce-btn button {
-    margin: 0;
-    outline: 0 none;
-    border: 0 none;
-    white-space: nowrap;
-    width: auto;
-    background: none;
-       color: #32373c;
-    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;
-}
-
-/* =Thickbox Adjustments
--------------------------------------------------------------- */
-.wp-fullscreen-active #TB_overlay {
-       z-index: 100050;
-}
-
-.wp-fullscreen-active #TB_window {
-       z-index: 100051;
-}
-
-/* Colors */
-.fullscreen-overlay {
-       background: #fff;
-}
-
-/* =CSS 3 transitions
--------------------------------------------------------------- */
-
-.wp-fullscreen-active #fullscreen-topbar {
-       -webkit-transition-duration: 0.8s;
-       transition-duration: 0.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: 0.4s;
-       transition-duration: 0.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-fullscreen-title,
-.wp-fullscreen-active .wp-editor-container {
-       -webkit-transition-duration: 0.8s;
-       transition-duration: 0.8s;
-       border-color: transparent;
-}
-
-.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title,
-.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container {
-       -webkit-transition-duration: 0.4s;
-       transition-duration: 0.4s;
-       border-color: #ccc;
-}
-
-.fade-1000,
-.fade-600,
-.fade-400,
-.fade-300 {
-       opacity: 0;
-       -webkit-transition-property: opacity;
-       transition-property: opacity;
-}
-
-.fade-1000 {
-       -webkit-transition-duration: 1s;
-       transition-duration: 1s;
-}
-
-.fade-600 {
-       -webkit-transition-duration: 0.6s;
-       transition-duration: 0.6s;
-}
-
-.fade-400 {
-       -webkit-transition-duration: 0.4s;
-       transition-duration: 0.4s;
-}
-
-.fade-300 {
-       -webkit-transition-duration: 0.3s;
-       transition-duration: 0.3s;
-}
-
-.fade-trigger {
-       opacity: 1;
-}
-
-/* DFW on touch screen devices */
-.wp-dfw-touch #fullscreen-topbar {
-       position: absolute;
-       opacity: 1;
-}
-
-.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container,
-.wp-dfw-touch .wp-fullscreen-title {
-       max-width: 700px;
-}
-
-.wp-fullscreen-active.wp-dfw-touch  .wp-fullscreen-title,
-.wp-fullscreen-active.wp-dfw-touch .wp-editor-container {
-       border-color: #ccc;
-}
-
-.wp-dfw-touch #wp-fullscreen-statusbar {
-       height: 30px;
-}
-
-@media screen and ( max-width: 782px ) {
-       #wp-fullscreen-close,
-       #wp-fullscreen-central-toolbar,
-       #wp-fullscreen-mode-bar,
-       #wp-fullscreen-button-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-wrap .wp-editor-container,
-       .wp-fullscreen-title {
-               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;
-       }
-}
-
 /* =Localization
 -------------------------------------------------------------- */
 .rtl .wp-switch-editor,
@@ -2136,8 +1742,7 @@ html:lang(he-il) .rtl .quicktags-toolbar input  {
 @media print,
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
-       .wp-media-buttons .add_media span.wp-media-buttons-icon,
-       #wp-fullscreen-buttons #wp_fs_image span.mce_image {
+       .wp-media-buttons .add_media span.wp-media-buttons-icon {
                background: none;
        }
 }
index fff18d41e617d65233bc15e11d2421a99611904f..7415d7754a6983ec06aacb405cd7fefe8fa3227e 100644 (file)
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);-webkit-transition:none;transition:none}.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;-webkit-transition:none;transition:none}.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:#00a0d2}.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-inline-toolbar-grp{border:1px solid #a0a5aa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-18px;border-bottom-color:#a0a5aa;border-width:9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-18px;border-top-color:#a0a5aa;border-width:9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-16px;border-bottom-color:#f5f5f5;border-width:8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-16px;border-top-color:#f5f5f5;border-width:8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{left:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-full{right:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}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-dfw{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-dfw{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-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#23282d;-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);outline:0}#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,.qt-dfw.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:#a0a5aa;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-dfw{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:#b4b9be}.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:#32373c}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #32373c;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:#b4b9be;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:#23282d}.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:#32373c;-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:#a0a5aa;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:#00a0d2;border-color:#0073aa;-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:#0073aa;-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-dfw{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-dashicon,i.mce-i-dfw,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_code,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-dfw{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-dfw:before,i.mce-i-dfw: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'}i.mce-i-wp_code:before{content:'\f475'}.rtl i.mce-i-outdent:before{content:'\f222'}.rtl i.mce-i-indent:before{content:'\f221'}.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}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.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{float:left;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 0 0 5px;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor: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);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.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;border-bottom-color:#f5f5f5}.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-dfw,.qt-dfw{position:absolute;top:0;right:0;margin:5px 5px 0 0}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{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;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}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#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:#00a0d2}#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{-webkit-overflow-scrolling:touch;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{margin-top:5px}#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:172px}.has-text-field #wp-link .query-results{top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;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 #00a0d2}#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:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#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);word-wrap:break-word}#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 .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{margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:195px}#wp-link-wrap.search-panel-visible.has-text-field .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:#82878c;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:#32373c;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,(-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-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);-webkit-transition:none;transition:none}.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;-webkit-transition:none;transition:none}.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:#00a0d2}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-window .mce-foot{border-top:1px solid #dfdfdf}#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-window .mce-wp-help{height:360px;width:460px;overflow:auto}.mce-window .mce-wp-help *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mce-window .mce-wp-help>.mce-container-body{width:auto!important}.mce-window .wp-editor-help{padding:10px 10px 0 20px}.mce-window .wp-editor-help h2,.mce-window .wp-editor-help p{margin:8px 0;white-space:normal;font-size:14px;font-weight:400}.mce-window .wp-editor-help table{width:100%;margin-bottom:20px}.mce-window .wp-editor-help td,.mce-window .wp-editor-help th{font-size:13px;padding:5px;vertical-align:middle;word-wrap:break-word;white-space:normal}.mce-window .wp-editor-help th{font-weight:700;padding-bottom:0}.mce-window .wp-editor-help kbd{font-family:monospace;padding:2px 7px 3px;font-weight:700;margin:0;background:#eaeaea;background:rgba(0,0,0,.08)}.mce-window .wp-help-header td{font-weight:700;padding:0 5px}.mce-window .wp-help-th-center td:nth-child(odd),.mce-window .wp-help-th-center th:nth-child(odd){text-align:center}.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,.mce-menu{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}.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-inline-toolbar-grp{border:1px solid #a0a5aa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;max-width:98%;z-index:100100}.wp-editor-area,div.mce-inline-toolbar-grp{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-9px;border-bottom-color:#a0a5aa;border-width:0 9px 9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-9px;border-top-color:#a0a5aa;border-width:9px 9px 0;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-8px;border-bottom-color:#f5f5f5;border-width:0 8px 8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-8px;border-top-color:#f5f5f5;border-width:8px 8px 0;margin-left:-8px}.mce-toolbar .mce-btn-group,div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before,div.mce-path{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{left:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-full{right:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;-webkit-border-radius:2px;border-radius:2px}.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#23282d;-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);outline:0}.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.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}.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;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-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-listbox button{font-size:13px;line-height:20px;padding-left:6px;padding-right:20px}.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{border-color:#b4b9be}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:4px}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#32373c}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #32373c;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{background:0 0;outline:0}.mce-menu .mce-menu-item-normal.mce-active,.mce-menu .mce-menu-item-preview.mce-active,.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{background:#0073aa}.mce-menu .mce-menu-item-preview.mce-active{border-left:none}.mce-menu .mce-menu-item-preview.mce-active .mce-text{color:#fff}.mce-menu .mce-menu-item.mce-disabled{cursor:default}.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-menubtn{margin:2px}.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus,.mce-menubar .mce-menubtn:hover{border-color:transparent;background:0 0}.mce-menubar .mce-menubtn:focus{color:#124964;-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-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}.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:#23282d}.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:#32373c;-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:#a0a5aa;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:#00a0d2;border-color:#0073aa;-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:#0073aa;-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}#wp-link li,#wp-link-close,#wp-link-search-toggle,.mce-charmap td{cursor:pointer}.mce-toolbar .mce-ico,.qt-dfw{text-align:center;text-shadow:none}.mce-menubtn.mce-fixed-width button{overflow-x:hidden;text-overflow:ellipsis;width:110px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-toolbar .mce-btn .mce-open,.qt-dfw{line-height:20px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-border-radius:3px;border-radius:3px;-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;margin:0;padding:0}.qt-dfw{color:#777;width:28px;height:26px}.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-dashicon,i.mce-i-dfw,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_code,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-dfw{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-dfw:before,i.mce-i-dfw: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'}i.mce-i-wp_code:before{content:'\f475'}.rtl i.mce-i-outdent:before{content:'\f222'}.rtl i.mce-i-indent:before{content:'\f221'}.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;box-sizing:border-box}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.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{float:left;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 0 0 5px;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor: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);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.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;border-bottom-color:#f5f5f5}.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-link-close:before,#wp-link-search-toggle:after{vertical-align:top;speak:none;-moz-osx-font-smoothing:grayscale}.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;min-height:30px}.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-dfw,.qt-dfw{position:absolute;top:0;right:0;margin:5px 5px 0 0}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{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;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}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#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}#wp-link-close:before{font:400 20px/36px dashicons;-webkit-font-smoothing:antialiased;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#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{-webkit-overflow-scrolling:touch;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;-webkit-font-smoothing:antialiased;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 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%;vertical-align:middle;word-wrap:break-word}#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{margin-top:5px}#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:172px}.has-text-field #wp-link .query-results{top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 6px 4px 10px;position:relative}#wp-link .query-notice,#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link .query-notice{padding:0;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 #00a0d2}#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:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#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);word-wrap:break-word}#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 .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{margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:195px}#wp-link-wrap.search-panel-visible.has-text-field .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}}div.wp-link-preview{float:left;margin:5px;max-width:694px;overflow:hidden;text-overflow:ellipsis}div.wp-link-preview a{color:#0073aa;text-decoration:underline;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;cursor:pointer}@media screen and (max-width:782px){div.wp-link-preview{margin:8px 0 8px 5px;max-width:70%;max-width:-webkit-calc(100% - 86px);max-width:calc(100% - 86px)}}.mce-fullscreen{z-index:100010}.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,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
index b0c19e5b247c4956178b785ccaf59e6a97d5c16e..bf7be0aea8eba0ef7b2e99f1b8f679611a68b586 100644 (file)
@@ -7,11 +7,11 @@
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/category/theming/
- */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;right:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{width:100%;height:100%}/*!
+ */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-button,.ui-helper-reset{text-decoration:none;margin:0}.ui-helper-zfix,.ui-widget-overlay{width:100%;height:100%}.ui-helper-reset{padding:0;border:0;outline:0;line-height:1.3;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{top:0;right:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}/*!
  * jQuery UI Resizable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.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:12px;height:12px;right:1px;bottom:1px}.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:#23282d}.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:#32373c;-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:#a0a5aa!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:#00a0d2}.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;-ms-touch-action:none;touch-action:none}.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:12px;height:12px;right:1px;bottom:1px}.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;font-size:13px;line-height:26px;height:28px;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:#23282d}.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:#32373c;-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:#a0a5aa!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:#00a0d2}.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
index c9adc2417928fc0e66d364be3ba71c1daa81fe75..f60030dfcb45f1b841cb6f150444da134cb94665 100644 (file)
@@ -7,11 +7,11 @@
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/category/theming/
- */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{width:100%;height:100%}/*!
+ */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-button,.ui-helper-reset{text-decoration:none;margin:0}.ui-helper-zfix,.ui-widget-overlay{width:100%;height:100%}.ui-helper-reset{padding:0;border:0;outline:0;line-height:1.3;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}/*!
  * jQuery UI Resizable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.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:12px;height:12px;right:1px;bottom:1px}.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:#23282d}.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:#32373c;-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:#a0a5aa!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:#00a0d2}.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;-ms-touch-action:none;touch-action:none}.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:12px;height:12px;right:1px;bottom:1px}.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;font-size:13px;line-height:26px;height:28px;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:#23282d}.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:#32373c;-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:#a0a5aa!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:#00a0d2}.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
index f45fc9a2aa64bd8c5dad44677d111621d18092f5..abab3daedf103f7079629d45c62ac03beed56bd5 100644 (file)
 
 .media-modal-close {
        position: absolute;
-       text-decoration: none;
-       top: 10px;
-       left: 10px;
-       width: 30px;
-       height: 30px;
+       top: 0;
+       left: 0;
+       width: 50px;
+       height: 50px;
+       padding: 0;
        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 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 {
        -webkit-font-smoothing: subpixel-antialiased;
 }
 
-.media-modal-icon {
+/* higher specificity */
+.wp-core-ui .media-modal-icon {
        background-image: url(../images/uploader-icons.png);
        background-repeat: no-repeat;
 }
        height: 100%;
 }
 
+.wp-customizer:not(.mobile) .media-frame-content .crop-content.site-icon {
+       margin-left: 300px;
+}
+
 .media-frame-content .crop-content .crop-image {
        display: block;
        margin: auto;
        position: absolute;
 }
 
-.wp-core-ui .attachment .close {
+.wp-core-ui .attachment-close {
        display: block;
        position: absolute;
        top: 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, 0.3 );
        box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.3 );
-       -webkit-transition-duration: none;
-       transition-duration: none;
-       -webkit-transition-property: none;
-       transition-property: none;
 }
 
-.wp-core-ui .attachment a.close:hover,
-.wp-core-ui .attachment a.close:focus {
-       -webkit-box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
-       box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
+.wp-core-ui .attachment-close:hover,
+.wp-core-ui .attachment-close:focus {
        background-position: -36px 4px;
-
 }
 
 .wp-core-ui .attachment .check {
        display: none;
        height: 24px;
        width: 24px;
+       padding: 0;
        position: absolute;
        z-index: 10;
        top: 0;
        box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
 }
 
-.wp-core-ui .attachment .check div {
+.wp-core-ui .attachment .check .media-modal-icon {
+       display: block;
        background-position: -1px 0;
        height: 15px;
        width: 15px;
        margin: 5px;
 }
 
-.wp-core-ui .attachment .check:hover div {
+.wp-core-ui .attachment .check:hover .media-modal-icon {
        background-position: -40px 0;
 }
 
                0 0 0 2px #1e8cbe;
 }
 
-.wp-core-ui .attachment.details .check div,
-.wp-core-ui .media-frame.mode-grid .attachment.selected .check div {
+.wp-core-ui .attachment.details .check .media-modal-icon,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check .media-modal-icon {
        background-position: -21px 0;
 }
 
-.wp-core-ui .attachment.details .check:hover div,
-.wp-core-ui .attachment.selected .check:focus div,
-.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div {
+.wp-core-ui .attachment.details .check:hover .media-modal-icon,
+.wp-core-ui .attachment.selected .check:focus .media-modal-icon,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover .media-modal-icon {
        background-position: -60px 0;
 }
 
        max-width: 400px;
 }
 
-.media-sidebar .media-uploader-status {
-       border-bottom: 1px solid #dfdfdf;
-}
-
 .uploader-inline .media-uploader-status h3 {
        display: none;
 }
 }
 
 .upload-errors .upload-error {
-       margin: 8px auto 0 auto;
-       padding: 8px;
-       border: 1px #c00 solid;
-       background: #ffebe8;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
+       padding: 12px;
+       margin-bottom: 12px;
+       background: #fff;
+       border-right: 4px solid #dd3d36;
+       -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
+       box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
 }
 
-.upload-errors .upload-error-label {
-       padding: 2px 4px;
-       margin-left: 8px;
+.upload-errors .upload-error-filename {
        font-weight: bold;
-       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;
 }
 
        font-weight: bold;
 }
 
-.media-selection .selection-info a {
-       display: block;
+.media-selection .button-link {
        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 {
+.media-selection .button-link:hover,
+.media-selection .button-link:focus {
        background: #21759B;
        color: #fff;
        border-color: transparent;
 }
 
-.media-selection .selection-info a:last-child {
+.media-selection .button-link:last-child {
        border-left: 0;
        margin-left: 0;
 }
 
-.media-selection .selection-info .clear-selection {
+.selection-info .clear-selection {
        color: red;
 }
 
-.media-selection .selection-info .clear-selection:hover {
+.selection-info .clear-selection:hover,
+.selection-info .clear-selection:focus {
        background: red;
+       color: #fff;
 }
 
 .media-selection .selection-view {
 }
 
 .attachment-info .edit-attachment,
-.attachment-info .refresh-attachment,
 .attachment-info .delete-attachment,
 .attachment-info .trash-attachment,
 .attachment-info .untrash-attachment {
        white-space: nowrap;
 }
 
-.attachment-info .refresh-attachment,
 .attachment-details.needs-refresh .attachment-info .edit-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 {
+       display: inline;
+       padding: 0;
        color: #bc0b0b;
 }
 
 .media-modal .delete-attachment:hover,
+.media-modal .delete-attachment:focus,
 .media-modal .trash-attachment:hover,
-.media-modal .untrash-attachment:hover {
+.media-modal .trash-attachment:focus,
+.media-modal .untrash-attachment:hover,
+.media-modal .untrash-attachment:focus {
        color: red;
 }
 
        overflow: auto;
 }
 
+.media-embed .embed-link-settings {
+       /* avoid Firefox to give focus to the embed preview container parent */
+       overflow: visible;
+}
+
 .embed-preview img,
 .embed-preview iframe,
-.embed-preview embed {
+.embed-preview embed,
+.mejs-container video {
        max-width: 100%;
+       vertical-align: middle;
 }
 
 .embed-preview a {
        height: auto;
 }
 
+.mejs-container:focus {
+       outline: 1px solid #5b9dd9;
+       -webkit-box-shadow: 0 0 2px 1px rgba(30, 140, 190, .8);
+       box-shadow: 0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
 .image-details .media-modal {
        right: 140px;
        left: 140px;
 }
 
 .image-details .advanced-toggle {
+       padding: 0;
        color: #666;
-       text-decoration: none;
-       display: block;
+       text-transform: uppercase;
 }
 
 .image-details .advanced-toggle:after {
 }
 
 /* Drag & drop on the editor upload */
-#wp-fullscreen-body .uploader-editor,
 .wp-editor-wrap .uploader-editor {
        background: rgba( 150, 150, 150, 0.9 );
        position: absolute;
        text-align: center;
 }
 
-#wp-fullscreen-body .uploader-editor {
-       background: rgba( 0, 86, 132, 0.9 );
-       position: fixed;
-       z-index: 100050; /* above the editor toolbar */
-}
-
-.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;
        bottom: 10px;
 }
 
-#wp-fullscreen-body .uploader-editor .uploader-editor-title,
 .wp-editor-wrap .uploader-editor .uploader-editor-title {
        position: absolute;
        top: 50%;
        background: rgba( 0, 86, 132, 0.9 );
 }
 
-#wp-fullscreen-body .uploader-editor .uploader-editor-title,
 .wp-editor-wrap .uploader-editor.droppable .uploader-editor-title {
        display: block;
 }
 
 @media only screen and (max-width: 480px) {
        .media-modal-close {
-               top: 5px;
-               left: 5px;
+               top: -5px;
        }
 
        .media-modal .media-frame-title {
                height: 40px;
        }
 
+       .wp-core-ui.wp-customizer .media-button {
+               margin-top: 13px;
+       }
+
        .media-modal .media-frame-title h1,
        .media-frame:not(.hide-menu) .media-frame-title h1 {
                font-size: 18px;
index 0a8adc8e11e650aa2a1a9276fe5599de26d2223c..1f5349f32c770b091dd9576f27c49819fafd3112 100644 (file)
@@ -1,8 +1,8 @@
-.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;-webkit-overflow-scrolling:touch}.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:#32373c}.media-frame a.button:hover{color:#23282d}.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}/*!
+.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;-webkit-overflow-scrolling:touch}.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:#32373c}.media-frame a.button:hover{color:#23282d}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=text],.media-frame input[type=password],.media-frame input[type=number],.media-frame input[type=search],.media-frame input[type=email],.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=text]:focus,.media-frame input[type=password]:focus,.media-frame input[type=number]:focus,.media-frame input[type=search]:focus,.media-frame input[type=email]: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}/*!
  * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-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:#00a0d2}.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;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.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:65%;margin:1px}.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],.compat-item .field textarea{width:100%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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:#0073aa;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:#23282d;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:#32373c}.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:2%;max-width:42%;max-width:-webkit-calc(48% - 12px);max-width:calc(48% - 12px)}.media-frame select.attachment-filters:last-of-type{margin-left:0}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-primary .search{max-width:100%}.wp-core-ui .attachments{margin:0;-webkit-overflow-scrolling:touch}.wp-core-ui .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}.wp-core-ui .attachment.details:focus,.wp-core-ui .attachment:focus,.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .attachment-preview:before{content:'';display:block;padding-top:100%}.wp-core-ui .attachment .icon{margin:0 auto;overflow:hidden}.wp-core-ui .attachment .thumbnail{overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.wp-core-ui .attachment .portrait img{max-width:100%}.wp-core-ui .attachment .landscape img{max-height:100%}.wp-core-ui .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}.wp-core-ui .attachment .thumbnail img{top:0;right:0}.wp-core-ui .attachment .thumbnail .centered{position:absolute;top:0;right:0;width:100%;height:100%;-webkit-transform:translate(-50%,50%);-ms-transform:translate(-50%,50%);transform:translate(-50%,50%)}.wp-core-ui .attachment .thumbnail .centered img{-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon{-webkit-transform:translate(50%,-70%);-ms-transform:translate(50%,-70%);transform:translate(50%,-70%)}.ie8 .wp-core-ui .attachment img.icon{top:20%;position:relative}.wp-core-ui .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)}.wp-core-ui .attachment .filename div{padding:5px 10px}.wp-core-ui .attachment .thumbnail img{position:absolute}.wp-core-ui .attachment .close{display:block;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);-webkit-transition-duration:none;transition-duration:none;-webkit-transition-property:none;transition-property:none}.wp-core-ui .attachment a.close:focus,.wp-core-ui .attachment a.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);background-position:-36px 4px}.wp-core-ui .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)}.wp-core-ui .attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.wp-core-ui .attachment .check:hover div{background-position:-40px 0}.wp-core-ui .attachment.selected .check{display:block}.wp-core-ui .attachment.details .check,.wp-core-ui .attachment.selected .check:focus,.wp-core-ui .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}.wp-core-ui .attachment.details .check div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.wp-core-ui .attachment.details .check:hover div,.wp-core-ui .attachment.selected .check:focus div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.wp-core-ui .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}.attachments-browser .media-toolbar-primary{max-width:33%}.attachments-browser .media-toolbar-secondary{max-width:66%}.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:-webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00)) #e00;background:-webkit-linear-gradient(top,#e00,#a00) #e00;background:linear-gradient(to bottom,#e00,#a00) #e00;-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:40px;padding:0;margin:4px}.media-selection .attachment .thumbnail{top:0;left:0;bottom:0;right:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.wp-core-ui .media-selection .attachment.details:focus,.wp-core-ui .media-selection .attachment:focus,.wp-core-ui .media-selection .selected.attachment:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9;box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9}.wp-core-ui .media-selection .selected.attachment{-webkit-box-shadow:none;box-shadow:none}.wp-core-ui .media-selection .attachment.details{-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) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;float:left;display:inline-block;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0;vertical-align:middle}.media-frame .spinner.is-active{visibility:visible}.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-right:5px}.attachment-details .settings-save-status .saved{float:left;display:none}.attachment-details.save-waiting .settings-save-status .spinner{visibility:visible}.attachment-details.save-complete .settings-save-status .saved{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{visibility:visible}.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 a{display:inline-block}.embed-preview img{display:block;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: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 .search{max-width:100%;height:auto;float:left}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 2px 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-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,(-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
+ */.ui-draggable-handle,.ui-sortable-handle{-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;top:0;left:0;width:50px;height:50px;padding:0;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;outline:0}.media-modal-close span.media-modal-icon{background-image:none}.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:#00a0d2}.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}.wp-core-ui .media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-menu,.media-sidebar{top:0;bottom:0;left:0;background:#f3f3f3}.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;width:267px;padding:0 16px 24px;z-index:75;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;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=radio],.attachment-details .field input[type=checkbox],.attachment-details .setting input[type=radio],.attachment-details .setting input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=radio],.media-sidebar .setting input[type=checkbox]{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}.media-menu>a,.media-router>a{text-decoration:none;line-height:18px;font-size:14px}.compat-item label span{text-align:left}.attachment-details .setting .value,.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=password],.attachment-details .setting input[type=number],.attachment-details .setting input[type=search],.attachment-details .setting input[type=email],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=email],.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:65%;margin:1px}.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=password],.compat-item .field input[type=number],.compat-item .field input[type=search],.compat-item .field input[type=email],.compat-item .field input[type=url],.compat-item .field textarea{width:100%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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;right:0;margin:0;padding:10px 0;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;color:#0073aa}.media-frame-title .dashicons,.media-frame.hide-router .media-frame-router,.media-router .active:after{display: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:#23282d;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;user-select:none}.media-router,.wp-core-ui .attachment{-webkit-user-select:none;-moz-user-select:none;-ms-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}.media-router>a:last-child{border-left:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#32373c}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom: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-content,.media-frame-router,.media-frame-title,.media-frame-toolbar{left:0;position:absolute;right:200px}.media-frame-title{top:0;height:50px;z-index:200}.media-frame-router{top:50px;height:36px;z-index:200}.media-frame-content{top:84px;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{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-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 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%}.wp-customizer:not(.mobile) .media-frame-content .crop-content.site-icon{margin-left:300px}.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:2%;max-width:42%;max-width:-webkit-calc(48% - 12px);max-width:calc(48% - 12px)}.media-toolbar-primary .search,.wp-core-ui .attachment .portrait img{max-width:100%}.media-frame select.attachment-filters:last-of-type{margin-left:0}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.wp-core-ui .attachments{margin:0;-webkit-overflow-scrolling:touch}.wp-core-ui .attachment{position:relative;float:right;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui .attachment.details:focus,.wp-core-ui .attachment:focus,.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .attachment-preview:before{content:'';display:block;padding-top:100%}.wp-core-ui .attachment .icon{margin:0 auto;overflow:hidden}.wp-core-ui .attachment .thumbnail{overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.wp-core-ui .attachment .landscape img{max-height:100%}.wp-core-ui .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}.wp-core-ui .attachment .thumbnail img{top:0;right:0}.wp-core-ui .attachment .thumbnail .centered{position:absolute;top:0;right:0;width:100%;height:100%;-webkit-transform:translate(-50%,50%);-ms-transform:translate(-50%,50%);transform:translate(-50%,50%)}.wp-core-ui .attachment .thumbnail .centered img{-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon{-webkit-transform:translate(50%,-70%);-ms-transform:translate(50%,-70%);transform:translate(50%,-70%)}.ie8 .wp-core-ui .attachment img.icon{top:20%;position:relative}.wp-core-ui .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)}.wp-core-ui .attachment .filename div{padding:5px 10px}.wp-core-ui .attachment .thumbnail img{position:absolute}.wp-core-ui .attachment-close{display:block;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;background-color:#fff;background-position:-96px 4px;-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)}.wp-core-ui .attachment-close:focus,.wp-core-ui .attachment-close:hover{background-position:-36px 4px}.wp-core-ui .attachment .check{display:none;height:24px;width:24px;padding:0;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)}.wp-core-ui .attachment .check .media-modal-icon{display:block;background-position:-1px 0;height:15px;width:15px;margin:5px}.wp-core-ui .attachment .check:hover .media-modal-icon{background-position:-40px 0}.wp-core-ui .attachment.selected .check{display:block}.wp-core-ui .attachment.details .check,.wp-core-ui .attachment.selected .check:focus,.wp-core-ui .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}.wp-core-ui .attachment.details .check .media-modal-icon,.wp-core-ui .media-frame.mode-grid .attachment.selected .check .media-modal-icon{background-position:-21px 0}.wp-core-ui .attachment.details .check:hover .media-modal-icon,.wp-core-ui .attachment.selected .check:focus .media-modal-icon,.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover .media-modal-icon{background-position:-60px 0}.wp-core-ui .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}.attachments-browser .media-toolbar-primary{max-width:33%}.attachments-browser .media-toolbar-secondary{max-width:66%}.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}.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{padding:12px;margin-bottom:12px;background:#fff;border-right:4px solid #dd3d36;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.upload-errors .upload-error-filename{font-weight:700}.upload-errors .upload-error-message{display:block;padding-top:8px;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 .attachments,.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .button-link{float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;border-left:1px solid #dfdfdf;color:#21759B}.media-selection .button-link:focus,.media-selection .button-link:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .button-link:last-child{border-left:0;margin-left:0}.selection-info .clear-selection{color:red}.selection-info .clear-selection:focus,.selection-info .clear-selection:hover{background:red;color:#fff}.media-selection .attachments{height:48px;margin:6px;padding:0;overflow:hidden}.media-selection .attachment{width:40px;padding:0;margin:4px}.media-selection .attachment .thumbnail{top:0;left:0;bottom:0;right:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.wp-core-ui .media-selection .attachment.details:focus,.wp-core-ui .media-selection .attachment:focus,.wp-core-ui .media-selection .selected.attachment:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9;box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9}.wp-core-ui .media-selection .selected.attachment{-webkit-box-shadow:none;box-shadow:none}.wp-core-ui .media-selection .attachment.details{-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;float:left;display:inline-block;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0;vertical-align:middle}.attachment-details.save-waiting .settings-save-status .spinner,.media-frame .embed-loading .embed-url .spinner,.media-frame .spinner.is-active{visibility:visible}.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-right:5px}.attachment-details .settings-save-status .saved{float:left;display:none}.attachment-details.save-complete .settings-save-status .saved{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 .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment{display:none}.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{display:inline;padding:0;color:#bc0b0b}.media-modal .delete-attachment:focus,.media-modal .delete-attachment:hover,.media-modal .trash-attachment:focus,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:focus,.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}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.media-embed .embed-link-settings{overflow:visible}.embed-preview embed,.embed-preview iframe,.embed-preview img,.mejs-container video{max-width:100%;vertical-align:middle}.embed-preview a{display:inline-block}.embed-preview img{display:block;height:auto}.mejs-container:focus{outline:#5b9dd9 solid 1px;-webkit-box-shadow:0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 2px 1px rgba(30,140,190,.8)}.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{padding:0;color:#666;text-transform:uppercase}.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-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-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;right:10px;left:10px;bottom:10px}.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-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=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=email],.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=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=password],.rtl .media-frame input[type=number],.rtl .media-frame input[type=search],.rtl .media-frame input[type=email],.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=text],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=email],: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: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=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=password],.attachment-details .setting input[type=number],.attachment-details .setting input[type=search],.attachment-details .setting input[type=email],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=email],.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 .search{max-width:100%;height:auto;float:left}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 2px 0}.media-frame input[type=text],.media-frame input[type=password],.media-frame input[type=number],.media-frame input[type=search],.media-frame input[type=email],.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-modal-close{top:-5px}.media-modal .media-frame-title{height:40px}.wp-core-ui.wp-customizer .media-button{margin-top:13px}.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,(-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
index 3d41c252a10ae891c789ab3599de4886c53b0e39..2d4aba74534734663f77670d91423e6a6897ab55 100644 (file)
 
 .media-modal-close {
        position: absolute;
-       text-decoration: none;
-       top: 10px;
-       right: 10px;
-       width: 30px;
-       height: 30px;
+       top: 0;
+       right: 0;
+       width: 50px;
+       height: 50px;
+       padding: 0;
        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 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 {
        -webkit-font-smoothing: subpixel-antialiased;
 }
 
-.media-modal-icon {
+/* higher specificity */
+.wp-core-ui .media-modal-icon {
        background-image: url(../images/uploader-icons.png);
        background-repeat: no-repeat;
 }
        height: 100%;
 }
 
+.wp-customizer:not(.mobile) .media-frame-content .crop-content.site-icon {
+       margin-right: 300px;
+}
+
 .media-frame-content .crop-content .crop-image {
        display: block;
        margin: auto;
        position: absolute;
 }
 
-.wp-core-ui .attachment .close {
+.wp-core-ui .attachment-close {
        display: block;
        position: absolute;
        top: 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, 0.3 );
        box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.3 );
-       -webkit-transition-duration: none;
-       transition-duration: none;
-       -webkit-transition-property: none;
-       transition-property: none;
 }
 
-.wp-core-ui .attachment a.close:hover,
-.wp-core-ui .attachment a.close:focus {
-       -webkit-box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
-       box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
+.wp-core-ui .attachment-close:hover,
+.wp-core-ui .attachment-close:focus {
        background-position: -36px 4px;
-
 }
 
 .wp-core-ui .attachment .check {
        display: none;
        height: 24px;
        width: 24px;
+       padding: 0;
        position: absolute;
        z-index: 10;
        top: 0;
        box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
 }
 
-.wp-core-ui .attachment .check div {
+.wp-core-ui .attachment .check .media-modal-icon {
+       display: block;
        background-position: -1px 0;
        height: 15px;
        width: 15px;
        margin: 5px;
 }
 
-.wp-core-ui .attachment .check:hover div {
+.wp-core-ui .attachment .check:hover .media-modal-icon {
        background-position: -40px 0;
 }
 
                0 0 0 2px #1e8cbe;
 }
 
-.wp-core-ui .attachment.details .check div,
-.wp-core-ui .media-frame.mode-grid .attachment.selected .check div {
+.wp-core-ui .attachment.details .check .media-modal-icon,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check .media-modal-icon {
        background-position: -21px 0;
 }
 
-.wp-core-ui .attachment.details .check:hover div,
-.wp-core-ui .attachment.selected .check:focus div,
-.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div {
+.wp-core-ui .attachment.details .check:hover .media-modal-icon,
+.wp-core-ui .attachment.selected .check:focus .media-modal-icon,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover .media-modal-icon {
        background-position: -60px 0;
 }
 
        max-width: 400px;
 }
 
-.media-sidebar .media-uploader-status {
-       border-bottom: 1px solid #dfdfdf;
-}
-
 .uploader-inline .media-uploader-status h3 {
        display: none;
 }
 }
 
 .upload-errors .upload-error {
-       margin: 8px auto 0 auto;
-       padding: 8px;
-       border: 1px #c00 solid;
-       background: #ffebe8;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
+       padding: 12px;
+       margin-bottom: 12px;
+       background: #fff;
+       border-left: 4px solid #dd3d36;
+       -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
+       box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
 }
 
-.upload-errors .upload-error-label {
-       padding: 2px 4px;
-       margin-right: 8px;
+.upload-errors .upload-error-filename {
        font-weight: bold;
-       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;
 }
 
        font-weight: bold;
 }
 
-.media-selection .selection-info a {
-       display: block;
+.media-selection .button-link {
        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 {
+.media-selection .button-link:hover,
+.media-selection .button-link:focus {
        background: #21759B;
        color: #fff;
        border-color: transparent;
 }
 
-.media-selection .selection-info a:last-child {
+.media-selection .button-link:last-child {
        border-right: 0;
        margin-right: 0;
 }
 
-.media-selection .selection-info .clear-selection {
+.selection-info .clear-selection {
        color: red;
 }
 
-.media-selection .selection-info .clear-selection:hover {
+.selection-info .clear-selection:hover,
+.selection-info .clear-selection:focus {
        background: red;
+       color: #fff;
 }
 
 .media-selection .selection-view {
 }
 
 .attachment-info .edit-attachment,
-.attachment-info .refresh-attachment,
 .attachment-info .delete-attachment,
 .attachment-info .trash-attachment,
 .attachment-info .untrash-attachment {
        white-space: nowrap;
 }
 
-.attachment-info .refresh-attachment,
 .attachment-details.needs-refresh .attachment-info .edit-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 {
+       display: inline;
+       padding: 0;
        color: #bc0b0b;
 }
 
 .media-modal .delete-attachment:hover,
+.media-modal .delete-attachment:focus,
 .media-modal .trash-attachment:hover,
-.media-modal .untrash-attachment:hover {
+.media-modal .trash-attachment:focus,
+.media-modal .untrash-attachment:hover,
+.media-modal .untrash-attachment:focus {
        color: red;
 }
 
        overflow: auto;
 }
 
+.media-embed .embed-link-settings {
+       /* avoid Firefox to give focus to the embed preview container parent */
+       overflow: visible;
+}
+
 .embed-preview img,
 .embed-preview iframe,
-.embed-preview embed {
+.embed-preview embed,
+.mejs-container video {
        max-width: 100%;
+       vertical-align: middle;
 }
 
 .embed-preview a {
        height: auto;
 }
 
+.mejs-container:focus {
+       outline: 1px solid #5b9dd9;
+       -webkit-box-shadow: 0 0 2px 1px rgba(30, 140, 190, .8);
+       box-shadow: 0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
 .image-details .media-modal {
        left: 140px;
        right: 140px;
 }
 
 .image-details .advanced-toggle {
+       padding: 0;
        color: #666;
-       text-decoration: none;
-       display: block;
+       text-transform: uppercase;
 }
 
 .image-details .advanced-toggle:after {
 }
 
 /* Drag & drop on the editor upload */
-#wp-fullscreen-body .uploader-editor,
 .wp-editor-wrap .uploader-editor {
        background: rgba( 150, 150, 150, 0.9 );
        position: absolute;
        text-align: center;
 }
 
-#wp-fullscreen-body .uploader-editor {
-       background: rgba( 0, 86, 132, 0.9 );
-       position: fixed;
-       z-index: 100050; /* above the editor toolbar */
-}
-
-.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;
        bottom: 10px;
 }
 
-#wp-fullscreen-body .uploader-editor .uploader-editor-title,
 .wp-editor-wrap .uploader-editor .uploader-editor-title {
        position: absolute;
        top: 50%;
        background: rgba( 0, 86, 132, 0.9 );
 }
 
-#wp-fullscreen-body .uploader-editor .uploader-editor-title,
 .wp-editor-wrap .uploader-editor.droppable .uploader-editor-title {
        display: block;
 }
 
 @media only screen and (max-width: 480px) {
        .media-modal-close {
-               top: 5px;
-               right: 5px;
+               top: -5px;
        }
 
        .media-modal .media-frame-title {
                height: 40px;
        }
 
+       .wp-core-ui.wp-customizer .media-button {
+               margin-top: 13px;
+       }
+
        .media-modal .media-frame-title h1,
        .media-frame:not(.hide-menu) .media-frame-title h1 {
                font-size: 18px;
index 1c5bbb83dc3a74be703835e2f23b75b412cebdc4..b6d0b5f2f9ff4c4461a5fa4d63a8c3ddb37b2fca 100644 (file)
@@ -1,8 +1,8 @@
-.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;-webkit-overflow-scrolling:touch}.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:#32373c}.media-frame a.button:hover{color:#23282d}.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}/*!
+.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;-webkit-overflow-scrolling:touch}.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:#32373c}.media-frame a.button:hover{color:#23282d}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=text],.media-frame input[type=password],.media-frame input[type=number],.media-frame input[type=search],.media-frame input[type=email],.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=text]:focus,.media-frame input[type=password]:focus,.media-frame input[type=number]:focus,.media-frame input[type=search]:focus,.media-frame input[type=email]: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}/*!
  * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-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:#00a0d2}.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;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.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:65%;margin:1px}.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],.compat-item .field textarea{width:100%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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:#0073aa;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:#23282d;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:#32373c}.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:2%;max-width:42%;max-width:-webkit-calc(48% - 12px);max-width:calc(48% - 12px)}.media-frame select.attachment-filters:last-of-type{margin-right:0}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-primary .search{max-width:100%}.wp-core-ui .attachments{margin:0;-webkit-overflow-scrolling:touch}.wp-core-ui .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}.wp-core-ui .attachment.details:focus,.wp-core-ui .attachment:focus,.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .attachment-preview:before{content:'';display:block;padding-top:100%}.wp-core-ui .attachment .icon{margin:0 auto;overflow:hidden}.wp-core-ui .attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.wp-core-ui .attachment .portrait img{max-width:100%}.wp-core-ui .attachment .landscape img{max-height:100%}.wp-core-ui .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}.wp-core-ui .attachment .thumbnail img{top:0;left:0}.wp-core-ui .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%)}.wp-core-ui .attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .wp-core-ui .attachment img.icon{top:20%;position:relative}.wp-core-ui .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)}.wp-core-ui .attachment .filename div{padding:5px 10px}.wp-core-ui .attachment .thumbnail img{position:absolute}.wp-core-ui .attachment .close{display:block;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);-webkit-transition-duration:none;transition-duration:none;-webkit-transition-property:none;transition-property:none}.wp-core-ui .attachment a.close:focus,.wp-core-ui .attachment a.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);background-position:-36px 4px}.wp-core-ui .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)}.wp-core-ui .attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.wp-core-ui .attachment .check:hover div{background-position:-40px 0}.wp-core-ui .attachment.selected .check{display:block}.wp-core-ui .attachment.details .check,.wp-core-ui .attachment.selected .check:focus,.wp-core-ui .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}.wp-core-ui .attachment.details .check div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.wp-core-ui .attachment.details .check:hover div,.wp-core-ui .attachment.selected .check:focus div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.wp-core-ui .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}.attachments-browser .media-toolbar-primary{max-width:33%}.attachments-browser .media-toolbar-secondary{max-width:66%}.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:-webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00)) #e00;background:-webkit-linear-gradient(top,#e00,#a00) #e00;background:linear-gradient(to bottom,#e00,#a00) #e00;-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:40px;padding:0;margin:4px}.media-selection .attachment .thumbnail{top:0;right:0;bottom:0;left:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.wp-core-ui .media-selection .attachment.details:focus,.wp-core-ui .media-selection .attachment:focus,.wp-core-ui .media-selection .selected.attachment:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9;box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9}.wp-core-ui .media-selection .selected.attachment{-webkit-box-shadow:none;box-shadow:none}.wp-core-ui .media-selection .attachment.details{-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) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;float:right;display:inline-block;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0;vertical-align:middle}.media-frame .spinner.is-active{visibility:visible}.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-left:5px}.attachment-details .settings-save-status .saved{float:right;display:none}.attachment-details.save-waiting .settings-save-status .spinner{visibility:visible}.attachment-details.save-complete .settings-save-status .saved{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{visibility:visible}.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 a{display:inline-block}.embed-preview img{display:block;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: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 .search{max-width:100%;height:auto;float:right}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 2px 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-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,(-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
+ */.ui-draggable-handle,.ui-sortable-handle{-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;top:0;right:0;width:50px;height:50px;padding:0;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;outline:0}.media-modal-close span.media-modal-icon{background-image:none}.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:#00a0d2}.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}.wp-core-ui .media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-menu,.media-sidebar{top:0;bottom:0;right:0;background:#f3f3f3}.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;width:267px;padding:0 16px 24px;z-index:75;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;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=radio],.attachment-details .field input[type=checkbox],.attachment-details .setting input[type=radio],.attachment-details .setting input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=radio],.media-sidebar .setting input[type=checkbox]{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}.media-menu>a,.media-router>a{text-decoration:none;line-height:18px;font-size:14px}.compat-item label span{text-align:right}.attachment-details .setting .value,.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=password],.attachment-details .setting input[type=number],.attachment-details .setting input[type=search],.attachment-details .setting input[type=email],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=email],.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:65%;margin:1px}.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=password],.compat-item .field input[type=number],.compat-item .field input[type=search],.compat-item .field input[type=email],.compat-item .field input[type=url],.compat-item .field textarea{width:100%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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;left:0;margin:0;padding:10px 0;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;color:#0073aa}.media-frame-title .dashicons,.media-frame.hide-router .media-frame-router,.media-router .active:after{display: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:#23282d;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;user-select:none}.media-router,.wp-core-ui .attachment{-webkit-user-select:none;-moz-user-select:none;-ms-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}.media-router>a:last-child{border-right:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#32373c}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom: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-content,.media-frame-router,.media-frame-title,.media-frame-toolbar{right:0;position:absolute;left:200px}.media-frame-title{top:0;height:50px;z-index:200}.media-frame-router{top:50px;height:36px;z-index:200}.media-frame-content{top:84px;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{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-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 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%}.wp-customizer:not(.mobile) .media-frame-content .crop-content.site-icon{margin-right:300px}.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:2%;max-width:42%;max-width:-webkit-calc(48% - 12px);max-width:calc(48% - 12px)}.media-toolbar-primary .search,.wp-core-ui .attachment .portrait img{max-width:100%}.media-frame select.attachment-filters:last-of-type{margin-right:0}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.wp-core-ui .attachments{margin:0;-webkit-overflow-scrolling:touch}.wp-core-ui .attachment{position:relative;float:left;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui .attachment.details:focus,.wp-core-ui .attachment:focus,.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .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}.wp-core-ui .attachment-preview:before{content:'';display:block;padding-top:100%}.wp-core-ui .attachment .icon{margin:0 auto;overflow:hidden}.wp-core-ui .attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.wp-core-ui .attachment .landscape img{max-height:100%}.wp-core-ui .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}.wp-core-ui .attachment .thumbnail img{top:0;left:0}.wp-core-ui .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%)}.wp-core-ui .attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .wp-core-ui .attachment img.icon{top:20%;position:relative}.wp-core-ui .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)}.wp-core-ui .attachment .filename div{padding:5px 10px}.wp-core-ui .attachment .thumbnail img{position:absolute}.wp-core-ui .attachment-close{display:block;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;background-color:#fff;background-position:-96px 4px;-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)}.wp-core-ui .attachment-close:focus,.wp-core-ui .attachment-close:hover{background-position:-36px 4px}.wp-core-ui .attachment .check{display:none;height:24px;width:24px;padding:0;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)}.wp-core-ui .attachment .check .media-modal-icon{display:block;background-position:-1px 0;height:15px;width:15px;margin:5px}.wp-core-ui .attachment .check:hover .media-modal-icon{background-position:-40px 0}.wp-core-ui .attachment.selected .check{display:block}.wp-core-ui .attachment.details .check,.wp-core-ui .attachment.selected .check:focus,.wp-core-ui .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}.wp-core-ui .attachment.details .check .media-modal-icon,.wp-core-ui .media-frame.mode-grid .attachment.selected .check .media-modal-icon{background-position:-21px 0}.wp-core-ui .attachment.details .check:hover .media-modal-icon,.wp-core-ui .attachment.selected .check:focus .media-modal-icon,.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover .media-modal-icon{background-position:-60px 0}.wp-core-ui .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}.attachments-browser .media-toolbar-primary{max-width:33%}.attachments-browser .media-toolbar-secondary{max-width:66%}.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}.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{padding:12px;margin-bottom:12px;background:#fff;border-left:4px solid #dd3d36;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.upload-errors .upload-error-filename{font-weight:700}.upload-errors .upload-error-message{display:block;padding-top:8px;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 .attachments,.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .button-link{float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;border-right:1px solid #dfdfdf;color:#21759B}.media-selection .button-link:focus,.media-selection .button-link:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .button-link:last-child{border-right:0;margin-right:0}.selection-info .clear-selection{color:red}.selection-info .clear-selection:focus,.selection-info .clear-selection:hover{background:red;color:#fff}.media-selection .attachments{height:48px;margin:6px;padding:0;overflow:hidden}.media-selection .attachment{width:40px;padding:0;margin:4px}.media-selection .attachment .thumbnail{top:0;right:0;bottom:0;left:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.wp-core-ui .media-selection .attachment.details:focus,.wp-core-ui .media-selection .attachment:focus,.wp-core-ui .media-selection .selected.attachment:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9;box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9}.wp-core-ui .media-selection .selected.attachment{-webkit-box-shadow:none;box-shadow:none}.wp-core-ui .media-selection .attachment.details{-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;float:right;display:inline-block;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0;vertical-align:middle}.attachment-details.save-waiting .settings-save-status .spinner,.media-frame .embed-loading .embed-url .spinner,.media-frame .spinner.is-active{visibility:visible}.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-left:5px}.attachment-details .settings-save-status .saved{float:right;display:none}.attachment-details.save-complete .settings-save-status .saved{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 .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment{display:none}.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{display:inline;padding:0;color:#bc0b0b}.media-modal .delete-attachment:focus,.media-modal .delete-attachment:hover,.media-modal .trash-attachment:focus,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:focus,.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}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.media-embed .embed-link-settings{overflow:visible}.embed-preview embed,.embed-preview iframe,.embed-preview img,.mejs-container video{max-width:100%;vertical-align:middle}.embed-preview a{display:inline-block}.embed-preview img{display:block;height:auto}.mejs-container:focus{outline:#5b9dd9 solid 1px;-webkit-box-shadow:0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 2px 1px rgba(30,140,190,.8)}.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{padding:0;color:#666;text-transform:uppercase}.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-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-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}.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-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=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=email],.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=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=password],.rtl .media-frame input[type=number],.rtl .media-frame input[type=search],.rtl .media-frame input[type=email],.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=text],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=email],: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: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=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=password],.attachment-details .setting input[type=number],.attachment-details .setting input[type=search],.attachment-details .setting input[type=email],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=email],.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 .search{max-width:100%;height:auto;float:right}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 2px 0}.media-frame input[type=text],.media-frame input[type=password],.media-frame input[type=number],.media-frame input[type=search],.media-frame input[type=email],.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-modal-close{top:-5px}.media-modal .media-frame-title{height:40px}.wp-core-ui.wp-customizer .media-button{margin-top:13px}.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,(-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
index 297066c9e3a988c711d4d71b79f37ef216e04767..b5c12324e2acb8a6e0a3f9f1887ffe69bf1d3d2b 100644 (file)
@@ -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:#f1f1f1;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}@media screen and (max-width:380px){#wp-auth-check-wrap #wp-auth-check{right:0;width:100%;margin:0}}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/spinner-2x.gif) center center/16px 16px no-repeat;-webkit-background-size:16px 16px;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#wp-auth-check-wrap #wp-auth-check-form iframe{height:98%;width:100%}#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:#0073aa}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#82878c 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;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:#f1f1f1;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}@media screen and (max-width:380px){#wp-auth-check-wrap #wp-auth-check{right:0;width:100%;margin:0}}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/spinner-2x.gif) center center no-repeat;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#wp-auth-check-wrap #wp-auth-check-form iframe{height:98%;width:100%}#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:#0073aa}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#82878c 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
index 26eef1e532cca7001ebd4146170dacb8b91d1b80..7ab9be8ba1b5d93b8430743d844b5cbd0a87b5cb 100644 (file)
@@ -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:#f1f1f1;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}@media screen and (max-width:380px){#wp-auth-check-wrap #wp-auth-check{left:0;width:100%;margin:0}}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/spinner-2x.gif) center center/16px 16px no-repeat;-webkit-background-size:16px 16px;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#wp-auth-check-wrap #wp-auth-check-form iframe{height:98%;width:100%}#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:#0073aa}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#82878c 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;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:#f1f1f1;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}@media screen and (max-width:380px){#wp-auth-check-wrap #wp-auth-check{left:0;width:100%;margin:0}}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/spinner-2x.gif) center center no-repeat;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#wp-auth-check-wrap #wp-auth-check-form iframe{height:98%;width:100%}#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:#0073aa}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#82878c 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
index 734509a44ebb40e97b4ef57eb083f42714e3f1db..7325845966ccb4c127f7c01c14d97755760556cc 100644 (file)
@@ -17,7 +17,7 @@ function wp_initial_constants() {
 
        // set memory limits
        if ( !defined('WP_MEMORY_LIMIT') ) {
-               if( is_multisite() ) {
+               if ( is_multisite() ) {
                        define('WP_MEMORY_LIMIT', '64M');
                } else {
                        define('WP_MEMORY_LIMIT', '40M');
@@ -71,6 +71,18 @@ function wp_initial_constants() {
        if ( !defined('WP_CACHE') )
                define('WP_CACHE', false);
 
+       // Add define('SCRIPT_DEBUG', true); to wp-config.php to enable loading of non-minified,
+       // non-concatenated scripts and stylesheets.
+       if ( ! defined( 'SCRIPT_DEBUG' ) ) {
+               if ( ! empty( $GLOBALS['wp_version'] ) ) {
+                       $develop_src = false !== strpos( $GLOBALS['wp_version'], '-src' );
+               } else {
+                       $develop_src = false;
+               }
+
+               define( 'SCRIPT_DEBUG', $develop_src );
+       }
+
        /**
         * Private
         */
@@ -80,6 +92,9 @@ function wp_initial_constants() {
        if ( !defined('SHORTINIT') )
                define('SHORTINIT', false);
 
+       // Constants for features added to WP that should short-circuit their plugin implementations
+       define( 'WP_FEATURE_BETTER_PASSWORDS', true );
+
        // Constants for expressing human-readable intervals
        // in their respective number of seconds.
        define( 'MINUTE_IN_SECONDS', 60 );
index b64869ec9198953cd855f4a711898943601586e1..b6f0ce303e644601706d506e037f759bdb300011 100644 (file)
@@ -87,6 +87,7 @@ add_filter( 'post_mime_type', 'sanitize_mime_type' );
 
 // Places to balance tags on input
 foreach ( array( 'content_save_pre', 'excerpt_save_pre', 'comment_save_pre', 'pre_comment_content' ) as $filter ) {
+       add_filter( $filter, 'convert_invalid_entities' );
        add_filter( $filter, 'balanceTags', 50 );
 }
 
@@ -218,8 +219,9 @@ add_action( 'wp_head',             'wp_print_styles',                  8    );
 add_action( 'wp_head',             'wp_print_head_scripts',            9    );
 add_action( 'wp_head',             'wp_generator'                           );
 add_action( 'wp_head',             'rel_canonical'                          );
-add_action( 'wp_footer',           'wp_print_footer_scripts',         20    );
 add_action( 'wp_head',             'wp_shortlink_wp_head',            10, 0 );
+add_action( 'wp_head',             'wp_site_icon',                    99    );
+add_action( 'wp_footer',           'wp_print_footer_scripts',         20    );
 add_action( 'template_redirect',   'wp_shortlink_header',             11, 0 );
 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts'                 );
 add_action( 'init',                'check_theme_switched',            99    );
@@ -239,6 +241,11 @@ foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header', 'at
        add_action( $action, 'the_generator' );
 }
 
+// Feed Site Icon
+add_action( 'atom_head', 'atom_site_icon' );
+add_action( 'rss2_head', 'rss2_site_icon' );
+
+
 // WP Cron
 if ( !defined( 'DOING_CRON' ) )
        add_action( 'init', 'wp_cron' );
@@ -290,6 +297,9 @@ add_action( 'post_updated',      'wp_check_for_changed_slugs', 12, 3 );
 // Nonce check for Post Previews
 add_action( 'init', '_show_post_preview' );
 
+// Output JS to reset window.name for previews
+add_action( 'wp_head', 'wp_post_preview_js', 1 );
+
 // Timezone
 add_filter( 'pre_option_gmt_offset','wp_timezone_override_offset' );
 
@@ -318,14 +328,16 @@ add_filter( 'determine_current_user', 'wp_validate_auth_cookie'          );
 add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 );
 
 // Split term updates.
+add_action( 'admin_init',        '_wp_check_for_scheduled_split_terms' );
 add_action( 'split_shared_term', '_wp_check_split_default_terms',  10, 4 );
 add_action( 'split_shared_term', '_wp_check_split_terms_in_menus', 10, 4 );
+add_action( 'split_shared_term', '_wp_check_split_nav_menu_terms', 10, 4 );
+add_action( 'wp_split_shared_term_batch', '_wp_batch_split_terms' );
 
 /**
  * Filters formerly mixed into wp-includes
  */
 // Theme
-add_action( 'setup_theme', 'preview_theme' );
 add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
 add_action( 'plugins_loaded', '_wp_customize_include' );
 add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' );
@@ -382,6 +394,9 @@ add_action( 'customize_controls_enqueue_scripts', 'wp_plupload_default_settings'
 // Nav menu
 add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 );
 
+// Widgets
+add_action( 'init', 'wp_widgets_init', 1 );
+
 // Admin Bar
 // Don't remove. Wrong way to disable.
 add_action( 'template_redirect', '_wp_admin_bar_init', 0 );
@@ -389,4 +404,9 @@ add_action( 'admin_init', '_wp_admin_bar_init' );
 add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );
 add_action( 'in_admin_header', 'wp_admin_bar_render', 0 );
 
+// Former admin filters that can also be hooked on the front end
+add_action( 'media_buttons', 'media_buttons' );
+add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );
+add_filter( 'media_send_to_editor', 'image_media_send_to_editor', 10, 3 );
+
 unset( $filter, $action );
index fe87837e3c22c403dff1302460d7a596510e4bc1..22e61e532c0ff7621c40e1578f906f88830d52be 100644 (file)
@@ -18,6 +18,10 @@ class WP_Widget_Pages extends WP_Widget {
                parent::__construct('pages', __('Pages'), $widget_ops);
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
 
                /**
@@ -67,6 +71,11 @@ class WP_Widget_Pages extends WP_Widget {
                }
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $instance['title'] = strip_tags($new_instance['title']);
@@ -81,6 +90,9 @@ class WP_Widget_Pages extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                //Defaults
                $instance = wp_parse_args( (array) $instance, array( 'sortby' => 'post_title', 'title' => '', 'exclude' => '') );
@@ -118,8 +130,11 @@ class WP_Widget_Links extends WP_Widget {
                parent::__construct('links', __('Links'), $widget_ops);
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
-
                $show_description = isset($instance['description']) ? $instance['description'] : false;
                $show_name = isset($instance['name']) ? $instance['name'] : false;
                $show_rating = isset($instance['rating']) ? $instance['rating'] : false;
@@ -151,6 +166,11 @@ class WP_Widget_Links extends WP_Widget {
                ) ) );
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $new_instance = (array) $new_instance;
                $instance = array( 'images' => 0, 'name' => 0, 'description' => 0, 'rating' => 0 );
@@ -169,6 +189,9 @@ class WP_Widget_Links extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
 
                //Defaults
@@ -227,8 +250,11 @@ class WP_Widget_Search extends WP_Widget {
                parent::__construct( 'search', _x( 'Search', 'Search widget' ), $widget_ops );
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
-
                /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
 
@@ -243,6 +269,9 @@ class WP_Widget_Search extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $instance = wp_parse_args( (array) $instance, array( 'title' => '') );
                $title = $instance['title'];
@@ -251,6 +280,11 @@ class WP_Widget_Search extends WP_Widget {
 <?php
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $new_instance = wp_parse_args((array) $new_instance, array( 'title' => ''));
@@ -272,6 +306,10 @@ class WP_Widget_Archives extends WP_Widget {
                parent::__construct('archives', __('Archives'), $widget_ops);
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
                $c = ! empty( $instance['count'] ) ? '1' : '0';
                $d = ! empty( $instance['dropdown'] ) ? '1' : '0';
@@ -354,6 +392,11 @@ class WP_Widget_Archives extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $new_instance = wp_parse_args( (array) $new_instance, array( 'title' => '', 'count' => 0, 'dropdown' => '') );
@@ -364,6 +407,9 @@ class WP_Widget_Archives extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'count' => 0, 'dropdown' => '') );
                $title = strip_tags($instance['title']);
@@ -394,8 +440,11 @@ class WP_Widget_Meta extends WP_Widget {
                parent::__construct('meta', __('Meta'), $widget_ops);
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
-
                /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', empty($instance['title']) ? __( 'Meta' ) : $instance['title'], $instance, $this->id_base );
 
@@ -430,6 +479,11 @@ class WP_Widget_Meta extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $instance['title'] = strip_tags($new_instance['title']);
@@ -437,6 +491,9 @@ class WP_Widget_Meta extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
                $title = strip_tags($instance['title']);
@@ -458,8 +515,11 @@ class WP_Widget_Calendar extends WP_Widget {
                parent::__construct('calendar', __('Calendar'), $widget_ops);
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
-
                /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
 
@@ -473,6 +533,11 @@ class WP_Widget_Calendar extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $instance['title'] = strip_tags($new_instance['title']);
@@ -480,6 +545,9 @@ class WP_Widget_Calendar extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
                $title = strip_tags($instance['title']);
@@ -503,8 +571,11 @@ class WP_Widget_Text extends WP_Widget {
                parent::__construct('text', __('Text'), $widget_ops, $control_ops);
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
-
                /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
 
@@ -526,6 +597,11 @@ class WP_Widget_Text extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $instance['title'] = strip_tags($new_instance['title']);
@@ -537,6 +613,9 @@ class WP_Widget_Text extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'text' => '' ) );
                $title = strip_tags($instance['title']);
@@ -545,7 +624,8 @@ class WP_Widget_Text extends WP_Widget {
                <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
                <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /></p>
 
-               <textarea class="widefat" rows="16" cols="20" id="<?php echo $this->get_field_id('text'); ?>" name="<?php echo $this->get_field_name('text'); ?>"><?php echo $text; ?></textarea>
+               <p><label for="<?php echo $this->get_field_id( 'text' ); ?>"><?php _e( 'Content:' ); ?></label>
+               <textarea class="widefat" rows="16" cols="20" id="<?php echo $this->get_field_id('text'); ?>" name="<?php echo $this->get_field_name('text'); ?>"><?php echo $text; ?></textarea></p>
 
                <p><input id="<?php echo $this->get_field_id('filter'); ?>" name="<?php echo $this->get_field_name('filter'); ?>" type="checkbox" <?php checked(isset($instance['filter']) ? $instance['filter'] : 0); ?> />&nbsp;<label for="<?php echo $this->get_field_id('filter'); ?>"><?php _e('Automatically add paragraphs'); ?></label></p>
 <?php
@@ -564,7 +644,14 @@ class WP_Widget_Categories extends WP_Widget {
                parent::__construct('categories', __('Categories'), $widget_ops);
        }
 
+       /**
+        * @staticvar bool $first_dropdown
+        *
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
+               static $first_dropdown = true;
 
                /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this->id_base );
@@ -585,8 +672,6 @@ class WP_Widget_Categories extends WP_Widget {
                );
 
                if ( $d ) {
-                       static $first_dropdown = true;
-
                        $dropdown_id = ( $first_dropdown ) ? 'cat' : "{$this->id_base}-dropdown-{$this->number}";
                        $first_dropdown = false;
 
@@ -644,6 +729,11 @@ class WP_Widget_Categories extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $instance['title'] = strip_tags($new_instance['title']);
@@ -654,6 +744,9 @@ class WP_Widget_Categories extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                //Defaults
                $instance = wp_parse_args( (array) $instance, array( 'title' => '') );
@@ -695,7 +788,11 @@ class WP_Widget_Recent_Posts extends WP_Widget {
                add_action( 'switch_theme', array($this, 'flush_widget_cache') );
        }
 
-       public function widget($args, $instance) {
+       /**
+        * @param array $args
+        * @param array $instance
+        */
+       public function widget( $args, $instance ) {
                $cache = array();
                if ( ! $this->is_preview() ) {
                        $cache = wp_cache_get( 'widget_recent_posts', 'widget' );
@@ -773,6 +870,11 @@ class WP_Widget_Recent_Posts extends WP_Widget {
                }
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $instance['title'] = strip_tags($new_instance['title']);
@@ -787,10 +889,16 @@ class WP_Widget_Recent_Posts extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @access public
+        */
        public function flush_widget_cache() {
                wp_cache_delete('widget_recent_posts', 'widget');
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $title     = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
                $number    = isset( $instance['number'] ) ? absint( $instance['number'] ) : 5;
@@ -828,8 +936,10 @@ class WP_Widget_Recent_Comments extends WP_Widget {
                add_action( 'transition_comment_status', array($this, 'flush_widget_cache') );
        }
 
+       /**
+        * @access public
+        */
        public function recent_comments_style() {
-
                /**
                 * Filter the Recent Comments default widget styles.
                 *
@@ -846,10 +956,20 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 <?php
        }
 
+       /**
+        * @access public
+        */
        public function flush_widget_cache() {
                wp_cache_delete('widget_recent_comments', 'widget');
        }
 
+       /**
+        * @global array  $comments
+        * @global object $comment
+        *
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
                global $comments, $comment;
 
@@ -901,7 +1021,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
                }
 
                $output .= '<ul id="recentcomments">';
-               if ( $comments ) {
+               if ( is_array( $comments ) && $comments ) {
                        // Prime cache for associated posts. (Prime post term cache if we need it for permalinks.)
                        $post_ids = array_unique( wp_list_pluck( $comments, 'comment_post_ID' ) );
                        _prime_post_caches( $post_ids, strpos( get_option( 'permalink_structure' ), '%category%' ), false );
@@ -927,6 +1047,11 @@ class WP_Widget_Recent_Comments extends WP_Widget {
                }
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = $old_instance;
                $instance['title'] = strip_tags($new_instance['title']);
@@ -940,6 +1065,9 @@ class WP_Widget_Recent_Comments extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $title  = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
                $number = isset( $instance['number'] ) ? absint( $instance['number'] ) : 5;
@@ -966,8 +1094,11 @@ class WP_Widget_RSS extends WP_Widget {
                parent::__construct( 'rss', __('RSS'), $widget_ops, $control_ops );
        }
 
-       public function widget($args, $instance) {
-
+       /**
+        * @param array $args
+        * @param array $instance
+        */
+       public function widget( $args, $instance ) {
                if ( isset($instance['error']) && $instance['error'] )
                        return;
 
@@ -1019,15 +1150,23 @@ class WP_Widget_RSS extends WP_Widget {
                unset($rss);
        }
 
-       public function update($new_instance, $old_instance) {
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
+       public function update( $new_instance, $old_instance ) {
                $testurl = ( isset( $new_instance['url'] ) && ( !isset( $old_instance['url'] ) || ( $new_instance['url'] != $old_instance['url'] ) ) );
                return wp_widget_rss_process( $new_instance, $testurl );
        }
 
-       public function form($instance) {
-
-               if ( empty($instance) )
+       /**
+        * @param array $instance
+        */
+       public function form( $instance ) {
+               if ( empty( $instance ) ) {
                        $instance = array( 'title' => '', 'url' => '', 'items' => 10, 'error' => false, 'show_summary' => 0, 'show_author' => 0, 'show_date' => 0 );
+               }
                $instance['number'] = $this->number;
 
                wp_widget_rss_form( $instance );
@@ -1261,6 +1400,10 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                parent::__construct('tag_cloud', __('Tag Cloud'), $widget_ops);
        }
 
+       /**
+        * @param array $args
+        * @param array $instance
+        */
        public function widget( $args, $instance ) {
                $current_taxonomy = $this->_get_current_taxonomy($instance);
                if ( !empty($instance['title']) ) {
@@ -1301,6 +1444,11 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = array();
                $instance['title'] = strip_tags(stripslashes($new_instance['title']));
@@ -1308,6 +1456,9 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $current_taxonomy = $this->_get_current_taxonomy($instance);
 ?>
@@ -1325,6 +1476,10 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
        </select></p><?php
        }
 
+       /**
+        * @param array $instance
+        * @return string
+        */
        public function _get_current_taxonomy($instance) {
                if ( !empty($instance['taxonomy']) && taxonomy_exists($instance['taxonomy']) )
                        return $instance['taxonomy'];
@@ -1345,7 +1500,11 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                parent::__construct( 'nav_menu', __('Custom Menu'), $widget_ops );
        }
 
-       public function widget($args, $instance) {
+       /**
+        * @param array $args
+        * @param array $instance
+        */
+       public function widget( $args, $instance ) {
                // Get menu
                $nav_menu = ! empty( $instance['nav_menu'] ) ? wp_get_nav_menu_object( $instance['nav_menu'] ) : false;
 
@@ -1384,6 +1543,11 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                echo $args['after_widget'];
        }
 
+       /**
+        * @param array $new_instance
+        * @param array $old_instance
+        * @return array
+        */
        public function update( $new_instance, $old_instance ) {
                $instance = array();
                if ( ! empty( $new_instance['title'] ) ) {
@@ -1395,6 +1559,9 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                return $instance;
        }
 
+       /**
+        * @param array $instance
+        */
        public function form( $instance ) {
                $title = isset( $instance['title'] ) ? $instance['title'] : '';
                $nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : '';
@@ -1403,28 +1570,35 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                $menus = wp_get_nav_menus();
 
                // If no menus exists, direct the user to go and create some.
-               if ( !$menus ) {
-                       echo '<p>'. sprintf( __('No menus have been created yet. <a href="%s">Create some</a>.'), admin_url('nav-menus.php') ) .'</p>';
-                       return;
-               }
                ?>
-               <p>
-                       <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:') ?></label>
-                       <input type="text" class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php echo esc_attr( $title ); ?>" />
-               </p>
-               <p>
-                       <label for="<?php echo $this->get_field_id('nav_menu'); ?>"><?php _e('Select Menu:'); ?></label>
-                       <select id="<?php echo $this->get_field_id('nav_menu'); ?>" name="<?php echo $this->get_field_name('nav_menu'); ?>">
-                               <option value="0"><?php _e( '&mdash; Select &mdash;' ) ?></option>
-               <?php
-                       foreach ( $menus as $menu ) {
-                               echo '<option value="' . $menu->term_id . '"'
-                                       . selected( $nav_menu, $menu->term_id, false )
-                                       . '>'. esc_html( $menu->name ) . '</option>';
+               <p class="nav-menu-widget-no-menus-message" <?php if ( ! empty( $menus ) ) { echo ' style="display:none" '; } ?>>
+                       <?php
+                       if ( isset( $GLOBALS['wp_customize'] ) && $GLOBALS['wp_customize'] instanceof WP_Customize_Manager ) {
+                               // @todo When expanding a panel, the JS should be smart enough to collapse any existing panels and sections.
+                               $url = 'javascript: wp.customize.section.each(function( section ){ section.collapse(); }); wp.customize.panel( "nav_menus" ).focus();';
+                       } else {
+                               $url = admin_url( 'nav-menus.php' );
                        }
-               ?>
-                       </select>
+                       ?>
+                       <?php echo sprintf( __( 'No menus have been created yet. <a href="%s">Create some</a>.' ), esc_attr( $url ) ); ?>
                </p>
+               <div class="nav-menu-widget-form-controls" <?php if ( empty( $menus ) ) { echo ' style="display:none" '; } ?>>
+                       <p>
+                               <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ) ?></label>
+                               <input type="text" class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo esc_attr( $title ); ?>"/>
+                       </p>
+                       <p>
+                               <label for="<?php echo $this->get_field_id( 'nav_menu' ); ?>"><?php _e( 'Select Menu:' ); ?></label>
+                               <select id="<?php echo $this->get_field_id( 'nav_menu' ); ?>" name="<?php echo $this->get_field_name( 'nav_menu' ); ?>">
+                                       <option value="0"><?php _e( '&mdash; Select &mdash;' ); ?></option>
+                                       <?php foreach ( $menus as $menu ) : ?>
+                                               <option value="<?php echo esc_attr( $menu->term_id ); ?>" <?php selected( $nav_menu, $menu->term_id ); ?>>
+                                                       <?php echo esc_html( $menu->name ); ?>
+                                               </option>
+                                       <?php endforeach; ?>
+                               </select>
+                       </p>
+               </div>
                <?php
        }
 }
@@ -1475,5 +1649,3 @@ function wp_widgets_init() {
         */
        do_action( 'widgets_init' );
 }
-
-add_action('init', 'wp_widgets_init', 1);
index 6345bd7ca4a6de595cc0ec05a3208cfdde502bf8..ac3910550d49f73b2a9d5570421427589926456b 100644 (file)
@@ -2445,7 +2445,7 @@ function get_users_of_blog( $id = '' ) {
  * @deprecated 3.0.0
  * @deprecated Use add_theme_support( 'automatic-feed-links' )
  *
- * @param boolean $add Optional, default is true. Add or remove links. Defaults to true.
+ * @param bool $add Optional, default is true. Add or remove links. Defaults to true.
  */
 function automatic_feed_links( $add = true ) {
        _deprecated_function( __FUNCTION__, '3.0', "add_theme_support( 'automatic-feed-links' )" );
@@ -3491,3 +3491,148 @@ function url_is_accessable_via_ssl( $url ) {
 
        return false;
 }
+
+/**
+ * Start preview theme output buffer.
+ *
+ * Will only perform task if the user has permissions and template and preview
+ * query variables exist.
+ *
+ * @since 2.6.0
+ * @deprecated 4.3.0
+ */
+function preview_theme() {
+       _deprecated_function( __FUNCTION__, '4.3' );
+}
+
+/**
+ * Private function to modify the current template when previewing a theme
+ *
+ * @since 2.9.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @return string
+ */
+function _preview_theme_template_filter() {
+       _deprecated_function( __FUNCTION__, '4.3' );
+       return '';
+}
+
+/**
+ * Private function to modify the current stylesheet when previewing a theme
+ *
+ * @since 2.9.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @return string
+ */
+function _preview_theme_stylesheet_filter() {
+       _deprecated_function( __FUNCTION__, '4.3' );
+       return '';
+}
+
+/**
+ * Callback function for ob_start() to capture all links in the theme.
+ *
+ * @since 2.6.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @param string $content
+ * @return string
+ */
+function preview_theme_ob_filter( $content ) {
+       _deprecated_function( __FUNCTION__, '4.3' );
+       return $content;
+}
+
+/**
+ * Manipulates preview theme links in order to control and maintain location.
+ *
+ * Callback function for preg_replace_callback() to accept and filter matches.
+ *
+ * @since 2.6.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @param array $matches
+ * @return string
+ */
+function preview_theme_ob_filter_callback( $matches ) {
+       _deprecated_function( __FUNCTION__, '4.3' );
+       return '';
+}
+
+/**
+ * Formats text for the rich text editor.
+ *
+ * The filter 'richedit_pre' is applied here. If $text is empty the filter will
+ * be applied to an empty string.
+ *
+ * @since 2.0.0
+ * @deprecated 4.3.0
+ *
+ * @param string $text The text to be formatted.
+ * @return string The formatted text after filter is applied.
+ */
+function wp_richedit_pre($text) {
+       _deprecated_function( __FUNCTION__, '4.3', 'format_for_editor()' );
+
+       if ( empty( $text ) ) {
+               /**
+                * Filter text returned for the rich text editor.
+                *
+                * This filter is first evaluated, and the value returned, if an empty string
+                * is passed to wp_richedit_pre(). If an empty string is passed, it results
+                * in a break tag and line feed.
+                *
+                * If a non-empty string is passed, the filter is evaluated on the wp_richedit_pre()
+                * return after being formatted.
+                *
+                * @since 2.0.0
+                * @deprecated 4.3.0
+                *
+                * @param string $output Text for the rich text editor.
+                */
+               return apply_filters( 'richedit_pre', '' );
+       }
+
+       $output = convert_chars($text);
+       $output = wpautop($output);
+       $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) );
+
+       /** This filter is documented in wp-includes/deprecated.php */
+       return apply_filters( 'richedit_pre', $output );
+}
+
+/**
+ * Formats text for the HTML editor.
+ *
+ * Unless $output is empty it will pass through htmlspecialchars before the
+ * 'htmledit_pre' filter is applied.
+ *
+ * @since 2.5.0
+ * @deprecated 4.3.0
+ *
+ * @param string $output The text to be formatted.
+ * @return string Formatted text after filter applied.
+ */
+function wp_htmledit_pre($output) {
+       _deprecated_function( __FUNCTION__, '4.3', 'format_for_editor()' );
+
+       if ( !empty($output) )
+               $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); // convert only < > &
+
+       /**
+        * Filter the text before it is formatted for the HTML editor.
+        *
+        * @since 2.5.0
+        * @deprecated 4.3.0
+        *
+        * @param string $output The HTML-formatted text.
+        */
+       return apply_filters( 'htmledit_pre', $output );
+}
+
index d9c8f6529d97a933e922ecbd0e06c22789fcf393..785a0c247ae53f1ca7dee86fae29fb29a5886a99 100644 (file)
@@ -43,7 +43,7 @@ do_action( 'rss_tag_pre', 'atom-comments' );
        <link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php comments_link_feed(); ?>" />
        <link rel="self" type="application/atom+xml" href="<?php echo esc_url( get_post_comments_feed_link('', 'atom') ); ?>" />
        <id><?php echo esc_url( get_post_comments_feed_link('', 'atom') ); ?></id>
-<?php } elseif(is_search()) { ?>
+<?php } elseif (is_search()) { ?>
        <link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php echo home_url() . '?s=' . get_search_query(); ?>" />
        <link rel="self" type="application/atom+xml" href="<?php echo get_search_comments_feed_link('', 'atom'); ?>" />
        <id><?php echo get_search_comments_feed_link('', 'atom'); ?></id>
index 1650434405c8a917f1c01bdd2de6403a4538d1a9..a355a8af402a58dea5bf0342c98c5e5b7245c137 100644 (file)
@@ -5,7 +5,7 @@
  * @package WordPress
  */
 
-header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
+header('Content-Type: ' . feed_content_type('rss') . '; charset=' . get_option('blog_charset'), true);
 $more = 1;
 
 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
index 703fa87cfa3d6490e97b1310779148323c19de84..c8e8d498ea204e6fcc8621a27784a17bc9a6ec5d 100644 (file)
@@ -5,7 +5,7 @@
  * @package WordPress
  */
 
-header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
+header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
 
 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
 
index 2390c2d957a04a8aa0c8804eaa3031fb7c416259..c82fc63c56c970a8b8835abaea7cd27565b74b77 100644 (file)
@@ -5,7 +5,7 @@
  * @package WordPress
  */
 
-header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
+header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
 $more = 1;
 
 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
index 8638554146cd59c65c856d096f73d803d8e5131d..f40f41a6ad79d40ec4d152ec80b6faf9a3717785 100644 (file)
@@ -545,13 +545,51 @@ function prep_atom_text_construct($data) {
                }
        }
 
-       if (strpos($data, ']]>') == false) {
+       if (strpos($data, ']]>') === false) {
                return array('html', "<![CDATA[$data]]>");
        } else {
                return array('html', htmlspecialchars($data));
        }
 }
 
+/**
+ * Displays Site Icon in atom feeds.
+ *
+ * @since 4.3.0
+ *
+ * @see get_site_icon_url()
+ */
+function atom_site_icon() {
+       $url = get_site_icon_url( 32 );
+       if ( $url ) {
+               echo "<icon>$url</icon>\n";
+       }
+}
+
+/**
+ * Displays Site Icon in RSS2.
+ *
+ * @since 4.3.0
+ */
+function rss2_site_icon() {
+       $rss_title = get_wp_title_rss();
+       if ( empty( $rss_title ) ) {
+               $rss_title = get_bloginfo_rss( 'name' );
+       }
+
+       $url = get_site_icon_url( 32 );
+       if ( $url ) {
+               echo '
+<image>
+       <url>' . convert_chars( $url ) . '</url>
+       <title>' . $rss_title . '</title>
+       <link>' . get_bloginfo_rss( 'url' ) . '</link>
+       <width>32</width>
+       <height>32</height>
+</image> ' . "\n";
+       }
+}
+
 /**
  * Display the link for the currently displayed feed in a XSS safe way.
  *
@@ -642,6 +680,7 @@ function fetch_feed( $url ) {
         */
        do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) );
        $feed->init();
+       $feed->set_output_encoding( get_option( 'blog_charset' ) );
        $feed->handle_content_type();
 
        if ( $feed->error() )
index 2e1104adc9576625b57a3e2303ba506705f95c9d..96f628853eae17e0b7b7e45328619266ae60e5cd 100644 (file)
Binary files a/wp-includes/fonts/dashicons.eot and b/wp-includes/fonts/dashicons.eot differ
index 7a6d927449cf5021caa12b389b7e4dd562bcfa7f..6bc971eb3355448052f12e6210a001aefe8f3372 100644 (file)
@@ -3,7 +3,7 @@
 <svg xmlns="http://www.w3.org/2000/svg">
 <metadata></metadata>
 <defs>
-<font id="dashiconsregular" horiz-adv-x="2000" >
+<font id="dashicons" horiz-adv-x="2000" >
 <font-face units-per-em="2000" ascent="2000" descent="0" />
 <missing-glyph horiz-adv-x="500" />
 <glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
@@ -13,7 +13,7 @@
 <glyph unicode="&#xf103;" d="M1774 1724q126 -127 126 -305t-126 -305l-153 -152q-82 -82 -195 -110.5t-219 1.5l262 261l76 77l76 76q63 63 63 152t-63 152q-63 64 -152 64t-152 -64l-77 -76l-338 -338q-29 106 -0.5 219t110.5 195l152 153q127 126 305.5 126t304.5 -126zM859 657l534 534 q31 31 31 76t-31 76q-34 32 -78 31t-75 -31l-533 -534q-31 -31 -31 -76t31 -76q34 -32 78 -31t74 31zM783 428l414 415q30 -106 1.5 -219t-110.5 -195l-152 -153q-127 -126 -305 -126t-305 126q-126 126 -126 305t126 305l153 152q82 82 195 110.5t219 -0.5l-414 -415 q-64 -63 -64 -152t64 -153q63 -63 152 -63t152 63z" />
 <glyph unicode="&#xf104;" d="M1300 900v700q0 41 -29.5 70.5t-70.5 29.5h-167l-133 200h-400l-133 -200h-167q-41 0 -70.5 -29.5t-29.5 -70.5v-700q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5zM700 1550q104 0 177 -73t73 -177t-73 -177t-177 -73t-177 73t-73 177t73 177t177 73z M1400 1400h500v-1050q0 -104 -73 -177t-177 -73t-177 73t-73 177t73 177t177 73q23 0 50 -5v505h-300v300zM1000 595v105h200v-350q0 -104 -73 -177t-177 -73t-177 73t-73 177t73 177t177 73q23 0 50 -5z" />
 <glyph unicode="&#xf105;" d="M600 500v1300h1000v-1300h-1000zM500 400h800v-200h-1000v1300h200v-1100z" />
-<glyph unicode="&#xf106;" d="M1311 1564l-324 -324l-187 187l324 324q26 26 72 16.5t84 -48.5q39 -38 48 -83.5t-17 -71.5zM511 1387l91 112l901 -901l-119 -84q-50 -50 -167.5 -83t-214.5 -33h-388l-124 -124q-44 -44 -106 -44t-106 44q-44 43 -44 105.5t44 106.5l124 124v388q0 96 30.5 218 t78.5 171zM1237 990l324 324q25 26 71 17t84 -48q39 -38 48 -83.5t-17 -71.5l-324 -325z" />
+<glyph unicode="&#xf106;" d="M1311 1564l-324 -324l-187 187l324 324q26 26 72 16.5t84 -48.5q39 -38 48 -83.5t-17 -71.5zM511 1387l91 112l901 -901l-119 -84q-50 -50 -167.5 -83t-214.5 -33h-388l-124 -124q-44 -44 -106 -44t-106 44t-44 106t44 106l124 124v388q0 96 30.5 218t78.5 171zM1237 990 l324 324q25 26 71 17t84 -48q39 -38 48 -83.5t-17 -71.5l-324 -325z" />
 <glyph unicode="&#xf107;" d="M1668 1023q-99 -99 -236 -125t-259 26l-541 -652q-74 -74 -179 -74t-179 74t-74 179t74 178l652 542q-52 122 -26 259t125 236q94 94 224 122t248 -16l-289 -289l282 -282l286 287q41 -117 13 -244.5t-121 -220.5zM381 379q30 -29 72 -29t71 29q30 30 30 72t-30 71 q-29 30 -71 30t-72 -30q-29 -29 -29 -71t29 -72z" />
 <glyph unicode="&#xf108;" d="M1800 400v1200q0 41 -29.5 70.5t-70.5 29.5h-1300q-41 0 -70.5 -29.5t-29.5 -70.5v-1200q0 -41 29.5 -70.5t70.5 -29.5h1300q41 0 70.5 29.5t29.5 70.5zM800 900h100q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5 t-35.5 14.5t-14.5 35.5v150h-100q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5h100v550q0 21 14.5 35.5t35.5 14.5t35.5 -14.5t14.5 -35.5v-550zM1300 1100h-100q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5h100v150q0 21 14.5 35.5t35.5 14.5t35.5 -14.5 t14.5 -35.5v-150h100q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-100v-550q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v550z" />
 <glyph unicode="&#xf109;" d="M1044 1698l182 182l636 -635l-183 -182q-78 52 -175 42.5t-166 -78.5l-75 -75q-68 -69 -77.5 -165.5t42.5 -175.5l-183 -182l-241 241l-280 -279q-54 -54 -203.5 -155t-176.5 -74t74 177.5t154 203.5l279 279l-241 242l183 182q78 -52 175 -42.5t165 78.5l75 75 q69 68 78.5 165t-42.5 176z" />
@@ -24,9 +24,9 @@
 <glyph unicode="&#xf115;" d="M1800 600v1000q0 41 -29.5 70.5t-70.5 29.5h-1400q-41 0 -70.5 -29.5t-29.5 -70.5v-1000q0 -41 29.5 -70.5t70.5 -29.5h1400q41 0 70.5 29.5t29.5 70.5zM1000 1400q169 0 323 -79t277 -221q-123 -142 -277 -221t-323 -79t-323 79t-277 221q123 142 277 221t323 79z M1200 1100q0 82 -59 141t-141 59t-141 -59t-59 -141t59 -141t141 -59t141 59t59 141zM1400 300h300v-100h-1400v100h300v100h800v-100z" />
 <glyph unicode="&#xf116;" d="M1900 400v1300q0 41 -29.5 70.5t-70.5 29.5h-1500q-41 0 -70.5 -29.5t-29.5 -70.5v-1300q0 -41 29.5 -70.5t70.5 -29.5h1500q41 0 70.5 29.5t29.5 70.5zM400 1600h1300v-400h-1300v400zM500 1500v-200h300v200h-300zM900 1500v-200h300v200h-300zM1300 1500v-200h300v200 h-300zM450 1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM600 1000h400v-100h-400v100zM1200 1000h500v-500h-500v500zM450 800q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5 t14.5 35.5t35.5 14.5zM600 800h400v-100h-400v100zM1300 800v-200h300v200h-300zM450 600q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM600 600h400v-100h-400v100z" />
 <glyph unicode="&#xf117;" d="M500 1800h1000q82 0 141 -59t59 -141v-800q0 -82 -59 -141t-141 -59h-200l-500 -500v500h-300q-82 0 -141 59t-59 141v800q0 82 59 141t141 59zM1350 950l-250 250l250 250l-100 100l-250 -250l-250 250l-100 -100l250 -250l-250 -250l100 -100l250 250l250 -250z" />
-<glyph unicode="&#xf118;" d="M1000 1000l-746 298l46 -1098h-200l48 1141l-148 59l1000 400l1000 -400zM1000 1500q-41 0 -70.5 -14.5t-29.5 -35.5t29.5 -35.5t70.5 -14.5t70.5 14.5t29.5 35.5t-29.5 35.5t-70.5 14.5zM1000 900l557 223q112 -149 136 -330q-52 7 -93 7q-188 0 -347.5 -92.5 t-252.5 -248.5q-93 156 -252.5 248.5t-347.5 92.5q-40 0 -93 -7q24 181 136 330z" />
+<glyph unicode="&#xf118;" d="M1000 1000l-746 298l46 -1098h-200l48 1141l-148 59l1000 400l1000 -400zM1000 1500q-41 0 -70.5 -14.5t-29.5 -35.5t29.5 -35.5t70.5 -14.5t70.5 14.5t29.5 35.5t-29.5 35.5t-70.5 14.5zM1000 900l557 223q112 -149 136 -330q-53 7 -93 7q-188 0 -347.5 -92.5 t-252.5 -248.5q-93 156 -252.5 248.5t-347.5 92.5q-40 0 -93 -7q24 181 136 330z" />
 <glyph unicode="&#xf119;" d="M1689 1880l141 -141q29 -29 29 -70.5t-29 -70.5l-430 -431v-967h-1100v1500h1067l180 180q30 29 71.5 29.5t70.5 -29.5zM1123 1032l537 536l-142 142l-536 -537l-71 -212z" />
-<glyph unicode="&#xf120;" d="M2000 1000q0 163 -50.5 315.5t-143 275.5t-215.5 215.5t-275.5 143t-315.5 50.5t-315.5 -50.5t-275.5 -143t-215.5 -215.5t-143 -275.5t-50.5 -315.5t50.5 -315.5t143 -275.5t215.5 -215.5t275.5 -143t315.5 -50.5t315.5 50.5t275.5 143t215.5 215.5t143 275.5 t50.5 315.5zM1000 1899q183 0 349.5 -71t287 -191.5t191.5 -287t71 -349.5t-71 -349.5t-191.5 -287t-287 -191.5t-349.5 -71t-349.5 71t-287 191.5t-191.5 287t-71 349.5t71 349.5t191.5 287t287 191.5t349.5 71zM801 518l-305 821l105 8q20 2 27 27.5t-2.5 49t-30.5 22.5 q-129 -10 -213 -10q-33 0 -52 1q110 166 287 263t383 97q154 0 293.5 -55t247.5 -154q-52 7 -98.5 -30.5t-46.5 -111.5q0 -29 11.5 -61.5t22.5 -52.5t37 -61q5 -8 8 -13q50 -87 50 -221q0 -60 -31.5 -172t-63.5 -194l-32 -82l-271 750q21 1 40 5t27 8l8 3q20 2 27.5 29.5 t-2.5 53.5t-30 25q-130 -11 -214 -11q-35 0 -87.5 3l-87.5 5l-36 3q-20 1 -30 -25.5t-2.5 -54t27.5 -28.5l84 -8l112 -304zM1403 303l261 697q3 7 7 19.5t15 53.5t15.5 82t8 105t-6.5 121q94 -170 94 -381q0 -219 -106.5 -405t-287.5 -292zM268 1323l382 -1048 q-202 99 -324.5 294.5t-122.5 430.5q0 179 65 323zM1013 870l229 -625q-117 -42 -242 -42q-103 0 -206 30z" />
+<glyph unicode="&#xf120;" d="M2000 1000q0 163 -50.5 315.5t-143 275.5t-215.5 215.5t-275.5 143t-315.5 50.5t-315.5 -50.5t-275.5 -143t-215.5 -215.5t-143 -275.5t-50.5 -315.5t50.5 -315.5t143 -275.5t215.5 -215.5t275.5 -143t315.5 -50.5t315.5 50.5t275.5 143t215.5 215.5t143 275.5 t50.5 315.5zM1000 1899q183 0 349.5 -71t287 -191.5t191.5 -287t71 -349.5t-71 -349.5t-191.5 -287t-287 -191.5t-349.5 -71t-349.5 71t-287 191.5t-191.5 287t-71 349.5t71 349.5t191.5 287t287 191.5t349.5 71zM801 518l-305 821l105 8q20 2 27 27.5t-2.5 49t-30.5 22.5 q-129 -10 -213 -10q-33 0 -52 1q110 166 287 263t383 97q154 0 293.5 -55t247.5 -154q-52 7 -98.5 -30.5t-46.5 -111.5q0 -29 11.5 -61.5t22.5 -52.5t37 -61q5 -9 8 -13q50 -87 50 -221q0 -60 -31.5 -172t-63.5 -194l-32 -82l-271 750q21 1 40 5t27 8l8 3q20 2 27.5 29.5 t-2.5 53.5t-30 25q-130 -11 -214 -11q-35 0 -87.5 3l-87.5 5l-36 3q-20 1 -30 -25.5t-2.5 -54t27.5 -28.5l84 -8l112 -304zM1403 303l261 697q3 7 7 19.5t15 53.5t15.5 82t8 105t-6.5 121q94 -170 94 -381q0 -219 -106.5 -405t-287.5 -292zM268 1323l382 -1048 q-202 99 -324.5 294.5t-122.5 430.5q0 179 65 323zM1013 870l229 -625q-117 -42 -242 -42q-103 0 -206 30z" />
 <glyph unicode="&#xf121;" d="M300 1900h1400v-1800h-1400v1800zM1400 1500v100h-800v-100h800zM1400 1200v100h-800v-100h800zM1400 900v100h-800v-100h800zM1200 600v100h-600v-100h600z" />
 <glyph unicode="&#xf122;" d="M854 726q0 130 -72 222q-50 63 -136.5 82t-159.5 3q-25 143 78 303.5t264 241.5l-163 228q-98 -47 -188.5 -114t-169.5 -157t-133.5 -192.5t-79.5 -227t-9 -252.5q26 -211 139.5 -337t283.5 -126q151 0 248 88q98 88 98 238zM1797 726q0 130 -72 222q-50 63 -136.5 82 t-159.5 3q-25 143 78 303.5t264 241.5l-163 228q-98 -47 -188.5 -114t-169.5 -157t-133.5 -192.5t-79.5 -227t-9 -252.5q26 -211 139.5 -337t283.5 -126q151 0 248 88q98 88 98 238z" />
 <glyph unicode="&#xf123;" d="M100 1900h1800v-1200l-600 -600h-1200v1800zM400 1600v-100h1200v100h-1200zM400 1200v-100h1200v100h-1200zM1000 700v100h-600v-100h600zM1200 300l500 500h-500v-500z" />
@@ -48,7 +48,7 @@
 <glyph unicode="&#xf142;" d="M700 700l403 600l397 -600h-800z" />
 <glyph unicode="&#xf143;" d="M700 700l403 600l397 -600h-800z" />
 <glyph unicode="&#xf145;" d="M1500 1600h300v-1400h-1600v1400h300v100q0 62 44 106t106 44t106 -44t44 -106v-100h400v100q0 62 44 106t106 44t106 -44t44 -106v-100zM600 1700v-250q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v250q0 21 -14.5 35.5t-35.5 14.5t-35.5 -14.5t-14.5 -35.5z M1300 1700v-250q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v250q0 21 -14.5 35.5t-35.5 14.5t-35.5 -14.5t-14.5 -35.5zM1700 300v900h-1400v-900h1400zM700 400v700h-200v-700h200zM1100 400v700h-200v-700h200zM1500 400v700h-200v-700h200z" />
-<glyph unicode="&#xf147;" d="M1439 1450l134 -94l-537 -745h-134l-302 401l134 125l235 -187z" />
+<glyph unicode="&#xf147;" d="M1483 1511l134 -94l-581 -838h-134l-324 454l134 125l257 -240z" />
 <glyph unicode="&#xf148;" d="M1000 1784q160 0 305 -62t250 -167t167 -250t62 -305t-62 -305t-167 -250t-250 -167t-305 -62t-305 62t-250 167t-167 250t-62 305q0 213 106 393.5t286.5 285.5t391.5 105zM1200 612v776l-582 -385z" />
 <glyph unicode="&#xf153;" d="M1000 1800q163 0 311 -63.5t255 -170.5t170.5 -255t63.5 -311t-63.5 -311t-170.5 -255t-255 -170.5t-311 -63.5t-311 63.5t-255 170.5t-170.5 255t-63.5 311t63.5 311t170.5 255t255 170.5t311 63.5zM1500 700l-300 300l300 300l-200 200l-300 -300l-300 300l-200 -200 l300 -300l-300 -300l200 -200l300 300l300 -300z" />
 <glyph unicode="&#xf154;" d="M1000 1900l-300 -600l-600 -75l413 -462l-113 -663l600 300l600 -300l-112 663l412 462l-600 75zM1000 1676l234 -469l465 -58l-318 -356l87 -515l-468 234l-468 -234l87 515l-318 356l465 58z" />
@@ -74,7 +74,7 @@
 <glyph unicode="&#xf176;" d="M1485 997q133 -14 224 -113t91 -234q0 -145 -102.5 -247.5t-247.5 -102.5h-1000q-145 0 -247.5 102.5t-102.5 247.5q0 133 88 231t218 115q-6 26 -6 54q0 104 73 177t177 73q49 0 95 -19q50 99 145.5 159t209.5 60q166 0 283 -117t117 -283q0 -48 -15 -103z" />
 <glyph unicode="&#xf177;" d="M1000 1491q294 0 536 -151t364 -399q-122 -248 -364 -399t-536 -151t-536 151t-364 399q122 248 364 399t536 151zM1235 1181q0 44 -26 78t-66 46q-17 2 -49 4q-49 -4 -83 -40.5t-34 -87.5q0 -53 38 -91t91 -38q54 0 91.5 38t37.5 91zM1000 511q244 0 449.5 121 t310.5 309q-69 123 -189 208.5t-276 126.5q109 -117 109 -276q0 -167 -118.5 -285.5t-285.5 -118.5t-285.5 118.5t-118.5 285.5q0 159 109 276q-156 -41 -276 -126.5t-189 -208.5q105 -188 310.5 -309t449.5 -121z" />
 <glyph unicode="&#xf178;" d="M1800 300v1400q0 41 -29.5 70.5t-70.5 29.5h-1400q-41 0 -70.5 -29.5t-29.5 -70.5v-1400q0 -41 29.5 -70.5t70.5 -29.5h1400q41 0 70.5 29.5t29.5 70.5zM1700 300h-1400v1400h1400v-1400zM475 1600h1050q31 0 53 -22t22 -53v-125h-100v-300h100v-200h-100v-300h100v-125 q0 -31 -22 -53t-53 -22h-1050q-31 0 -53 22t-22 53v1050q0 31 22 53t53 22zM1300 1000q0 166 -117 283t-283 117t-283 -117t-117 -283t117 -283t283 -117t283 117t117 283zM900 1300l77 -115q55 -24 89 -74t34 -111q0 -82 -59 -141t-141 -59t-141 59t-59 141q0 61 34 111 t89 74z" />
-<glyph unicode="&#xf179;" d="M1214 1582q139 -139 158 -334.5t-86 -354.5q3 -3 15.5 -14t20.5 -17q34 -27 81 -59q62 -43 66 -47q61 -45 94 -78q49 -49 84 -100q36 -50 59 -104q22 -55 18 -100q-3 -48 -36 -81t-81 -36q-49 -3 -99 19q-52 21 -104 59q-51 35 -100 84q-33 33 -77 93q-2 3 -47 66 q-32 46 -56 78q-24 30 -44 50q-154 -83 -334 -57t-310 155q-160 161 -160 389.5t160 388.5q106 106 247.5 143.5t283 0t247.5 -143.5zM1073 946q102 103 102 247.5t-102 247.5q-103 103 -248 103t-247 -103q-103 -103 -103 -247.5t103 -247.5q102 -103 247 -103t248 103z " />
+<glyph unicode="&#xf179;" d="M1214 1582q139 -139 158 -334.5t-86 -354.5q3 -3 15.5 -14t20.5 -17q34 -27 81 -59q62 -44 66 -47q61 -45 94 -78q49 -49 84 -100q36 -50 59 -104q22 -55 18 -100q-3 -48 -36 -81t-81 -36q-49 -3 -99 19q-52 21 -104 59q-51 35 -100 84q-33 33 -77 93q-2 3 -47 66 q-32 46 -56 78q-24 30 -44 50q-154 -83 -334 -57t-310 155q-160 161 -160 389.5t160 388.5q106 106 247.5 143.5t283 0t247.5 -143.5zM1073 946q102 103 102 247.5t-102 247.5q-103 103 -248 103t-247 -103q-103 -103 -103 -247.5t103 -247.5q102 -103 247 -103t248 103z " />
 <glyph unicode="&#xf180;" d="M900 1100v600h-600v-600h600zM1700 1100v600h-600v-600h600zM900 300v600h-600v-600h600zM1700 300v600h-600v-600h600z" />
 <glyph unicode="&#xf181;" d="M500 600v800h1000v-800h-1000zM200 700v600h200v-600h-200zM600 1300v-600h800v600h-800zM1600 1300h200v-600h-200v600zM1300 1100v100h-600v-100h600zM1300 800v200h-600v-200h600z" />
 <glyph unicode="&#xf182;" d="M1200 1600h300q41 0 70.5 -29.5t29.5 -70.5v-100h-1300v100q0 41 29.5 70.5t70.5 29.5h300q17 86 88.5 143t161.5 57t161.5 -57t88.5 -143zM800 1600h300q-16 43 -58.5 71.5t-91.5 28.5t-91.5 -28.5t-58.5 -71.5zM400 1300h1100v-1000q0 -41 -29.5 -70.5t-70.5 -29.5 h-900q-41 0 -70.5 29.5t-29.5 70.5v1000zM700 400v700h-100v-700h100zM1000 400v700h-100v-700h100zM1300 400v700h-100v-700h100z" />
 <glyph unicode="&#xf220;" d="M1000 1460q190 0 291 -108q100 -108 100 -313q0 -192 -69 -327q-33 -62 -87.5 -111.5t-134.5 -100.5v-200h600v200h-369q146 101 212 234q74 153 74 335q0 267 -165 422q-166 155 -452 155q-287 0 -452 -157q-165 -156 -165 -420q0 -181 73 -333q62 -130 210 -236h-366 v-200h600v200q-84 55 -139 105t-85 112q-67 133 -67 322q0 206 100 313q99 108 291 108z" />
 <glyph unicode="&#xf221;" d="M700 1600v100h-400v-100h400zM1700 1500v200h-900v-200h900zM700 1300h-200v200l-400 -350l400 -350v200h200v300zM1700 1200v200h-900v-200h900zM1500 900v200h-700v-200h700zM1700 600v200h-900v-200h900zM700 600v100h-400v-100h400zM1100 300v200h-300v-200h300z" />
 <glyph unicode="&#xf222;" d="M300 1500v200h900v-200h-900zM1300 1600v100h400v-100h-400zM1300 1300h200v200l400 -350l-400 -350v200h-200v300zM300 1200v200h900v-200h-900zM500 900v200h700v-200h-700zM300 600v200h900v-200h-900zM1300 600v100h400v-100h-400zM900 300v200h300v-200h-300z" />
-<glyph unicode="&#xf223;" d="M1700 1000q0 190 -94 351.5t-255 255t-351 93.5q-143 0 -272.5 -55.5t-223 -149t-149 -223t-55.5 -272.5t55.5 -272.5t149 -223t223 -149t272.5 -55.5q190 0 351 93.5t255 255t94 351.5zM1070 852h-156v43q0 56 24 98q22 39 88 89q61 43 81 71q20 26 20 62q0 37 -28 58 q-28 19 -79 19q-88 0 -200 -57l-64 128q131 74 277 74q120 0 192 -58q71 -58 71 -155q0 -66 -29 -111q-27 -45 -111 -106q-55 -40 -71 -63q-15 -22 -15 -57v-35zM923 578q-27 26 -27 73q0 50 26 75t77 25q47 0 75 -26q27 -26 27 -74q0 -47 -27 -72q-27 -27 -75 -27t-76 26z " />
-<glyph unicode="&#xf224;" d="M1582 775q40 0 74 7q33 7 73 20v-84q-70 -26 -158 -26q-131 0 -201 79q-59 67 -68 179h-94q18 -32 18 -79q0 -80 -55 -126q-57 -45 -156 -45h-215v250h-141l93 -250h-103l-59 167h-228l-58 -167h-104l93 250h-93v100h131l93 249h106l92 -249h178v250h177q115 0 177 -41 q55 -36 55 -113q0 -52 -27 -87l-8 -9h129q8 62 31 110q36 71 98 106q64 37 151 37q93 0 169 -38l-35 -81q-26 13 -64 25q-35 11 -71 11q-83 0 -131 -59q-35 -44 -44 -111h293v-100h-295q9 -77 44 -119q45 -56 133 -56zM444 1104l-18 -54h103l-21 61q-2 5 -7.5 22t-9.5 29 q-12 41 -14 51q-14 -59 -33 -109zM897 1213v-163h119q39 3 64 18q28 19 28 66q0 42 -30 61q-30 18 -97 18h-84zM564 949v1h-173v-1h173zM1092 948l-3 2h-192v-168h104q60 0 92 23q31 24 31 74q0 46 -32 69z" />
+<glyph unicode="&#xf223;" d="M1700 1000q0 190 -94 351.5t-255 255t-351 93.5q-143 0 -272.5 -55.5t-223 -149t-149 -223t-55.5 -272.5t55.5 -272.5t149 -223t223 -149t272.5 -55.5q190 0 351 93.5t255 255t94 351.5zM1070 852h-156v43q0 56 24 98q22 39 88 89q61 43 81 71q20 26 20 62q0 37 -28 58 q-28 19 -79 19q-88 0 -200 -57l-64 128q131 74 277 74q120 0 192 -58q71 -58 71 -155q0 -66 -29 -111q-27 -45 -111 -106q-55 -40 -71 -63q-15 -22 -15 -57v-35zM923 578q-27 25 -27 73q0 50 26 75t77 25q47 0 75 -26q27 -25 27 -74q0 -47 -27 -72q-27 -27 -75 -27t-76 26z " />
+<glyph unicode="&#xf224;" d="M1582 775q40 0 74 7q33 7 73 20v-84q-70 -26 -158 -26q-131 0 -201 79q-59 67 -68 179h-94q18 -32 18 -79q0 -80 -55 -126q-57 -45 -156 -45h-215v250h-141l93 -250h-103l-59 167h-228l-58 -167h-104l93 250h-93v100h131l93 249h106l92 -249h178v250h177q115 0 177 -41 q55 -36 55 -113q0 -52 -27 -87l-8 -9h129q8 62 31 110q36 71 98 106q64 37 151 37q93 0 169 -38l-35 -81q-25 13 -64 25q-35 11 -71 11q-83 0 -131 -59q-35 -44 -44 -111h293v-100h-295q9 -77 44 -119q45 -56 133 -56zM444 1104l-18 -54h104l-22 61q-2 5 -7.5 22t-9.5 29 q-12 41 -14 51q-14 -59 -33 -109zM897 1213v-163h119q39 3 64 18q28 19 28 66q0 42 -30 61q-30 18 -97 18h-84zM564 949v1h-173v-1h173zM1092 948l-3 2h-192v-168h104q60 0 92 23q31 24 31 74q0 46 -32 69z" />
 <glyph unicode="&#xf225;" d="M1774 1774q126 -127 126 -305t-126 -305l-153 -152q-45 -46 -108 -77l-213 65l169 164l76 77l76 76q63 63 63 152t-63 152q-63 64 -152 64t-152 -64l-77 -76l-76 -76l-164 -169l-65 214q31 63 77 107l152 153q127 126 305.5 126t304.5 -126zM200 1600l800 -600l-600 800z M600 1800l400 -800l-200 800h-200zM200 1400l800 -400l-800 200v200zM936 631l64 69l74 -235l-138 -139q-127 -126 -305 -126t-305 126q-126 126 -126 305t126 305l139 138l235 -74l-69 -64l-152 -153q-64 -63 -64 -152t64 -152q63 -64 152 -64t152 64zM1800 400l-800 600 l600 -800zM1400 200l-400 800l200 -800h200zM1800 600l-800 400l800 -200v-200z" />
 <glyph unicode="&#xf226;" d="M376 400h1248q176 219 176 500q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5t-255 -170.5t-170.5 -255t-63.5 -311q0 -281 176 -500zM1000 1600q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z M600 1400q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1400 1400q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM863 845l337 455v-600q0 -82 -59 -141t-141 -59 t-141 59t-59 141q0 85 63 145zM400 1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1600 1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1100 700 q0 41 -29.5 70.5t-70.5 29.5t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5z" />
 <glyph unicode="&#xf227;" d="M500 200v1500h-200v-1500h200zM600 800v800q83 28 189 28.5t214.5 -14t220.5 -29t239 -13.5t237 28v-800q-83 -35 -201 -39t-229.5 13t-239 32.5t-229.5 19.5t-201 -26z" />
 <glyph unicode="&#xf234;" d="M800 1500q0 41 -29.5 70.5t-70.5 29.5h-500q-41 0 -70.5 -29.5t-29.5 -70.5q0 -42 30.5 -71t69.5 -29h500q41 0 70.5 29.5t29.5 70.5zM1400 1000l400 400v-1000l-400 400v200zM1300 600v600q0 41 -29.5 70.5t-70.5 29.5h-800q-41 0 -70.5 -29.5t-29.5 -70.5v-600 q0 -41 29.5 -70.5t70.5 -29.5h800q41 0 70.5 29.5t29.5 70.5z" />
 <glyph unicode="&#xf235;" d="M1200 700v600q0 82 -59 141t-141 59h-700q-82 0 -141 -59t-59 -141v-600q0 -82 59 -141t141 -59h700q82 0 141 59t59 141zM1300 950l600 -450v1000l-600 -450v-100z" />
 <glyph unicode="&#xf236;" d="M1900 500v1000q0 82 -59 141t-141 59h-1300q-82 0 -141 -59t-59 -141v-1000q0 -82 59 -141t141 -59h1300q82 0 141 59t59 141zM800 600v800l600 -400z" />
-<glyph unicode="&#xf237;" d="M1450 800q124 0 212 -88t88 -212t-88 -212t-212 -88t-212 88t-88 212q0 34 9 69l-438 230q-89 -99 -221 -99q-124 0 -212 88t-88 212t88 212t212 88q130 0 221 -99l438 230q-9 35 -9 69q0 124 88 212t212 88t212 -88t88 -212t-88 -212t-212 -88q-130 0 -221 99l-438 -230 q9 -35 9 -69t-9 -69l438 -230q89 99 221 99z" />
+<glyph unicode="&#xf237;" d="M1450 800q124 0 212 -88t88 -212t-88 -212t-212 -88t-212 88t-88 212q0 34 9 69l-438 230q-89 -99 -221 -99q-124 0 -212 88t-88 212t88 212t212 88q130 0 221 -99l438 230q-9 34 -9 69q0 124 88 212t212 88t212 -88t88 -212t-88 -212t-212 -88q-130 0 -221 99l-438 -230 q9 -34 9 -69q0 -34 -9 -69l438 -230q89 99 221 99z" />
 <glyph unicode="&#xf238;" d="M1800 1650q0 -46 -25.5 -83.5t-66.5 -54.5v-1311h-1509l422 673q-21 37 -21 76q0 62 44 106t106 44t106 -44t44 -106q0 -17 -5 -37l144 -63q45 50 111 50q22 0 51 -9l358 641q-59 44 -59 118q0 62 44 106t106 44q25 0 53 -10l5 9v-11q41 -17 66.5 -54.5t25.5 -83.5z M1608 301v1114l-329 -589q21 -37 21 -76q0 -62 -44 -106t-106 -44t-106 44t-44 106l1 7l-163 72q-40 -29 -88 -29q-24 0 -51 10l-320 -509h1229z" />
 <glyph unicode="&#xf239;" d="M1800 200l1 1228q45 27 72 72.5t27 99.5q0 82 -59 141t-141 59t-141 -59t-59 -141q0 -59 31.5 -107.5t82.5 -72.5l-413 -658q-52 38 -116 38q-62 0 -112 -34t-73 -90l-214 153q14 34 14 71q0 83 -58.5 141.5t-141.5 58.5t-141.5 -58.5t-58.5 -141.5q0 -54 26.5 -99 t71.5 -72l-298 -529h1700zM1700 1700q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM500 1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1085 700 q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z" />
 <glyph unicode="&#xf240;" d="M1622 1420q35 -52 23.5 -112.5t-63.5 -95.5t-112.5 -23.5t-95.5 63.5q-21 31 -55 67q-36 34 -67 55q-37 25 -77 41q-42 19 -84 26q-90 20 -182 1q-43 -9 -84 -27q-40 -16 -77 -41q-33 -22 -66 -55q-34 -34 -56 -67q-24 -36 -41 -76q-1 -2 -1 -4q-12 -30 -23 -72h-461v300 h266q9 16 12 20q42 62 91 111q51 51 111 91q63 43 128 70q71 30 141 43q151 32 302 0q70 -13 141 -43q65 -27 128 -70q60 -40 111 -91q49 -49 91 -111zM1250 1000q0 104 -73 177t-177 73t-177 -73t-73 -177t73 -177t177 -73t177 73t73 177zM378 580q-35 52 -23.5 113 t63.5 96t113 23t95 -64q21 -31 55 -67q36 -34 67 -55q37 -25 77 -41q36 -16 84 -26q87 -19 182 0q48 10 84 26q40 16 77 41q33 22 66 55q31 31 56 67q26 41 41 76q1 2 1 4q12 30 23 72h461v-300h-266q-2 -2 -5.5 -9t-6.5 -11q-42 -62 -91 -111q-51 -51 -111 -91 q-63 -43 -128 -70q-64 -27 -141 -43q-151 -32 -302 0q-77 16 -141 43q-65 27 -128 70q-60 40 -111 91q-49 49 -91 111z" />
 <glyph unicode="&#xf242;" d="M1800 1200l-500 -400v299q-86 -2 -152.5 -9t-143.5 -26t-141 -50.5t-132.5 -85.5t-130.5 -128q22 269 199 421t501 173v306zM400 600h1100v200l200 160v-560h-1500v1100h943q-274 -48 -441 -200h-302v-700z" />
-<glyph unicode="&#xf301;" d="M1894 1554q-75 -112 -183 -190q1 -15 1 -47q0 -147 -43 -294.5t-131 -282.5t-210 -239t-293 -166t-366 -62q-304 0 -563 165q48 -5 88 -5q255 0 455 157q-119 2 -212.5 73t-129.5 182q39 -7 69 -7q47 0 96 13q-127 26 -210.5 127t-83.5 233v4q80 -43 166 -46 q-75 51 -119 131.5t-44 174.5q0 100 50 184q138 -169 334.5 -270.5t421.5 -112.5q-10 45 -10 84q0 151 107.5 258.5t259.5 107.5q160 0 268 -116q126 26 233 89q-43 -132 -162 -202q107 11 211 57z" />
+<glyph unicode="&#xf301;" d="M1894 1554q-75 -112 -183 -190q1 -15 1 -47q0 -147 -43 -294.5t-131 -282.5t-210 -239t-293 -166t-366 -62q-304 0 -563 165q48 -5 88 -5q255 0 455 157q-119 2 -212.5 73t-129.5 182q38 -7 69 -7q47 0 96 13q-127 26 -210.5 127t-83.5 233v4q80 -43 166 -46 q-75 51 -119 131.5t-44 174.5q0 100 50 184q138 -169 334.5 -270.5t421.5 -112.5q-10 45 -10 84q0 151 107.5 258.5t259.5 107.5q160 0 268 -116q126 26 233 89q-43 -132 -162 -202q107 11 211 57z" />
 <glyph unicode="&#xf302;" d="M605 1800q-87 0 -148.5 -61.5t-61.5 -148.5v-908q0 -6 -1 -9q0 -209 117.5 -337.5t342.5 -134.5q2 0 7 -0.5t8 -0.5h521q86 0 148 62t62 149t-62 148.5t-148 61.5h-544q-30 0 -30 39v303h574q86 0 148 61.5t62 148.5t-62 149t-148 62h-574v206q0 87 -62 148.5t-149 61.5z " />
 <glyph unicode="&#xf303;" d="M1492 200h308q0 214 -57.5 418t-161 376.5t-251 318t-323 247.5t-383 158.5t-424.5 56.5v-302q210 0 407 -64.5t356 -182t278.5 -274t185 -351t65.5 -401.5zM948 200h308q0 211 -84 403.5t-225.5 332t-337 222t-409.5 82.5v-302q150 0 286 -56t243 -160 q106 -104 162.5 -239t56.5 -283zM413 202q88 0 150.5 61t62.5 148q0 86 -62.5 147.5t-150.5 61.5t-150.5 -61.5t-62.5 -147.5q0 -87 62 -148t151 -61z" />
 <glyph unicode="&#xf304;" d="M289 1800h1423q37 0 62.5 -25.5t25.5 -62.5v-1424q0 -36 -25.5 -62t-62.5 -26h-408v620h208l31 241h-239v154q0 59 25 88.5t95 29.5h128v216q-66 9 -186 9q-142 0 -226.5 -83.5t-84.5 -235.5v-178h-209v-241h209v-620h-766q-37 0 -63 26t-26 62v1424q0 37 26 62.5 t63 25.5z" />
 <glyph unicode="&#xf306;" d="M600 1500v200h-300v-200h300zM1800 500v1100h-900l-200 -200h-500v-900h1600zM1100 1300q124 0 212 -88t88 -212t-88 -212t-212 -88t-212 88t-88 212t88 212t212 88z" />
 <glyph unicode="&#xf307;" d="M803 1554q-7 -40 -4.5 -85.5t20.5 -92t42 -84t61 -61t78 -23.5q50 0 94 36t68 89t35.5 113t-1.5 108q-16 72 -72.5 117.5t-123.5 45.5q-68 0 -124 -45.5t-73 -117.5zM390 1464q-13 -55 4 -123t61.5 -119t101.5 -51t101.5 51t61.5 119t4 123q-14 61 -62 100t-105 39 t-105 -39t-62 -100zM1276 1464q-13 -55 4 -123t61.5 -119t100.5 -51q57 0 101.5 51t61.5 119t4 123q-14 61 -62 100t-105 39t-104.5 -39t-61.5 -100zM1217 321l125 430q37 126 6 215t-122 138t-226 49q-207 0 -304 -109t-40 -293l126 -430q17 -53 79.5 -87t138.5 -34 q75 0 137.5 34t79.5 87zM607 1084q-107 -147 -42 -359l112 -379q-53 -31 -120 -31q-65 0 -117.5 28.5t-67.5 74.5l-107 365q-48 156 34 248t258 92q41 0 79 -6q-11 -11 -29 -33zM1442 1123q176 0 258.5 -92t33.5 -248l-107 -365q-15 -46 -67.5 -74.5t-117.5 -28.5 q-67 0 -120 31l111 377q67 215 -42 361q-13 18 -28 33q38 6 79 6z" />
 <glyph unicode="&#xf308;" d="M1770 1368l141 -142l-347 -341l-142 142l84 82q-54 129 -151 231l-461 -659l-526 -470q-29 -29 -70.5 -29t-71.5 29l-120 121q-29 29 -29 70.5t29 70.5l1097 992q-231 145 -567 148q412 125 658 30q25 -10 50 -23.5t44.5 -25t45 -33t39.5 -32.5t40 -39t35.5 -37.5t37 -43 t33 -40t34.5 -44t32 -40.5z" />
-<glyph unicode="&#xf309;" d="M855 1694q20 -7 21 -22t-11 -35.5t-30 -44.5t-32 -51.5t-19.5 -54t9 -54.5t52.5 -51q23 -17 61 -5t75 37t82.5 63.5t83.5 74t78 69t65 47.5q39 22 84.5 30t95 0t96 -47t77.5 -106q33 -72 41 -182t-14.5 -239.5t-70 -255.5t-135 -242t-200.5 -187q-117 -74 -246.5 -106 t-252.5 -20t-233.5 58.5t-198.5 132.5t-139 201q-29 66 -39.5 141t-2.5 147.5t30 147.5t57.5 142.5t79 131t95 113.5t106.5 91t113 62t113.5 27.5t108.5 -13.5zM976 1049q30 -68 126 -56q91 12 173 84q96 86 93 187q-1 34 -13 65q-26 65 -124 33q-92 -29 -176 -112 q-94 -94 -87 -171q2 -16 8 -30z" />
+<glyph unicode="&#xf309;" d="M855 1694q20 -7 21 -22t-11 -35.5t-30 -44.5t-32 -51.5t-19.5 -54t9 -54.5t52.5 -51q23 -17 61 -5t75 37t82.5 63.5t83.5 74t78 69t65 47.5q39 22 84.5 30t95 0t96 -47t77.5 -106q33 -72 41 -182t-14.5 -239.5t-70 -255.5t-135 -242t-200.5 -187q-117 -74 -246.5 -106 t-252.5 -20t-233.5 58.5t-198.5 132.5t-139 201q-29 66 -39.5 141t-2.5 147.5t30 147.5t57.5 142.5t79 131t95 113.5t106.5 91t113 62t113.5 27.5t108.5 -13.5zM976 1049q30 -68 126 -56q91 12 173 84q96 86 93 187q0 33 -13 65q-26 65 -124 33q-92 -29 -176 -112 q-94 -94 -87 -171q2 -16 8 -30z" />
 <glyph unicode="&#xf310;" d="M400 1400h600v200h-800v-1201h800v201h-600v800zM600 1200h600v300l600 -500l-600 -500v300h-600v400z" />
 <glyph unicode="&#xf311;" d="M376 299h1248q176 221 176 501q0 162 -63.5 310.5t-170.5 255.5t-255 170.5t-311 63.5t-311 -63.5t-255 -170.5t-170.5 -255.5t-63.5 -310.5q0 -280 176 -501zM900 1400q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71z M400 1200q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71zM852 860q37 37 200 124.5t307 156.5l144 69q-30 -64 -76.5 -160.5t-141 -275t-131.5 -215.5q-63 -63 -151 -63t-151 63q-62 62 -62 150.5t62 150.5zM300 700 q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71zM900 700q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71zM1500 700q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5 q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71z" />
 <glyph unicode="&#xf312;" d="M1700 1200h100v-1100h-1600v1100h100v200q0 136 67 251t182 182t251 67q105 0 200 -42q95 42 200 42q136 0 251 -67t182 -182t67 -251v-200zM500 1400v-200h200v200q0 164 102 300h-2q-124 0 -212 -88t-88 -212zM1500 1200v200q0 124 -88 212t-212 88h-2 q102 -136 102 -300v-200h200zM1000 1622q-100 -90 -100 -222v-200h200v200q0 132 -100 222z" />
 <glyph unicode="&#xf333;" d="M1700 1300v200h-1400v-200h1400zM1700 900v200h-1400v-200h1400zM1700 500v200h-1400v-200h1400z" />
 <glyph unicode="&#xf334;" d="M1000 1800q12 -8 34.5 -21.5t96 -48t150.5 -61t192 -48t227 -21.5q0 -224 -38.5 -423t-100.5 -336.5t-136.5 -252.5t-149 -184.5t-136.5 -117.5t-101 -67l-38 -19q-9 4 -24.5 11.5t-63.5 38.5t-94 68.5t-109 103.5t-117.5 141.5t-109.5 185t-94 231t-63.5 282.5 t-24.5 338q112 0 225.5 20.5t195 50t147 59t98.5 50.5z" />
 <glyph unicode="&#xf335;" d="M1495 1354l-354 -354l354 -354l-141 -141l-354 353l-353 -353l-142 142l353 353l-353 353l142 142l353 -353l354 353z" />
-<glyph unicode="&#xf336;" d="M1800 400h-1600v1200h1600v-1200zM705 1147q19 11 33 24q14 16 24 34q13 26 17 37q5 13 10 34l6 24q0 2 0.5 5t0.5 4q7 45 -4 90q-12 43 -46 72q-35 29 -86 29q-29 0 -56 -11q-26 -12 -41 -30q-17 -20 -27 -44t-12 -51q-1 -18 1 -55l2 -9q2 -11 6 -25q9 -30 10 -33 q6 -18 17 -37q13 -20 25 -33q15 -17 34 -25q19 -9 43 -9t43 9zM1700 1100v400h-500v-400h500zM662 1017l-138 88q-61 0 -114 -32q-53 -33 -81 -85q-29 -52 -29 -107v-125l20 -5q26 -8 55 -14q41 -10 80 -17q34 -7 100 -14q55 -6 107 -6q50 0 107 6q48 5 98 14q54 10 82 17 q16 3 34 8t20 5q13 4 21 6v125q0 55 -31 107q-32 53 -84 86q-53 33 -111 33zM1700 900v100h-500v-100h500zM1700 700v100h-500v-100h500zM1700 500v100h-1400v-100h1400z" />
-<glyph unicode="&#xf337;" d="M1800 200h-1600v1600h1600v-1600zM805 1247q19 11 33 24q14 16 24 34q13 26 17 37q5 13 10 34l6 24q0 2 0.5 5t0.5 4q7 45 -4 90q-12 43 -46 72q-35 29 -86 29q-29 0 -56 -11q-26 -12 -41 -30q-17 -20 -27 -44t-12 -51q-1 -18 1 -55l2 -9q2 -11 6 -25q9 -30 10 -33 q6 -18 17 -37q13 -20 25 -33q15 -17 34 -25q19 -9 43 -9t43 9zM1600 1500v100h-500v-100h500zM1600 1300v100h-500v-100h500zM762 1117l-138 88q-61 0 -114 -32q-53 -33 -81 -85q-29 -52 -29 -107v-125l20 -5q26 -8 55 -14q41 -10 80 -17q34 -7 100 -14q56 -6 107 -6 q50 0 107 6q48 5 98 14q54 10 82 17q16 3 34 8t20 5q13 4 21 6v125q0 55 -31 107q-32 53 -84 86q-53 33 -111 33zM1600 1100v100h-300v-100h300zM1600 900v100h-300v-100h300zM1600 600v100h-1200v-100h1200zM1600 400v100h-1200v-100h1200z" />
+<glyph unicode="&#xf336;" d="M1800 400h-1600v1200h1600v-1200zM705 1147q19 11 33 24q14 16 24 34q13 26 17 37q5 13 10 34l6 24q0 2 0.5 5t0.5 4q7 45 -4 90q-12 43 -46 72q-35 29 -86 29q-29 0 -56 -11q-26 -12 -41 -30q-17 -20 -27 -44t-12 -51q-1 -18 1 -55l2 -9q2 -11 6 -25q9 -30 10 -33 q6 -18 17 -37q13 -20 25 -33q15 -17 34 -25q20 -9 43 -9q24 0 43 9zM1700 1100v400h-500v-400h500zM662 1017l-138 88q-61 0 -114 -32q-53 -33 -81 -85q-29 -52 -29 -107v-125l20 -5q26 -8 55 -14q41 -10 80 -17q34 -7 100 -14q55 -6 107 -6q50 0 107 6q48 5 98 14 q54 10 82 17q16 3 34 8t20 5q13 4 21 6v125q0 55 -31 107q-32 53 -84 86q-53 33 -111 33zM1700 900v100h-500v-100h500zM1700 700v100h-500v-100h500zM1700 500v100h-1400v-100h1400z" />
+<glyph unicode="&#xf337;" d="M1800 200h-1600v1600h1600v-1600zM805 1247q19 11 33 24q14 16 24 34q13 26 17 37q5 13 10 34l6 24q0 2 0.5 5t0.5 4q7 45 -4 90q-12 43 -46 72q-35 29 -86 29q-29 0 -56 -11q-26 -12 -41 -30q-17 -20 -27 -44t-12 -51q-1 -18 1 -55l2 -9q2 -11 6 -25q9 -30 10 -33 q6 -18 17 -37q13 -20 25 -33q15 -17 34 -25q20 -9 43 -9q24 0 43 9zM1600 1500v100h-500v-100h500zM1600 1300v100h-500v-100h500zM762 1117l-138 88q-61 0 -114 -32q-53 -33 -81 -85q-29 -52 -29 -107v-125l20 -5q26 -8 55 -14q41 -10 80 -17q34 -7 100 -14q55 -6 107 -6 q50 0 107 6q48 5 98 14q54 10 82 17q16 3 34 8t20 5q13 4 21 6v125q0 55 -31 107q-32 53 -84 86q-53 33 -111 33zM1600 1100v100h-300v-100h300zM1600 900v100h-300v-100h300zM1600 600v100h-1200v-100h1200zM1600 400v100h-1200v-100h1200z" />
 <glyph unicode="&#xf338;" d="M730 1400l-3 19q-6 55 -3 108q3 56 25 104q22 50 52 86q33 39 83 60q52 23 113 23q103 0 171 -59q69 -60 91 -144q22 -85 9 -178l-3 -19q-1 -10 -11 -48q-7 -33 -20 -69q-13 -34 -34 -72q-18 -35 -47 -69q-25 -26 -67 -48q-39 -19 -86 -19q-46 0 -87 19q-42 21 -67 50 q-25 28 -49 66q-22 36 -34 73q-14 39 -21 67q-9 33 -12 50zM1650 776q50 -85 50 -214v-249q0 -4 -29 -13q-7 -2 -37 -10.5t-60 -16.5q-110 -24 -165 -34q-85 -15 -195 -27q-112 -12 -213 -12t-214 12q-90 8 -198 27q-44 8 -156 34q-43 10 -106 29l-27 11v249q0 134 46 215 q65 115 150 168q47 29 136 42t168 13l167 -167l-67 -133v-300l102 -108l98 108v300l-68 133l165 167q209 0 290 -52q96 -61 163 -172z" />
 <glyph unicode="&#xf339;" d="M1000 1900q153 0 282.5 -75.5t205 -204.5t75.5 -282q0 -52 -21 -118t-50.5 -123.5t-59.5 -107.5t-51 -79l-21 -30q-25 -33 -42.5 -86t-17.5 -94v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-400q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 -17.5 94t-42.5 86q-8 11 -21.5 30.5 t-48.5 77t-61.5 110.5t-48.5 120.5t-22 119.5q0 153 75 282t204.5 204.5t282.5 75.5zM700 313v87h600v-87q0 -53 -16 -83t-59 -30h-25q0 -46 -27.5 -73t-74.5 -27h-200q-46 0 -72 26.5t-26 73.5h-25q-43 0 -59 30t-16 83z" />
 <glyph unicode="&#xf340;" d="M1800 1100v-200h-1200l400 -400l-100 -200l-700 700l700 700l100 -200l-400 -400h1200z" />
 <glyph unicode="&#xf448;" d="M1000 2000q163 0 315.5 -50.5t275.5 -143t215.5 -215.5t143 -275.5t50.5 -315.5t-50.5 -315.5t-143 -275.5t-215.5 -215.5t-275.5 -143t-315.5 -50.5t-315.5 50.5t-275.5 143t-215.5 215.5t-143 275.5t-50.5 315.5t50.5 315.5t143 275.5t215.5 215.5t275.5 143 t315.5 50.5zM1000 1950q-193 0 -369 -75t-303.5 -202.5t-202.5 -303.5t-75 -369t75 -369t202.5 -303.5t303.5 -202.5t369 -75t369 75t303.5 202.5t202.5 303.5t75 369t-75 369t-202.5 303.5t-303.5 202.5t-369 75zM1000 1850q173 0 330.5 -67t271.5 -181t181 -271.5 t67 -330.5t-67 -330.5t-181 -271.5t-271.5 -181t-330.5 -67t-330.5 67t-271.5 181t-181 271.5t-67 330.5t67 330.5t181 271.5t271.5 181t330.5 67zM1180 1679q-83 0 -155 -45q118 -28 195.5 -124t77.5 -221q0 -100 -55 -187q99 22 164 101.5t65 183.5q0 121 -85.5 206.5 t-206.5 85.5zM942 1579q-121 0 -206.5 -86t-85.5 -207t85.5 -206.5t206.5 -85.5t207 85.5t86 206.5q0 122 -85.5 207.5t-207.5 85.5zM1367 1078l-51 -59q66 -19 115 -63.5t72.5 -94t38 -96t16.5 -77.5l3 -30h128q0 76 -11 138.5t-29.5 104.5t-43 75t-51 51t-53 30.5 t-51 16.5t-43 5.5t-29.5 0.5zM1157 998l-212 -209l-212 209q-68 -4 -123 -23t-90.5 -48.5t-62.5 -67t-41 -78t-22 -81t-9.5 -76.5t-0.5 -63.5t3 -44.5l2 -16h1108q10 102 -4 184t-43 132.5t-67 88t-77.5 54.5t-73 27t-54.5 11z" />
 <glyph unicode="&#xf449;" d="M1350 1300h-700q-62 0 -106 44t-44 106t44 106t106 44h159q-9 29 -9 50q0 62 44 106t106 44h100q62 0 106 -44t44 -106q0 -21 -9 -50h159q62 0 106 -44t44 -106t-44 -106t-106 -44zM400 1200h1200q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-1200 q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM500 900h1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM700 600h600q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-109q9 -29 9 -50 q0 -62 -44 -106t-106 -44h-100q-62 0 -106 44t-44 106q0 21 9 50h-109q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z" />
 <glyph unicode="&#xf450;" d="M1044 1834q-44 44 -106 44t-106 -44l-566 -566q-44 -44 -44 -106t44 -106q46 -44 107.5 -43.5t104.5 43.5l566 566q44 44 44 106t-44 106zM1327 1551q-44 44 -106.5 44t-105.5 -44l-566 -566q-44 -43 -44 -105.5t44 -106.5q46 -44 107.5 -43t104.5 43l566 566 q43 43 43 105.5t-43 106.5zM1433 879l418 -418q44 -44 44 -106t-44 -106t-106.5 -44t-105.5 44l-418 418l-177 -177q-44 -44 -106 -44t-106 44t-44 106.5t44 106.5l566 565q44 44 106 44t106 -44t44 -106t-44 -106zM500 500q0 45 -17 102.5t-41.5 107.5t-49 94t-41.5 70 l-17 26q-15 -31 -37 -80.5t-59.5 -157.5t-37.5 -162q0 -90 38.5 -145t95.5 -55h32q62 0 98 44.5t36 155.5z" />
-<glyph unicode="&#xf451;" d="M1754 971q88 -88 88 -212.5t-88 -212.5t-212.5 -88t-212.5 88l-34 52q0 -66 -9.5 -124t-22.5 -99.5t-36.5 -79.5t-42.5 -60.5t-49.5 -47t-48 -35.5t-47.5 -28.5t-39 -23.5q-11 8 -49.5 32t-64.5 42t-63.5 58.5t-60.5 85.5t-40 118.5t-17 161.5l-34 -52 q-88 -88 -212.5 -88t-212.5 88t-88 212.5t88 212.5q102 67 210 130q-136 184 -136 411q0 47 8 100q18 -131 84 -245.5t168 -196.5q53 28 126.5 57t110.5 35h-17q-82 0 -141 59t-59 141t59 141t141 59v50q0 21 14.5 35.5t35.5 14.5t35.5 -14.5t14.5 -35.5v-50h200v50 q0 21 14.5 35.5t35.5 14.5t35.5 -14.5t14.5 -35.5v-50q82 0 141 -59t59 -141t-59 -141t-141 -59h-17q36 -6 112.5 -36.5t125.5 -55.5q102 82 168 196.5t84 245.5q8 -53 8 -100q0 -227 -136 -411q48 -28 100 -60.5t81 -50.5zM850 1362q38 0 69 30t31 70q0 41 -29.5 70.5 t-70.5 29.5t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5zM1150 1562q-41 0 -70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5t-29.5 70.5t-70.5 29.5zM920 989q-19 -17 -19 -43q2 -19 16 -32.5t33 -13.5h100q19 0 33 13.5t16 32.5q0 21 -19 43 q-15 11 -30 11h-100q-15 0 -30 -11zM1200 750q0 23 -19 38q-15 12 -31 12h-300q-16 0 -31 -12q-19 -17 -19 -38t14.5 -35.5t35.5 -14.5h300q21 0 35.5 14.5t14.5 35.5zM850 500h300q21 0 35.5 14.5t14.5 35.5t-14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5 t14.5 -35.5t35.5 -14.5zM950 300h100q21 0 35.5 14.5t14.5 35.5t-14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5t14.5 -35.5t35.5 -14.5z" />
+<glyph unicode="&#xf451;" d="M1754 971q88 -88 88 -212.5t-88 -212.5t-212.5 -88t-212.5 88l-34 52q0 -66 -9.5 -124t-22.5 -99.5t-36.5 -79.5t-42.5 -60.5t-49.5 -47t-48 -35.5t-47.5 -28.5t-39 -23.5q-11 8 -49.5 32t-64.5 42t-63.5 58.5t-60.5 85.5t-40 118.5t-17 161.5l-34 -52q-88 -88 -212 -88 t-213 88q-88 88 -88 212.5t88 212.5q102 67 210 130q-136 184 -136 411q0 47 8 100q18 -131 84 -245.5t168 -196.5q53 28 126.5 57t110.5 35h-17q-82 0 -141 59t-59 141t59 141t141 59v50q0 21 14.5 35.5t35.5 14.5t35.5 -14.5t14.5 -35.5v-50h200v50q0 21 14.5 35.5 t35.5 14.5t35.5 -14.5t14.5 -35.5v-50q82 0 141 -59t59 -141t-59 -141t-141 -59h-17q36 -6 112.5 -36.5t125.5 -55.5q102 82 168 196.5t84 245.5q8 -53 8 -100q0 -227 -136 -411q48 -28 100.5 -60.5t80.5 -50.5zM850 1362q38 0 69 30t31 70q0 41 -29.5 70.5t-70.5 29.5 t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5zM1150 1562q-41 0 -70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5t-29.5 70.5t-70.5 29.5zM920 989q-19 -17 -19 -43q2 -19 16 -32.5t33 -13.5h100q19 0 33 13.5t16 32.5q0 21 -19 43q-15 11 -30 11 h-100q-15 0 -30 -11zM1200 750q0 23 -19 38q-15 12 -31 12h-300q-16 0 -31 -12q-19 -17 -19 -38t14.5 -35.5t35.5 -14.5h300q21 0 35.5 14.5t14.5 35.5zM850 500h300q21 0 35.5 14.5t14.5 35.5t-14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5t14.5 -35.5 t35.5 -14.5zM950 300h100q21 0 35.5 14.5t14.5 35.5t-14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5t14.5 -35.5t35.5 -14.5z" />
 <glyph unicode="&#xf452;" d="M800 1900v-700h200v200q0 115 92 207.5t208 92.5v-86q91 86 200 86v-300h100q82 0 141 -59t59 -141t-59 -141t-141 -59h-100v-100v-1v-499q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v218q-51 -18 -100 -18v-200q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5 t-29.5 70.5v200h-200v-200q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v200q-49 0 -100 18v-218q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v400h-100v100q0 124 88 212t212 88h200v700h100zM1300 1200q41 0 70.5 29.5t29.5 70.5t-29.5 70.5 t-70.5 29.5t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5z" />
-<glyph unicode="&#xf453;" d="M900 1700q0 92 -100 200q-40 -40 -70 -98t-30 -102q0 -37 30 -68.5t70 -31.5q41 0 70.5 30t29.5 70zM1300 1700q0 92 -100 200q-40 -40 -70 -98t-30 -102q0 -37 30 -68.5t70 -31.5q41 0 70.5 30t29.5 70zM900 1100v350q0 41 -29.5 70.5t-70.5 29.5q-42 0 -71 -30.5 t-29 -69.5v-350q0 -41 29.5 -70.5t70.5 -29.5q42 0 71 30.5t29 69.5zM1300 1100v350q0 41 -29.5 70.5t-70.5 29.5q-42 0 -71 -30.5t-29 -69.5v-350q0 -41 29.5 -70.5t70.5 -29.5q42 0 71 30.5t29 69.5zM1700 1000q0 109 -95 201t-255 145v-246q0 -62 -44 -106t-106 -44 t-106 44t-44 106v299q-8 0 -25 0.5t-25 0.5t-25 -0.5t-25 -0.5v-299q0 -62 -44 -106t-106 -44t-106 44t-44 106v246q-160 -53 -255 -145t-95 -201q0 -110 78.5 -197.5t242.5 -139.5q32 -10 108.5 -42t142.5 -51t128 -19t128 19t142.5 51.5t108.5 42.5q163 51 242 138.5 t79 197.5zM1000 457q63 0 131.5 19.5t144 50.5t112.5 41q68 19 118.5 43.5t86.5 57.5t57 59.5t50 71.5v-300q0 -109 -93.5 -201t-255 -145.5t-351.5 -53.5t-351.5 53.5t-255 145.5t-93.5 201v300q37 -58 70 -94.5t95.5 -75t149.5 -63.5q35 -10 111.5 -41t143.5 -50t130 -19z " />
+<glyph unicode="&#xf453;" d="M900 1700q0 92 -100 200q-40 -40 -70 -98t-30 -102q0 -37 30 -68.5t70 -31.5q41 0 70.5 30t29.5 70zM1300 1700q0 92 -100 200q-40 -40 -70 -98t-30 -102q0 -37 30 -68.5t70 -31.5q41 0 70.5 30t29.5 70zM900 1100v350q0 41 -29.5 70.5t-70.5 29.5q-42 0 -71 -30.5 t-29 -69.5v-350q0 -41 29.5 -70.5t70.5 -29.5q42 0 71 30.5t29 69.5zM1300 1100v350q0 41 -29.5 70.5t-70.5 29.5q-42 0 -71 -30.5t-29 -69.5v-350q0 -41 29.5 -70.5t70.5 -29.5q42 0 71 30.5t29 69.5zM1700 1000q0 109 -95 201t-255 145v-246q0 -62 -44 -106t-106 -44 t-106 44t-44 106v299q-8 0 -24.5 0.5t-25.5 0.5q-8 0 -25 -0.5t-25 -0.5v-299q0 -62 -44 -106t-106 -44t-106 44t-44 106v246q-160 -53 -255 -145t-95 -201q0 -110 78.5 -197.5t242.5 -139.5q32 -10 108.5 -42t142.5 -51t128 -19t128 19t142.5 51.5t108.5 42.5 q163 51 242 138.5t79 197.5zM1000 457q63 0 131.5 19.5t144 50.5t112.5 41q68 19 118.5 43.5t86.5 57.5t57 59.5t50 71.5v-300q0 -109 -93.5 -201t-255 -145.5t-351.5 -53.5t-351.5 53.5t-255 145.5t-93.5 201v300q37 -58 70 -94.5t95.5 -75t149.5 -63.5q35 -10 111.5 -41 t143.5 -50t130 -19z" />
 <glyph unicode="&#xf454;" d="M875 1423q0 39 -18 92t-43.5 101t-51.5 90.5t-44 67.5l-18 26q-7 -10 -19 -27t-42 -65.5t-53 -93t-42 -98.5t-19 -93q0 -98 43 -135.5t132 -37.5t132 37.5t43 135.5zM1475 1423q0 39 -18 92t-43.5 101t-51.5 90.5t-44 67.5l-18 26q-7 -10 -19 -27t-42 -65.5t-53 -93 t-42 -98.5t-19 -93q0 -98 43 -135.5t132 -37.5t132 37.5t43 135.5zM900 300v800q0 41 -29.5 70.5t-70.5 29.5h-200q-41 0 -70.5 -29.5t-29.5 -70.5v-800q0 -41 29.5 -70.5t70.5 -29.5h200q41 0 70.5 29.5t29.5 70.5zM1500 300v800q0 41 -29.5 70.5t-70.5 29.5h-200 q-41 0 -70.5 -29.5t-29.5 -70.5v-800q0 -41 29.5 -70.5t70.5 -29.5h200q41 0 70.5 29.5t29.5 70.5zM600 900l200 100v-200l-200 -100v200zM1200 900l200 100v-200l-200 -100v200zM600 600l200 100v-200l-200 -100v200zM1200 600l200 100v-200l-200 -100v200z" />
 <glyph unicode="&#xf455;" d="M1098 1322l452 -822q-48 -96 -142 -166t-199 -102t-209 -32t-209 32t-199 102t-142 166l450 818q-57 93 -168 146t-261 57l246 292q199 -141 297 -331q51 80 109.5 131t160.5 81l183 -286q-192 46 -369 -86zM817 960l-93 -169q71 -16 154 -16q199 0 355 95l-101 182 q-136 -83 -315 -92zM903 422q147 0 272 50t202 136l-98 176q-77 -86 -202 -136.5t-272 -50.5q-87 0 -176 21l-63 -115q152 -81 337 -81z" />
 <glyph unicode="&#xf456;" d="M1545 1375q89 -46 127.5 -130t22.5 -181t-80 -187q-59 -83 -159.5 -134.5t-186.5 -43.5l-264 -499h-105l-265 499q-85 -12 -189.5 40t-165.5 139q-64 90 -80 187t23 181t128 129q68 34 143 31q-2 -62 7 -121q20 -129 99.5 -252t186.5 -185q-30 -86 -88 -125l201 -381v566 q-102 28 -191.5 144t-108.5 248q-20 132 16 246t124 184t210 70t210 -70t124 -184t16 -246q-19 -132 -108.5 -248t-191.5 -144v-577l207 384q-63 33 -99 130q109 61 190 185.5t101 254.5q9 59 7 122q73 2 139 -32z" />
 <glyph unicode="&#xf457;" d="M1000 1800q84 0 197.5 -51.5t215 -125t191 -147t142.5 -124.5l54 -52v-1100h-1600v1100q20 20 55.5 54t138 120t196.5 152t210 120t200 54zM1700 328l-373 292l373 280l-43 37l-226 -130l24 431l-877 52l-46 -454l-199 95l-33 -31l373 -280l-344 -285l40 -43l631 408 l653 -415z" />
 <glyph unicode="&#xf459;" d="M1000 1900l-300 -600l-600 -75l413 -462l-113 -663l600 300l600 -300l-112 663l412 462l-600 75zM1000 1676l234 -469l465 -58l-318 -356l87 -515l-468 234v1164z" />
 <glyph unicode="&#xf460;" d="M400 1100h1200v-200h-1200v200z" />
-<glyph unicode="&#xf462;" d="M925 836q88 -62 123 -128t35 -165q0 -62 -30 -119.5t-84.5 -104t-140 -74t-189.5 -27.5q-126 0 -231 31.5t-168.5 93t-63.5 140.5q0 128 130 226.5t314 98.5q14 0 40 0.5t38 0.5q-61 61 -61 126q0 43 23 86q-8 -1 -22 0.5t-20 1.5q-151 0 -247.5 97t-96.5 237 q0 87 55.5 166.5t147 128t190.5 48.5h452l-101 -100h-144q83 -87 103 -116q43 -63 43 -144q0 -135 -128 -234q-53 -42 -69.5 -67t-16.5 -62q0 -28 39.5 -70.5t79.5 -70.5zM683 1063q88 -3 139 76t36 194q-15 114 -87 195t-160 84q-88 2 -139 -75t-36 -191q15 -115 87.5 -198 t159.5 -85zM1700 1000v-100h-200v-200h-100v200h-200v100h200v200h100v-200h200zM638 290q172 0 250 63.5t78 170.5q0 22 -5 47q-4 16 -10.5 29.5t-18 27.5t-20.5 23.5t-28 24t-29.5 21.5t-36.5 25t-38 26q-56 18 -112 18q-131 2 -230 -68.5t-99 -166.5q0 -100 85.5 -170.5 t213.5 -70.5z" />
-<glyph unicode="&#xf463;" d="M1020 1672q173 0 323.5 -79t247.5 -216t121 -305h208l-350 -400l-350 400h232q-34 149 -154.5 247t-277.5 98q-106 0 -199 -48t-155 -130l-171 195q98 112 234.5 175t290.5 63zM980 328q-130 0 -249.5 46.5t-210.5 126.5t-152.5 190.5t-79.5 236.5h-208l350 400 q59 -67 175.5 -200t174.5 -200h-232q34 -149 154.5 -247t277.5 -98q106 0 199 48t155 130l171 -195q-98 -112 -234 -175t-291 -63z" />
+<glyph unicode="&#xf462;" d="M925 836q88 -62 123 -128t35 -165q0 -62 -30 -119.5t-84.5 -104t-140 -74t-189.5 -27.5q-126 0 -231 31.5t-168.5 93t-63.5 140.5q0 128 130 226.5t314 98.5q14 0 40 0.5t38 0.5q-61 61 -61 126q0 43 23 86q-8 -1 -22 0.5t-20 1.5q-151 0 -247.5 97t-96.5 237 q0 87 55.5 166.5t147 128t190.5 48.5h452l-101 -100h-144q83 -87 103 -116q43 -62 43 -144q0 -135 -128 -234q-53 -42 -69.5 -67t-16.5 -62q0 -28 39.5 -70.5t79.5 -70.5zM683 1063q88 -3 139 76t36 194q-15 114 -87 195t-160 84q-88 2 -139 -75t-36 -191q15 -115 87.5 -198 t159.5 -85zM1700 1000v-100h-200v-200h-100v200h-200v100h200v200h100v-200h200zM638 290q172 0 250 63.5t78 170.5q0 22 -5 47q-4 16 -10.5 29.5t-18 27.5t-20.5 23.5t-28 24t-29.5 21.5t-36.5 25t-38 26q-56 18 -112 18q-131 2 -230 -68.5t-99 -166.5q0 -100 85.5 -170.5 t213.5 -70.5z" />
+<glyph unicode="&#xf463;" d="M1020 1672q173 0 323.5 -79t247.5 -216t121 -305h208l-350 -400l-350 400h232q-34 149 -154.5 247t-277.5 98q-106 0 -199 -48t-155 -130l-171 195q98 112 234.5 175t290.5 63zM980 328q-130 0 -249.5 46.5t-210.5 126.5t-152.5 190.5t-79.5 236.5h-208l350 400 q58 -66 174.5 -200t175.5 -200h-232q34 -149 154.5 -247t277.5 -98q106 0 199 48t155 130l171 -195q-98 -112 -234 -175t-291 -63z" />
 <glyph unicode="&#xf464;" d="M1389 1661l271 -272q34 -35 33.5 -84t-30.5 -80l-801 -802l-556 -116l116 558q760 763 799 803q29 30 81.5 28.5t86.5 -35.5zM1116 1382l-559 -561l111 -111l554 565zM819 559l558 560l-107 108l-559 -560z" />
 <glyph unicode="&#xf465;" d="M387 1600h1325q188 0 188 -179v-842q0 -179 -188 -179h-1325q-188 0 -188 179v842q0 179 188 179zM1049 740l674 553q21 17 27 45.5t-14 61.5q-21 30 -56.5 33.5t-60.5 -16.5l-570 -386l-569 386q-25 20 -60.5 16.5t-56.5 -33.5q-20 -33 -14 -61.5t27 -45.5z" />
 <glyph unicode="&#xf466;" d="M1900 550v900q0 62 -44 106t-106 44h-1401q-62 0 -106 -44t-44 -106v-900q0 -62 44 -106t106 -44h1401q62 0 106 44t44 106zM1769 1461q15 -15 17.5 -32.5t-4 -29.5t-16.5 -22l-406 -372l390 -406q26 -30 6 -51q-9 -11 -28 -12t-28 7l-437 373l-214 -195l-213 195 l-437 -373q-9 -8 -28 -7t-28 12q-20 21 6 51l390 406l-406 372q-10 10 -16.5 22t-4 29.5t17.5 32.5q40 40 95 -7l624 -504l625 504q55 47 95 7z" />
 <glyph unicode="&#xf474;" d="M1600 1600h200v-900h-1100v-300l-500 400l500 400v-300h900v700z" />
 <glyph unicode="&#xf475;" d="M900 1400l-400 -400l400 -400l-100 -200l-600 600l600 600zM1100 600l400 400l-400 400l100 200l600 -600l-600 -600z" />
 <glyph unicode="&#xf476;" d="M1500 1800h-746q-124 0 -228 -60q-105 -62 -165 -165q-61 -103 -61 -227t61 -227q60 -104 165 -164q103 -61 228 -61h43v-596q0 -40 29 -71q31 -29 71 -29t71 29q30 30 30 71v1200q0 42 29 71q31 29 71 29t71 -29q29 -31 29 -71v-1200q0 -41 30 -71q31 -29 71 -29t71 29 q29 31 29 71v1300h101q40 0 70 30q30 28 30 70q0 41 -30 71q-31 29 -70 29z" />
-<glyph unicode="&#xf477;" d="M1000 1800q162 0 310.5 -63.5t255.5 -170.5t170.5 -255.5t63.5 -310.5t-63.5 -310.5t-170.5 -255.5t-255.5 -170.5t-310.5 -63.5t-310.5 63.5t-255.5 170.5t-170.5 255.5t-63.5 310.5t63.5 310.5t170.5 255.5t255.5 170.5t310.5 63.5zM1000 250q153 0 291.5 59.5t239 160 t160 239t59.5 291.5t-59.5 291.5t-160 239t-239 160t-291.5 59.5t-291.5 -59.5t-239 -160t-160 -239t-59.5 -291.5q0 -223 122 -410q41 -61 95 -117q104 -105 242 -164t291 -59zM1000 1674q137 0 262 -53.5t215 -143.5t143.5 -215t53.5 -262t-53.5 -262t-143.5 -215 t-215 -143.5t-262 -53.5q-206 0 -374 113q78 4 151 42t126 99q20 -58 80 -100t151 -42q130 0 240.5 88t136.5 212q29 127 -28 213t-182 86q-45 0 -96 -21t-90 -52l104 479q2 14 -3.5 21.5t-18.5 3.5q-56 -15 -227 -32q-18 -2 -24.5 -17t2 -29t26.5 -13q22 1 34.5 -1 t20.5 -10.5t10 -20t-1 -34.5t-8.5 -50t-14.5 -70q-1 -3 -1 -4l-54 -243q-57 93 -186 93q-46 0 -96.5 -21t-89.5 -52q100 461 103 479q3 13 -2.5 21t-18.5 4q-42 -11 -179 -26q94 109 226.5 170.5t282.5 61.5zM441 1377h6q26 1 39.5 -3t20.5 -15.5t5.5 -32.5t-8 -54.5 t-17.5 -81.5q-1 -2 -1 -3l-101 -463q-59 130 -59 276q0 207 115 377zM853 738q-23 -104 -82.5 -172t-143.5 -68q-55 0 -89 41t-17 116l34 167q15 64 69.5 107t114.5 43q82 0 109.5 -65t4.5 -169zM1380 738q-22 -104 -82 -172t-144 -68q-55 0 -89 41t-17 116l35 167 q15 64 69 107t114 43q82 0 109.5 -65t4.5 -169z" />
+<glyph unicode="&#xf477;" d="M1000 1800q162 0 310.5 -63.5t255.5 -170.5t170.5 -255.5t63.5 -310.5t-63.5 -310.5t-170.5 -255.5t-255.5 -170.5t-310.5 -63.5t-310.5 63.5t-255.5 170.5t-170.5 255.5t-63.5 310.5t63.5 310.5t170.5 255.5t255.5 170.5t310.5 63.5zM1000 250q153 0 291.5 59.5t239 160 t160 239t59.5 291.5t-59.5 291.5t-160 239t-239 160t-291.5 59.5t-291.5 -59.5t-239 -160t-160 -239t-59.5 -291.5q0 -223 122 -410q41 -61 95 -117q104 -105 242 -164t291 -59zM1000 1674q137 0 262 -53.5t215 -143.5t143.5 -215t53.5 -262t-53.5 -262t-143.5 -215 t-215 -143.5t-262 -53.5q-206 0 -374 113q78 4 151 42t126 99q20 -58 80 -100t151 -42q130 0 240.5 88t136.5 212q29 127 -28 213t-182 86q-45 0 -96 -21t-90 -52l104 479q2 14 -3.5 21.5t-18.5 3.5q-56 -15 -227 -32q-18 -2 -24.5 -17t2 -29t26.5 -13q22 1 34.5 -1 t20.5 -10.5t10 -20t-1 -34.5t-8.5 -50t-14.5 -70q-1 -3 -1 -4l-54 -243q-57 93 -186 93q-46 0 -96.5 -21t-89.5 -52q100 461 103 479q3 13 -2.5 21t-18.5 4q-42 -11 -179 -26q94 109 226.5 170.5t282.5 61.5zM441 1377h6q52 2 61 -21q10 -23 -13 -127q-2 -12 -9 -42 l-101 -463q-59 130 -59 276q0 207 115 377zM853 738q-23 -104 -82.5 -172t-143.5 -68q-55 0 -89 41t-17 116l34 167q15 64 69.5 107t114.5 43q82 0 109.5 -65t4.5 -169zM1380 738q-22 -104 -82 -172t-144 -68q-55 0 -89 41t-17 116l35 167q15 64 69 107t114 43 q82 0 109.5 -65t4.5 -169z" />
 <glyph unicode="&#xf478;" d="M1800 1700v-200h-1600v200h1600zM1200 1300v-200h-1000v200h1000zM1800 1300v-200h-400v200h400zM800 900v-200h-600v200h600zM1800 900v-200h-800v200h800zM1400 500v-200h-1200v200h1200z" />
 <glyph unicode="&#xf479;" d="M1100 1700v-400h-1000v400h1000zM1900 1700v-400h-700v400h700zM700 1200v-300h-600v300h600zM1900 1200v-300h-1100v300h1100zM900 800v-200h-800v200h800zM1900 800v-200h-900v200h900zM600 500v-100h-500v100h500zM1100 500v-100h-400v100h400zM1400 500v-100h-200 v100h200zM1900 500v-100h-400v100h400z" />
 <glyph unicode="&#xf480;" d="M1900 1600v-200h-1800v200h1800zM200 1300h1600v-1000h-1600v1000zM1300 1000v100h-600v-100h600z" />
 <glyph unicode="&#xf483;" d="M1000 1740q62 0 106 -44t44 -106t-44 -106.5t-106 -44.5t-106 44.5t-44 106.5t44 106t106 44zM340 1264q0 29 165 48t330 24l165 4q660 -11 660 -76q0 -29 -112 -64t-224 -56l-111 -20l59 -306q91 -515 47 -532q-17 -7 -56.5 44t-83 128.5t-84.5 156t-68 134.5l-27 56 l-96 -193q-177 -342 -222 -326q-17 14 -13 96.5t23 209t40.5 244.5t38.5 203l17 85q-448 75 -448 140z" />
 <glyph unicode="&#xf484;" d="M1200 1500v300q0 41 -29.5 70.5t-70.5 29.5h-200q-41 0 -70.5 -29.5t-29.5 -70.5v-300q0 -41 29.5 -70.5t70.5 -29.5h200q41 0 70.5 29.5t29.5 70.5zM1000 1800q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z M1800 500v800q0 82 -59 141t-141 59h-300v-33q0 -69 -49 -118t-118 -49h-266q-69 0 -118 49t-49 118v33h-300q-82 0 -141 -59t-59 -141v-800q0 -82 59 -141t141 -59h1200q82 0 141 59t59 141zM1700 1100v-600h-1400v600h1400zM900 900q0 41 -14.5 70.5t-35.5 29.5 t-35.5 -29.5t-14.5 -70.5t14.5 -70.5t35.5 -29.5t35.5 29.5t14.5 70.5zM1200 900q0 41 -14.5 70.5t-35.5 29.5t-35.5 -29.5t-14.5 -70.5t14.5 -70.5t35.5 -29.5t35.5 29.5t14.5 70.5zM604 779q151 -79 396 -79t396 79q-16 -76 -129 -127.5t-267 -51.5t-267 51.5t-129 127.5z " />
 <glyph unicode="&#xf485;" d="M19 1408q-22 -18 79 -142t212 -240l112 -115l79 79t184.5 185.5t249.5 256.5t232.5 247t179 206t45.5 89q-30 17 -274 -166.5t-474 -375.5l-229 -191q-4 3 -11.5 7t-32.5 18.5t-47.5 26.5t-57 30.5t-61.5 31t-61 27.5t-55 21t-43.5 10t-26.5 -5zM1542 1310l-315 -315 l-181 182l315 315q25 25 69.5 16t81.5 -47q38 -37 47 -81.5t-17 -69.5zM765 1138l88 109l876 -875l-116 -81q-49 -49 -163 -81t-208 -32h-377l-121 -121q-43 -43 -103 -43t-103 43t-43 103t43 104l121 120v376q0 94 29.5 212.5t76.5 165.5zM1470 752l315 315q25 26 69.5 17 t81.5 -47q38 -37 47 -81t-17 -69l-315 -316z" />
-<glyph unicode="&#xf486;" d="M2000 1462l-101 -282v1q-78 28 -153 -8t-104 -114q-28 -78 7.5 -153t114.5 -103v-1l-101 -282l-1506 538l99 279q78 -28 153 7.5t103 113.5t-7.5 152.5t-113.5 102.5l102 287zM1455 1125q34 108 16.5 208.5t-87 183.5t-171.5 120q-156 55 -305.5 -16t-205.5 -226 q-34 -108 -16.5 -209t87 -184t171.5 -119q155 -55 305 16t206 226zM1199 1599q133 -48 197 -171l-4 2q-24 9 -46.5 -3.5t-31.5 -36.5q-10 -28 5 -91q9 -62 -6 -104q-9 -27 -65 -100l-74 -101l8 408l40 -11q14 -3 18 11t-10 18q-57 15 -92 28l-88 36q-7 3 -12 0t-7.5 -7.5 t-0.5 -10.5t8 -9q16 -8 34 -16l1 -163l-153 -196l8 411l40 -11q14 -3 17.5 11t-10.5 18q-56 15 -91 28q-3 1 -22 8q71 54 159 68t178 -16zM740 1381q25 73 78 127l4 -500q-72 72 -94.5 171.5t12.5 201.5zM1144 906l210 263q49 55 69 112q4 10 11 35q14 -90 -17 -177 q-33 -92 -106.5 -153.5t-166.5 -79.5zM1074 1228l2 -322q0 -4 1 -6q-60 0 -120 21q-49 18 -90 48zM1198 620l210 -75q18 -64 71 -104.5t120 -40.5h1v-300h-1600v296q83 0 141.5 58.5t58.5 141.5q0 82 -59 141t-141 59v304h105l-28 -80l428 -152q-105 -115 -105 -268 q0 -166 117 -283t283 -117t283 117t117 283q0 4 -1 10t-1 10zM545 853l148 -53q-11 -3 -10.5 -15t13.5 -13q18 -2 37 -3l56 -154l-78 -236l-131 390l41 3q9 1 12 8.5t-1 14.5t-13 7q-59 -5 -96 -5q-15 0 -23 1q19 29 45 55zM440 600q0 76 32 146l171 -470q-92 45 -147.5 132 t-55.5 192zM859 741l172 -62q12 -29 12 -61q0 -28 -28 -116l-35 -120zM1160 600q0 -98 -48.5 -181t-130.5 -130l110 318q7 20 14 46l52 -19q3 -17 3 -34zM698 255l108 314l111 -303q0 -1 0.5 -2.5t1.5 -2.5q-60 -21 -119 -21q-47 0 -102 15z" />
+<glyph unicode="&#xf486;" d="M2000 1462l-101 -282v1q-78 28 -153 -8t-104 -114q-28 -78 7.5 -153t114.5 -103v-1l-101 -282l-1506 538l99 279q78 -28 153 7.5t103 113.5t-7.5 152.5t-113.5 102.5l102 287zM1455 1125q34 108 16.5 208.5t-87 183.5t-171.5 120q-156 55 -305.5 -16t-205.5 -226 q-34 -108 -16.5 -209t87 -184t171.5 -119q155 -55 305 16t206 226zM1199 1599q133 -48 197 -171l-4 2q-24 9 -46.5 -3.5t-31.5 -36.5q-10 -28 5 -91q9 -62 -6 -104q-9 -27 -65 -100l-74 -101l8 408l40 -11q14 -3 18 11t-10 18q-57 15 -92 28l-88 36q-14 6 -20 -7.5t8 -19.5 q16 -8 34 -16l1 -163l-153 -196l8 411l40 -11q14 -3 17.5 11t-10.5 18q-56 15 -91 28q-3 1 -22 8q71 54 159 68t178 -16zM740 1381q25 73 78 127l4 -500q-72 72 -94.5 171.5t12.5 201.5zM1144 906l210 263q49 55 69 112q4 10 11 35q14 -90 -17 -177q-33 -92 -106.5 -153.5 t-166.5 -79.5zM1074 1228l2 -322q0 -4 1 -6q-60 0 -120 21q-49 18 -90 48zM1198 620l210 -75q18 -64 71 -104.5t120 -40.5h1v-300h-1600v296q83 0 141.5 58.5t58.5 141.5q0 82 -59 141t-141 59v304h105l-28 -80l428 -152q-105 -115 -105 -268q0 -166 117 -283t283 -117 t283 117t117 283q0 4 -1 10t-1 10zM545 853l148 -53q-11 -3 -10.5 -15t13.5 -13q18 -2 37 -3l56 -154l-78 -236l-131 390l41 3q9 1 12 8.5t-1 14.5t-13 7q-59 -5 -96 -5q-15 0 -23 1q19 29 45 55zM440 600q0 76 32 146l171 -470q-92 45 -147.5 132t-55.5 192zM859 741 l172 -62q12 -29 12 -61q0 -28 -28 -116l-35 -120zM1160 600q0 -98 -48.5 -181t-130.5 -130l110 318q7 20 14 46l52 -19q3 -17 3 -34zM698 255l108 314l111 -303q0 -1 0.5 -2.5t1.5 -2.5q-60 -21 -119 -21q-47 0 -102 15z" />
 <glyph unicode="&#xf487;" d="M1000 288q240 101 420.5 265.5t283.5 355.5q97 183 106.5 349t-74.5 276q-144 181 -373 174q-99 -3 -194 -42.5t-169 -103.5q-74 64 -169 103.5t-194 42.5q-229 7 -373 -174q-84 -110 -74.5 -276t108.5 -349q101 -191 281.5 -355.5t420.5 -265.5z" />
-<glyph unicode="&#xf488;" d="M1815 1406q66 -233 -2 -448q-31 -96 -91.5 -160.5t-138.5 -87.5q-16 -6 -40 -6q-6 -2 -18 -2q-6 -2 -22 -2h-680l222 -550q3 -18 -14 -34q-13 -16 -34 -16h-302q-21 0 -34 16q-17 17 -14 34l-100 550h-122l-2 2q-37 -4 -78 12.5t-76 49.5q-81 78 -106 188q-33 110 -2 220 q27 94 106 130l2 2l900 540q20 12 24 16q9 6 24 12q19 10 50 18q77 22 162 -4.5t160 -93.5q76 -68 135.5 -168t90.5 -218zM1557 808h-2q58 14 104 70q86 104 86 304q0 92 -28 198q-50 199 -178 324q-58 56 -123 80t-123 8q-122 -33 -170 -200q-48 -156 6 -372 q59 -212 180 -324q126 -119 248 -88zM1303 1516q30 6 62 -4q66 -28 102 -100q42 -84 42 -178q0 -44 -12 -80q-30 -81 -86 -94q-26 -8 -57.5 3.5t-56.5 36.5q-58 58 -78 150q-24 83 2 172q10 35 33 60.5t49 33.5z" />
+<glyph unicode="&#xf488;" d="M1815 1406q66 -233 -2 -448q-31 -96 -91.5 -160.5t-138.5 -87.5q-16 -6 -40 -6q-6 -2 -18 -2q-6 -2 -22 -2h-680l222 -550q3 -17 -14 -34q-13 -16 -34 -16h-302q-21 0 -34 16q-17 17 -14 34l-100 550h-122l-2 2q-37 -4 -78 12.5t-76 49.5q-81 78 -106 188q-33 110 -2 220 q27 94 106 130l2 2l900 540q20 12 24 16q9 6 24 12q19 10 50 18q77 22 162 -4.5t160 -93.5q76 -68 135.5 -168t90.5 -218zM1557 808h-2q58 14 104 70q86 104 86 304q0 92 -28 198q-50 199 -178 324q-58 56 -123 80t-123 8q-122 -33 -170 -200q-48 -156 6 -372 q59 -212 180 -324q126 -119 248 -88zM1303 1516q30 6 62 -4q66 -28 102 -100q42 -84 42 -178q0 -44 -12 -80q-30 -81 -86 -94q-26 -8 -57.5 3.5t-56.5 36.5q-58 58 -78 150q-24 83 2 172q10 35 33 60.5t49 33.5z" />
 <glyph unicode="&#xf489;" d="M200 1800h1600v-400h-1600v400zM200 800v400h400v-400h-400zM800 1000v200h400v-200h-400zM1400 700v500h400v-500h-400zM800 200v600h400v-600h-400zM200 200v400h400v-400h-400zM1400 200v300h400v-300h-400z" />
 <glyph unicode="&#xf490;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM1100 600v300q0 40 -29 71q-31 29 -71 29h-300q-40 0 -71 -29q-29 -31 -29 -71v-300q0 -40 29 -71q31 -29 71 -29h300q40 0 71 29q29 31 29 71zM1400 500v500l-200 -200v-100z" />
 <glyph unicode="&#xf491;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM500 1700v-100h600v100h-600zM1200 1400h300l-300 300v-300zM500 1500v-100h600v100h-600zM1500 1200v100h-1000v-100h1000zM1500 1000v100h-1000v-100h1000zM1500 800v100h-1000v-100h1000zM1100 600v100h-600v-100h600z" />
 <glyph unicode="&#xf504;" d="M900 1700h800v-800l-200 100v308l-560 -559l-141 141l609 610h-408zM1200 500v300l200 200v-700h-1100v1100h800l-200 -200h-400v-700h700z" />
 <glyph unicode="&#xf506;" d="M1575 1325l225 375v-1400l-225 375l125 125h-400v-400l125 125l375 -225h-1600l375 225l125 -125v400h-400l125 -125l-225 -375v1400l225 -375l-125 -125h400v400l-125 -125l-375 225h1600l-375 -225l-125 125v-400h400z" />
 <glyph unicode="&#xf507;" d="M1900 1000q0 183 -71.5 349.5t-192 287t-287 192t-349.5 71.5t-349.5 -71.5t-287 -192t-192 -287t-71.5 -349.5t71.5 -349.5t192 -287t287 -192t349.5 -71.5t349.5 71.5t287 192t192 287t71.5 349.5zM1000 1740q62 0 106 -44t44 -106t-44 -106.5t-106 -44.5t-106 44.5 t-44 106.5t44 106t106 44zM340 1264q0 29 165 48t330 24l165 4q660 -11 660 -76q0 -29 -112 -64t-224 -56l-111 -20l59 -306q91 -515 47 -532q-17 -7 -56.5 44t-83 128.5t-84.5 156t-68 134.5l-27 56l-96 -193q-177 -342 -222 -326q-17 14 -13 96.5t23 209t40.5 244.5 t38.5 203l17 85q-448 75 -448 140z" />
-<glyph unicode="&#xf508;" d="M1500 1600h300v-1500h-1600v1500h300v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100h400v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100zM600 1700v-250q0 -21 15 -36q14 -14 35 -14t35 14q15 15 15 36v250q0 22 -15 35q-13 15 -35 15t-35 -15 q-15 -13 -15 -35zM1300 1700v-250q0 -20 14 -36q16 -14 36 -14t36 14q14 16 14 36v250q0 21 -14 35q-15 15 -36 15t-36 -15q-14 -14 -14 -35zM1700 200v1000h-1400v-1000h1400zM700 1100v-200h-200v200h200zM900 1100h200v-200h-200v200zM1300 900v200h200v-200h-200z M700 800v-200h-200v200h200zM900 800h200v-200h-200v200zM1300 600v200h200v-200h-200zM700 500v-200h-200v200h200zM1100 300h-200v200h200v-200zM1500 300h-200v200h200v-200z" />
+<glyph unicode="&#xf508;" d="M1500 1600h300v-1500h-1600v1500h300v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100h400v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100zM600 1700v-250q0 -21 15 -36q14 -14 35 -14t35 14q15 15 15 36v250q0 22 -15 35q-14 15 -35 15 q-22 0 -35 -15q-15 -13 -15 -35zM1300 1700v-250q0 -20 14 -36q16 -14 36 -14t36 14q14 16 14 36v250q0 21 -14 35q-15 15 -36 15t-36 -15q-14 -14 -14 -35zM1700 200v1000h-1400v-1000h1400zM700 1100v-200h-200v200h200zM900 1100h200v-200h-200v200zM1300 900v200h200 v-200h-200zM700 800v-200h-200v200h200zM900 800h200v-200h-200v200zM1300 600v200h200v-200h-200zM700 500v-200h-200v200h200zM1100 300h-200v200h200v-200zM1500 300h-200v200h200v-200z" />
 <glyph unicode="&#xf509;" d="M200 1900h1600q41 0 70.5 -29.5t29.5 -70.5v-1600q0 -41 -29.5 -70.5t-70.5 -29.5h-1600q-41 0 -70.5 29.5t-29.5 70.5v1600q0 41 29.5 70.5t70.5 29.5zM901 1101v600h-601v-600h601zM1701 1101v600h-600v-600h600zM901 300v600h-601v-600h601zM1701 300v600h-600v-600 h600z" />
 <glyph unicode="&#xf510;" d="M100 1683v-1483h1800v1400h-1100v83q0 48 -35 83q-34 34 -83 34h-464q-49 0 -83 -34q-35 -34 -35 -83zM1000 1400v-200h-700v200h700zM1700 1400v-1000h-500v1000h500zM1000 1000v-200h-700v200h700zM1000 600v-200h-700v200h700z" />
 <glyph unicode="&#xf511;" d="M200 157q28 -27 94 -18.5t154 38t194.5 81.5t215 113t215 131.5t194.5 136.5t154 129.5t93 109.5q36 60 23.5 137.5t-58 155t-117.5 151.5q32 21 66.5 21t64.5 -17.5t62.5 -41.5t61 -50.5t59.5 -46t58 -26.5t57 8q46 24 68.5 85.5t1.5 106.5q-12 26 -36.5 45.5 t-47.5 30.5t-64 20t-63 12t-70 7.5t-61 5.5q36 9 80 27.5t92 47t80.5 68.5t33.5 82q3 69 -66.5 131.5t-138.5 54.5q-25 -3 -47 -14t-40 -32.5t-31.5 -41t-27.5 -53t-22 -52.5t-20.5 -56.5t-17.5 -50.5q-16 223 -98 295q-55 43 -106 38t-88 -46.5t-38 -96.5q-1 -31 19 -62.5 t49 -56t60.5 -54.5t53 -57t27 -63.5t-16.5 -73.5q-78 60 -157.5 96.5t-155.5 44t-133 -26.5q-70 -45 -163 -169q168 -178 309 -272q15 -11 18.5 -29t-7.5 -33q-10 -16 -28.5 -19.5t-33.5 7.5q-138 94 -310 271q-71 -105 -134 -223q157 -158 279 -241q15 -11 18 -29t-7 -33 q-10 -16 -28.5 -19.5t-34.5 7.5q-117 80 -271 232q-143 -282 -212 -524t-5 -299z" />
 <glyph unicode="&#xf523;" d="M500 400v1200h300v-1200h-300zM1200 1600h300v-1200h-300v1200z" />
 <glyph unicode="&#xf524;" d="M2000 1362l-101 -282v1q-77 28 -153 -8t-104 -114q-28 -77 7 -153q36 -75 115 -103v-1l-101 -282l-1506 538l99 279q77 -28 153 8q74 34 103 113q28 77 -8 153q-34 73 -113 102l102 287zM1503 793l137 376q18 47 -4 95q-22 46 -70 65l-752 273q-48 17 -95.5 -5t-64.5 -69 l-137 -376q-18 -49 4 -96t70 -64l752 -274q22 -8 43 -8q39 0 71.5 23t45.5 60zM797 1555l751 -273q29 -11 43 -39q13 -28 2 -57l-137 -376q-10 -28 -38.5 -42t-57.5 -3l-751 274q-29 10 -42.5 38.5t-2.5 57.5l137 376q7 22 27 35.5t43 13.5q11 0 26 -5zM1479 341 q53 -41 120 -41h1v-300h-1600v296q84 0 141 59q59 57 59 141q0 82 -59 141t-141 59v304h105l-28 -80l287 -102q-39 -12 -64 -44.5t-25 -73.5v-400q0 -52 36.5 -88.5t88.5 -36.5h800q52 0 88.5 36.5t36.5 88.5v175l83 -30q18 -65 71 -104zM325 300v400q0 31 22 53t53 22h83 l792 -283v-192q0 -31 -22 -53t-53 -22h-800q-31 0 -53 22t-22 53z" />
 <glyph unicode="&#xf525;" d="M1206 1400l-21 20q-26 27 -32 47t3.5 38t36.5 45l272 275q11 11 27.5 28.5t23.5 24.5t19 17.5t18.5 12t17 3.5t19.5 -3t21 -13t27 -22l21 -20zM1259 1355l440 440q21 -28 41.5 -59.5t47 -78t45 -95t31 -100t10 -104t-21.5 -97.5q-33 -76 -59 -117.5t-69.5 -93 t-71.5 -89.5q-226 -257 -600 -607q-41 -29 -90 -72.5t-91.5 -70.5t-118.5 -57q-43 -17 -95 -18t-103.5 12.5t-100.5 31.5t-97 44.5t-80 45.5t-62 40l440 440l118 -162q16 -23 48.5 -16.5t66 28.5t65.5 54q23 23 92.5 93t118 118.5t104.5 106.5t85 89q32 32 53.5 65t29 65.5 t-16.5 49.5zM157 350l-21 21q-15 16 -23.5 28t-9.5 24.5t-1 19.5t11 21t17 20.5t27 26.5t31 30l274 272q41 39 63.5 42.5t63.5 -31.5l20 -21z" />
-<glyph unicode="&#xf526;" d="M0 1700h2000v-1200h-75q0 134 -95.5 229.5t-229.5 95.5q-96 0 -175 -52.5t-119 -138.5q-40 16 -81 16q-72 0 -129.5 -42t-81.5 -108h-1014v1200zM837 1389q-10 -24 -11 -47q-2 -27 1 -50l2 -8q3 -16 5 -23q2 -8 10 -31q3 -11 15 -33q9 -15 23 -31q13 -15 31 -23 q18 -9 40 -9q21 0 39 9q16 8 30 22q12 12 22 32q9 15 16 33q6 15 9 31q2 7 3 15l2 7q1 4 1 9q7 41 -4 82q-10 38 -41 66q-32 27 -79 27q-29 0 -52 -10q-24 -11 -38 -28q-12 -15 -24 -40zM1285 785v114q0 49 -29 98t-77 79q-47 31 -102 31l-124 -84l-128 82q-56 0 -104 -30 q-47 -30 -74 -77q-27 -48 -27 -99v-114l18 -5q1 0 51 -14q40 -9 74 -15q31 -6 91 -13q57 -5 99 -5q40 0 98 5q58 7 89 13q22 3 76 16l50 12q11 3 19 6zM1600 775q114 0 194.5 -80.5t80.5 -194.5t-80.5 -194.5t-194.5 -80.5q-107 0 -187 77q37 56 37 123q0 57 -26.5 106.5 t-72.5 79.5q33 74 100 119t149 45zM1050 425q0 72 51.5 123.5t123.5 51.5t123.5 -51.5t51.5 -123.5t-51.5 -123.5t-123.5 -51.5t-123.5 51.5t-51.5 123.5z" />
+<glyph unicode="&#xf526;" d="M0 1700h2000v-1200h-75q0 134 -95.5 229.5t-229.5 95.5q-96 0 -175 -52.5t-119 -138.5q-40 16 -81 16q-72 0 -129.5 -42t-81.5 -108h-1014v1200zM837 1389q-10 -24 -11 -47q-2 -27 1 -50l2 -8q3 -16 5 -23q2 -8 10 -31q3 -11 15 -33q9 -15 23 -31q13 -15 31 -23 q18 -9 40 -9q21 0 39 9q16 8 30 22q12 12 22 32q9 15 16 33q6 15 9 31q2 7 3 15l2 7q1 4 1 9q7 41 -4 82q-10 38 -41 66q-31 27 -79 27q-29 0 -52 -10q-24 -11 -38 -28q-12 -15 -24 -40zM1285 785v114q0 49 -29 98t-77 79q-47 31 -102 31l-124 -84l-128 82q-56 0 -104 -30 q-47 -30 -74 -77q-27 -48 -27 -99v-114l18 -5q2 0 51 -14q40 -9 74 -15q31 -6 91 -13q57 -5 99 -5q40 0 98 5q58 7 89 13q22 3 76 16l50 12q11 3 19 6zM1600 775q114 0 194.5 -80.5t80.5 -194.5t-80.5 -194.5t-194.5 -80.5q-107 0 -187 77q37 56 37 123q0 57 -26.5 106.5 t-72.5 79.5q33 74 100 119t149 45zM1050 425q0 72 51.5 123.5t123.5 51.5t123.5 -51.5t51.5 -123.5t-51.5 -123.5t-123.5 -51.5t-123.5 51.5t-51.5 123.5z" />
 <glyph unicode="&#xf527;" d="M858 1761q47 0 81 -14q88 -39 128.5 -146.5t41.5 -250.5q56 77 156 153t185 76q41 0 80 -9.5t81.5 -34.5t78 -64t66 -102.5t47.5 -144.5q-163 94 -365 94q-198 0 -329 -89q58 16 133 16q111 0 207.5 -34.5t132.5 -96.5q34 -58 38.5 -140.5t-25.5 -160t-89 -113.5 q-7 104 -55.5 199t-127 154t-164.5 59q-67 0 -133 -38q-109 -66 -184 -214.5t-108.5 -339.5t-33.5 -420h-500q0 160 46.5 313t124 273.5t177.5 222t207 168.5t213 102q-93 15 -182 15q-321 0 -586 -194q28 107 78 188t114 128.5t133.5 70.5t143.5 23q93 0 178 -34.5 t142 -94.5q-24 80 -68.5 138.5t-101.5 89t-115.5 44.5t-122.5 14q-113 0 -205 -35q66 93 215 161t267 68zM1300 850q0 62 -44 106t-106 44t-106 -44t-44 -106t44 -106t106 -44t106 44t44 106z" />
+<glyph unicode="&#xf528;" d="M1641 1041q59 -59 59 -141v-700q0 -82 -59 -141t-141 -59h-1000q-82 0 -141 59t-59 141v700q0 82 59 141t141 59h700v300q0 82 -59 141t-141 59t-141 -59t-59 -141v-100h-300v100q0 136 67 251t182 182t251 67t251 -67t182 -182q36 -61 51.5 -137.5t15.5 -213.5v-200 q82 0 141 -59zM1167 566q33 48 33 109q0 83 -59 142q-60 58 -141 58t-141 -58q-59 -59 -59 -142q0 -61 33 -109q33 -50 87 -74v-217h160v217q54 24 87 74z" />
+<glyph unicode="&#xf529;" d="M1272 1800q14 2 41 -7q42 -14 60.5 -53t5.5 -82q-2 -7 -16.5 -51.5t-26.5 -84t-26 -87.5t-22.5 -84t-8.5 -51q0 -38 44 -69t91 -31h300q45 0 72.5 -27.5t27.5 -72.5q0 -27 -50 -202t-100 -336l-50 -162q-16 -38 -43 -69t-57 -31h-914v900h214q29 29 182.5 256t175.5 271 q16 30 43 49.5t57 23.5zM200 1200h200v-900h-200v900z" />
+<glyph unicode="&#xf530;" d="M1720 1670l16 -17q29 -29 29 -70.5t-29 -70.5l-1281 -1282q-29 -29 -70.5 -29t-70.5 29l-17 17q-29 29 -29 70.5t29 70.5l159 160q-237 151 -356 393q121 247 364 399q241 151 536 151q175 0 340 -60l238 239q29 29 71 29t71 -29zM1011 1269q-34 -37 -34 -88 q0 -43 31 -81l180 179q-20 19 -45 26q-39 3 -49 4q-49 -4 -83 -40zM240 941q104 -185 305 -305l128 128q-77 104 -77 236q0 160 109 276q-153 -40 -276 -126q-121 -88 -189 -209zM1562 1154l96 96q154 -130 242 -309q-121 -247 -364 -399q-241 -151 -536 -151q-86 0 -183 18 l107 107q62 -5 76 -5q245 0 450 121t310 309q-68 121 -189 209q-2 0 -5 2t-4 2zM1004 596l400 400q-1 -164 -118 -281q-118 -118 -282 -119z" />
+<glyph unicode="&#xf531;" d="M1025 1898q187 0 351 -71t278.5 -192.5t180 -287t65.5 -349.5t-65.5 -349.5t-180 -287t-278.5 -192.5t-351 -71q-236 0 -438.5 107.5t-329.5 291.5l259 152q85 -115 212 -183t272 -68q162 0 300.5 82.5t219 221t80.5 296.5t-80.5 296.5t-219 221t-300.5 82.5 q-144 0 -270.5 -67t-211.5 -182l182 -151l-600 -200v700l189 -158q129 166 322 262t414 96z" />
+<glyph unicode="&#xf533;" d="M1400 1413q0 165 -117 282.5t-283 117.5t-283 -117.5t-117 -282.5q0 -166 117 -283t283 -117t283 117t117 283zM324 934q-71 -40 -119.5 -104.5t-68 -138t-10 -153.5t50.5 -150q55 -94 148.5 -147.5t196 -53t202.5 53.5q143 83 186 243t-40 304q-41 70 -105 118.5 t-137.5 68t-153.5 10t-150 -50.5zM1276 241q144 -83 304 -40t243 186q53 100 53.5 202.5t-53 196t-147.5 148.5q-70 41 -150 50.5t-153.5 -10t-137.5 -68t-105 -118.5q-83 -144 -40 -304t186 -243z" />
+<glyph unicode="&#xf534;" d="M1000 1800q163 0 311 -63.5t255 -170.5t170.5 -255t63.5 -311t-63.5 -311t-170.5 -255t-255 -170.5t-311 -63.5t-311 63.5t-255 170.5t-170.5 255t-63.5 311t63.5 311t170.5 255t255 170.5t311 63.5zM1113 862l35 646h-296l35 -646h226zM1104 526q37 35 37 96 q0 62 -36 97q-37 35 -106 35t-107 -35q-37 -34 -37 -97q0 -61 38 -96q38 -34 106 -34t105 34z" />
+<glyph unicode="&#xf535;" d="M1800 300v1400h-1600v-1400h1600zM1600 1300h-1200v200h1200v-200zM900 900h-500v200h500v-200zM1600 900h-500v200h500v-200zM900 500h-500v200h500v-200zM1600 500h-500v200h500v-200z" />
+<glyph unicode="&#xf536;" d="M300 1550v200l38.5 11t102 24t156 30t190 24t213.5 11q163 0 338 -25t268 -50l94 -25v-200l-500 -703v-697q-122 9 -225 59q-46 22 -89.5 57.5t-64.5 59.5l-21 24v497z" />
+<glyph unicode="&#xf537;" d="M500 1639v257l899 1l-1 -258q-93 -20 -154.5 -94.5t-61.5 -172.5v-50q1 -98 62 -172t155 -94l-1 -258h-341l-1 -257q0 -77 -34 -259t-72 -182q-39 0 -73.5 182t-34.5 259v256l-342 1l1 258q93 19 154 93.5t61 172.5v50q0 98 -61 172.5t-155 94.5z" />
+<glyph unicode="&#xf538;" d="M200 1800h500v-1100h-500v1100zM800 1800h500v-500h-500v500zM1400 1800h400v-1600h-400v1600zM800 1200h500v-500h-500v500zM200 600h1100v-400h-1100v400z" />
+<glyph unicode="&#xf540;" d="M1833 1643q3 9 6 24t-4 51t-33 61q-24 23 -54.5 29t-49.5 0l-18 -5q-91 -45 -367.5 -233.5t-399.5 -323.5q-46 -52 -88 -145t-55 -187.5t34 -149.5q52 -46 146.5 -36t192 51.5t140.5 84.5q134 134 323 416t227 363zM140 235q66 43 107 95.5t59.5 101t34 95t45 92.5 t77.5 80q68 50 156.5 44t151.5 -73q51 -55 51.5 -165t-67.5 -181q-76 -70 -181.5 -101.5t-214 -26.5t-219.5 39z" />
+<glyph unicode="&#xf541;" d="M1427 1313l-427 373l-427 -373l-73 73l500 438l500 -438zM1400 1158l-405 -343l-395 347v74l400 350l400 -350v-78zM1100 1030v170h-200v-170h200zM927 627l-427 373l-427 -373l-73 73l500 438l500 -438zM1927 627l-427 373l-427 -373l-73 73l500 438l500 -438zM500 900 l400 -350v-350h-800v350zM1500 900l400 -350v-350h-800v350zM600 300v200h-200v-200h200zM1600 300v200h-200v-200h200z" />
+<glyph unicode="&#xf542;" d="M728 200q-14 -2 -41 7q-42 14 -60.5 53t-5.5 82q2 7 16.5 51.5t26.5 84t26 87.5t22.5 84t8.5 51q0 38 -44 69t-91 31h-300q-45 0 -72.5 27.5t-27.5 72.5q0 27 50 202t100 336l50 162q16 38 43 69t57 31h914v-900h-214q-29 -29 -182.5 -256t-175.5 -271q-16 -30 -43 -49.5 t-57 -23.5zM1800 800h-200v900h200v-900z" />
+<glyph unicode="&#xf543;" d="M1700 1100v-200h-600v-600h-200v600h-600v200h600v600h200v-600h600z" />
 <glyph horiz-adv-x="600" />
 </font>
-</defs></svg> 
\ No newline at end of file
+</defs></svg>
index 59ea8f7708fc9379f9182797dba1a24d9b364c4f..c6651419a538ce9ddbd4090cf5e7e29c3e8cb92a 100644 (file)
Binary files a/wp-includes/fonts/dashicons.ttf and b/wp-includes/fonts/dashicons.ttf differ
index 7547f9f3df8317dde3820da008ddba4558318caa..9e41bf04e668c6186dcb43f7419b9a6242521106 100644 (file)
Binary files a/wp-includes/fonts/dashicons.woff and b/wp-includes/fonts/dashicons.woff differ
index 0151e1fc64ee3073600a485ed14af5cc6251b629..fa9551a3e4bcda175fce60bf44a9f64b98718473 100644 (file)
  *
  * Code within certain html blocks are skipped.
  *
+ * Do not use this function before the 'init' action hook; everything will break.
+ *
  * @since 0.71
- * @uses $wp_cockneyreplace Array of formatted entities for certain common phrases
+ *
+ * @global array $wp_cockneyreplace Array of formatted entities for certain common phrases
+ * @global array $shortcode_tags
+ * @staticvar array $static_characters
+ * @staticvar array $static_replacements
+ * @staticvar array $dynamic_characters
+ * @staticvar array $dynamic_replacements
+ * @staticvar array $default_no_texturize_tags
+ * @staticvar array $default_no_texturize_shortcodes
+ * @staticvar bool  $run_texturize
  *
  * @param string $text The text to be formatted
- * @param bool $reset Set to true for unit testing. Translated patterns will reset.
+ * @param bool   $reset Set to true for unit testing. Translated patterns will reset.
  * @return string The string replaced with html entities
  */
-function wptexturize($text, $reset = false) {
+function wptexturize( $text, $reset = false ) {
        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;
+       static $static_characters = null,
+               $static_replacements = null,
+               $dynamic_characters = null,
+               $dynamic_replacements = null,
+               $default_no_texturize_tags = null,
+               $default_no_texturize_shortcodes = null,
+               $run_texturize = true,
+               $apos = null,
+               $prime = null,
+               $double_prime = null,
+               $opening_quote = null,
+               $closing_quote = null,
+               $opening_single_quote = null,
+               $closing_single_quote = null,
+               $open_q_flag = '<!--oq-->',
+               $open_sq_flag = '<!--osq-->',
+               $apos_flag = '<!--apos-->';
 
        // If there's nothing to do, just stop.
        if ( empty( $text ) || false === $run_texturize ) {
@@ -88,11 +114,16 @@ function wptexturize($text, $reset = false) {
                if ( isset($wp_cockneyreplace) ) {
                        $cockney = array_keys( $wp_cockneyreplace );
                        $cockneyreplace = array_values( $wp_cockneyreplace );
-               } elseif ( "'" != $apos ) { // Only bother if we're doing a replacement.
-                       $cockney = array( "'tain't", "'twere", "'twas", "'tis", "'twill", "'til", "'bout", "'nuff", "'round", "'cause", "'em" );
-                       $cockneyreplace = array( $apos . "tain" . $apos . "t", $apos . "twere", $apos . "twas", $apos . "tis", $apos . "twill", $apos . "til", $apos . "bout", $apos . "nuff", $apos . "round", $apos . "cause", $apos . "em" );
                } else {
-                       $cockney = $cockneyreplace = array();
+                       /* translators: This is a comma-separated list of words that defy the syntax of quotations in normal use,
+                        * for example...  'We do not have enough words yet' ... is a typical quoted phrase.  But when we write
+                        * lines of code 'til we have enough of 'em, then we need to insert apostrophes instead of quotes.
+                        */
+                       $cockney = explode( ',', _x( "'tain't,'twere,'twas,'tis,'twill,'til,'bout,'nuff,'round,'cause,'em",
+                               'Comma-separated list of words to texturize in your language' ) );
+
+                       $cockneyreplace = explode( ',', _x( '&#8217;tain&#8217;t,&#8217;twere,&#8217;twas,&#8217;tis,&#8217;twill,&#8217;til,&#8217;bout,&#8217;nuff,&#8217;round,&#8217;cause,&#8217;em',
+                               'Comma-separated list of replacement words in your language' ) );
                }
 
                $static_characters = array_merge( array( '...', '``', '\'\'', ' (tm)' ), $cockney );
@@ -108,40 +139,30 @@ function wptexturize($text, $reset = false) {
 
                // '99' and '99" are ambiguous among other patterns; assume it's an abbreviated year at the end of a quotation.
                if ( "'" !== $apos || "'" !== $closing_single_quote ) {
-                       $dynamic[ '/\'(\d\d)\'(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos . '$1' . $closing_single_quote;
+                       $dynamic[ '/\'(\d\d)\'(?=\Z|[.,:;!?)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos_flag . '$1' . $closing_single_quote;
                }
                if ( "'" !== $apos || '"' !== $closing_quote ) {
-                       $dynamic[ '/\'(\d\d)"(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos . '$1' . $closing_quote;
+                       $dynamic[ '/\'(\d\d)"(?=\Z|[.,:;!?)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos_flag . '$1' . $closing_quote;
                }
 
                // '99 '99s '99's (apostrophe)  But never '9 or '99% or '999 or '99.0.
                if ( "'" !== $apos ) {
-                       $dynamic[ '/\'(?=\d\d(?:\Z|(?![%\d]|[.,]\d)))/' ] = $apos;
+                       $dynamic[ '/\'(?=\d\d(?:\Z|(?![%\d]|[.,]\d)))/' ] = $apos_flag;
                }
 
                // Quoted Numbers like '0.42'
                if ( "'" !== $opening_single_quote && "'" !== $closing_single_quote ) {
-                       $dynamic[ '/(?<=\A|' . $spaces . ')\'(\d[.,\d]*)\'/' ] = $opening_single_quote . '$1' . $closing_single_quote;
+                       $dynamic[ '/(?<=\A|' . $spaces . ')\'(\d[.,\d]*)\'/' ] = $open_sq_flag . '$1' . $closing_single_quote;
                }
 
                // Single quote at start, or preceded by (, {, <, [, ", -, or spaces.
                if ( "'" !== $opening_single_quote ) {
-                       $dynamic[ '/(?<=\A|[([{"\-]|&lt;|' . $spaces . ')\'/' ] = $opening_single_quote;
+                       $dynamic[ '/(?<=\A|[([{"\-]|&lt;|' . $spaces . ')\'/' ] = $open_sq_flag;
                }
 
                // Apostrophe in a word.  No spaces, double apostrophes, or other punctuation.
                if ( "'" !== $apos ) {
-                       $dynamic[ '/(?<!' . $spaces . ')\'(?!\Z|[.,:;"\'(){}[\]\-]|&[lg]t;|' . $spaces . ')/' ] = $apos;
-               }
-
-               // 9' (prime)
-               if ( "'" !== $prime ) {
-                       $dynamic[ '/(?<=\d)\'/' ] = $prime;
-               }
-
-               // Single quotes followed by spaces or ending punctuation.
-               if ( "'" !== $closing_single_quote ) {
-                       $dynamic[ '/\'(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $closing_single_quote;
+                       $dynamic[ '/(?<!' . $spaces . ')\'(?!\Z|[.,:;!?"\'(){}[\]\-]|&[lg]t;|' . $spaces . ')/' ] = $apos_flag;
                }
 
                $dynamic_characters['apos'] = array_keys( $dynamic );
@@ -150,22 +171,12 @@ function wptexturize($text, $reset = false) {
 
                // Quoted Numbers like "42"
                if ( '"' !== $opening_quote && '"' !== $closing_quote ) {
-                       $dynamic[ '/(?<=\A|' . $spaces . ')"(\d[.,\d]*)"/' ] = $opening_quote . '$1' . $closing_quote;
-               }
-
-               // 9" (double prime)
-               if ( '"' !== $double_prime ) {
-                       $dynamic[ '/(?<=\d)"/' ] = $double_prime;
+                       $dynamic[ '/(?<=\A|' . $spaces . ')"(\d[.,\d]*)"/' ] = $open_q_flag . '$1' . $closing_quote;
                }
 
                // Double quote at start, or preceded by (, {, <, [, -, or spaces, and not followed by spaces.
                if ( '"' !== $opening_quote ) {
-                       $dynamic[ '/(?<=\A|[([{\-]|&lt;|' . $spaces . ')"(?!' . $spaces . ')/' ] = $opening_quote;
-               }
-
-               // Any remaining double quotes.
-               if ( '"' !== $closing_quote ) {
-                       $dynamic[ '/"/' ] = $closing_quote;
+                       $dynamic[ '/(?<=\A|[([{\-]|&lt;|' . $spaces . ')"(?!' . $spaces . ')/' ] = $open_q_flag;
                }
 
                $dynamic_characters['quote'] = array_keys( $dynamic );
@@ -279,9 +290,14 @@ function wptexturize($text, $reset = false) {
 
                        if ( false !== strpos( $curl, "'" ) ) {
                                $curl = preg_replace( $dynamic_characters['apos'], $dynamic_replacements['apos'], $curl );
+                               $curl = wptexturize_primes( $curl, "'", $prime, $open_sq_flag, $closing_single_quote );
+                               $curl = str_replace( $apos_flag, $apos, $curl );
+                               $curl = str_replace( $open_sq_flag, $opening_single_quote, $curl );
                        }
                        if ( false !== strpos( $curl, '"' ) ) {
                                $curl = preg_replace( $dynamic_characters['quote'], $dynamic_replacements['quote'], $curl );
+                               $curl = wptexturize_primes( $curl, '"', $double_prime, $open_q_flag, $closing_quote );
+                               $curl = str_replace( $open_q_flag, $opening_quote, $curl );
                        }
                        if ( false !== strpos( $curl, '-' ) ) {
                                $curl = preg_replace( $dynamic_characters['dash'], $dynamic_replacements['dash'], $curl );
@@ -297,9 +313,76 @@ function wptexturize($text, $reset = false) {
        $text = implode( '', $textarr );
 
        // Replace each & with &#038; unless it already looks like an entity.
-       $text = preg_replace('/&(?!#(?:\d+|x[a-f0-9]+);|[a-z1-4]{1,8};)/i', '&#038;', $text);
+       return preg_replace( '/&(?!#(?:\d+|x[a-f0-9]+);|[a-z1-4]{1,8};)/i', '&#038;', $text );
+}
 
-       return $text;
+/**
+ * Implements a logic tree to determine whether or not "7'." represents seven feet,
+ * then converts the special char into either a prime char or a closing quote char.
+ *
+ * @since 4.3.0
+ *
+ * @param string $haystack    The plain text to be searched.
+ * @param string $needle      The character to search for such as ' or ".
+ * @param string $prime       The prime char to use for replacement.
+ * @param string $open_quote  The opening quote char. Opening quote replacement must be
+ *                            accomplished already.
+ * @param string $close_quote The closing quote char to use for replacement.
+ * @return string The $haystack value after primes and quotes replacements.
+ */
+function wptexturize_primes( $haystack, $needle, $prime, $open_quote, $close_quote ) {
+       $spaces = wp_spaces_regexp();
+       $flag = '<!--wp-prime-or-quote-->';
+       $quote_pattern = "/$needle(?=\\Z|[.,:;!?)}\\-\\]]|&gt;|" . $spaces . ")/";
+       $prime_pattern    = "/(?<=\\d)$needle/";
+       $flag_after_digit = "/(?<=\\d)$flag/";
+       $flag_no_digit    = "/(?<!\\d)$flag/";
+
+       $sentences = explode( $open_quote, $haystack );
+
+       foreach( $sentences as $key => &$sentence ) {
+               if ( false === strpos( $sentence, $needle ) ) {
+                       continue;
+               } elseif ( 0 !== $key && 0 === substr_count( $sentence, $close_quote ) ) {
+                       $sentence = preg_replace( $quote_pattern, $flag, $sentence, -1, $count );
+                       if ( $count > 1 ) {
+                               // This sentence appears to have multiple closing quotes.  Attempt Vulcan logic.
+                               $sentence = preg_replace( $flag_no_digit, $close_quote, $sentence, -1, $count2 );
+                               if ( 0 === $count2 ) {
+                                       // Try looking for a quote followed by a period.
+                                       $count2 = substr_count( $sentence, "$flag." );
+                                       if ( $count2 > 0 ) {
+                                               // Assume the rightmost quote-period match is the end of quotation.
+                                               $pos = strrpos( $sentence, "$flag." );
+                                       } else {
+                                               // When all else fails, make the rightmost candidate a closing quote.
+                                               // This is most likely to be problematic in the context of bug #18549.
+                                               $pos = strrpos( $sentence, $flag );
+                                       }
+                                       $sentence = substr_replace( $sentence, $close_quote, $pos, strlen( $flag ) );
+                               }
+                               // Use conventional replacement on any remaining primes and quotes.
+                               $sentence = preg_replace( $prime_pattern, $prime, $sentence );
+                               $sentence = preg_replace( $flag_after_digit, $prime, $sentence );
+                               $sentence = str_replace( $flag, $close_quote, $sentence );
+                       } elseif ( 1 == $count ) {
+                               // Found only one closing quote candidate, so give it priority over primes.
+                               $sentence = str_replace( $flag, $close_quote, $sentence );
+                               $sentence = preg_replace( $prime_pattern, $prime, $sentence );
+                       } else {
+                               // No closing quotes found.  Just run primes pattern.
+                               $sentence = preg_replace( $prime_pattern, $prime, $sentence );
+                       }
+               } else {
+                       $sentence = preg_replace( $prime_pattern, $prime, $sentence );
+                       $sentence = preg_replace( $quote_pattern, $close_quote, $sentence );
+               }
+               if ( '"' == $needle && false !== strpos( $sentence, '"' ) ) {
+                       $sentence = str_replace( '"', $close_quote, $sentence );
+               }
+       }
+
+       return implode( $open_quote, $sentences );
 }
 
 /**
@@ -313,10 +396,10 @@ function wptexturize($text, $reset = false) {
  * @access private
  *
  * @param string $text Text to check. Must be a tag like `<html>` or `[shortcode]`.
- * @param array $stack List of open tag elements.
- * @param array $disabled_elements The tag names to match against. Spaces are not allowed in tag names.
+ * @param array  $stack List of open tag elements.
+ * @param array  $disabled_elements The tag names to match against. Spaces are not allowed in tag names.
  */
-function _wptexturize_pushpop_element($text, &$stack, $disabled_elements) {
+function _wptexturize_pushpop_element( $text, &$stack, $disabled_elements ) {
        // Is it an opening tag or closing tag?
        if ( '/' !== $text[1] ) {
                $opening_tag = true;
@@ -370,7 +453,7 @@ function _wptexturize_pushpop_element($text, &$stack, $disabled_elements) {
  *                    after paragraphing. Default true.
  * @return string Text which has been converted into correct paragraph tags.
  */
-function wpautop($pee, $br = true) {
+function wpautop( $pee, $br = true ) {
        $pre_tags = array();
 
        if ( trim($pee) === '' )
@@ -408,7 +491,7 @@ function wpautop($pee, $br = true) {
                $pee .= $last_pee;
        }
        // Change multiple <br>s into two line breaks, which will turn into paragraphs.
-       $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
+       $pee = preg_replace('|<br\s*/?>\s*<br\s*/?>|', "\n\n", $pee);
 
        $allblocks = '(?: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|figcaption|details|menu|summary)';
 
@@ -465,24 +548,24 @@ function wpautop($pee, $br = true) {
        }
 
        // Under certain strange conditions it could create a P of entirely whitespace.
-       $pee = preg_replace('|<p>\s*</p>|', '', $pee); 
+       $pee = preg_replace('|<p>\s*</p>|', '', $pee);
 
        // Add a closing <p> inside <div>, <address>, or <form> tag if missing.
        $pee = preg_replace('!<p>([^<]+)</(div|address|form)>!', "<p>$1</p></$2>", $pee);
-       
+
        // If an opening or closing block element tag is wrapped in a <p>, unwrap it.
-       $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee); 
-       
+       $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
+
        // In some cases <li> may get wrapped in <p>, fix them.
-       $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee); 
-       
+       $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee);
+
        // If a <blockquote> is wrapped with a <p>, move it inside the <blockquote>.
        $pee = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee);
        $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
-       
+
        // If an opening or closing block element tag is preceded by an opening <p> tag, remove it.
        $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
-       
+
        // If an opening or closing block element tag is followed by a closing <p> tag, remove it.
        $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
 
@@ -491,8 +574,11 @@ function wpautop($pee, $br = true) {
                // Replace newlines that shouldn't be touched with a placeholder.
                $pee = preg_replace_callback('/<(script|style).*?<\/\\1>/s', '_autop_newline_preservation_helper', $pee);
 
+               // Normalize <br>
+               $pee = str_replace( array( '<br>', '<br/>' ), '<br />', $pee );
+
                // Replace any new line characters that aren't preceded by a <br /> with a <br />.
-               $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); 
+               $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee);
 
                // Replace newline placeholders with newlines.
                $pee = str_replace('<WPPreserveNewline />', "\n", $pee);
@@ -500,7 +586,7 @@ function wpautop($pee, $br = true) {
 
        // If a <br /> tag is after an opening or closing block tag, remove it.
        $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee);
-       
+
        // If a <br /> tag is before a subset of opening or closing block tags, remove it.
        $pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee);
        $pee = preg_replace( "|\n</p>$|", '</p>', $pee );
@@ -582,7 +668,7 @@ function wp_replace_in_html_tags( $haystack, $replace_pairs ) {
                foreach ( $replace_pairs as $needle => $replace );
 
                // Loop through delimeters (elements) only.
-               for ( $i = 1, $c = count( $textarr ); $i < $c; $i += 2 ) { 
+               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;
@@ -593,7 +679,7 @@ function wp_replace_in_html_tags( $haystack, $replace_pairs ) {
                $needles = array_keys( $replace_pairs );
 
                // Loop through delimeters (elements) only.
-               for ( $i = 1, $c = count( $textarr ); $i < $c; $i += 2 ) { 
+               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 );
@@ -622,7 +708,7 @@ function wp_replace_in_html_tags( $haystack, $replace_pairs ) {
  * @return string
  */
 function _autop_newline_preservation_helper( $matches ) {
-       return str_replace("\n", "<WPPreserveNewline />", $matches[0]);
+       return str_replace( "\n", "<WPPreserveNewline />", $matches[0] );
 }
 
 /**
@@ -632,6 +718,8 @@ function _autop_newline_preservation_helper( $matches ) {
  *
  * @since 2.9.0
  *
+ * @global array $shortcode_tags
+ *
  * @param string $pee The content.
  * @return string The filtered content.
  */
@@ -692,7 +780,7 @@ function shortcode_unautop( $pee ) {
  * @param string $str The string to be checked
  * @return bool True if $str fits a UTF-8 model, false otherwise.
  */
-function seems_utf8($str) {
+function seems_utf8( $str ) {
        mbstring_binary_safe_encoding();
        $length = strlen($str);
        reset_mbstring_encoding();
@@ -724,10 +812,12 @@ function seems_utf8($str) {
  * @since 1.2.2
  * @access private
  *
- * @param string $string The text which is to be encoded.
- * @param int $quote_style Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES.
- * @param string $charset Optional. The character encoding of the string. Default is false.
- * @param boolean $double_encode Optional. Whether to encode existing html entities. Default is false.
+ * @staticvar string $_charset
+ *
+ * @param string $string         The text which is to be encoded.
+ * @param int    $quote_style    Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES.
+ * @param string $charset        Optional. The character encoding of the string. Default is false.
+ * @param bool   $double_encode  Optional. Whether to encode existing html entities. Default is false.
  * @return string The encoded text with HTML entities.
  */
 function _wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = false, $double_encode = false ) {
@@ -748,7 +838,7 @@ function _wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = fals
 
        // Store the site charset as a static to avoid multiple calls to wp_load_alloptions()
        if ( ! $charset ) {
-               static $_charset;
+               static $_charset = null;
                if ( ! isset( $_charset ) ) {
                        $alloptions = wp_load_alloptions();
                        $_charset = isset( $alloptions['blog_charset'] ) ? $alloptions['blog_charset'] : '';
@@ -768,25 +858,14 @@ function _wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = fals
                $quote_style = ENT_NOQUOTES;
        }
 
-       // Handle double encoding ourselves
-       if ( $double_encode ) {
-               $string = @htmlspecialchars( $string, $quote_style, $charset );
-       } else {
-               // Decode &amp; into &
-               $string = wp_specialchars_decode( $string, $_quote_style );
-
-               // Guarantee every &entity; is valid or re-encode the &
+       if ( ! $double_encode ) {
+               // Guarantee every &entity; is valid, convert &garbage; into &amp;garbage;
+               // This is required for PHP < 5.4.0 because ENT_HTML401 flag is unavailable.
                $string = wp_kses_normalize_entities( $string );
-
-               // Now re-encode everything except &entity;
-               $string = preg_split( '/(&#?x?[0-9a-z]+;)/i', $string, -1, PREG_SPLIT_DELIM_CAPTURE );
-
-               for ( $i = 0, $c = count( $string ); $i < $c; $i += 2 ) {
-                       $string[$i] = @htmlspecialchars( $string[$i], $quote_style, $charset );
-               }
-               $string = implode( '', $string );
        }
 
+       $string = @htmlspecialchars( $string, $quote_style, $charset, $double_encode );
+
        // Backwards compatibility
        if ( 'single' === $_quote_style )
                $string = str_replace( "'", '&#039;', $string );
@@ -804,8 +883,14 @@ function _wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = fals
  *
  * @since 2.8.0
  *
- * @param string $string The text which is to be decoded.
- * @param mixed $quote_style Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old _wp_specialchars() values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES.
+ * @param string     $string The text which is to be decoded.
+ * @param string|int $quote_style Optional. Converts double quotes if set to ENT_COMPAT,
+ *                                both single and double if set to ENT_QUOTES or
+ *                                none if set to ENT_NOQUOTES.
+ *                                Also compatible with old _wp_specialchars() values;
+ *                                converting single quotes if set to 'single',
+ *                                double if set to 'double' or both if otherwise set.
+ *                                Default is ENT_NOQUOTES.
  * @return string The decoded text without HTML entities.
  */
 function wp_specialchars_decode( $string, $quote_style = ENT_NOQUOTES ) {
@@ -861,8 +946,11 @@ function wp_specialchars_decode( $string, $quote_style = ENT_NOQUOTES ) {
  *
  * @since 2.8.0
  *
- * @param string $string The text which is to be checked.
- * @param boolean $strip Optional. Whether to attempt to strip out invalid UTF8. Default is false.
+ * @staticvar bool $is_utf8
+ * @staticvar bool $utf8_pcre
+ *
+ * @param string  $string The text which is to be checked.
+ * @param bool    $strip Optional. Whether to attempt to strip out invalid UTF8. Default is false.
  * @return string The checked text.
  */
 function wp_check_invalid_utf8( $string, $strip = false ) {
@@ -873,17 +961,17 @@ function wp_check_invalid_utf8( $string, $strip = false ) {
        }
 
        // Store the site charset as a static to avoid multiple calls to get_option()
-       static $is_utf8;
-       if ( !isset( $is_utf8 ) ) {
+       static $is_utf8 = null;
+       if ( ! isset( $is_utf8 ) ) {
                $is_utf8 = in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) );
        }
-       if ( !$is_utf8 ) {
+       if ( ! $is_utf8 ) {
                return $string;
        }
 
        // Check for support for utf8 in the installed PCRE library once and store the result in a static
-       static $utf8_pcre;
-       if ( !isset( $utf8_pcre ) ) {
+       static $utf8_pcre = null;
+       if ( ! isset( $utf8_pcre ) ) {
                $utf8_pcre = @preg_match( '/^./u', 'a' );
        }
        // We can't demand utf8 in the PCRE installation, so just return the string in those cases
@@ -910,7 +998,7 @@ function wp_check_invalid_utf8( $string, $strip = false ) {
  * @since 1.5.0
  *
  * @param string $utf8_string
- * @param int $length Max length of the string
+ * @param int    $length Max  length of the string
  * @return string String with Unicode encoded for URI.
  */
 function utf8_uri_encode( $utf8_string, $length = 0 ) {
@@ -973,7 +1061,7 @@ function utf8_uri_encode( $utf8_string, $length = 0 ) {
  * @param string $string Text that might have accent characters
  * @return string Filtered string with replaced "nice" characters.
  */
-function remove_accents($string) {
+function remove_accents( $string ) {
        if ( !preg_match('/[\x80-\xff]/', $string) )
                return $string;
 
@@ -1157,7 +1245,7 @@ function remove_accents($string) {
                // Used for locale-specific rules
                $locale = get_locale();
 
-               if ( 'de_DE' == $locale ) {
+               if ( 'de_DE' == $locale || 'de_DE_formal' == $locale ) {
                        $chars[ chr(195).chr(132) ] = 'Ae';
                        $chars[ chr(195).chr(164) ] = 'ae';
                        $chars[ chr(195).chr(150) ] = 'Oe';
@@ -1290,7 +1378,7 @@ function sanitize_file_name( $filename ) {
  * @since 2.0.0
  *
  * @param string $username The username to be sanitized.
- * @param bool $strict If set limits $username to specific characters. Default false.
+ * @param bool   $strict   If set limits $username to specific characters. Default false.
  * @return string The sanitized username, after passing through filters.
  */
 function sanitize_user( $username, $strict = false ) {
@@ -1356,9 +1444,9 @@ function sanitize_key( $key ) {
  *
  * @since 1.0.0
  *
- * @param string $title The string to be sanitized.
+ * @param string $title          The string to be sanitized.
  * @param string $fallback_title Optional. A title to use if $title is empty.
- * @param string $context Optional. The operation for which the string is sanitized
+ * @param string $context        Optional. The operation for which the string is sanitized
  * @return string The sanitized string.
  */
 function sanitize_title( $title, $fallback_title = '', $context = 'save' ) {
@@ -1406,9 +1494,9 @@ function sanitize_title_for_query( $title ) {
  *
  * @since 1.2.0
  *
- * @param string $title The title to be sanitized.
+ * @param string $title     The title to be sanitized.
  * @param string $raw_title Optional. Not used.
- * @param string $context Optional. The operation for which the string is sanitized.
+ * @param string $context   Optional. The operation for which the string is sanitized.
  * @return string The sanitized title.
  */
 function sanitize_title_with_dashes( $title, $raw_title = '', $context = 'display' ) {
@@ -1475,7 +1563,7 @@ function sanitize_title_with_dashes( $title, $raw_title = '', $context = 'displa
  * @since 2.5.1
  *
  * @param string $orderby Order by clause to be validated.
- * @return string|bool Returns $orderby if valid, false otherwise.
+ * @return string|false Returns $orderby if valid, false otherwise.
  */
 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 ) ) {
@@ -1494,7 +1582,7 @@ function sanitize_sql_orderby( $orderby ) {
  *
  * @since 2.8.0
  *
- * @param string $class The classname to be sanitized
+ * @param string $class    The classname to be sanitized
  * @param string $fallback Optional. The value to return if the sanitization ends up as an empty string.
  *     Defaults to an empty string.
  * @return string The sanitized value
@@ -1522,71 +1610,73 @@ function sanitize_html_class( $class, $fallback = '' ) {
 }
 
 /**
- * Converts a number of characters from a string.
- *
- * Metadata tags `<title>` and `<category>` are removed, `<br>` and `<hr>` are
- * converted into correct XHTML and Unicode characters are converted to the
- * valid range.
+ * Converts lone & characters into `&#038;` (a.k.a. `&amp;`)
  *
  * @since 0.71
  *
- * @param string $content String of characters to be converted.
+ * @param string $content    String of characters to be converted.
  * @param string $deprecated Not used.
  * @return string Converted string.
  */
-function convert_chars($content, $deprecated = '') {
-       if ( !empty( $deprecated ) )
+function convert_chars( $content, $deprecated = '' ) {
+       if ( ! empty( $deprecated ) ) {
                _deprecated_argument( __FUNCTION__, '0.71' );
+       }
 
-       // Translation of invalid Unicode references range to valid range
-       $wp_htmltranswinuni = array(
-       '&#128;' => '&#8364;', // the Euro sign
-       '&#129;' => '',
-       '&#130;' => '&#8218;', // these are Windows CP1252 specific characters
-       '&#131;' => '&#402;',  // they would look weird on non-Windows browsers
-       '&#132;' => '&#8222;',
-       '&#133;' => '&#8230;',
-       '&#134;' => '&#8224;',
-       '&#135;' => '&#8225;',
-       '&#136;' => '&#710;',
-       '&#137;' => '&#8240;',
-       '&#138;' => '&#352;',
-       '&#139;' => '&#8249;',
-       '&#140;' => '&#338;',
-       '&#141;' => '',
-       '&#142;' => '&#381;',
-       '&#143;' => '',
-       '&#144;' => '',
-       '&#145;' => '&#8216;',
-       '&#146;' => '&#8217;',
-       '&#147;' => '&#8220;',
-       '&#148;' => '&#8221;',
-       '&#149;' => '&#8226;',
-       '&#150;' => '&#8211;',
-       '&#151;' => '&#8212;',
-       '&#152;' => '&#732;',
-       '&#153;' => '&#8482;',
-       '&#154;' => '&#353;',
-       '&#155;' => '&#8250;',
-       '&#156;' => '&#339;',
-       '&#157;' => '',
-       '&#158;' => '&#382;',
-       '&#159;' => '&#376;'
-       );
-
-       // Remove metadata tags
-       $content = preg_replace('/<title>(.+?)<\/title>/','',$content);
-       $content = preg_replace('/<category>(.+?)<\/category>/','',$content);
+       if ( strpos( $content, '&' ) !== false ) {
+               $content = preg_replace( '/&([^#])(?![a-z1-4]{1,8};)/i', '&#038;$1', $content );
+       }
 
-       // Converts lone & characters into &#38; (a.k.a. &amp;)
-       $content = preg_replace('/&([^#])(?![a-z1-4]{1,8};)/i', '&#038;$1', $content);
+       return $content;
+}
 
-       // Fix Word pasting
-       $content = strtr($content, $wp_htmltranswinuni);
+/**
+ * Converts invalid Unicode references range to valid range.
+ *
+ * @since 4.3.0
+ *
+ * @param string $content String with entities that need converting.
+ * @return string Converted string.
+ */
+function convert_invalid_entities( $content ) {
+       $wp_htmltranswinuni = array(
+               '&#128;' => '&#8364;', // the Euro sign
+               '&#129;' => '',
+               '&#130;' => '&#8218;', // these are Windows CP1252 specific characters
+               '&#131;' => '&#402;',  // they would look weird on non-Windows browsers
+               '&#132;' => '&#8222;',
+               '&#133;' => '&#8230;',
+               '&#134;' => '&#8224;',
+               '&#135;' => '&#8225;',
+               '&#136;' => '&#710;',
+               '&#137;' => '&#8240;',
+               '&#138;' => '&#352;',
+               '&#139;' => '&#8249;',
+               '&#140;' => '&#338;',
+               '&#141;' => '',
+               '&#142;' => '&#381;',
+               '&#143;' => '',
+               '&#144;' => '',
+               '&#145;' => '&#8216;',
+               '&#146;' => '&#8217;',
+               '&#147;' => '&#8220;',
+               '&#148;' => '&#8221;',
+               '&#149;' => '&#8226;',
+               '&#150;' => '&#8211;',
+               '&#151;' => '&#8212;',
+               '&#152;' => '&#732;',
+               '&#153;' => '&#8482;',
+               '&#154;' => '&#353;',
+               '&#155;' => '&#8250;',
+               '&#156;' => '&#339;',
+               '&#157;' => '',
+               '&#158;' => '&#382;',
+               '&#159;' => '&#376;'
+       );
 
-       // Just a little XHTML help
-       $content = str_replace('<br>', '<br />', $content);
-       $content = str_replace('<hr>', '<hr />', $content);
+       if ( strpos( $content, '&#1' ) !== false ) {
+               $content = strtr( $content, $wp_htmltranswinuni );
+       }
 
        return $content;
 }
@@ -1596,8 +1686,8 @@ function convert_chars($content, $deprecated = '') {
  *
  * @since 0.71
  *
- * @param string $text Text to be balanced
- * @param bool $force If true, forces balancing, ignoring the value of the option. Default false.
+ * @param string $text  Text to be balanced
+ * @param bool   $force If true, forces balancing, ignoring the value of the option. Default false.
  * @return string Balanced text
  */
 function balanceTags( $text, $force = false ) {
@@ -1653,7 +1743,7 @@ function force_balance_tags( $text ) {
                if ( isset($regex[1][0]) && '/' == $regex[1][0] ) { // End Tag
                        $tag = strtolower(substr($regex[1],1));
                        // if too many closing tags
-                       if( $stacksize <= 0 ) {
+                       if ( $stacksize <= 0 ) {
                                $tag = '';
                                // or close to be safe $tag = '/' . $tag;
                        }
@@ -1708,7 +1798,7 @@ function force_balance_tags( $text ) {
 
                        // Attributes
                        $attributes = $regex[2];
-                       if( ! empty( $attributes ) && $attributes[0] != '>' )
+                       if ( ! empty( $attributes ) && $attributes[0] != '>' )
                                $attributes = ' ' . $attributes;
 
                        $tag = '<' . $tag . $attributes . '>';
@@ -1748,8 +1838,8 @@ function force_balance_tags( $text ) {
  *
  * @since 0.71
  *
- * @param string $content The text about to be edited.
- * @param bool $richedit Whether the $content should not pass through htmlspecialchars(). Default false (meaning it will be passed).
+ * @param string $content  The text about to be edited.
+ * @param bool   $richedit Whether the $content should not pass through htmlspecialchars(). Default false (meaning it will be passed).
  * @return string The text after the filter (and possibly htmlspecialchars()) has been run.
  */
 function format_to_edit( $content, $richedit = false ) {
@@ -1779,12 +1869,12 @@ function format_to_edit( $content, $richedit = false ) {
  *
  * @since 0.71
  *
- * @param mixed $number Number to append zeros to if not greater than threshold.
- * @param int $threshold Digit places number needs to be to not have zeros added.
+ * @param int $number     Number to append zeros to if not greater than threshold.
+ * @param int $threshold  Digit places number needs to be to not have zeros added.
  * @return string Adds leading zeros to number if needed.
  */
-function zeroise($number, $threshold) {
-       return sprintf('%0'.$threshold.'s', $number);
+function zeroise( $number, $threshold ) {
+       return sprintf( '%0' . $threshold . 's', $number );
 }
 
 /**
@@ -1795,7 +1885,7 @@ function zeroise($number, $threshold) {
  * @param string $string Value to which backslashes will be added.
  * @return string String with backslashes inserted.
  */
-function backslashit($string) {
+function backslashit( $string ) {
        if ( isset( $string[0] ) && $string[0] >= '0' && $string[0] <= '9' )
                $string = '\\\\' . $string;
        return addcslashes( $string, 'A..Za..z' );
@@ -1863,7 +1953,7 @@ function addslashes_gpc($gpc) {
  * @param mixed $value The value to be stripped.
  * @return mixed Stripped value.
  */
-function stripslashes_deep($value) {
+function stripslashes_deep( $value ) {
        if ( is_array($value) ) {
                $value = array_map('stripslashes_deep', $value);
        } elseif ( is_object($value) ) {
@@ -1887,9 +1977,8 @@ function stripslashes_deep($value) {
  * @param array|string $value The array or string to be encoded.
  * @return array|string $value The encoded array (or string from the callback).
  */
-function urlencode_deep($value) {
-       $value = is_array($value) ? array_map('urlencode_deep', $value) : urlencode($value);
-       return $value;
+function urlencode_deep( $value ) {
+       return is_array( $value ) ? array_map( 'urlencode_deep', $value ) : urlencode( $value );
 }
 
 /**
@@ -1910,7 +1999,7 @@ function rawurlencode_deep( $value ) {
  * @since 0.71
  *
  * @param string $email_address Email address.
- * @param int $hex_encoding Optional. Set to 1 to enable hex encoding.
+ * @param int    $hex_encoding  Optional. Set to 1 to enable hex encoding.
  * @return string Converted email address.
  */
 function antispambot( $email_address, $hex_encoding = 0 ) {
@@ -1926,9 +2015,7 @@ function antispambot( $email_address, $hex_encoding = 0 ) {
                }
        }
 
-       $email_no_spam_address = str_replace( '@', '&#64;', $email_no_spam_address );
-
-       return $email_no_spam_address;
+       return str_replace( '@', '&#64;', $email_no_spam_address );
 }
 
 /**
@@ -1943,7 +2030,7 @@ function antispambot( $email_address, $hex_encoding = 0 ) {
  * @param array $matches Single Regex Match.
  * @return string HTML A element with URI address.
  */
-function _make_url_clickable_cb($matches) {
+function _make_url_clickable_cb( $matches ) {
        $url = $matches[2];
 
        if ( ')' == $matches[3] && strpos( $url, '(' ) ) {
@@ -1980,7 +2067,7 @@ function _make_url_clickable_cb($matches) {
  * @param array $matches Single Regex Match.
  * @return string HTML A element with URL address.
  */
-function _make_web_ftp_clickable_cb($matches) {
+function _make_web_ftp_clickable_cb( $matches ) {
        $ret = '';
        $dest = $matches[2];
        $dest = 'http://' . $dest;
@@ -2008,7 +2095,7 @@ function _make_web_ftp_clickable_cb($matches) {
  * @param array $matches Single Regex Match.
  * @return string HTML A element with email address.
  */
-function _make_email_clickable_cb($matches) {
+function _make_email_clickable_cb( $matches ) {
        $email = $matches[2] . '@' . $matches[3];
        return $matches[1] . "<a href=\"mailto:$email\">$email</a>";
 }
@@ -2079,8 +2166,7 @@ function make_clickable( $text ) {
        }
 
        // Cleanup of accidental links within links
-       $r = preg_replace( '#(<a([ \r\n\t]+[^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
-       return $r;
+       return preg_replace( '#(<a([ \r\n\t]+[^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
 }
 
 /**
@@ -2109,7 +2195,7 @@ function make_clickable( $text ) {
  * @access private
  *
  * @param string $string The string to split.
- * @param int $goal The desired chunk length.
+ * @param int    $goal   The desired chunk length.
  * @return array Numeric array of chunks.
  */
 function _split_str_by_whitespace( $string, $goal ) {
@@ -2151,8 +2237,7 @@ function wp_rel_nofollow( $text ) {
        // This is a pre save filter, so text is already escaped.
        $text = stripslashes($text);
        $text = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $text);
-       $text = wp_slash($text);
-       return $text;
+       return wp_slash( $text );
 }
 
 /**
@@ -2179,9 +2264,10 @@ function wp_rel_nofollow_callback( $matches ) {
  * Looks up one smiley code in the $wpsmiliestrans global array and returns an
  * `<img>` string for that smiley.
  *
- * @global array $wpsmiliestrans
  * @since 2.8.0
  *
+ * @global array $wpsmiliestrans
+ *
  * @param array $matches Single match. Smiley code to convert to image.
  * @return string Image string for smiley.
  */
@@ -2224,7 +2310,8 @@ function translate_smiley( $matches ) {
  * used in the function isn't empty.
  *
  * @since 0.71
- * @uses $wp_smiliessearch
+ *
+ * @global string|array $wp_smiliessearch
  *
  * @param string $text Content to convert smilies from text.
  * @return string Converted content with text smilies replaced with images.
@@ -2275,8 +2362,8 @@ function convert_smilies( $text ) {
  *
  * @since 0.71
  *
- * @param string $email Email address to verify.
- * @param boolean $deprecated Deprecated.
+ * @param string $email      Email address to verify.
+ * @param bool   $deprecated Deprecated.
  * @return string|bool Either false or the valid email address.
  */
 function is_email( $email, $deprecated = false ) {
@@ -2368,14 +2455,13 @@ function is_email( $email, $deprecated = false ) {
  * @param string $string Subject line
  * @return string Converted string to ASCII
  */
-function wp_iso_descrambler($string) {
+function wp_iso_descrambler( $string ) {
        /* this may only work with iso-8859-1, I'm afraid */
        if (!preg_match('#\=\?(.+)\?Q\?(.+)\?\=#i', $string, $matches)) {
                return $string;
        } else {
                $subject = str_replace('_', ' ', $matches[2]);
-               $subject = preg_replace_callback('#\=([0-9a-f]{2})#i', '_wp_iso_convert', $subject);
-               return $subject;
+               return preg_replace_callback( '#\=([0-9a-f]{2})#i', '_wp_iso_convert', $subject );
        }
 }
 
@@ -2462,7 +2548,7 @@ function get_date_from_gmt( $string, $format = 'Y-m-d H:i:s' ) {
  * @param string $timezone Either 'Z' for 0 offset or '±hhmm'.
  * @return int|float The offset in seconds.
  */
-function iso8601_timezone_to_offset($timezone) {
+function iso8601_timezone_to_offset( $timezone ) {
        // $timezone is either 'Z' or '[+|-]hhmm'
        if ($timezone == 'Z') {
                $offset = 0;
@@ -2481,10 +2567,10 @@ function iso8601_timezone_to_offset($timezone) {
  * @since 1.5.0
  *
  * @param string $date_string Date and time in ISO 8601 format {@link http://en.wikipedia.org/wiki/ISO_8601}.
- * @param string $timezone Optional. If set to GMT returns the time minus gmt_offset. Default is 'user'.
+ * @param string $timezone    Optional. If set to GMT returns the time minus gmt_offset. Default is 'user'.
  * @return string The date and time in MySQL DateTime format - Y-m-d H:i:s.
  */
-function iso8601_to_datetime($date_string, $timezone = 'user') {
+function iso8601_to_datetime( $date_string, $timezone = 'user' ) {
        $timezone = strtolower($timezone);
 
        if ($timezone == 'gmt') {
@@ -2519,7 +2605,7 @@ function iso8601_to_datetime($date_string, $timezone = 'user') {
  * @param string $text Content to replace links to open in a new window.
  * @return string Content that has filtered links.
  */
-function popuplinks($text) {
+function popuplinks( $text ) {
        $text = preg_replace('/<a (.+?)>/i', "<a $1 target='_blank' rel='external'>", $text);
        return $text;
 }
@@ -2635,7 +2721,7 @@ function sanitize_email( $email ) {
  * @since 1.5.0
  *
  * @param int $from Unix timestamp from which the difference begins.
- * @param int $to Optional. Unix timestamp to end the time difference. Default becomes time() if not set.
+ * @param int $to   Optional. Unix timestamp to end the time difference. Default becomes time() if not set.
  * @return string Human readable time difference.
  */
 function human_time_diff( $from, $to = '' ) {
@@ -2706,7 +2792,7 @@ function human_time_diff( $from, $to = '' ) {
  * @param string $text Optional. The excerpt. If set to empty, an excerpt is generated.
  * @return string The excerpt.
  */
-function wp_trim_excerpt($text = '') {
+function wp_trim_excerpt( $text = '' ) {
        $raw_excerpt = $text;
        if ( '' == $text ) {
                $text = get_the_content('');
@@ -2755,19 +2841,25 @@ function wp_trim_excerpt($text = '') {
  *
  * @since 3.3.0
  *
- * @param string $text Text to trim.
- * @param int $num_words Number of words. Default 55.
- * @param string $more Optional. What to append if $text needs to be trimmed. Default '&hellip;'.
+ * @param string $text      Text to trim.
+ * @param int    $num_words Number of words. Default 55.
+ * @param string $more      Optional. What to append if $text needs to be trimmed. Default '&hellip;'.
  * @return string Trimmed text.
  */
 function wp_trim_words( $text, $num_words = 55, $more = null ) {
-       if ( null === $more )
+       if ( null === $more ) {
                $more = __( '&hellip;' );
+       }
+
        $original_text = $text;
        $text = wp_strip_all_tags( $text );
-       /* translators: If your word count is based on single characters (East Asian characters),
-          enter 'characters'. Otherwise, enter 'words'. Do not translate into your own language. */
-       if ( 'characters' == _x( 'words', 'word count: words or characters?' ) && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) {
+
+       /*
+        * translators: If your word count is based on single characters (e.g. East Asian characters),
+        * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.
+        * Do not translate into your own language.
+        */
+       if ( strpos( _x( 'words', 'Word count type. Do not translate!' ), 'characters' ) === 0 && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) {
                $text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' );
                preg_match_all( '/./u', $text, $words_array );
                $words_array = array_slice( $words_array[0], 0, $num_words + 1 );
@@ -2776,6 +2868,7 @@ function wp_trim_words( $text, $num_words = 55, $more = null ) {
                $words_array = preg_split( "/[\n\r\t ]+/", $text, $num_words + 1, PREG_SPLIT_NO_EMPTY );
                $sep = ' ';
        }
+
        if ( count( $words_array ) > $num_words ) {
                array_pop( $words_array );
                $text = implode( $sep, $words_array );
@@ -2783,6 +2876,7 @@ function wp_trim_words( $text, $num_words = 55, $more = null ) {
        } else {
                $text = implode( $sep, $words_array );
        }
+
        /**
         * Filter the text content after words have been trimmed.
         *
@@ -2804,7 +2898,7 @@ function wp_trim_words( $text, $num_words = 55, $more = null ) {
  * @param string $text The text within which entities will be converted.
  * @return string Text with converted entities.
  */
-function ent2ncr($text) {
+function ent2ncr( $text ) {
 
        /**
         * Filter text before named entities are converted into numbered entities.
@@ -2817,7 +2911,7 @@ function ent2ncr($text) {
         * @param string $text           The text prior to entity conversion.
         */
        $filtered = apply_filters( 'pre_ent2ncr', null, $text );
-       if( null !== $filtered )
+       if ( null !== $filtered )
                return $filtered;
 
        $to_ncr = array(
@@ -3083,66 +3177,32 @@ function ent2ncr($text) {
 }
 
 /**
- * Formats text for the rich text editor.
+ * Formats text for the editor.
  *
- * The filter 'richedit_pre' is applied here. If $text is empty the filter will
- * be applied to an empty string.
+ * Generally the browsers treat everything inside a textarea as text, but
+ * it is still a good idea to HTML entity encode `<`, `>` and `&` in the content.
  *
- * @since 2.0.0
+ * The filter {@see 'format_for_editor'} is applied here. If `$text` is empty the
+ * filter will be applied to an empty string.
+ *
+ * @since 4.3.0
  *
  * @param string $text The text to be formatted.
  * @return string The formatted text after filter is applied.
  */
-function wp_richedit_pre($text) {
-       if ( empty( $text ) ) {
-               /**
-                * Filter text returned for the rich text editor.
-                *
-                * This filter is first evaluated, and the value returned, if an empty string
-                * is passed to wp_richedit_pre(). If an empty string is passed, it results
-                * in a break tag and line feed.
-                *
-                * If a non-empty string is passed, the filter is evaluated on the wp_richedit_pre()
-                * return after being formatted.
-                *
-                * @since 2.0.0
-                *
-                * @param string $output Text for the rich text editor.
-                */
-               return apply_filters( 'richedit_pre', '' );
+function format_for_editor( $text, $default_editor = null ) {
+       if ( $text ) {
+               $text = htmlspecialchars( $text, ENT_NOQUOTES, get_option( 'blog_charset' ) );
        }
 
-       $output = convert_chars($text);
-       $output = wpautop($output);
-       $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) );
-
-       /** This filter is documented in wp-includes/formatting.php */
-       return apply_filters( 'richedit_pre', $output );
-}
-
-/**
- * Formats text for the HTML editor.
- *
- * Unless $output is empty it will pass through htmlspecialchars before the
- * 'htmledit_pre' filter is applied.
- *
- * @since 2.5.0
- *
- * @param string $output The text to be formatted.
- * @return string Formatted text after filter applied.
- */
-function wp_htmledit_pre($output) {
-       if ( !empty($output) )
-               $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); // convert only < > &
-
        /**
-        * Filter the text before it is formatted for the HTML editor.
+        * Filter the text after it is formatted for the editor.
         *
-        * @since 2.5.0
+        * @since 4.3.0
         *
-        * @param string $output The HTML-formatted text.
+        * @param string $text The formatted text.
         */
-       return apply_filters( 'htmledit_pre', $output );
+       return apply_filters( 'format_for_editor', $text, $default_editor );
 }
 
 /**
@@ -3155,8 +3215,9 @@ function wp_htmledit_pre($output) {
  * @since 2.8.1
  * @access private
  *
- * @param string|array $search The value being searched for, otherwise known as the needle. An array may be used to designate multiple needles.
- * @param string $subject The string being searched and replaced on, otherwise known as the haystack.
+ * @param string|array $search  The value being searched for, otherwise known as the needle.
+ *                              An array may be used to designate multiple needles.
+ * @param string       $subject The string being searched and replaced on, otherwise known as the haystack.
  * @return string The string with the replaced svalues.
  */
 function _deep_replace( $search, $subject ) {
@@ -3178,6 +3239,9 @@ function _deep_replace( $search, $subject ) {
  * is preparing an array for use in an IN clause.
  *
  * @since 2.8.0
+ *
+ * @global wpdb $wpdb
+ *
  * @param string|array $data Unescaped data
  * @return string|array Escaped data
  */
@@ -3195,10 +3259,10 @@ function esc_sql( $data ) {
  *
  * @since 2.8.0
  *
- * @param string $url The URL to be cleaned.
- * @param array $protocols Optional. An array of acceptable protocols.
- *             Defaults to 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn' if not set.
- * @param string $_context Private. Use esc_url_raw() for database usage.
+ * @param string $url       The URL to be cleaned.
+ * @param array  $protocols Optional. An array of acceptable protocols.
+ *                                 Defaults to return value of wp_allowed_protocols()
+ * @param string $_context  Private. Use esc_url_raw() for database usage.
  * @return string The cleaned $url after the 'clean_url' filter is applied.
  */
 function esc_url( $url, $protocols = null, $_context = 'display' ) {
@@ -3207,8 +3271,10 @@ function esc_url( $url, $protocols = null, $_context = 'display' ) {
        if ( '' == $url )
                return $url;
        $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url);
-       $strip = array('%0d', '%0a', '%0D', '%0A');
-       $url = _deep_replace($strip, $url);
+       if ( 0 !== stripos( $url, 'mailto:' ) ) {
+               $strip = array('%0d', '%0a', '%0D', '%0A');
+               $url = _deep_replace($strip, $url);
+       }
        $url = str_replace(';//', '://', $url);
        /* If the URL doesn't appear to contain a scheme, we
         * presume it needs http:// appended (unless a relative
@@ -3252,8 +3318,8 @@ function esc_url( $url, $protocols = null, $_context = 'display' ) {
  *
  * @since 2.8.0
  *
- * @param string $url The URL to be cleaned.
- * @param array $protocols An array of acceptable protocols.
+ * @param string $url       The URL to be cleaned.
+ * @param array  $protocols An array of acceptable protocols.
  * @return string The cleaned URL.
  */
 function esc_url_raw( $url, $protocols = null ) {
@@ -3270,7 +3336,7 @@ function esc_url_raw( $url, $protocols = null ) {
  * @param string $myHTML The text to be converted.
  * @return string Converted text.
  */
-function htmlentities2($myHTML) {
+function htmlentities2( $myHTML ) {
        $translation_table = get_html_translation_table( HTML_ENTITIES, ENT_QUOTES );
        $translation_table[chr(38)] = '&';
        return preg_replace( "/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/", "&amp;", strtr($myHTML, $translation_table) );
@@ -3387,7 +3453,7 @@ function esc_textarea( $text ) {
  * @param string $tag_name
  * @return string
  */
-function tag_escape($tag_name) {
+function tag_escape( $tag_name ) {
        $safe_tag = strtolower( preg_replace('/[^a-zA-Z0-9_:]/', '', $tag_name) );
        /**
         * Filter a string cleaned and escaped for output as an HTML tag.
@@ -3424,12 +3490,16 @@ function wp_make_link_relative( $link ) {
  *
  * @since 2.0.5
  *
+ * @global wpdb $wpdb
+ *
  * @param string $option The name of the option.
- * @param string $value The unsanitised value.
+ * @param string $value  The unsanitised value.
  * @return string Sanitized value.
  */
-function sanitize_option($option, $value) {
+function sanitize_option( $option, $value ) {
        global $wpdb;
+
+       $original_value = $value;
        $error = '';
 
        switch ( $option ) {
@@ -3465,6 +3535,7 @@ function sanitize_option($option, $value) {
                case 'thread_comments_depth':
                case 'users_can_register':
                case 'start_of_week':
+               case 'site_icon':
                        $value = absint( $value );
                        break;
 
@@ -3655,13 +3726,13 @@ function sanitize_option($option, $value) {
         * Filter an option value following sanitization.
         *
         * @since 2.3.0
+        * @since 4.3.0 Added the `$original_value` parameter.
         *
-        * @param string $value  The sanitized option value.
-        * @param string $option The option name.
+        * @param string $value          The sanitized option value.
+        * @param string $option         The option name.
+        * @param string $original_value The original value passed to the function.
         */
-       $value = apply_filters( "sanitize_option_{$option}", $value, $option );
-
-       return $value;
+       return apply_filters( "sanitize_option_{$option}", $value, $option, $original_value );
 }
 
 /**
@@ -3673,7 +3744,7 @@ function sanitize_option($option, $value) {
  * @since 2.2.1
  *
  * @param string $string The string to be parsed.
- * @param array $array Variables will be stored in this array.
+ * @param array  $array  Variables will be stored in this array.
  */
 function wp_parse_str( $string, &$array ) {
        parse_str( $string, $array );
@@ -3723,7 +3794,7 @@ function wp_pre_kses_less_than_callback( $matches ) {
  * @since 2.5.0
  * @link http://www.php.net/sprintf
  *
- * @param string $pattern The string which formatted args are inserted.
+ * @param string $pattern   The string which formatted args are inserted.
  * @param mixed  $args ,... Arguments to be formatted into the $pattern string.
  * @return string The formatted string.
  */
@@ -3798,10 +3869,10 @@ function wp_sprintf( $pattern ) {
  * @since 2.5.0
  *
  * @param string $pattern Content containing '%l' at the beginning.
- * @param array $args List items to prepend to the content and replace '%l'.
+ * @param array  $args    List items to prepend to the content and replace '%l'.
  * @return string Localized list items and rest of the content.
  */
-function wp_sprintf_l($pattern, $args) {
+function wp_sprintf_l( $pattern, $args ) {
        // Not a match
        if ( substr($pattern, 0, 2) != '%l' )
                return $pattern;
@@ -3856,9 +3927,9 @@ function wp_sprintf_l($pattern, $args) {
  *
  * @since 2.5.0
  *
- * @param string $str String to get the excerpt from.
- * @param integer $count Maximum number of characters to take.
- * @param string $more Optional. What to append if $str needs to be trimmed. Defaults to empty string.
+ * @param string $str   String to get the excerpt from.
+ * @param int    $count Maximum number of characters to take.
+ * @param string $more  Optional. What to append if $str needs to be trimmed. Defaults to empty string.
  * @return string The excerpt.
  */
 function wp_html_excerpt( $str, $count, $more = null ) {
@@ -3881,9 +3952,11 @@ function wp_html_excerpt( $str, $count, $more = null ) {
  *
  * @since 2.7.0
  *
+ * @global string $_links_add_base
+ *
  * @param string $content String to search for links in.
- * @param string $base The base URL to prefix to links.
- * @param array $attrs The attributes which should be processed.
+ * @param string $base    The base URL to prefix to links.
+ * @param array  $attrs   The attributes which should be processed.
  * @return string The processed content.
  */
 function links_add_base_url( $content, $base, $attrs = array('src', 'href') ) {
@@ -3899,10 +3972,12 @@ function links_add_base_url( $content, $base, $attrs = array('src', 'href') ) {
  * @since 2.7.0
  * @access private
  *
+ * @global string $_links_add_base
+ *
  * @param string $m The matched link.
  * @return string The processed link.
  */
-function _links_add_base($m) {
+function _links_add_base( $m ) {
        global $_links_add_base;
        //1 = attribute name  2 = quotation mark  3 = URL
        return $m[1] . '=' . $m[2] .
@@ -3923,9 +3998,11 @@ function _links_add_base($m) {
  *
  * @since 2.7.0
  *
+ * @global string $_links_add_target
+ *
  * @param string $content String to search for links in.
- * @param string $target The Target to add to the links.
- * @param array $tags An array of tags to apply to.
+ * @param string $target  The Target to add to the links.
+ * @param array  $tags    An array of tags to apply to.
  * @return string The processed content.
  */
 function links_add_target( $content, $target = '_blank', $tags = array('a') ) {
@@ -3941,6 +4018,8 @@ function links_add_target( $content, $target = '_blank', $tags = array('a') ) {
  * @since 2.7.0
  * @access private
  *
+ * @global string $_links_add_target
+ *
  * @param string $m The matched link.
  * @return string The processed link.
  */
@@ -3975,8 +4054,8 @@ function normalize_whitespace( $str ) {
  *
  * @since 2.9.0
  *
- * @param string $string String containing HTML tags
- * @param bool $remove_breaks optional Whether to remove left over line breaks and white space chars
+ * @param string $string        String containing HTML tags
+ * @param bool   $remove_breaks Optional. Whether to remove left over line breaks and white space chars
  * @return string The processed string.
  */
 function wp_strip_all_tags($string, $remove_breaks = false) {
@@ -4003,7 +4082,7 @@ function wp_strip_all_tags($string, $remove_breaks = false) {
  * @param string $str
  * @return string
  */
-function sanitize_text_field($str) {
+function sanitize_text_field( $str ) {
        $filtered = wp_check_invalid_utf8( $str );
 
        if ( strpos($filtered, '<') !== false ) {
@@ -4041,7 +4120,7 @@ function sanitize_text_field($str) {
  *
  * @since 3.1.0
  *
- * @param string $path A path.
+ * @param string $path   A path.
  * @param string $suffix If the filename ends in suffix this will also be cut off.
  * @return string
  */
@@ -4055,6 +4134,8 @@ function wp_basename( $path, $suffix = '' ) {
  * Violating our coding standards for a good function name.
  *
  * @since 3.0.0
+ *
+ * @staticvar string|false $dblq
  */
 function capital_P_dangit( $text ) {
        // Simple replacement for titles
@@ -4063,13 +4144,13 @@ function capital_P_dangit( $text ) {
                return str_replace( 'Wordpress', 'WordPress', $text );
        // Still here? Use the more judicious replacement
        static $dblq = false;
-       if ( false === $dblq )
+       if ( false === $dblq ) {
                $dblq = _x( '&#8220;', 'opening curly double quote' );
+       }
        return str_replace(
                array( ' Wordpress', '&#8216;Wordpress', $dblq . 'Wordpress', '>Wordpress', '(Wordpress' ),
                array( ' WordPress', '&#8216;WordPress', $dblq . 'WordPress', '>WordPress', '(WordPress' ),
        $text );
-
 }
 
 /**
@@ -4171,7 +4252,7 @@ function wp_unslash( $value ) {
  * @since 3.6.0
  *
  * @param string $content A string which might contain a URL.
- * @return string The found URL.
+ * @return string|false The found URL.
  */
 function get_url_in_content( $content ) {
        if ( empty( $content ) ) {
@@ -4194,10 +4275,12 @@ function get_url_in_content( $content ) {
  *
  * @since 4.0.0
  *
+ * @staticvar string $spaces
+ *
  * @return string The spaces regexp.
  */
 function wp_spaces_regexp() {
-       static $spaces;
+       static $spaces = '';
 
        if ( empty( $spaces ) ) {
                /**
@@ -4222,6 +4305,8 @@ function wp_spaces_regexp() {
  * Print the important emoji-related styles.
  *
  * @since 4.2.0
+ *
+ * @staticvar bool $printed
  */
 function print_emoji_styles() {
        static $printed = false;
@@ -4249,6 +4334,11 @@ img.emoji {
 <?php
 }
 
+/**
+ *
+ * @global string $wp_version
+ * @staticvar bool $printed
+ */
 function print_emoji_detection_script() {
        global $wp_version;
        static $printed = false;
@@ -4280,9 +4370,8 @@ function print_emoji_detection_script() {
        );
 
        $version = 'ver=' . $wp_version;
-       $develop_src = false !== strpos( $wp_version, '-src' );
 
-       if ( $develop_src || ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ) {
+       if ( SCRIPT_DEBUG ) {
                $settings['source'] = array(
                        /** This filter is documented in wp-includes/class.wp-scripts.php */
                        'wpemoji' => apply_filters( 'script_loader_src', includes_url( "js/wp-emoji.js?$version" ), 'wpemoji' ),
index 929c4e218a5b29c7997b7cd89845eb8055ea3294..30fac4748012700ec3130560277061fa3d715554 100644 (file)
@@ -78,6 +78,8 @@ function current_time( $type, $gmt = 0 ) {
  *
  * @since 0.71
  *
+ * @global WP_Locale $wp_locale
+ *
  * @param string   $dateformatstring Format to display the date.
  * @param bool|int $unixtimestamp    Optional. Unix timestamp. Default false.
  * @param bool     $gmt              Optional. Whether to use GMT timezone. Default false.
@@ -161,6 +163,8 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
  *
  * @since 2.3.0
  *
+ * @global WP_Locale $wp_locale
+ *
  * @param int $number   The number to convert based on locale.
  * @param int $decimals Optional. Precision of the number of decimal places. Default 0.
  * @return string Converted number in string format.
@@ -381,6 +385,7 @@ function maybe_serialize( $data ) {
 
        // Double serialization is required for backward compatibility.
        // See https://core.trac.wordpress.org/ticket/12930
+       // Also the world will end. See WP 3.6.1.
        if ( is_serialized( $data, false ) )
                return serialize( $data );
 
@@ -490,10 +495,10 @@ function wp_extract_urls( $content ) {
  *
  * @since 1.5.0
  *
- * @see $wpdb
+ * @global wpdb $wpdb
  *
  * @param string $content Post Content.
- * @param int $post_ID Post ID.
+ * @param int    $post_ID Post ID.
  */
 function do_enclose( $content, $post_ID ) {
        global $wpdb;
@@ -870,6 +875,10 @@ function wp_remote_fopen( $uri ) {
  *
  * @since 2.0.0
  *
+ * @global WP       $wp_locale
+ * @global WP_Query $wp_query
+ * @global WP_Query $wp_the_query
+ *
  * @param string|array $query_vars Default WP_Query arguments.
  */
 function wp( $query_vars = '' ) {
@@ -885,6 +894,8 @@ function wp( $query_vars = '' ) {
  *
  * @since 2.3.0
  *
+ * @global array $wp_header_to_desc
+ *
  * @param int $code HTTP status code.
  * @return string Empty string if not found, or description if found.
  */
@@ -1124,7 +1135,7 @@ function bool_from_yn( $yn ) {
  *
  * @since 2.1.0
  *
- * @uses $wp_query Used to tell if the use a comment feed.
+ * @global WP_Query $wp_query Used to tell if the use a comment feed.
  */
 function do_feed() {
        global $wp_query;
@@ -1473,7 +1484,7 @@ function wp_mkdir_p( $target ) {
        $wrapper = null;
 
        // Strip the protocol.
-       if( wp_is_stream( $target ) ) {
+       if ( wp_is_stream( $target ) ) {
                list( $wrapper, $target ) = explode( '://', $target, 2 );
        }
 
@@ -1481,7 +1492,7 @@ function wp_mkdir_p( $target ) {
        $target = str_replace( '//', '/', $target );
 
        // Put the wrapper back on the target.
-       if( $wrapper !== null ) {
+       if ( $wrapper !== null ) {
                $target = $wrapper . '://' . $target;
        }
 
@@ -1605,10 +1616,12 @@ function wp_normalize_path( $path ) {
  *
  * @since 2.5.0
  *
+ * @staticvar string $temp
+ *
  * @return string Writable temporary directory.
  */
 function get_temp_dir() {
-       static $temp;
+       static $temp = '';
        if ( defined('WP_TEMP_DIR') )
                return trailingslashit(WP_TEMP_DIR);
 
@@ -1629,8 +1642,7 @@ function get_temp_dir() {
        if ( is_dir( $temp ) && wp_is_writable( $temp ) )
                return $temp;
 
-       $temp = '/tmp/';
-       return $temp;
+       return '/tmp/';
 }
 
 /**
@@ -2000,8 +2012,7 @@ function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {
  * @since 2.5.0
  *
  * @param string $ext The extension to search.
- * @return string|null The file type, example: audio, video, document, spreadsheet, etc.
- *                     Null if not found.
+ * @return string|void The file type, example: audio, video, document, spreadsheet, etc.
  */
 function wp_ext2type( $ext ) {
        $ext = strtolower( $ext );
@@ -2031,8 +2042,6 @@ function wp_ext2type( $ext ) {
        foreach ( $ext2type as $type => $exts )
                if ( in_array( $ext, $exts ) )
                        return $type;
-
-       return null;
 }
 
 /**
@@ -2084,7 +2093,6 @@ function wp_check_filetype( $filename, $mimes = null ) {
  *               if original $filename is valid.
  */
 function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
-
        $proper_filename = false;
 
        // Do basic extension validation and MIME mapping
@@ -2473,6 +2481,7 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
 <html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) && function_exists( 'is_rtl' ) ) language_attributes(); else echo "dir='$text_direction'"; ?>>
 <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+       <meta name="viewport" content="width=device-width">
        <title><?php echo $title ?></title>
        <style type="text/css">
                html {
@@ -2592,6 +2601,8 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
  * @since 3.2.0
  * @access private
  *
+ * @global wp_xmlrpc_server $wp_xmlrpc_server
+ *
  * @param string       $message Error message.
  * @param string       $title   Optional. Error title. Default empty.
  * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
@@ -2650,7 +2661,7 @@ function _scalar_wp_die_handler( $message = '' ) {
  * @param int   $options Optional. Options to be passed to json_encode(). Default 0.
  * @param int   $depth   Optional. Maximum depth to walk through $data. Must be
  *                       greater than 0. Default 512.
- * @return bool|string The JSON encoded string, or false if it cannot be encoded.
+ * @return string|false The JSON encoded string, or false if it cannot be encoded.
  */
 function wp_json_encode( $data, $options = 0, $depth = 512 ) {
        /*
@@ -2756,6 +2767,8 @@ function _wp_json_sanity_check( $data, $depth ) {
  *
  * @see _wp_json_sanity_check()
  *
+ * @staticvar bool $use_mb
+ *
  * @param string $string The string which is to be converted.
  * @return string The checked string.
  */
@@ -3258,6 +3271,8 @@ function wp_maybe_load_widgets() {
  * Append the Widgets menu to the themes main menu.
  *
  * @since 2.2.0
+ *
+ * @global array $submenu
  */
 function wp_widgets_add_menu() {
        global $submenu;
@@ -3400,6 +3415,53 @@ function _deprecated_function( $function, $version, $replacement = null ) {
        }
 }
 
+/**
+ * Marks a constructor as deprecated and informs when it has been used.
+ *
+ * Similar to _deprecated_function(), but with different strings. Used to
+ * remove PHP4 style constructors.
+ *
+ * The current behavior is to trigger a user error if `WP_DEBUG` is true.
+ *
+ * This function is to be used in every PHP4 style constructor method that is deprecated.
+ *
+ * @since 4.3.0
+ * @access private
+ *
+ * @param string $class   The class containing the deprecated constructor.
+ * @param string $version The version of WordPress that deprecated the function.
+ */
+function _deprecated_constructor( $class, $version ) {
+
+       /**
+        * Fires when a deprecated constructor is called.
+        *
+        * @since 4.3.0
+        *
+        * @param string $class   The class containing the deprecated constructor.
+        * @param string $version The version of WordPress that deprecated the function.
+        */
+       do_action( 'deprecated_constructor_run', $class, $version );
+
+       /**
+        * Filter whether to trigger an error for deprecated functions.
+        *
+        * `WP_DEBUG` must be true in addition to the filter evaluating to true.
+        *
+        * @since 4.3.0
+        *
+        * @param bool $trigger Whether to trigger the error for deprecated functions. Default true.
+        */
+       if ( WP_DEBUG && apply_filters( 'deprecated_constructor_trigger_error', true ) ) {
+               if ( function_exists( '__' ) ) {
+                       trigger_error( sprintf( __( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ), $class, $version, '<pre>__construct()</pre>' ) );
+               } else {
+                       trigger_error( sprintf( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.', $class, $version, '<pre>__construct()</pre>' ) );
+               }
+       }
+
+}
+
 /**
  * Mark a file as deprecated and inform when it has been used.
  *
@@ -3584,6 +3646,8 @@ function is_lighttpd_before_150() {
  *
  * @since 2.5.0
  *
+ * @global bool $is_apache
+ *
  * @param string $mod     The module, e.g. mod_rewrite.
  * @param bool   $default Optional. The default return value if the module is not found. Default false.
  * @return bool Whether the specified module is loaded.
@@ -3613,6 +3677,8 @@ function apache_mod_loaded($mod, $default = false) {
  *
  * @since 2.8.0
  *
+ * @global bool $is_iis7
+ *
  * @return bool Whether IIS7 supports permalinks.
  */
 function iis7_supports_permalinks() {
@@ -3653,7 +3719,7 @@ function iis7_supports_permalinks() {
  * @since 1.2.0
  *
  * @param string $file File path.
- * @param array $allowed_files List of allowed files.
+ * @param array  $allowed_files List of allowed files.
  * @return int 0 means nothing is wrong, greater than 0 means something was wrong.
  */
 function validate_file( $file, $allowed_files = '' ) {
@@ -3710,6 +3776,8 @@ function force_ssl_login( $force = null ) {
  *
  * @since 2.6.0
  *
+ * @staticvar bool $forced
+ *
  * @param string|bool $force Optional. Whether to force SSL in admin screens. Default null.
  * @return bool True if forced, false if not forced.
  */
@@ -3755,7 +3823,7 @@ function wp_guess_url() {
                        if ( false !== strpos( $_SERVER['SCRIPT_FILENAME'], $abspath_fix ) ) {
                                // Request is hitting a file inside ABSPATH
                                $directory = str_replace( ABSPATH, '', $script_filename_dir );
-                               // Strip off the sub directory, and any file/query paramss
+                               // Strip off the sub directory, and any file/query params
                                $path = preg_replace( '#/' . preg_quote( $directory, '#' ) . '/[^/]*$#i', '' , $_SERVER['REQUEST_URI'] );
                        } elseif ( false !== strpos( $abspath_fix, $script_filename_dir ) ) {
                                // Request is hitting a file above ABSPATH
@@ -3786,6 +3854,8 @@ function wp_guess_url() {
  *
  * @since 3.3.0
  *
+ * @staticvar bool $_suspend
+ *
  * @param bool $suspend Optional. Suspends additions if true, re-enables them if false.
  * @return bool The current suspend setting
  */
@@ -3807,6 +3877,8 @@ function wp_suspend_cache_addition( $suspend = null ) {
  *
  * @since 2.7.0
  *
+ * @global bool $_wp_suspend_cache_invalidation
+ *
  * @param bool $suspend Optional. Whether to suspend or enable cache invalidation. Default true.
  * @return bool The current suspend setting.
  */
@@ -3823,6 +3895,8 @@ function wp_suspend_cache_invalidation( $suspend = true ) {
  *
  * @since 3.0.0
  *
+ * @global object $current_site
+ *
  * @param int $site_id Optional. Site ID to test. Defaults to current site.
  *                     Defaults to current site.
  * @return bool True if $site_id is the main site of the network, or if not
@@ -3850,32 +3924,59 @@ function is_main_site( $site_id = null ) {
  * @return bool True if $network_id is the main network, or if not running Multisite.
  */
 function is_main_network( $network_id = null ) {
-       global $wpdb;
-
-       if ( ! is_multisite() )
+       if ( ! is_multisite() ) {
                return true;
+       }
 
        $current_network_id = (int) get_current_site()->id;
 
-       if ( ! $network_id )
+       if ( null === $network_id ) {
                $network_id = $current_network_id;
+       }
+
        $network_id = (int) $network_id;
 
-       if ( defined( 'PRIMARY_NETWORK_ID' ) )
-               return $network_id === (int) PRIMARY_NETWORK_ID;
+       return ( $network_id === get_main_network_id() );
+}
 
-       if ( 1 === $current_network_id )
-               return $network_id === $current_network_id;
+/**
+ * Get the main network ID.
+ *
+ * @since 4.3.0
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
+ *
+ * @return int The ID of the main network.
+ */
+function get_main_network_id() {
+       global $wpdb;
 
-       $primary_network_id = (int) wp_cache_get( 'primary_network_id', 'site-options' );
+       if ( ! is_multisite() ) {
+               return 1;
+       }
 
-       if ( $primary_network_id )
-               return $network_id === $primary_network_id;
+       if ( defined( 'PRIMARY_NETWORK_ID' ) ) {
+               $main_network_id = PRIMARY_NETWORK_ID;
+       } elseif ( 1 === (int) get_current_site()->id ) {
+               // If the current network has an ID of 1, assume it is the main network.
+               $main_network_id = 1;
+       } else {
+               $main_network_id = wp_cache_get( 'primary_network_id', 'site-options' );
 
-       $primary_network_id = (int) $wpdb->get_var( "SELECT id FROM $wpdb->site ORDER BY id LIMIT 1" );
-       wp_cache_add( 'primary_network_id', $primary_network_id, 'site-options' );
+               if ( false === $main_network_id ) {
+                       $main_network_id = (int) $wpdb->get_var( "SELECT id FROM {$wpdb->site} ORDER BY id LIMIT 1" );
+                       wp_cache_add( 'primary_network_id', $main_network_id, 'site-options' );
+               }
+       }
 
-       return $network_id === $primary_network_id;
+       /**
+        * Filter the main network ID.
+        *
+        * @since 4.3.0
+        *
+        * @param int $main_network_id The ID of the main network.
+        */
+       return (int) apply_filters( 'get_main_network_id', $main_network_id );
 }
 
 /**
@@ -3883,6 +3984,8 @@ function is_main_network( $network_id = null ) {
  *
  * @since 3.0.0
  *
+ * @staticvar bool $global_terms
+ *
  * @return bool True if multisite and global terms enabled.
  */
 function global_terms_enabled() {
@@ -3900,7 +4003,7 @@ function global_terms_enabled() {
                 *
                 * @since 3.0.0
                 *
-                * @param null $anbled Whether global terms are enabled.
+                * @param null $enabled Whether global terms are enabled.
                 */
                $filter = apply_filters( 'global_terms_enabled', null );
                if ( ! is_null( $filter ) )
@@ -3918,7 +4021,7 @@ function global_terms_enabled() {
  *
  * @since 2.8.0
  *
- * @return float|bool Timezone GMT offset, false otherwise.
+ * @return float|false Timezone GMT offset, false otherwise.
  */
 function wp_timezone_override_offset() {
        if ( !$timezone_string = get_option( 'timezone_string' ) ) {
@@ -3986,6 +4089,8 @@ function _wp_timezone_choice_usort_callback( $a, $b ) {
  *
  * @since 2.9.0
  *
+ * @staticvar bool $mo_loaded
+ *
  * @param string $selected_zone Selected timezone.
  * @return string
  */
@@ -4132,6 +4237,8 @@ function _cleanup_header_comment( $str ) {
  * The default value of `EMPTY_TRASH_DAYS` is 30 (days).
  *
  * @since 2.9.0
+ *
+ * @global wpdb $wpdb
  */
 function wp_scheduled_delete() {
        global $wpdb;
@@ -4242,7 +4349,7 @@ function get_file_data( $file, $default_headers, $context = '' ) {
  *
  * @see __return_false()
  *
- * @return bool True.
+ * @return true True.
  */
 function __return_true() {
        return true;
@@ -4257,7 +4364,7 @@ function __return_true() {
  *
  * @see __return_true()
  *
- * @return bool False.
+ * @return false False.
  */
 function __return_false() {
        return false;
@@ -4438,17 +4545,22 @@ function send_frame_options_header() {
  * Retrieve a list of protocols to allow in HTML attributes.
  *
  * @since 3.3.0
+ * @since 4.3.0 Added 'webcal' to the protocols array.
  *
  * @see wp_kses()
  * @see esc_url()
  *
- * @return array Array of allowed protocols.
+ * @staticvar array $protocols
+ *
+ * @return array Array of allowed protocols. Defaults to an array containing 'http', 'https',
+ *               'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet',
+ *               'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp', and 'webcal'.
  */
 function wp_allowed_protocols() {
-       static $protocols;
+       static $protocols = array();
 
        if ( empty( $protocols ) ) {
-               $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp' );
+               $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp', 'webcal' );
 
                /**
                 * Filter the list of protocols allowed in HTML attributes.
@@ -4543,7 +4655,7 @@ function _get_non_cached_ids( $object_ids, $cache_key ) {
  * @since 3.4.0
  * @access private
  *
- * @return bool true|false Whether the device is able to upload files.
+ * @return bool Whether the device is able to upload files.
  */
 function _device_can_upload() {
        if ( ! wp_is_mobile() )
@@ -4692,9 +4804,10 @@ function wp_auth_check_html() {
  *
  * @since 3.6.0
  *
- * @param array|object $response  The Heartbeat response object or array.
- * @return array|object $response The Heartbeat response object or array with 'wp-auth-check'
- *                                value set.
+ * @global int $login_grace_period
+ *
+ * @param array $response  The Heartbeat response.
+ * @return array $response The Heartbeat response with 'wp-auth-check' value set.
  */
 function wp_auth_check( $response ) {
        $response['wp-auth-check'] = is_user_logged_in() && empty( $GLOBALS['login_grace_period'] );
@@ -4767,6 +4880,9 @@ function _canonical_charset( $charset ) {
  *
  * @see reset_mbstring_encoding()
  *
+ * @staticvar array $encodings
+ * @staticvar bool  $overloaded
+ *
  * @param bool $reset Optional. Whether to reset the encoding back to a previously-set encoding.
  *                    Default false.
  */
@@ -4845,3 +4961,37 @@ function wp_delete_file( $file ) {
                @unlink( $delete );
        }
 }
+
+/**
+ * Outputs a small JS snippet on preview tabs/windows to remove `window.name` on unload.
+ *
+ * This prevents reusing the same tab for a preview when the user has navigated away.
+ *
+ * @since 4.3.0
+ */
+function wp_post_preview_js() {
+       global $post;
+
+       if ( ! is_preview() || empty( $post ) ) {
+               return;
+       }
+
+       // Has to match the window name used in post_submit_meta_box()
+       $name = 'wp-preview-' . (int) $post->ID;
+
+       ?>
+       <script>
+       ( function() {
+               var query = document.location.search;
+
+               if ( query && query.indexOf( 'preview=true' ) !== -1 ) {
+                       window.name = '<?php echo $name; ?>';
+               }
+
+               if ( window.addEventListener ) {
+                       window.addEventListener( 'unload', function() { window.name = ''; }, false );
+               }
+       }());
+       </script>
+       <?php
+}
index c4be60c48a840d0ef7408f2974d9ee00170453a6..01ad19b1c21d25a750a48dd938e0bf46ca37976e 100644 (file)
@@ -91,9 +91,9 @@ function wp_print_scripts( $handles = false ) {
  * Registers a script to be linked later using the wp_enqueue_script() function.
  *
  * @see WP_Dependencies::add(), WP_Dependencies::add_data()
- * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  * @since 2.6.0
+ * @since 4.3.0 A return value was added.
  *
  * @param string      $handle    Name of the script. Should be unique.
  * @param string      $src       Path to the script from the WordPress root directory. Example: '/js/myscript.js'.
@@ -105,15 +105,18 @@ function wp_print_scripts( $handles = false ) {
  *                               If set to null, no version is added. Default 'false'. Accepts 'false', 'null', or 'string'.
  * @param bool        $in_footer Optional. Whether to enqueue the script before </head> or before </body>.
  *                               Default 'false'. Accepts 'false' or 'true'.
+ * @return bool Whether the script has been registered. True on success, false on failure.
  */
 function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_footer = false ) {
        $wp_scripts = wp_scripts();
        _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-       $wp_scripts->add( $handle, $src, $deps, $ver );
+       $registered = $wp_scripts->add( $handle, $src, $deps, $ver );
        if ( $in_footer ) {
                $wp_scripts->add_data( $handle, 'group', 1 );
        }
+
+       return $registered;
 }
 
 /**
@@ -151,7 +154,7 @@ function wp_localize_script( $handle, $object_name, $l10n ) {
                return false;
        }
 
-       return wp_scripts()->localize( $handle, $object_name, $l10n );
+       return $wp_scripts->localize( $handle, $object_name, $l10n );
 }
 
 /**
@@ -161,7 +164,6 @@ function wp_localize_script( $handle, $object_name, $l10n ) {
  * such as jQuery core, from being unregistered.
  *
  * @see WP_Dependencies::remove()
- * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  * @since 2.6.0
  *
@@ -204,7 +206,6 @@ function wp_deregister_script( $handle ) {
  * Registers the script if $src provided (does NOT overwrite), and enqueues it.
  *
  * @see WP_Dependencies::add(), WP_Dependencies::add_data(), WP_Dependencies::enqueue()
- * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  * @since 2.6.0
  *
@@ -242,7 +243,6 @@ function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false
  * Remove a previously enqueued script.
  *
  * @see WP_Dependencies::dequeue()
- * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  * @since 3.1.0
  *
@@ -257,8 +257,6 @@ function wp_dequeue_script( $handle ) {
 /**
  * Check whether a script has been added to the queue.
  *
- * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
- *
  * @since 2.8.0
  * @since 3.5.0 'enqueued' added as an alias of the 'queue' list.
  *
@@ -291,6 +289,5 @@ function wp_script_is( $handle, $list = 'enqueued' ) {
  * @return bool True on success, false on failure.
  */
 function wp_script_add_data( $handle, $key, $value ){
-       global $wp_scripts;
-       return $wp_scripts->add_data( $handle, $key, $value );
+       return wp_scripts()->add_data( $handle, $key, $value );
 }
index 76ca28fac0114aeb6bb6e1a28b1585ab4ba27867..2036f4b95160013cf8d17d33f89fb33137bbec65 100644 (file)
@@ -98,6 +98,7 @@ function wp_add_inline_style( $handle, $data ) {
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
  *
  * @since 2.6.0
+ * @since 4.3.0 A return value was added.
  *
  * @param string      $handle Name of the stylesheet.
  * @param string|bool $src    Path to the stylesheet from the WordPress root directory. Example: '/css/mystyle.css'.
@@ -107,11 +108,12 @@ function wp_add_inline_style( $handle, $data ) {
  * @param string      $media  Optional. The media for which this stylesheet has been defined.
  *                            Default 'all'. Accepts 'all', 'aural', 'braille', 'handheld', 'projection', 'print',
  *                            'screen', 'tty', or 'tv'.
+ * @return bool Whether the style has been registered. True on success, false on failure.
  */
 function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
        _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-       wp_styles()->add( $handle, $src, $deps, $ver, $media );
+       return wp_styles()->add( $handle, $src, $deps, $ver, $media );
 }
 
 /**
@@ -150,7 +152,6 @@ function wp_deregister_style( $handle ) {
  *                            'screen', 'tty', or 'tv'.
  */
 function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
-       global $wp_styles;
        _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
        $wp_styles = wp_styles();
@@ -180,8 +181,6 @@ function wp_dequeue_style( $handle ) {
 /**
  * Check whether a CSS stylesheet has been added to the queue.
  *
- * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
- *
  * @since 2.8.0
  *
  * @param string $handle Name of the stylesheet.
index f9a529f069ed13da81556f73cfb9de53a1acb58a..8f2cdf67aa4a6be5acb3e211c8db7de342059b67 100644 (file)
@@ -190,8 +190,8 @@ function get_template_part( $slug, $name = null ) {
  *
  * @since 2.7.0
  *
- * @param boolean $echo Default to echo and not return the form.
- * @return string|null String when retrieving, null when displaying or if searchform.php exists.
+ * @param bool $echo Default to echo and not return the form.
+ * @return string|void String when $echo is false.
  */
 function get_search_form( $echo = true ) {
        /**
@@ -268,8 +268,8 @@ function get_search_form( $echo = true ) {
  * @since 1.5.0
  *
  * @param string $redirect Optional path to redirect to on login/logout.
- * @param boolean $echo Default to echo and not return the link.
- * @return string|null String when retrieving, null when displaying.
+ * @param bool   $echo     Default to echo and not return the link.
+ * @return string|void String when retrieving.
  */
 function wp_loginout($redirect = '', $echo = true) {
        if ( ! is_user_logged_in() )
@@ -323,14 +323,12 @@ function wp_logout_url($redirect = '') {
 }
 
 /**
- * Returns the Log In URL.
- *
  * Returns the URL that allows the user to log in to the site.
  *
  * @since 2.7.0
  *
- * @param string $redirect Path to redirect to on login.
- * @param bool $force_reauth Whether to force reauthorization, even if a cookie is present. Default is false.
+ * @param string $redirect     Path to redirect to on login.
+ * @param bool   $force_reauth Whether to force reauthorization, even if a cookie is present. Default is false.
  * @return string A log in URL.
  */
 function wp_login_url($redirect = '', $force_reauth = false) {
@@ -356,8 +354,6 @@ function wp_login_url($redirect = '', $force_reauth = false) {
 }
 
 /**
- * Returns the user registration URL.
- *
  * Returns the URL that allows the user to register on the site.
  *
  * @since 3.6.0
@@ -382,7 +378,7 @@ function wp_registration_url() {
  * @since 3.0.0
  *
  * @param array $args Configuration options to modify the form output.
- * @return string|null String when retrieving, null when displaying.
+ * @return string|void String when retrieving.
  */
 function wp_login_form( $args = array() ) {
        $defaults = array(
@@ -477,8 +473,6 @@ function wp_login_form( $args = array() ) {
 }
 
 /**
- * Returns the Lost Password URL.
- *
  * Returns the URL that allows the user to retrieve the lost password
  *
  * @since 2.8.0
@@ -514,12 +508,11 @@ function wp_lostpassword_url( $redirect = '' ) {
  * @since 1.5.0
  *
  * @param string $before Text to output before the link. Default `<li>`.
- * @param string $after Text to output after the link. Default `</li>`.
- * @param boolean $echo Default to echo and not return the link.
- * @return string|null String when retrieving, null when displaying.
+ * @param string $after  Text to output after the link. Default `</li>`.
+ * @param bool   $echo   Default to echo and not return the link.
+ * @return string|void String when retrieving.
  */
 function wp_register( $before = '<li>', $after = '</li>', $echo = true ) {
-
        if ( ! is_user_logged_in() ) {
                if ( get_option('users_can_register') )
                        $link = $before . '<a href="' . esc_url( wp_registration_url() ) . '">' . __('Register') . '</a>' . $after;
@@ -600,12 +593,13 @@ function bloginfo( $show='' ) {
  *
  * @since 0.71
  *
- * @param string $show Blog info to retrieve.
+ * @global string $wp_version
+ *
+ * @param string $show   Blog info to retrieve.
  * @param string $filter How to filter what is retrieved.
  * @return string Mostly string values, might be empty.
  */
 function get_bloginfo( $show = '', $filter = 'raw' ) {
-
        switch( $show ) {
                case 'home' : // DEPRECATED
                case 'siteurl' : // DEPRECATED
@@ -727,6 +721,57 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
        return $output;
 }
 
+/**
+ * Returns the Site Icon URL.
+ *
+ * @param  int    $size    Size of the site icon.
+ * @param  string $url     Fallback url if no site icon is found.
+ * @param  int    $blog_id Id of the blog to get the site icon for.
+ * @return string          Site Icon URL.
+ */
+function get_site_icon_url( $size = 512, $url = '', $blog_id = 0 ) {
+       if ( $blog_id && is_multisite() ) {
+               $site_icon_id = get_blog_option( $blog_id, 'site_icon' );
+       } else {
+               $site_icon_id = get_option( 'site_icon' );
+       }
+
+       if ( $site_icon_id ) {
+               if ( $size >= 512 ) {
+                       $size_data = 'full';
+               } else {
+                       $size_data = array( $size, $size );
+               }
+               $url_data = wp_get_attachment_image_src( $site_icon_id, $size_data );
+               if ( $url_data ) {
+                       $url = $url_data[0];
+               }
+       }
+
+       return $url;
+}
+
+/**
+ * Displays the Site Icon URL.
+ *
+ * @param  int    $size    Size of the site icon.
+ * @param  string $url     Fallback url if no site icon is found.
+ * @param  int    $blog_id Id of the blog to get the site icon for.
+ */
+function site_icon_url( $size = 512, $url = '', $blog_id = 0 ) {
+       echo esc_url( get_site_icon_url( $size, $url, $blog_id ) );
+}
+
+/**
+ * Whether the site has a Site Icon.
+ *
+ * @param int $blog_id Optional. Blog ID. Default: Current blog.
+ * @return bool
+ */
+function has_site_icon( $blog_id = 0 ) {
+       return (bool) get_site_icon_url( 512, '', $blog_id );
+}
+
 /**
  * Display title tag with contents.
  *
@@ -766,12 +811,16 @@ function _wp_render_title_tag() {
  *
  * @since 1.0.0
  *
- * @param string $sep Optional, default is '&raquo;'. How to separate the various items within the page title.
- * @param bool $display Optional, default is true. Whether to display or retrieve title.
+ * @global WP_Locale $wp_locale
+ * @global int       $page
+ * @global int       $paged
+ *
+ * @param string $sep         Optional, default is '&raquo;'. How to separate the various items within the page title.
+ * @param bool   $display     Optional, default is true. Whether to display or retrieve title.
  * @param string $seplocation Optional. Direction to display title, 'right'.
- * @return string|null String on retrieve, null when displaying.
+ * @return string|void String on retrieve.
  */
-function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
+function wp_title( $sep = '&raquo;', $display = true, $seplocation = '' ) {
        global $wp_locale, $page, $paged;
 
        $m = get_query_var('m');
@@ -916,11 +965,11 @@ function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
  *
  * @since 0.71
  *
- * @param string $prefix Optional. What to display before the title.
- * @param bool $display Optional, default is true. Whether to display or retrieve title.
- * @return string|null Title when retrieving, null when displaying or failure.
+ * @param string $prefix  Optional. What to display before the title.
+ * @param bool   $display Optional, default is true. Whether to display or retrieve title.
+ * @return string|void Title when retrieving.
  */
-function single_post_title($prefix = '', $display = true) {
+function single_post_title( $prefix = '', $display = true ) {
        $_post = get_queried_object();
 
        if ( !isset($_post->post_title) )
@@ -949,9 +998,9 @@ function single_post_title($prefix = '', $display = true) {
  *
  * @since 3.1.0
  *
- * @param string $prefix Optional. What to display before the title.
- * @param bool $display Optional, default is true. Whether to display or retrieve title.
- * @return string|null Title when retrieving, null when displaying or failure.
+ * @param string $prefix  Optional. What to display before the title.
+ * @param bool   $display Optional, default is true. Whether to display or retrieve title.
+ * @return string|void Title when retrieving, null when displaying or failure.
  */
 function post_type_archive_title( $prefix = '', $display = true ) {
        if ( ! is_post_type_archive() )
@@ -992,9 +1041,9 @@ function post_type_archive_title( $prefix = '', $display = true ) {
  *
  * @since 0.71
  *
- * @param string $prefix Optional. What to display before the title.
- * @param bool $display Optional, default is true. Whether to display or retrieve title.
- * @return string|null Title when retrieving, null when displaying or failure.
+ * @param string $prefix  Optional. What to display before the title.
+ * @param bool   $display Optional, default is true. Whether to display or retrieve title.
+ * @return string|void Title when retrieving.
  */
 function single_cat_title( $prefix = '', $display = true ) {
        return single_term_title( $prefix, $display );
@@ -1013,9 +1062,9 @@ function single_cat_title( $prefix = '', $display = true ) {
  *
  * @since 2.3.0
  *
- * @param string $prefix Optional. What to display before the title.
- * @param bool $display Optional, default is true. Whether to display or retrieve title.
- * @return string|null Title when retrieving, null when displaying or failure.
+ * @param string $prefix  Optional. What to display before the title.
+ * @param bool   $display Optional, default is true. Whether to display or retrieve title.
+ * @return string|void Title when retrieving.
  */
 function single_tag_title( $prefix = '', $display = true ) {
        return single_term_title( $prefix, $display );
@@ -1034,9 +1083,9 @@ function single_tag_title( $prefix = '', $display = true ) {
  *
  * @since 3.1.0
  *
- * @param string $prefix Optional. What to display before the title.
- * @param bool $display Optional, default is true. Whether to display or retrieve title.
- * @return string|null Title when retrieving, null when displaying or failure.
+ * @param string $prefix  Optional. What to display before the title.
+ * @param bool   $display Optional, default is true. Whether to display or retrieve title.
+ * @return string|void Title when retrieving.
  */
 function single_term_title( $prefix = '', $display = true ) {
        $term = get_queried_object();
@@ -1098,9 +1147,11 @@ function single_term_title( $prefix = '', $display = true ) {
  *
  * @since 0.71
  *
- * @param string $prefix Optional. What to display before the title.
- * @param bool $display Optional, default is true. Whether to display or retrieve title.
- * @return string|null Title when retrieving, null when displaying or failure.
+ * @global WP_Locale $wp_locale
+ *
+ * @param string $prefix  Optional. What to display before the title.
+ * @param bool   $display Optional, default is true. Whether to display or retrieve title.
+ * @return string|void Title when retrieving.
  */
 function single_month_title($prefix = '', $display = true ) {
        global $wp_locale;
@@ -1270,11 +1321,11 @@ function get_the_archive_description() {
  *
  * @todo Properly document optional arguments as such
  *
- * @param string $url URL to archive.
- * @param string $text Archive text description.
+ * @param string $url    URL to archive.
+ * @param string $text   Archive text description.
  * @param string $format Optional, default is 'html'. Can be 'link', 'option', 'html', or custom.
  * @param string $before Optional.
- * @param string $after Optional.
+ * @param string $after  Optional.
  * @return string HTML link content for archive.
  */
 function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') {
@@ -1297,9 +1348,7 @@ function get_archives_link($url, $text, $format = 'html', $before = '', $after =
         *
         * @param string $link_html The archive HTML link content.
         */
-       $link_html = apply_filters( 'get_archives_link', $link_html );
-
-       return $link_html;
+       return apply_filters( 'get_archives_link', $link_html );
 }
 
 /**
@@ -1309,6 +1358,9 @@ function get_archives_link($url, $text, $format = 'html', $before = '', $after =
  *
  * @see get_archives_link()
  *
+ * @global wpdb      $wpdb
+ * @global WP_Locale $wp_locale
+ *
  * @param string|array $args {
  *     Default archive links arguments. Optional.
  *
@@ -1330,7 +1382,7 @@ function get_archives_link($url, $text, $format = 'html', $before = '', $after =
  *     @type string     $order           Whether to use ascending or descending order. Accepts 'ASC', or 'DESC'.
  *                                       Default 'DESC'.
  * }
- * @return string|null String when retrieving, null when displaying.
+ * @return string|void String when retrieving.
  */
 function wp_get_archives( $args = '' ) {
        global $wpdb, $wp_locale;
@@ -1546,9 +1598,16 @@ function calendar_week_mod($num) {
  *
  * @since 1.0.0
  *
+ * @global wpdb      $wpdb
+ * @global int       $m
+ * @global int       $monthnum
+ * @global int       $year
+ * @global WP_Locale $wp_locale
+ * @global array     $posts
+ *
  * @param bool $initial Optional, default is true. Use initial calendar names.
- * @param bool $echo Optional, default is true. Set to false for return.
- * @return string|null String when retrieving, null when displaying.
+ * @param bool $echo    Optional, default is true. Set to false for return.
+ * @return string|void String when retrieving.
  */
 function get_calendar($initial = true, $echo = true) {
        global $wpdb, $m, $monthnum, $year, $wp_locale, $posts;
@@ -1637,7 +1696,7 @@ function get_calendar($initial = true, $echo = true) {
        }
 
        foreach ( $myweek as $wd ) {
-               $day_name = (true == $initial) ? $wp_locale->get_weekday_initial($wd) : $wp_locale->get_weekday_abbrev($wd);
+               $day_name = $initial ? $wp_locale->get_weekday_initial($wd) : $wp_locale->get_weekday_abbrev($wd);
                $wd = esc_attr($wd);
                $calendar_output .= "\n\t\t<th scope=\"col\" title=\"$wd\">$day_name</th>";
        }
@@ -1778,7 +1837,8 @@ function delete_get_calendar_cache() {
  * attributes are supported. As well as any plugins which want to display it.
  *
  * @since 1.0.1
- * @uses $allowedtags
+ *
+ * @global array $allowedtags
  *
  * @return string HTML allowed tags entity encoded.
  */
@@ -1794,7 +1854,7 @@ function allowed_tags() {
                }
                $allowed .= '> ';
        }
-       return htmlentities($allowed);
+       return htmlentities( $allowed );
 }
 
 /***** Date/Time tags *****/
@@ -1822,11 +1882,14 @@ function the_date_xml() {
  *
  * @since 0.71
  *
- * @param string $d Optional. PHP date format defaults to the date_format option if not specified.
+ * @global string|int|bool $currentday
+ * @global string|int|bool $previousday
+ *
+ * @param string $d      Optional. PHP date format defaults to the date_format option if not specified.
  * @param string $before Optional. Output before the date.
- * @param string $after Optional. Output after the date.
- * @param bool $echo Optional, default is display. Whether to echo the date or return it.
- * @return string|null Null if displaying, string if retrieving.
+ * @param string $after  Optional. Output after the date.
+ * @param bool   $echo   Optional, default is display. Whether to echo the date or return it.
+ * @return string|void String if retrieving.
  */
 function the_date( $d = '', $before = '', $after = '', $echo = true ) {
        global $currentday, $previousday;
@@ -1853,8 +1916,6 @@ function the_date( $d = '', $before = '', $after = '', $echo = true ) {
                else
                        return $the_date;
        }
-
-       return null;
 }
 
 /**
@@ -1900,14 +1961,13 @@ function get_the_date( $d = '', $post = null ) {
  *
  * @since 2.1.0
  *
- * @param string $d Optional. PHP date format defaults to the date_format option if not specified.
+ * @param string $d      Optional. PHP date format defaults to the date_format option if not specified.
  * @param string $before Optional. Output before the date.
- * @param string $after Optional. Output after the date.
- * @param bool $echo Optional, default is display. Whether to echo the date or return it.
- * @return string|null Null if displaying, string if retrieving.
+ * @param string $after  Optional. Output after the date.
+ * @param bool   $echo   Optional, default is display. Whether to echo the date or return it.
+ * @return string|void String if retrieving.
  */
-function the_modified_date($d = '', $before='', $after='', $echo = true) {
-
+function the_modified_date( $d = '', $before = '', $after = '', $echo = true ) {
        $the_modified_date = $before . get_the_modified_date($d) . $after;
 
        /**
@@ -2141,7 +2201,8 @@ function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translat
  * Display the weekday on which the post was written.
  *
  * @since 0.71
- * @uses $wp_locale
+ *
+ * @global WP_Locale $wp_locale
  */
 function the_weekday() {
        global $wp_locale;
@@ -2154,8 +2215,7 @@ function the_weekday() {
         *
         * @param string $the_weekday
         */
-       $the_weekday = apply_filters( 'the_weekday', $the_weekday );
-       echo $the_weekday;
+       echo apply_filters( 'the_weekday', $the_weekday );
 }
 
 /**
@@ -2166,6 +2226,10 @@ function the_weekday() {
  *
  * @since 0.71
  *
+ * @global WP_Locale       $wp_locale
+ * @global string|int|bool $currentday
+ * @global string|int|bool $previousweekday
+ *
  * @param string $before Optional Output before the date.
  * @param string $after Optional Output after the date.
  */
@@ -2372,6 +2436,40 @@ function wp_no_robots() {
        echo "<meta name='robots' content='noindex,follow' />\n";
 }
 
+/**
+ * Display site icon meta tags.
+ *
+ * @since 4.3.0
+ *
+ * @link http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon HTML5 specification link icon.
+ */
+function wp_site_icon() {
+       if ( ! has_site_icon() && ! is_customize_preview() ) {
+               return;
+       }
+
+       $meta_tags = array(
+               sprintf( '<link rel="icon" href="%s" sizes="32x32" />', esc_url( get_site_icon_url( 32 ) ) ),
+               sprintf( '<link rel="icon" href="%s" sizes="192x192" />', esc_url( get_site_icon_url( 192 ) ) ),
+               sprintf( '<link rel="apple-touch-icon-precomposed" href="%s">', esc_url( get_site_icon_url( 180 ) ) ),
+               sprintf( '<meta name="msapplication-TileImage" content="%s">', esc_url( get_site_icon_url( 270 ) ) ),
+       );
+
+       /**
+        * Filter the site icon meta tags, so Plugins can add their own.
+        *
+        * @since 4.3.0
+        *
+        * @param array $meta_tags Site Icon meta elements.
+        */
+       $meta_tags = apply_filters( 'site_icon_meta_tags', $meta_tags );
+       $meta_tags = array_filter( $meta_tags );
+
+       foreach ( $meta_tags as $meta_tag ) {
+               echo "$meta_tag\n";
+       }
+}
+
 /**
  * Whether the user should have a WYSIWIG editor.
  *
@@ -2380,6 +2478,13 @@ function wp_no_robots() {
  *
  * @since 2.0.0
  *
+ * @global bool $wp_rich_edit
+ * @global bool $is_gecko
+ * @global bool $is_opera
+ * @global bool $is_safari
+ * @global bool $is_chrome
+ * @global bool $is_IE
+ *
  * @return bool
  */
 function user_can_richedit() {
@@ -2449,9 +2554,9 @@ function wp_default_editor() {
  * @see wp-includes/class-wp-editor.php
  * @since 3.3.0
  *
- * @param string $content Initial content for the editor.
+ * @param string $content   Initial content for the editor.
  * @param string $editor_id HTML ID attribute value for the textarea and TinyMCE. Can only be /[a-z]+/.
- * @param array $settings See _WP_Editors::editor().
+ * @param array  $settings  See _WP_Editors::editor().
  */
 function wp_editor( $content, $editor_id, $settings = array() ) {
        if ( ! class_exists( '_WP_Editors' ) )
@@ -2469,7 +2574,7 @@ function wp_editor( $content, $editor_id, $settings = array() ) {
  * @since 2.3.0
  *
  * @param bool $escaped Whether the result is escaped. Default true.
- *     Only use when you are later escaping it. Do not use unescaped.
+ *                         Only use when you are later escaping it. Do not use unescaped.
  * @return string
  */
 function get_search_query( $escaped = true ) {
@@ -2507,16 +2612,16 @@ function the_search_query() {
 }
 
 /**
- * Display the language attributes for the html tag.
+ * Gets the language attributes for the html tag.
  *
  * Builds up a set of html attributes containing the text direction and language
  * information for the page.
  *
- * @since 2.1.0
+ * @since 4.3.0
  *
- * @param string $doctype The type of html document (xhtml|html).
+ * @param string $doctype Optional. The type of html document. Accepts 'xhtml' or 'html'. Default 'html'.
  */
-function language_attributes($doctype = 'html') {
+function get_language_attributes( $doctype = 'html' ) {
        $attributes = array();
 
        if ( function_exists( 'is_rtl' ) && is_rtl() )
@@ -2536,10 +2641,27 @@ function language_attributes($doctype = 'html') {
         * Filter the language attributes for display in the html tag.
         *
         * @since 2.5.0
+        * @since 4.3.0 Added the `$doctype` parameter.
         *
         * @param string $output A space-separated list of language attributes.
+        * @param string $doctype The type of html document (xhtml|html).
         */
-       echo apply_filters( 'language_attributes', $output );
+       return apply_filters( 'language_attributes', $output, $doctype );
+}
+
+/**
+ * Displays the language attributes for the html tag.
+ *
+ * Builds up a set of html attributes containing the text direction and language
+ * information for the page.
+ *
+ * @since 2.1.0
+ * @since 4.3.0 Converted into a wrapper for get_language_attributes().
+ *
+ * @param string $doctype Optional. The type of html document. Accepts 'xhtml' or 'html'. Default 'html'.
+ */
+function language_attributes( $doctype = 'html' ) {
+       echo get_language_attributes( $doctype );
 }
 
 /**
@@ -2590,6 +2712,9 @@ function language_attributes($doctype = 'html') {
  *
  * @since 2.1.0
  *
+ * @global WP_Query   $wp_query
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string|array $args {
  *     Optional. Array or string of arguments for generating paginated links for archives.
  *
@@ -2612,7 +2737,7 @@ function language_attributes($doctype = 'html') {
  *     @type string $before_page_number A string to appear before the page number. Default empty.
  *     @type string $after_page_number  A string to append after the page number. Default empty.
  * }
- * @return array|string String of page links or array of page links.
+ * @return array|string|void String of page links or array of page links.
  */
 function paginate_links( $args = '' ) {
        global $wp_query, $wp_rewrite;
@@ -2659,12 +2784,19 @@ function paginate_links( $args = '' ) {
        // Merge additional query vars found in the original URL into 'add_args' array.
        if ( isset( $url_parts[1] ) ) {
                // Find the format argument.
-               $format_query = parse_url( str_replace( '%_%', $args['format'], $args['base'] ), PHP_URL_QUERY );
-               wp_parse_str( $format_query, $format_arg );
+               $format = explode( '?', str_replace( '%_%', $args['format'], $args['base'] ) );
+               $format_query = isset( $format[1] ) ? $format[1] : '';
+               wp_parse_str( $format_query, $format_args );
+
+               // Find the query args of the requested URL.
+               wp_parse_str( $url_parts[1], $url_query_args );
 
                // Remove the format argument from the array of query arguments, to avoid overwriting custom format.
-               wp_parse_str( remove_query_arg( array_keys( $format_arg ), $url_parts[1] ), $query_args );
-               $args['add_args'] = array_merge( $args['add_args'], urlencode_deep( $query_args ) );
+               foreach ( $format_args as $format_arg => $format_arg_value ) {
+                       unset( $url_query_args[ $format_arg ] );
+               }
+
+               $args['add_args'] = array_merge( $args['add_args'], urlencode_deep( $url_query_args ) );
        }
 
        // Who knows what else people pass in $args
@@ -2763,11 +2895,13 @@ function paginate_links( $args = '' ) {
  *
  * @todo Properly document optional arguments as such
  *
- * @param string $key The unique key for this theme.
- * @param string $name The name of the theme.
- * @param string $url The url of the css file containing the colour scheme.
- * @param array $colors Optional An array of CSS color definitions which are used to give the user a feel for the theme.
- * @param array $icons Optional An array of CSS color definitions used to color any SVG icons
+ * @global array $_wp_admin_css_colors
+ *
+ * @param string $key    The unique key for this theme.
+ * @param string $name   The name of the theme.
+ * @param string $url    The url of the css file containing the colour scheme.
+ * @param array  $colors Optional An array of CSS color definitions which are used to give the user a feel for the theme.
+ * @param array  $icons  Optional An array of CSS color definitions used to color any SVG icons
  */
 function wp_admin_css_color( $key, $name, $url, $colors = array(), $icons = array() ) {
        global $_wp_admin_css_colors;
@@ -2787,10 +2921,12 @@ function wp_admin_css_color( $key, $name, $url, $colors = array(), $icons = arra
  * Registers the default Admin color schemes
  *
  * @since 3.0.0
+ *
+ * @global string $wp_version
  */
 function register_admin_color_schemes() {
        $suffix = is_rtl() ? '-rtl' : '';
-       $suffix .= defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
+       $suffix .= SCRIPT_DEBUG ? '' : '.min';
 
        wp_admin_css_color( 'fresh', _x( 'Default', 'admin color scheme' ),
                false,
@@ -2854,6 +2990,7 @@ function register_admin_color_schemes() {
  * @since 2.3.0
  *
  * @param string $file file relative to wp-admin/ without its ".css" extension.
+ * @return string
  */
 function wp_admin_css_uri( $file = 'wp-admin' ) {
        if ( defined('WP_INSTALLING') ) {
@@ -2889,22 +3026,16 @@ function wp_admin_css_uri( $file = 'wp-admin' ) {
  * stylesheet link to that generated URL is printed.
  *
  * @since 2.3.0
- * @uses $wp_styles WordPress Styles Object
  *
- * @param string $file Optional. Style handle name or file name (without ".css" extension) relative
- *      to wp-admin/. Defaults to 'wp-admin'.
- * @param bool $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
+ * @param string $file       Optional. Style handle name or file name (without ".css" extension) relative
+ *                              to wp-admin/. Defaults to 'wp-admin'.
+ * @param bool   $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
  */
 function wp_admin_css( $file = 'wp-admin', $force_echo = false ) {
-       global $wp_styles;
-       if ( ! ( $wp_styles instanceof WP_Styles ) ) {
-               $wp_styles = new WP_Styles();
-       }
-
        // For backward compatibility
        $handle = 0 === strpos( $file, 'css/' ) ? substr( $file, 4 ) : $file;
 
-       if ( $wp_styles->query( $handle ) ) {
+       if ( wp_styles()->query( $handle ) ) {
                if ( $force_echo || did_action( 'wp_print_styles' ) ) // we already printed the style queue. Print this one immediately
                        wp_print_styles( $handle );
                else // Add to style queue
@@ -2997,7 +3128,7 @@ function the_generator( $type ) {
  * @since 2.5.0
  *
  * @param string $type The type of generator to return - (html|xhtml|atom|rss2|rdf|comment|export).
- * @return string The HTML content for the generator.
+ * @return string|void The HTML content for the generator.
  */
 function get_the_generator( $type = '' ) {
        if ( empty( $type ) ) {
@@ -3073,7 +3204,7 @@ function get_the_generator( $type = '' ) {
  *
  * @param mixed $checked One of the values to compare
  * @param mixed $current (true) The other value to compare if not just true
- * @param bool $echo Whether to echo or just return the string
+ * @param bool  $echo    Whether to echo or just return the string
  * @return string html attribute or empty string
  */
 function checked( $checked, $current = true, $echo = true ) {
@@ -3088,8 +3219,8 @@ function checked( $checked, $current = true, $echo = true ) {
  * @since 1.0.0
  *
  * @param mixed $selected One of the values to compare
- * @param mixed $current (true) The other value to compare if not just true
- * @param bool $echo Whether to echo or just return the string
+ * @param mixed $current  (true) The other value to compare if not just true
+ * @param bool  $echo     Whether to echo or just return the string
  * @return string html attribute or empty string
  */
 function selected( $selected, $current = true, $echo = true ) {
@@ -3104,8 +3235,8 @@ function selected( $selected, $current = true, $echo = true ) {
  * @since 3.0.0
  *
  * @param mixed $disabled One of the values to compare
- * @param mixed $current (true) The other value to compare if not just true
- * @param bool $echo Whether to echo or just return the string
+ * @param mixed $current  (true) The other value to compare if not just true
+ * @param bool  $echo     Whether to echo or just return the string
  * @return string html attribute or empty string
  */
 function disabled( $disabled, $current = true, $echo = true ) {
@@ -3120,10 +3251,10 @@ function disabled( $disabled, $current = true, $echo = true ) {
  * @since 2.8.0
  * @access private
  *
- * @param mixed $helper One of the values to compare
- * @param mixed $current (true) The other value to compare if not just true
- * @param bool $echo Whether to echo or just return the string
- * @param string $type The type of checked|selected|disabled we are doing
+ * @param mixed  $helper  One of the values to compare
+ * @param mixed  $current (true) The other value to compare if not just true
+ * @param bool   $echo    Whether to echo or just return the string
+ * @param string $type    The type of checked|selected|disabled we are doing
  * @return string html attribute or empty string
  */
 function __checked_selected_helper( $helper, $current, $echo, $type ) {
index 02b653f5a4803de405bb6ded412140faa7fd28c4..4768c7fdd7c1a709dabca9eb2acb289b682b47ec 100644 (file)
  * @since 2.7.0
  * @access private
  *
+ * @staticvar WP_Http $http
+ *
  * @return WP_Http HTTP Transport object.
  */
 function _wp_http_get_object() {
-       static $http;
+       static $http = null;
 
-       if ( is_null($http) )
+       if ( is_null( $http ) ) {
                $http = new WP_Http();
-
+       }
        return $http;
 }
 
@@ -149,8 +151,8 @@ function wp_safe_remote_head( $url, $args = array() ) {
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_request($url, $args = array()) {
-       $objFetchSite = _wp_http_get_object();
-       return $objFetchSite->request($url, $args);
+       $http = _wp_http_get_object();
+       return $http->request( $url, $args );
 }
 
 /**
@@ -166,8 +168,8 @@ function wp_remote_request($url, $args = array()) {
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_get($url, $args = array()) {
-       $objFetchSite = _wp_http_get_object();
-       return $objFetchSite->get($url, $args);
+       $http = _wp_http_get_object();
+       return $http->get( $url, $args );
 }
 
 /**
@@ -183,8 +185,8 @@ function wp_remote_get($url, $args = array()) {
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_post($url, $args = array()) {
-       $objFetchSite = _wp_http_get_object();
-       return $objFetchSite->post($url, $args);
+       $http = _wp_http_get_object();
+       return $http->post( $url, $args );
 }
 
 /**
@@ -200,8 +202,8 @@ function wp_remote_post($url, $args = array()) {
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_head($url, $args = array()) {
-       $objFetchSite = _wp_http_get_object();
-       return $objFetchSite->head($url, $args);
+       $http = _wp_http_get_object();
+       return $http->head( $url, $args );
 }
 
 /**
@@ -224,7 +226,7 @@ function wp_remote_retrieve_headers( $response ) {
  *
  * @since 2.7.0
  *
- * @param array $response
+ * @param array  $response
  * @param string $header Header name to retrieve value from.
  * @return string The header value. Empty string on if incorrect parameter given, or if the header doesn't exist.
  */
@@ -293,12 +295,13 @@ function wp_remote_retrieve_body( $response ) {
  * @since 3.2.0
  *
  * @param array  $capabilities Array of capabilities to test or a wp_remote_request() $args array.
- * @param string $url Optional. If given, will check if the URL requires SSL and adds that requirement to the capabilities array.
+ * @param string $url          Optional. If given, will check if the URL requires SSL and adds
+ *                             that requirement to the capabilities array.
  *
  * @return bool
  */
 function wp_http_supports( $capabilities = array(), $url = null ) {
-       $objFetchSite = _wp_http_get_object();
+       $http = _wp_http_get_object();
 
        $capabilities = wp_parse_args( $capabilities );
 
@@ -316,7 +319,7 @@ function wp_http_supports( $capabilities = array(), $url = null ) {
                }
        }
 
-       return (bool) $objFetchSite->_get_first_available_transport( $capabilities );
+       return (bool) $http->_get_first_available_transport( $capabilities );
 }
 
 /**
@@ -382,7 +385,7 @@ function get_allowed_http_origins() {
  * @since 3.4.0
  *
  * @param null|string $origin Origin URL. If not provided, the value of get_http_origin() is used.
- * @return bool|null True if the origin is allowed. False otherwise.
+ * @return string True if the origin is allowed. False otherwise.
  */
 function is_allowed_http_origin( $origin = null ) {
        $origin_arg = $origin;
@@ -398,8 +401,8 @@ function is_allowed_http_origin( $origin = null ) {
         *
         * @since 3.4.0
         *
-        * @param string $origin Result of check for allowed origin.
-        * @param string $origin_arg original origin string passed into is_allowed_http_origin function.
+        * @param string $origin     Result of check for allowed origin.
+        * @param string $origin_arg Original origin string passed into is_allowed_http_origin function.
         */
        return apply_filters( 'allowed_http_origin', $origin, $origin_arg );
 }
@@ -414,8 +417,8 @@ function is_allowed_http_origin( $origin = null ) {
  *
  * @since 3.4.0
  *
- * @return bool|string Returns the origin URL if headers are sent. Returns false
- * if headers are not sent.
+ * @return string|false Returns the origin URL if headers are sent. Returns false
+ *                      if headers are not sent.
  */
 function send_origin_headers() {
        $origin = get_http_origin();
@@ -487,9 +490,9 @@ function wp_http_validate_url( $url ) {
                                 *
                                 * @since 3.6.0
                                 *
-                                * @param bool false Whether HTTP request is external or not.
+                                * @param bool   false Whether HTTP request is external or not.
                                 * @param string $host IP of the requested host.
-                                * @param string $url URL of the requested host.
+                                * @param string $url  URL of the requested host.
                                 */
                                if ( ! apply_filters( 'http_request_host_is_external', false, $host, $url ) )
                                        return false;
@@ -517,7 +520,7 @@ function wp_http_validate_url( $url ) {
  *
  * @since 3.6.0
  *
- * @param bool $is_external
+ * @param bool   $is_external
  * @param string $host
  * @return bool
  */
@@ -534,7 +537,10 @@ function allowed_http_request_hosts( $is_external, $host ) {
  *
  * @since 3.6.0
  *
- * @param bool $is_external
+ * @global wpdb $wpdb
+ * @staticvar array $queried
+ *
+ * @param bool   $is_external
  * @param string $host
  * @return bool
  */
index c028db9d64849bbe844c4b524329d29f67f84c31..10d2954781f708a5be7f8b694e49d7055bbcf94e 100644 (file)
@@ -28,6 +28,12 @@ if ( typeof(jQuery) != 'undefined' ) {
                                        e.stopPropagation();
                                        e.preventDefault();
                                        el.addClass('hover');
+                               } else if ( ! $( e.target ).closest( 'div' ).hasClass( 'ab-sub-wrapper' ) ) {
+                                       // We're dealing with an already-touch-opened menu genericon (we know el.hasClass('hover')),
+                                       // so close it on a second tap and prevent propag and defaults. See #29906
+                                       e.stopPropagation();
+                                       e.preventDefault();
+                                       el.removeClass('hover');
                                }
 
                                if ( unbind ) {
@@ -123,12 +129,14 @@ if ( typeof(jQuery) != 'undefined' ) {
                        target.siblings('.ab-sub-wrapper').find('.ab-item').each(refresh);
                });
 
-               $('#wpadminbar').click( function(e) {
-                       if ( e.target.id != 'wpadminbar' && e.target.id != 'wp-admin-bar-top-secondary' )
+               adminbar.click( function(e) {
+                       if ( e.target.id != 'wpadminbar' && e.target.id != 'wp-admin-bar-top-secondary' ) {
                                return;
+                       }
 
+                       adminbar.find( 'li.menupop.hover' ).removeClass( 'hover' );
+                       $( 'html, body' ).animate( { scrollTop: 0 }, 'fast' );
                        e.preventDefault();
-                       $('html, body').animate({ scrollTop: 0 }, 'fast');
                });
 
                // fix focus bug in WebKit
index d4082036d65077d97cfc73b81dbdfe3e7e33aa22..94179555c6611093abdce17f380ad74cb0cb6c06 100644 (file)
@@ -1 +1 @@
-"undefined"!=typeof jQuery?("undefined"==typeof jQuery.fn.hoverIntent&&!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:6,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.sqrt((h-f)*(h-f)+(i-g)*(i-g))<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=!0,e.over.apply(c,[b])):(h=f,i=g,void(c.hoverIntent_t=setTimeout(function(){k(b,c)},e.interval)))},l=function(a,b){return b.hoverIntent_t=clearTimeout(b.hoverIntent_t),b.hoverIntent_s=!1,e.out.apply(b,[a])},m=function(b){var c=a.extend({},b),d=this;d.hoverIntent_t&&(d.hoverIntent_t=clearTimeout(d.hoverIntent_t)),"mouseenter"===b.type?(h=c.pageX,i=c.pageY,a(d).on("mousemove.hoverIntent",j),d.hoverIntent_s||(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){l(c,d)},e.timeout)))};return this.on({"mouseenter.hoverIntent":m,"mouseleave.hoverIntent":m},e.selector)}}(jQuery),jQuery(document).ready(function(a){var b,c,d,e=a("#wpadminbar"),f=!1;b=function(b,c){var d=a(c),e=d.attr("tabindex");e&&d.attr("tabindex","0").attr("tabindex",e)},c=function(b){e.find("li.menupop").on("click.wp-mobile-hover",function(c){var d=a(this);d.parent().is("#wp-admin-bar-root-default")&&!d.hasClass("hover")?(c.preventDefault(),e.find("li.menupop.hover").removeClass("hover"),d.addClass("hover")):d.hasClass("hover")||(c.stopPropagation(),c.preventDefault(),d.addClass("hover")),b&&(a("li.menupop").off("click.wp-mobile-hover"),f=!1)})},d=function(){var b=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click";a(document.body).on(b+".wp-mobile-hover",function(b){a(b.target).closest("#wpadminbar").length||e.find("li.menupop.hover").removeClass("hover")})},e.removeClass("nojq").removeClass("nojs"),"ontouchstart"in window?(e.on("touchstart",function(){c(!0),f=!0}),d()):/IEMobile\/[1-9]/.test(navigator.userAgent)&&(c(),d()),e.find("li.menupop").hoverIntent({over:function(){f||a(this).addClass("hover")},out:function(){f||a(this).removeClass("hover")},timeout:180,sensitivity:7,interval:100}),window.location.hash&&window.scrollBy(0,-32),a("#wp-admin-bar-get-shortlink").click(function(b){b.preventDefault(),a(this).addClass("selected").children(".shortlink-input").blur(function(){a(this).parents("#wp-admin-bar-get-shortlink").removeClass("selected")}).focus().select()}),a("#wpadminbar li.menupop > .ab-item").bind("keydown.adminbar",function(c){if(13==c.which){var d=a(c.target),e=d.closest(".ab-sub-wrapper"),f=d.parent().hasClass("hover");c.stopPropagation(),c.preventDefault(),e.length||(e=a("#wpadminbar .quicklinks")),e.find(".menupop").removeClass("hover"),f||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))}),a("#adminbar-search").on({focus:function(){a("#adminbarsearch").addClass("adminbar-focused")},blur:function(){a("#adminbarsearch").removeClass("adminbar-focused")}}),"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?("undefined"==typeof jQuery.fn.hoverIntent&&!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:6,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.sqrt((h-f)*(h-f)+(i-g)*(i-g))<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=!0,e.over.apply(c,[b])):(h=f,i=g,void(c.hoverIntent_t=setTimeout(function(){k(b,c)},e.interval)))},l=function(a,b){return b.hoverIntent_t=clearTimeout(b.hoverIntent_t),b.hoverIntent_s=!1,e.out.apply(b,[a])},m=function(b){var c=a.extend({},b),d=this;d.hoverIntent_t&&(d.hoverIntent_t=clearTimeout(d.hoverIntent_t)),"mouseenter"===b.type?(h=c.pageX,i=c.pageY,a(d).on("mousemove.hoverIntent",j),d.hoverIntent_s||(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){l(c,d)},e.timeout)))};return this.on({"mouseenter.hoverIntent":m,"mouseleave.hoverIntent":m},e.selector)}}(jQuery),jQuery(document).ready(function(a){var b,c,d,e=a("#wpadminbar"),f=!1;b=function(b,c){var d=a(c),e=d.attr("tabindex");e&&d.attr("tabindex","0").attr("tabindex",e)},c=function(b){e.find("li.menupop").on("click.wp-mobile-hover",function(c){var d=a(this);d.parent().is("#wp-admin-bar-root-default")&&!d.hasClass("hover")?(c.preventDefault(),e.find("li.menupop.hover").removeClass("hover"),d.addClass("hover")):d.hasClass("hover")?a(c.target).closest("div").hasClass("ab-sub-wrapper")||(c.stopPropagation(),c.preventDefault(),d.removeClass("hover")):(c.stopPropagation(),c.preventDefault(),d.addClass("hover")),b&&(a("li.menupop").off("click.wp-mobile-hover"),f=!1)})},d=function(){var b=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click";a(document.body).on(b+".wp-mobile-hover",function(b){a(b.target).closest("#wpadminbar").length||e.find("li.menupop.hover").removeClass("hover")})},e.removeClass("nojq").removeClass("nojs"),"ontouchstart"in window?(e.on("touchstart",function(){c(!0),f=!0}),d()):/IEMobile\/[1-9]/.test(navigator.userAgent)&&(c(),d()),e.find("li.menupop").hoverIntent({over:function(){f||a(this).addClass("hover")},out:function(){f||a(this).removeClass("hover")},timeout:180,sensitivity:7,interval:100}),window.location.hash&&window.scrollBy(0,-32),a("#wp-admin-bar-get-shortlink").click(function(b){b.preventDefault(),a(this).addClass("selected").children(".shortlink-input").blur(function(){a(this).parents("#wp-admin-bar-get-shortlink").removeClass("selected")}).focus().select()}),a("#wpadminbar li.menupop > .ab-item").bind("keydown.adminbar",function(c){if(13==c.which){var d=a(c.target),e=d.closest(".ab-sub-wrapper"),f=d.parent().hasClass("hover");c.stopPropagation(),c.preventDefault(),e.length||(e=a("#wpadminbar .quicklinks")),e.find(".menupop").removeClass("hover"),f||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)}}),e.click(function(b){("wpadminbar"==b.target.id||"wp-admin-bar-top-secondary"==b.target.id)&&(e.find("li.menupop.hover").removeClass("hover"),a("html, body").animate({scrollTop:0},"fast"),b.preventDefault())}),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))}),a("#adminbar-search").on({focus:function(){a("#adminbarsearch").addClass("adminbar-focused")},blur:function(){a("#adminbarsearch").removeClass("adminbar-focused")}}),"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=b>800?Math.round(b/30):Math.round(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
index 3eac95fec258f2fc9fd95d0937670076b8a0ff71..eef66c61263fcb8a3ded31a97fb89b29dd03bc25 100644 (file)
@@ -1 +1 @@
-function getAnchorPosition(a){var b=new Object,c=0,d=0,e=!1,f=!1,g=!1;if(document.getElementById?e=!0:document.all?f=!0:document.layers&&(g=!0),e&&document.all)c=AnchorPosition_getPageOffsetLeft(document.all[a]),d=AnchorPosition_getPageOffsetTop(document.all[a]);else if(e){var h=document.getElementById(a);c=AnchorPosition_getPageOffsetLeft(h),d=AnchorPosition_getPageOffsetTop(h)}else if(f)c=AnchorPosition_getPageOffsetLeft(document.all[a]),d=AnchorPosition_getPageOffsetTop(document.all[a]);else{if(!g)return b.x=0,b.y=0,b;for(var i=0,j=0;j<document.anchors.length;j++)if(document.anchors[j].name==a){i=1;break}if(0==i)return b.x=0,b.y=0,b;c=document.anchors[j].x,d=document.anchors[j].y}return b.x=c,b.y=d,b}function getAnchorWindowPosition(a){var b=getAnchorPosition(a),c=0,d=0;return document.getElementById?isNaN(window.screenX)?(c=b.x-document.body.scrollLeft+window.screenLeft,d=b.y-document.body.scrollTop+window.screenTop):(c=b.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset,d=b.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset):document.all?(c=b.x-document.body.scrollLeft+window.screenLeft,d=b.y-document.body.scrollTop+window.screenTop):document.layers&&(c=b.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset,d=b.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset),b.x=c,b.y=d,b}function AnchorPosition_getPageOffsetLeft(a){for(var b=a.offsetLeft;null!=(a=a.offsetParent);)b+=a.offsetLeft;return b}function AnchorPosition_getWindowOffsetLeft(a){return AnchorPosition_getPageOffsetLeft(a)-document.body.scrollLeft}function AnchorPosition_getPageOffsetTop(a){for(var b=a.offsetTop;null!=(a=a.offsetParent);)b+=a.offsetTop;return b}function AnchorPosition_getWindowOffsetTop(a){return AnchorPosition_getPageOffsetTop(a)-document.body.scrollTop}function PopupWindow_getXYPosition(a){var b;b="WINDOW"==this.type?getAnchorWindowPosition(a):getAnchorPosition(a),this.x=b.x,this.y=b.y}function PopupWindow_setSize(a,b){this.width=a,this.height=b}function PopupWindow_populate(a){this.contents=a,this.populated=!1}function PopupWindow_setUrl(a){this.url=a}function PopupWindow_setWindowProperties(a){this.windowProperties=a}function PopupWindow_refresh(){if(null!=this.divName){if(this.use_gebi)document.getElementById(this.divName).innerHTML=this.contents;else if(this.use_css)document.all[this.divName].innerHTML=this.contents;else if(this.use_layers){var a=document.layers[this.divName];a.document.open(),a.document.writeln(this.contents),a.document.close()}}else null==this.popupWindow||this.popupWindow.closed||(""!=this.url?this.popupWindow.location.href=this.url:(this.popupWindow.document.open(),this.popupWindow.document.writeln(this.contents),this.popupWindow.document.close()),this.popupWindow.focus())}function PopupWindow_showPopup(a){if(this.getXYPosition(a),this.x+=this.offsetX,this.y+=this.offsetY,this.populated||""==this.contents||(this.populated=!0,this.refresh()),null!=this.divName)this.use_gebi?(document.getElementById(this.divName).style.left=this.x+"px",document.getElementById(this.divName).style.top=this.y,document.getElementById(this.divName).style.visibility="visible"):this.use_css?(document.all[this.divName].style.left=this.x,document.all[this.divName].style.top=this.y,document.all[this.divName].style.visibility="visible"):this.use_layers&&(document.layers[this.divName].left=this.x,document.layers[this.divName].top=this.y,document.layers[this.divName].visibility="visible");else{if(null==this.popupWindow||this.popupWindow.closed){this.x<0&&(this.x=0),this.y<0&&(this.y=0),screen&&screen.availHeight&&this.y+this.height>screen.availHeight&&(this.y=screen.availHeight-this.height),screen&&screen.availWidth&&this.x+this.width>screen.availWidth&&(this.x=screen.availWidth-this.width);var b=window.opera||document.layers&&!navigator.mimeTypes["*"]||"KDE"==navigator.vendor||document.childNodes&&!document.all&&!navigator.taintEnabled;this.popupWindow=window.open(b?"":"about:blank","window_"+a,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y)}this.refresh()}}function PopupWindow_hidePopup(){null!=this.divName?this.use_gebi?document.getElementById(this.divName).style.visibility="hidden":this.use_css?document.all[this.divName].style.visibility="hidden":this.use_layers&&(document.layers[this.divName].visibility="hidden"):this.popupWindow&&!this.popupWindow.closed&&(this.popupWindow.close(),this.popupWindow=null)}function PopupWindow_isClicked(a){if(null!=this.divName){if(this.use_layers){var b=a.pageX,c=a.pageY,d=document.layers[this.divName];return b>d.left&&b<d.left+d.clip.width&&c>d.top&&c<d.top+d.clip.height?!0:!1}if(document.all){for(var d=window.event.srcElement;null!=d.parentElement;){if(d.id==this.divName)return!0;d=d.parentElement}return!1}if(this.use_gebi&&a){for(var d=a.originalTarget;null!=d.parentNode;){if(d.id==this.divName)return!0;d=d.parentNode}return!1}return!1}return!1}function PopupWindow_hideIfNotClicked(a){this.autoHideEnabled&&!this.isClicked(a)&&this.hidePopup()}function PopupWindow_autoHide(){this.autoHideEnabled=!0}function PopupWindow_hidePopupWindows(a){for(var b=0;b<popupWindowObjects.length;b++)if(null!=popupWindowObjects[b]){var c=popupWindowObjects[b];c.hideIfNotClicked(a)}}function PopupWindow_attachListener(){document.layers&&document.captureEvents(Event.MOUSEUP),window.popupWindowOldEventListener=document.onmouseup,document.onmouseup=null!=window.popupWindowOldEventListener?new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();"):PopupWindow_hidePopupWindows}function PopupWindow(){window.popupWindowIndex||(window.popupWindowIndex=0),window.popupWindowObjects||(window.popupWindowObjects=new Array),window.listenerAttached||(window.listenerAttached=!0,PopupWindow_attachListener()),this.index=popupWindowIndex++,popupWindowObjects[this.index]=this,this.divName=null,this.popupWindow=null,this.width=0,this.height=0,this.populated=!1,this.visible=!1,this.autoHideEnabled=!1,this.contents="",this.url="",this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no",arguments.length>0?(this.type="DIV",this.divName=arguments[0]):this.type="WINDOW",this.use_gebi=!1,this.use_css=!1,this.use_layers=!1,document.getElementById?this.use_gebi=!0:document.all?this.use_css=!0:document.layers?this.use_layers=!0:this.type="WINDOW",this.offsetX=0,this.offsetY=0,this.getXYPosition=PopupWindow_getXYPosition,this.populate=PopupWindow_populate,this.setUrl=PopupWindow_setUrl,this.setWindowProperties=PopupWindow_setWindowProperties,this.refresh=PopupWindow_refresh,this.showPopup=PopupWindow_showPopup,this.hidePopup=PopupWindow_hidePopup,this.setSize=PopupWindow_setSize,this.isClicked=PopupWindow_isClicked,this.autoHide=PopupWindow_autoHide,this.hideIfNotClicked=PopupWindow_hideIfNotClicked}function ColorPicker_writeDiv(){document.writeln('<DIV ID="colorPickerDiv" STYLE="position:absolute;visibility:hidden;"> </DIV>')}function ColorPicker_show(a){this.showPopup(a)}function ColorPicker_pickColor(a,b){b.hidePopup(),pickColor(a)}function pickColor(a){return null==ColorPicker_targetInput?void 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!"):void(ColorPicker_targetInput.value=a)}function ColorPicker_select(a,b){return"text"!=a.type&&"hidden"!=a.type&&"textarea"!=a.type?(alert("colorpicker.select: Input object passed is not a valid form input object"),void(window.ColorPicker_targetInput=null)):(window.ColorPicker_targetInput=a,void this.show(b))}function ColorPicker_highlightColor(a){var b=arguments.length>1?arguments[1]:window.document,c=b.getElementById("colorPickerSelectedColor");c.style.backgroundColor=a,c=b.getElementById("colorPickerSelectedColorValue"),c.innerHTML=a}function ColorPicker(){var a=!1;if(0==arguments.length)var b="colorPickerDiv";else if("window"==arguments[0]){var b="";a=!0}else var b=arguments[0];if(""!=b)var c=new PopupWindow(b);else{var c=new PopupWindow;c.setSize(225,250)}c.currentValue="#FFFFFF",c.writeDiv=ColorPicker_writeDiv,c.highlightColor=ColorPicker_highlightColor,c.show=ColorPicker_show,c.select=ColorPicker_select;var d=new Array("#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099","#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099","#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF","#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F","#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000","#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399","#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399","#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF","#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F","#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00","#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699","#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699","#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699","#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F","#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F","#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F","#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999","#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999","#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999","#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF","#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F","#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000","#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99","#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99","#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF","#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F","#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00","#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99","#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99","#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99","#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F","#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F","#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F","#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666","#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000","#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000","#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999","#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF","#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66","#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00","#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000","#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099","#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF","#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF","#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC","#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000","#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900","#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33","#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF","#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF","#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F","#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F","#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F","#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000"),e=d.length,f=72,g="",h=a?"window.opener.":"";a&&(g+="<html><head><title>Select Color</title></head>",g+="<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><span style='text-align: center;'>"),g+="<table style='border: none;' cellspacing=0 cellpadding=0>";for(var i=document.getElementById||document.all?!0:!1,j=0;e>j;j++){if(j%f==0&&(g+="<tr>"),i)var k='onMouseOver="'+h+"ColorPicker_highlightColor('"+d[j]+"',window.document)\"";else k="";g+='<td style="background-color: '+d[j]+';"><a href="javascript:void()" onclick="'+h+"ColorPicker_pickColor('"+d[j]+"',"+h+"window.popupWindowObjects["+c.index+']);return false;" '+k+">&nbsp;</a></td>",(j+1>=e||(j+1)%f==0)&&(g+="</tr>")}if(document.getElementById){var l=Math.floor(f/2),m=f=l;g+="<tr><td colspan='"+l+"' style='background-color: #FFF;' ID='colorPickerSelectedColor'>&nbsp;</td><td colspan='"+m+"' style='text-align: center;' id='colorPickerSelectedColorValue'>#FFFFFF</td></tr>"}return g+="</table>",a&&(g+="</span></body></html>"),c.populate(g+"\n"),c.offsetY=25,c.autoHide(),c}ColorPicker_targetInput=null;
\ No newline at end of file
+function getAnchorPosition(a){var b=new Object,c=0,d=0,e=!1,f=!1,g=!1;if(document.getElementById?e=!0:document.all?f=!0:document.layers&&(g=!0),e&&document.all)c=AnchorPosition_getPageOffsetLeft(document.all[a]),d=AnchorPosition_getPageOffsetTop(document.all[a]);else if(e){var h=document.getElementById(a);c=AnchorPosition_getPageOffsetLeft(h),d=AnchorPosition_getPageOffsetTop(h)}else if(f)c=AnchorPosition_getPageOffsetLeft(document.all[a]),d=AnchorPosition_getPageOffsetTop(document.all[a]);else{if(!g)return b.x=0,b.y=0,b;for(var i=0,j=0;j<document.anchors.length;j++)if(document.anchors[j].name==a){i=1;break}if(0==i)return b.x=0,b.y=0,b;c=document.anchors[j].x,d=document.anchors[j].y}return b.x=c,b.y=d,b}function getAnchorWindowPosition(a){var b=getAnchorPosition(a),c=0,d=0;return document.getElementById?isNaN(window.screenX)?(c=b.x-document.body.scrollLeft+window.screenLeft,d=b.y-document.body.scrollTop+window.screenTop):(c=b.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset,d=b.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset):document.all?(c=b.x-document.body.scrollLeft+window.screenLeft,d=b.y-document.body.scrollTop+window.screenTop):document.layers&&(c=b.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset,d=b.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset),b.x=c,b.y=d,b}function AnchorPosition_getPageOffsetLeft(a){for(var b=a.offsetLeft;null!=(a=a.offsetParent);)b+=a.offsetLeft;return b}function AnchorPosition_getWindowOffsetLeft(a){return AnchorPosition_getPageOffsetLeft(a)-document.body.scrollLeft}function AnchorPosition_getPageOffsetTop(a){for(var b=a.offsetTop;null!=(a=a.offsetParent);)b+=a.offsetTop;return b}function AnchorPosition_getWindowOffsetTop(a){return AnchorPosition_getPageOffsetTop(a)-document.body.scrollTop}function PopupWindow_getXYPosition(a){var b;b="WINDOW"==this.type?getAnchorWindowPosition(a):getAnchorPosition(a),this.x=b.x,this.y=b.y}function PopupWindow_setSize(a,b){this.width=a,this.height=b}function PopupWindow_populate(a){this.contents=a,this.populated=!1}function PopupWindow_setUrl(a){this.url=a}function PopupWindow_setWindowProperties(a){this.windowProperties=a}function PopupWindow_refresh(){if(null!=this.divName){if(this.use_gebi)document.getElementById(this.divName).innerHTML=this.contents;else if(this.use_css)document.all[this.divName].innerHTML=this.contents;else if(this.use_layers){var a=document.layers[this.divName];a.document.open(),a.document.writeln(this.contents),a.document.close()}}else null==this.popupWindow||this.popupWindow.closed||(""!=this.url?this.popupWindow.location.href=this.url:(this.popupWindow.document.open(),this.popupWindow.document.writeln(this.contents),this.popupWindow.document.close()),this.popupWindow.focus())}function PopupWindow_showPopup(a){if(this.getXYPosition(a),this.x+=this.offsetX,this.y+=this.offsetY,this.populated||""==this.contents||(this.populated=!0,this.refresh()),null!=this.divName)this.use_gebi?(document.getElementById(this.divName).style.left=this.x+"px",document.getElementById(this.divName).style.top=this.y,document.getElementById(this.divName).style.visibility="visible"):this.use_css?(document.all[this.divName].style.left=this.x,document.all[this.divName].style.top=this.y,document.all[this.divName].style.visibility="visible"):this.use_layers&&(document.layers[this.divName].left=this.x,document.layers[this.divName].top=this.y,document.layers[this.divName].visibility="visible");else{if(null==this.popupWindow||this.popupWindow.closed){this.x<0&&(this.x=0),this.y<0&&(this.y=0),screen&&screen.availHeight&&this.y+this.height>screen.availHeight&&(this.y=screen.availHeight-this.height),screen&&screen.availWidth&&this.x+this.width>screen.availWidth&&(this.x=screen.availWidth-this.width);var b=window.opera||document.layers&&!navigator.mimeTypes["*"]||"KDE"==navigator.vendor||document.childNodes&&!document.all&&!navigator.taintEnabled;this.popupWindow=window.open(b?"":"about:blank","window_"+a,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y)}this.refresh()}}function PopupWindow_hidePopup(){null!=this.divName?this.use_gebi?document.getElementById(this.divName).style.visibility="hidden":this.use_css?document.all[this.divName].style.visibility="hidden":this.use_layers&&(document.layers[this.divName].visibility="hidden"):this.popupWindow&&!this.popupWindow.closed&&(this.popupWindow.close(),this.popupWindow=null)}function PopupWindow_isClicked(a){if(null!=this.divName){if(this.use_layers){var b=a.pageX,c=a.pageY,d=document.layers[this.divName];return b>d.left&&b<d.left+d.clip.width&&c>d.top&&c<d.top+d.clip.height?!0:!1}if(document.all){for(var d=window.event.srcElement;null!=d.parentElement;){if(d.id==this.divName)return!0;d=d.parentElement}return!1}if(this.use_gebi&&a){for(var d=a.originalTarget;null!=d.parentNode;){if(d.id==this.divName)return!0;d=d.parentNode}return!1}return!1}return!1}function PopupWindow_hideIfNotClicked(a){this.autoHideEnabled&&!this.isClicked(a)&&this.hidePopup()}function PopupWindow_autoHide(){this.autoHideEnabled=!0}function PopupWindow_hidePopupWindows(a){for(var b=0;b<popupWindowObjects.length;b++)if(null!=popupWindowObjects[b]){var c=popupWindowObjects[b];c.hideIfNotClicked(a)}}function PopupWindow_attachListener(){document.layers&&document.captureEvents(Event.MOUSEUP),window.popupWindowOldEventListener=document.onmouseup,null!=window.popupWindowOldEventListener?document.onmouseup=new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();"):document.onmouseup=PopupWindow_hidePopupWindows}function PopupWindow(){window.popupWindowIndex||(window.popupWindowIndex=0),window.popupWindowObjects||(window.popupWindowObjects=new Array),window.listenerAttached||(window.listenerAttached=!0,PopupWindow_attachListener()),this.index=popupWindowIndex++,popupWindowObjects[this.index]=this,this.divName=null,this.popupWindow=null,this.width=0,this.height=0,this.populated=!1,this.visible=!1,this.autoHideEnabled=!1,this.contents="",this.url="",this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no",arguments.length>0?(this.type="DIV",this.divName=arguments[0]):this.type="WINDOW",this.use_gebi=!1,this.use_css=!1,this.use_layers=!1,document.getElementById?this.use_gebi=!0:document.all?this.use_css=!0:document.layers?this.use_layers=!0:this.type="WINDOW",this.offsetX=0,this.offsetY=0,this.getXYPosition=PopupWindow_getXYPosition,this.populate=PopupWindow_populate,this.setUrl=PopupWindow_setUrl,this.setWindowProperties=PopupWindow_setWindowProperties,this.refresh=PopupWindow_refresh,this.showPopup=PopupWindow_showPopup,this.hidePopup=PopupWindow_hidePopup,this.setSize=PopupWindow_setSize,this.isClicked=PopupWindow_isClicked,this.autoHide=PopupWindow_autoHide,this.hideIfNotClicked=PopupWindow_hideIfNotClicked}function ColorPicker_writeDiv(){document.writeln('<DIV ID="colorPickerDiv" STYLE="position:absolute;visibility:hidden;"> </DIV>')}function ColorPicker_show(a){this.showPopup(a)}function ColorPicker_pickColor(a,b){b.hidePopup(),pickColor(a)}function pickColor(a){return null==ColorPicker_targetInput?void 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!"):void(ColorPicker_targetInput.value=a)}function ColorPicker_select(a,b){return"text"!=a.type&&"hidden"!=a.type&&"textarea"!=a.type?(alert("colorpicker.select: Input object passed is not a valid form input object"),void(window.ColorPicker_targetInput=null)):(window.ColorPicker_targetInput=a,void this.show(b))}function ColorPicker_highlightColor(a){var b=arguments.length>1?arguments[1]:window.document,c=b.getElementById("colorPickerSelectedColor");c.style.backgroundColor=a,c=b.getElementById("colorPickerSelectedColorValue"),c.innerHTML=a}function ColorPicker(){var a=!1;if(0==arguments.length)var b="colorPickerDiv";else if("window"==arguments[0]){var b="";a=!0}else var b=arguments[0];if(""!=b)var c=new PopupWindow(b);else{var c=new PopupWindow;c.setSize(225,250)}c.currentValue="#FFFFFF",c.writeDiv=ColorPicker_writeDiv,c.highlightColor=ColorPicker_highlightColor,c.show=ColorPicker_show,c.select=ColorPicker_select;var d=new Array("#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099","#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099","#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF","#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F","#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000","#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399","#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399","#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF","#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F","#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00","#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699","#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699","#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699","#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F","#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F","#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F","#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999","#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999","#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999","#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF","#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F","#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000","#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99","#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99","#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF","#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F","#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00","#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99","#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99","#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99","#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F","#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F","#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F","#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666","#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000","#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000","#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999","#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF","#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66","#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00","#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000","#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099","#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF","#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF","#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC","#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000","#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900","#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33","#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF","#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF","#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F","#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F","#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F","#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000"),e=d.length,f=72,g="",h=a?"window.opener.":"";a&&(g+="<html><head><title>Select Color</title></head>",g+="<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><span style='text-align: center;'>"),g+="<table style='border: none;' cellspacing=0 cellpadding=0>";for(var i=document.getElementById||document.all?!0:!1,j=0;e>j;j++){if(j%f==0&&(g+="<tr>"),i)var k='onMouseOver="'+h+"ColorPicker_highlightColor('"+d[j]+"',window.document)\"";else k="";g+='<td style="background-color: '+d[j]+';"><a href="javascript:void()" onclick="'+h+"ColorPicker_pickColor('"+d[j]+"',"+h+"window.popupWindowObjects["+c.index+']);return false;" '+k+">&nbsp;</a></td>",(j+1>=e||(j+1)%f==0)&&(g+="</tr>")}if(document.getElementById){var l=Math.floor(f/2),m=f=l;g+="<tr><td colspan='"+l+"' style='background-color: #FFF;' ID='colorPickerSelectedColor'>&nbsp;</td><td colspan='"+m+"' style='text-align: center;' id='colorPickerSelectedColorValue'>#FFFFFF</td></tr>"}return g+="</table>",a&&(g+="</span></body></html>"),c.populate(g+"\n"),c.offsetY=25,c.autoHide(),c}ColorPicker_targetInput=null;
\ No newline at end of file
index 5969be3963d6152b9a1a2dd08c10e905987c3a52..9d6e088c515415d8915d43d8b6333e621d0a6ff4 100644 (file)
@@ -1,4 +1,4 @@
-/* globals _wpCustomizeHeader, _ */
+/* global _wpCustomizeHeader */
 (function( $, wp ) {
        var api = wp.customize;
        api.HeaderTool = {};
diff --git a/wp-includes/js/customize-preview-nav-menus.js b/wp-includes/js/customize-preview-nav-menus.js
new file mode 100644 (file)
index 0000000..814c6f2
--- /dev/null
@@ -0,0 +1,284 @@
+/* global JSON, _wpCustomizePreviewNavMenusExports */
+
+( function( $, _, wp ) {
+       'use strict';
+
+       if ( ! wp || ! wp.customize ) { return; }
+
+       var api = wp.customize,
+               currentRefreshDebounced = {},
+               refreshDebounceDelay = 200,
+               settings = {},
+               defaultSettings = {
+                       renderQueryVar: null,
+                       renderNonceValue: null,
+                       renderNoncePostKey: null,
+                       previewCustomizeNonce: null,
+                       requestUri: '/',
+                       theme: {
+                               active: false,
+                               stylesheet: ''
+                       },
+                       navMenuInstanceArgs: {}
+               };
+
+       api.MenusCustomizerPreview = {
+               /**
+                * Bootstrap functionality.
+                */
+               init : function() {
+                       var self = this, initializedSettings = {};
+
+                       settings = _.extend( {}, defaultSettings );
+                       if ( 'undefined' !== typeof _wpCustomizePreviewNavMenusExports ) {
+                               _.extend( settings, _wpCustomizePreviewNavMenusExports );
+                       }
+
+                       api.each( function( setting, id ) {
+                               setting.id = id;
+                               initializedSettings[ setting.id ] = true;
+                               self.bindListener( setting );
+                       } );
+
+                       api.preview.bind( 'setting', function( args ) {
+                               var id, value, setting;
+                               args = args.slice();
+                               id = args.shift();
+                               value = args.shift();
+
+                               setting = api( id );
+                               if ( ! setting ) {
+                                       // Currently customize-preview.js is not creating settings for dynamically-created settings in the pane, so we have to do it.
+                                       setting = api.create( id, value ); // @todo This should be in core
+                               }
+                               if ( ! setting.id ) {
+                                       // Currently customize-preview.js doesn't set the id property for each setting, like customize-controls.js does.
+                                       setting.id = id;
+                               }
+
+                               if ( ! initializedSettings[ setting.id ] ) {
+                                       initializedSettings[ setting.id ] = true;
+                                       if ( self.bindListener( setting ) ) {
+                                               setting.callbacks.fireWith( setting, [ setting(), null ] );
+                                       }
+                               }
+                       } );
+               },
+
+               /**
+                *
+                * @param {wp.customize.Value} setting
+                * @returns {boolean} Whether the setting was bound.
+                */
+               bindListener : function( setting ) {
+                       var matches, themeLocation;
+
+                       matches = setting.id.match( /^nav_menu\[(-?\d+)]$/ );
+                       if ( matches ) {
+                               setting.navMenuId = parseInt( matches[1], 10 );
+                               setting.bind( this.onChangeNavMenuSetting );
+                               return true;
+                       }
+
+                       matches = setting.id.match( /^nav_menu_item\[(-?\d+)]$/ );
+                       if ( matches ) {
+                               setting.navMenuItemId = parseInt( matches[1], 10 );
+                               setting.bind( this.onChangeNavMenuItemSetting );
+                               return true;
+                       }
+
+                       matches = setting.id.match( /^nav_menu_locations\[(.+?)]/ );
+                       if ( matches ) {
+                               themeLocation = matches[1];
+                               setting.bind( _.bind( function() {
+                                       this.refreshMenuLocation( themeLocation );
+                               }, this ) );
+                               return true;
+                       }
+
+                       return false;
+               },
+
+               /**
+                * Handle changing of a nav_menu setting.
+                *
+                * @this {wp.customize.Setting}
+                */
+               onChangeNavMenuSetting : function() {
+                       var setting = this;
+                       if ( ! setting.navMenuId ) {
+                               throw new Error( 'Expected navMenuId property to be set.' );
+                       }
+                       api.MenusCustomizerPreview.refreshMenu( setting.navMenuId );
+               },
+
+               /**
+                * Handle changing of a nav_menu_item setting.
+                *
+                * @this {wp.customize.Setting}
+                * @param {object} to
+                * @param {object} from
+                */
+               onChangeNavMenuItemSetting : function( to, from ) {
+                       if ( from && from.nav_menu_term_id && ( ! to || from.nav_menu_term_id !== to.nav_menu_term_id ) ) {
+                               api.MenusCustomizerPreview.refreshMenu( from.nav_menu_term_id );
+                       }
+                       if ( to && to.nav_menu_term_id ) {
+                               api.MenusCustomizerPreview.refreshMenu( to.nav_menu_term_id );
+                       }
+               },
+
+               /**
+                * Update a given menu rendered in the preview.
+                *
+                * @param {int} menuId
+                */
+               refreshMenu : function( menuId ) {
+                       var assignedLocations = [];
+
+                       api.each(function( setting, id ) {
+                               var matches = id.match( /^nav_menu_locations\[(.+?)]/ );
+                               if ( matches && menuId === setting() ) {
+                                       assignedLocations.push( matches[1] );
+                               }
+                       });
+
+                       _.each( settings.navMenuInstanceArgs, function( navMenuArgs, instanceNumber ) {
+                               if ( menuId === navMenuArgs.menu || -1 !== _.indexOf( assignedLocations, navMenuArgs.theme_location ) ) {
+                                       this.refreshMenuInstanceDebounced( instanceNumber );
+                               }
+                       }, this );
+               },
+
+               /**
+                * Refresh the menu(s) associated with a given nav menu location.
+                *
+                * @param {string} location
+                */
+               refreshMenuLocation : function( location ) {
+                       var foundInstance = false;
+                       _.each( settings.navMenuInstanceArgs, function( navMenuArgs, instanceNumber ) {
+                               if ( location === navMenuArgs.theme_location ) {
+                                       this.refreshMenuInstanceDebounced( instanceNumber );
+                                       foundInstance = true;
+                               }
+                       }, this );
+                       if ( ! foundInstance ) {
+                               api.preview.send( 'refresh' );
+                       }
+               },
+
+               /**
+                * Update a specific instance of a given menu on the page.
+                *
+                * @param {int} instanceNumber
+                */
+               refreshMenuInstance : function( instanceNumber ) {
+                       var data, menuId, customized, container, request, wpNavMenuArgs, instance, containerInstanceClassName;
+
+                       if ( ! settings.navMenuInstanceArgs[ instanceNumber ] ) {
+                               throw new Error( 'unknown_instance_number' );
+                       }
+                       instance = settings.navMenuInstanceArgs[ instanceNumber ];
+
+                       containerInstanceClassName = 'partial-refreshable-nav-menu-' + String( instanceNumber );
+                       container = $( '.' + containerInstanceClassName );
+
+                       if ( _.isNumber( instance.menu ) ) {
+                               menuId = instance.menu;
+                       } else if ( instance.theme_location && api.has( 'nav_menu_locations[' + instance.theme_location + ']' ) ) {
+                               menuId = api( 'nav_menu_locations[' + instance.theme_location + ']' ).get();
+                       }
+
+                       if ( ! menuId || ! instance.can_partial_refresh || 0 === container.length ) {
+                               api.preview.send( 'refresh' );
+                               return;
+                       }
+                       menuId = parseInt( menuId, 10 );
+
+                       data = {
+                               nonce: settings.previewCustomizeNonce, // for Customize Preview
+                               wp_customize: 'on'
+                       };
+                       if ( ! settings.theme.active ) {
+                               data.theme = settings.theme.stylesheet;
+                       }
+                       data[ settings.renderQueryVar ] = '1';
+
+                       // Gather settings to send in partial refresh request.
+                       customized = {};
+                       api.each( function( setting, id ) {
+                               var value = setting.get(), shouldSend = false;
+                               // @todo Core should propagate the dirty state into the Preview as well so we can use that here.
+
+                               // Send setting if it is a nav_menu_locations[] setting.
+                               shouldSend = shouldSend || /^nav_menu_locations\[/.test( id );
+
+                               // Send setting if it is the setting for this menu.
+                               shouldSend = shouldSend || id === 'nav_menu[' + String( menuId ) + ']';
+
+                               // Send setting if it is one that is associated with this menu, or it is deleted.
+                               shouldSend = shouldSend || ( /^nav_menu_item\[/.test( id ) && ( false === value || menuId === value.nav_menu_term_id ) );
+
+                               if ( shouldSend ) {
+                                       customized[ id ] = value;
+                               }
+                       } );
+                       data.customized = JSON.stringify( customized );
+                       data[ settings.renderNoncePostKey ] = settings.renderNonceValue;
+
+                       wpNavMenuArgs = $.extend( {}, instance );
+                       data.wp_nav_menu_args_hash = wpNavMenuArgs.args_hash;
+                       delete wpNavMenuArgs.args_hash;
+                       data.wp_nav_menu_args = JSON.stringify( wpNavMenuArgs );
+
+                       container.addClass( 'customize-partial-refreshing' );
+
+                       request = wp.ajax.send( null, {
+                               data: data,
+                               url: settings.requestUri
+                       } );
+                       request.done( function( data ) {
+                               // If the menu is now not visible, refresh since the page layout may have changed.
+                               if ( false === data ) {
+                                       api.preview.send( 'refresh' );
+                                       return;
+                               }
+
+                               var eventParam, previousContainer = container;
+                               container = $( data );
+                               container.addClass( containerInstanceClassName );
+                               container.addClass( 'partial-refreshable-nav-menu customize-partial-refreshing' );
+                               previousContainer.replaceWith( container );
+                               eventParam = {
+                                       instanceNumber: instanceNumber,
+                                       wpNavArgs: wpNavMenuArgs, // @deprecated
+                                       wpNavMenuArgs: wpNavMenuArgs,
+                                       oldContainer: previousContainer,
+                                       newContainer: container
+                               };
+                               container.removeClass( 'customize-partial-refreshing' );
+                               $( document ).trigger( 'customize-preview-menu-refreshed', [ eventParam ] );
+                       } );
+               },
+
+               refreshMenuInstanceDebounced : function( instanceNumber ) {
+                       if ( currentRefreshDebounced[ instanceNumber ] ) {
+                               clearTimeout( currentRefreshDebounced[ instanceNumber ] );
+                       }
+                       currentRefreshDebounced[ instanceNumber ] = setTimeout(
+                               _.bind( function() {
+                                       this.refreshMenuInstance( instanceNumber );
+                               }, this ),
+                               refreshDebounceDelay
+                       );
+               }
+       };
+
+       api.bind( 'preview-ready', function() {
+               api.preview.bind( 'active', function() {
+                       api.MenusCustomizerPreview.init();
+               } );
+       } );
+
+}( jQuery, _, wp ) );
diff --git a/wp-includes/js/customize-preview-nav-menus.min.js b/wp-includes/js/customize-preview-nav-menus.min.js
new file mode 100644 (file)
index 0000000..8e95eed
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b,c){"use strict";if(c&&c.customize){var d=c.customize,e={},f=200,g={},h={renderQueryVar:null,renderNonceValue:null,renderNoncePostKey:null,previewCustomizeNonce:null,requestUri:"/",theme:{active:!1,stylesheet:""},navMenuInstanceArgs:{}};d.MenusCustomizerPreview={init:function(){var a=this,c={};g=b.extend({},h),"undefined"!=typeof _wpCustomizePreviewNavMenusExports&&b.extend(g,_wpCustomizePreviewNavMenusExports),d.each(function(b,d){b.id=d,c[b.id]=!0,a.bindListener(b)}),d.preview.bind("setting",function(b){var e,f,g;b=b.slice(),e=b.shift(),f=b.shift(),g=d(e),g||(g=d.create(e,f)),g.id||(g.id=e),c[g.id]||(c[g.id]=!0,a.bindListener(g)&&g.callbacks.fireWith(g,[g(),null]))})},bindListener:function(a){var c,d;return(c=a.id.match(/^nav_menu\[(-?\d+)]$/))?(a.navMenuId=parseInt(c[1],10),a.bind(this.onChangeNavMenuSetting),!0):(c=a.id.match(/^nav_menu_item\[(-?\d+)]$/))?(a.navMenuItemId=parseInt(c[1],10),a.bind(this.onChangeNavMenuItemSetting),!0):(c=a.id.match(/^nav_menu_locations\[(.+?)]/),c?(d=c[1],a.bind(b.bind(function(){this.refreshMenuLocation(d)},this)),!0):!1)},onChangeNavMenuSetting:function(){var a=this;if(!a.navMenuId)throw new Error("Expected navMenuId property to be set.");d.MenusCustomizerPreview.refreshMenu(a.navMenuId)},onChangeNavMenuItemSetting:function(a,b){!b||!b.nav_menu_term_id||a&&b.nav_menu_term_id===a.nav_menu_term_id||d.MenusCustomizerPreview.refreshMenu(b.nav_menu_term_id),a&&a.nav_menu_term_id&&d.MenusCustomizerPreview.refreshMenu(a.nav_menu_term_id)},refreshMenu:function(a){var c=[];d.each(function(b,d){var e=d.match(/^nav_menu_locations\[(.+?)]/);e&&a===b()&&c.push(e[1])}),b.each(g.navMenuInstanceArgs,function(d,e){(a===d.menu||-1!==b.indexOf(c,d.theme_location))&&this.refreshMenuInstanceDebounced(e)},this)},refreshMenuLocation:function(a){var c=!1;b.each(g.navMenuInstanceArgs,function(b,d){a===b.theme_location&&(this.refreshMenuInstanceDebounced(d),c=!0)},this),c||d.preview.send("refresh")},refreshMenuInstance:function(e){var f,h,i,j,k,l,m,n;if(!g.navMenuInstanceArgs[e])throw new Error("unknown_instance_number");return m=g.navMenuInstanceArgs[e],n="partial-refreshable-nav-menu-"+String(e),j=a("."+n),b.isNumber(m.menu)?h=m.menu:m.theme_location&&d.has("nav_menu_locations["+m.theme_location+"]")&&(h=d("nav_menu_locations["+m.theme_location+"]").get()),h&&m.can_partial_refresh&&0!==j.length?(h=parseInt(h,10),f={nonce:g.previewCustomizeNonce,wp_customize:"on"},g.theme.active||(f.theme=g.theme.stylesheet),f[g.renderQueryVar]="1",i={},d.each(function(a,b){var c=a.get(),d=!1;d=d||/^nav_menu_locations\[/.test(b),d=d||b==="nav_menu["+String(h)+"]",d=d||/^nav_menu_item\[/.test(b)&&(!1===c||h===c.nav_menu_term_id),d&&(i[b]=c)}),f.customized=JSON.stringify(i),f[g.renderNoncePostKey]=g.renderNonceValue,l=a.extend({},m),f.wp_nav_menu_args_hash=l.args_hash,delete l.args_hash,f.wp_nav_menu_args=JSON.stringify(l),j.addClass("customize-partial-refreshing"),k=c.ajax.send(null,{data:f,url:g.requestUri}),void k.done(function(b){if(!1===b)return void d.preview.send("refresh");var c,f=j;j=a(b),j.addClass(n),j.addClass("partial-refreshable-nav-menu customize-partial-refreshing"),f.replaceWith(j),c={instanceNumber:e,wpNavArgs:l,wpNavMenuArgs:l,oldContainer:f,newContainer:j},j.removeClass("customize-partial-refreshing"),a(document).trigger("customize-preview-menu-refreshed",[c])})):void d.preview.send("refresh")},refreshMenuInstanceDebounced:function(a){e[a]&&clearTimeout(e[a]),e[a]=setTimeout(b.bind(function(){this.refreshMenuInstance(a)},this),f)}},d.bind("preview-ready",function(){d.preview.bind("active",function(){d.MenusCustomizerPreview.init()})})}}(jQuery,_,wp);
\ No newline at end of file
index 142501b35b626a76755cc74df2a3f036e46ff23a..e5d168de413ebee8d8e8f59e223695edf1789135 100644 (file)
@@ -3,7 +3,6 @@
        if ( ! wp || ! wp.customize ) { return; }
        var api = wp.customize;
 
-
        /**
         * wp.customize.HeaderTool.CurrentView
         *
index b4c83167808fc02a94cbda6db053aed4399b8970..9f0258238ec20982ba62175d64a8dc2a21e656f1 100644 (file)
 
                                if ( response.nonces_expired ) {
                                        $document.trigger( 'heartbeat-nonces-expired' );
-                                       return;
                                }
 
                                // Change the interval from PHP
index 29d0b4a0fa7baea2c89e4227c5e8785c495a03a5..a4e25a4c1db73509d5fdcae84e8c79edc3472a8a 100644 (file)
@@ -1 +1 @@
-!function(a,b,c){var d=function(){function d(){var c,d,f,h;"string"==typeof b.pagenow&&(z.screenId=b.pagenow),"string"==typeof b.ajaxurl&&(z.url=b.ajaxurl),"object"==typeof b.heartbeatSettings&&(c=b.heartbeatSettings,!z.url&&c.ajaxurl&&(z.url=c.ajaxurl),c.interval&&(z.mainInterval=c.interval,z.mainInterval<15?z.mainInterval=15:z.mainInterval>120&&(z.mainInterval=120)),c.minimalInterval&&(c.minimalInterval=parseInt(c.minimalInterval,10),z.minimalInterval=c.minimalInterval>0&&c.minimalInterval<=600?1e3*c.minimalInterval:0),z.minimalInterval&&z.mainInterval<z.minimalInterval&&(z.mainInterval=z.minimalInterval),z.screenId||(z.screenId=c.screenId||"front"),"disable"===c.suspension&&(z.suspendEnabled=!1)),z.mainInterval=1e3*z.mainInterval,z.originalInterval=z.mainInterval,"undefined"!=typeof document.hidden?(d="hidden",h="visibilitychange",f="visibilityState"):"undefined"!=typeof document.msHidden?(d="msHidden",h="msvisibilitychange",f="msVisibilityState"):"undefined"!=typeof document.webkitHidden&&(d="webkitHidden",h="webkitvisibilitychange",f="webkitVisibilityState"),d&&(document[d]&&(z.hasFocus=!1),y.on(h+".wp-heartbeat",function(){"hidden"===document[f]?(l(),b.clearInterval(z.checkFocusTimer)):(m(),document.hasFocus&&(z.checkFocusTimer=b.setInterval(g,1e4)))})),document.hasFocus&&(z.checkFocusTimer=b.setInterval(g,1e4)),a(b).on("unload.wp-heartbeat",function(){z.suspend=!0,z.xhr&&4!==z.xhr.readyState&&z.xhr.abort()}),b.setInterval(o,3e4),y.ready(function(){z.lastTick=e(),k()})}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(){z.hasFocus&&!document.hasFocus()?l():!z.hasFocus&&document.hasFocus()&&m()}function h(a,b){var c;if(a){switch(a){case"abort":break;case"timeout":c=!0;break;case"error":if(503===b&&z.hasConnected){c=!0;break}case"parsererror":case"empty":case"unknown":z.errorcount++,z.errorcount>2&&z.hasConnected&&(c=!0)}c&&!q()&&(z.connectionError=!0,y.trigger("heartbeat-connection-lost",[a,b]))}}function i(){z.hasConnected=!0,q()&&(z.errorcount=0,z.connectionError=!1,y.trigger("heartbeat-connection-restored"))}function j(){var c,d;z.connecting||z.suspend||(z.lastTick=e(),d=a.extend({},z.queue),z.queue={},y.trigger("heartbeat-send",[d]),c={data:d,interval:z.tempInterval?z.tempInterval/1e3:z.mainInterval/1e3,_nonce:"object"==typeof b.heartbeatSettings?b.heartbeatSettings.nonce:"",action:"heartbeat",screen_id:z.screenId,has_focus:z.hasFocus},z.connecting=!0,z.xhr=a.ajax({url:z.url,type:"post",timeout:3e4,data:c,dataType:"json"}).always(function(){z.connecting=!1,k()}).done(function(a,b,c){var d;return a?(i(),a.nonces_expired?void y.trigger("heartbeat-nonces-expired"):(a.heartbeat_interval&&(d=a.heartbeat_interval,delete a.heartbeat_interval),y.trigger("heartbeat-tick",[a,b,c]),void(d&&t(d)))):void h("empty")}).fail(function(a,b,c){h(b||"unknown",a.status),y.trigger("heartbeat-error",[a,b,c])}))}function k(){var a=e()-z.lastTick,c=z.mainInterval;z.suspend||(z.hasFocus?z.countdown>0&&z.tempInterval&&(c=z.tempInterval,z.countdown--,z.countdown<1&&(z.tempInterval=0)):c=12e4,z.minimalInterval&&c<z.minimalInterval&&(c=z.minimalInterval),b.clearTimeout(z.beatTimer),c>a?z.beatTimer=b.setTimeout(function(){j()},c-a):j())}function l(){z.hasFocus=!1}function m(){z.userActivity=e(),z.suspend=!1,z.hasFocus||(z.hasFocus=!0,k())}function n(){z.userActivityEvents=!1,y.off(".wp-heartbeat-active"),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).off(".wp-heartbeat-active")}),m()}function o(){var b=z.userActivity?e()-z.userActivity:0;b>3e5&&z.hasFocus&&l(),(z.suspendEnabled&&b>6e5||b>36e5)&&(z.suspend=!0),z.userActivityEvents||(y.on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active touchend.wp-heartbeat-active",function(){n()}),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active touchend.wp-heartbeat-active",function(){n()})}),z.userActivityEvents=!0)}function p(){return z.hasFocus}function q(){return z.connectionError}function r(){z.lastTick=0,k()}function s(){z.suspendEnabled=!1}function t(a,b){var c,d=z.tempInterval?z.tempInterval:z.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 120:c=12e4;break;case"long-polling":return z.mainInterval=0,0;default:c=z.originalInterval}z.minimalInterval&&c<z.minimalInterval&&(c=z.minimalInterval),5e3===c?(b=parseInt(b,10)||30,b=1>b||b>30?30:b,z.countdown=b,z.tempInterval=c):(z.countdown=0,z.tempInterval=0,z.mainInterval=c),c!==d&&k()}return z.tempInterval?z.tempInterval/1e3:z.mainInterval/1e3}function u(a,b,c){return a?c&&this.isQueued(a)?!1:(z.queue[a]=b,!0):!1}function v(a){return a?z.queue.hasOwnProperty(a):void 0}function w(a){a&&delete z.queue[a]}function x(a){return a?this.isQueued(a)?z.queue[a]:c:void 0}var y=a(document),z={suspend:!1,suspendEnabled:!0,screenId:"",url:"",lastTick:0,queue:{},mainInterval:60,tempInterval:0,originalInterval:0,minimalInterval:0,countdown:0,connecting:!1,connectionError:!1,errorcount:0,hasConnected:!1,hasFocus:!0,userActivity:0,userActivityEvents:!1,checkFocusTimer:0,beatTimer:0};return d(),{hasFocus:p,connectNow:r,disableSuspend:s,interval:t,hasConnectionError:q,enqueue:u,dequeue:w,isQueued:v,getQueuedItem:x}};b.wp=b.wp||{},b.wp.heartbeat=new d}(jQuery,window);
\ No newline at end of file
+!function(a,b,c){var d=function(){function d(){var c,d,f,h;"string"==typeof b.pagenow&&(z.screenId=b.pagenow),"string"==typeof b.ajaxurl&&(z.url=b.ajaxurl),"object"==typeof b.heartbeatSettings&&(c=b.heartbeatSettings,!z.url&&c.ajaxurl&&(z.url=c.ajaxurl),c.interval&&(z.mainInterval=c.interval,z.mainInterval<15?z.mainInterval=15:z.mainInterval>120&&(z.mainInterval=120)),c.minimalInterval&&(c.minimalInterval=parseInt(c.minimalInterval,10),z.minimalInterval=c.minimalInterval>0&&c.minimalInterval<=600?1e3*c.minimalInterval:0),z.minimalInterval&&z.mainInterval<z.minimalInterval&&(z.mainInterval=z.minimalInterval),z.screenId||(z.screenId=c.screenId||"front"),"disable"===c.suspension&&(z.suspendEnabled=!1)),z.mainInterval=1e3*z.mainInterval,z.originalInterval=z.mainInterval,"undefined"!=typeof document.hidden?(d="hidden",h="visibilitychange",f="visibilityState"):"undefined"!=typeof document.msHidden?(d="msHidden",h="msvisibilitychange",f="msVisibilityState"):"undefined"!=typeof document.webkitHidden&&(d="webkitHidden",h="webkitvisibilitychange",f="webkitVisibilityState"),d&&(document[d]&&(z.hasFocus=!1),y.on(h+".wp-heartbeat",function(){"hidden"===document[f]?(l(),b.clearInterval(z.checkFocusTimer)):(m(),document.hasFocus&&(z.checkFocusTimer=b.setInterval(g,1e4)))})),document.hasFocus&&(z.checkFocusTimer=b.setInterval(g,1e4)),a(b).on("unload.wp-heartbeat",function(){z.suspend=!0,z.xhr&&4!==z.xhr.readyState&&z.xhr.abort()}),b.setInterval(o,3e4),y.ready(function(){z.lastTick=e(),k()})}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(){z.hasFocus&&!document.hasFocus()?l():!z.hasFocus&&document.hasFocus()&&m()}function h(a,b){var c;if(a){switch(a){case"abort":break;case"timeout":c=!0;break;case"error":if(503===b&&z.hasConnected){c=!0;break}case"parsererror":case"empty":case"unknown":z.errorcount++,z.errorcount>2&&z.hasConnected&&(c=!0)}c&&!q()&&(z.connectionError=!0,y.trigger("heartbeat-connection-lost",[a,b]))}}function i(){z.hasConnected=!0,q()&&(z.errorcount=0,z.connectionError=!1,y.trigger("heartbeat-connection-restored"))}function j(){var c,d;z.connecting||z.suspend||(z.lastTick=e(),d=a.extend({},z.queue),z.queue={},y.trigger("heartbeat-send",[d]),c={data:d,interval:z.tempInterval?z.tempInterval/1e3:z.mainInterval/1e3,_nonce:"object"==typeof b.heartbeatSettings?b.heartbeatSettings.nonce:"",action:"heartbeat",screen_id:z.screenId,has_focus:z.hasFocus},z.connecting=!0,z.xhr=a.ajax({url:z.url,type:"post",timeout:3e4,data:c,dataType:"json"}).always(function(){z.connecting=!1,k()}).done(function(a,b,c){var d;return a?(i(),a.nonces_expired&&y.trigger("heartbeat-nonces-expired"),a.heartbeat_interval&&(d=a.heartbeat_interval,delete a.heartbeat_interval),y.trigger("heartbeat-tick",[a,b,c]),void(d&&t(d))):void h("empty")}).fail(function(a,b,c){h(b||"unknown",a.status),y.trigger("heartbeat-error",[a,b,c])}))}function k(){var a=e()-z.lastTick,c=z.mainInterval;z.suspend||(z.hasFocus?z.countdown>0&&z.tempInterval&&(c=z.tempInterval,z.countdown--,z.countdown<1&&(z.tempInterval=0)):c=12e4,z.minimalInterval&&c<z.minimalInterval&&(c=z.minimalInterval),b.clearTimeout(z.beatTimer),c>a?z.beatTimer=b.setTimeout(function(){j()},c-a):j())}function l(){z.hasFocus=!1}function m(){z.userActivity=e(),z.suspend=!1,z.hasFocus||(z.hasFocus=!0,k())}function n(){z.userActivityEvents=!1,y.off(".wp-heartbeat-active"),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).off(".wp-heartbeat-active")}),m()}function o(){var b=z.userActivity?e()-z.userActivity:0;b>3e5&&z.hasFocus&&l(),(z.suspendEnabled&&b>6e5||b>36e5)&&(z.suspend=!0),z.userActivityEvents||(y.on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active touchend.wp-heartbeat-active",function(){n()}),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active touchend.wp-heartbeat-active",function(){n()})}),z.userActivityEvents=!0)}function p(){return z.hasFocus}function q(){return z.connectionError}function r(){z.lastTick=0,k()}function s(){z.suspendEnabled=!1}function t(a,b){var c,d=z.tempInterval?z.tempInterval:z.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 120:c=12e4;break;case"long-polling":return z.mainInterval=0,0;default:c=z.originalInterval}z.minimalInterval&&c<z.minimalInterval&&(c=z.minimalInterval),5e3===c?(b=parseInt(b,10)||30,b=1>b||b>30?30:b,z.countdown=b,z.tempInterval=c):(z.countdown=0,z.tempInterval=0,z.mainInterval=c),c!==d&&k()}return z.tempInterval?z.tempInterval/1e3:z.mainInterval/1e3}function u(a,b,c){return a?c&&this.isQueued(a)?!1:(z.queue[a]=b,!0):!1}function v(a){return a?z.queue.hasOwnProperty(a):void 0}function w(a){a&&delete z.queue[a]}function x(a){return a?this.isQueued(a)?z.queue[a]:c:void 0}var y=a(document),z={suspend:!1,suspendEnabled:!0,screenId:"",url:"",lastTick:0,queue:{},mainInterval:60,tempInterval:0,originalInterval:0,minimalInterval:0,countdown:0,connecting:!1,connectionError:!1,errorcount:0,hasConnected:!1,hasFocus:!0,userActivity:0,userActivityEvents:!1,checkFocusTimer:0,beatTimer:0};return d(),{hasFocus:p,connectNow:r,disableSuspend:s,interval:t,hasConnectionError:q,enqueue:u,dequeue:w,isQueued:v,getQueuedItem:x}};b.wp=b.wp||{},b.wp.heartbeat=new d}(jQuery,window);
\ No newline at end of file
index cb4b923d76c41d54bae9172dde2972811f7ffa5b..f017895f156ab10fae06199de771ac4f333b47e8 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * imgAreaSelect jQuery plugin
- * version 0.9.10
+ * version 0.9.10-monkey
  *
  * Copyright (c) 2008-2013 Michal Wojciechowski (odyniec.net)
  *
@@ -189,7 +189,7 @@ $.imgAreaSelect = function (img, options) {
      * @return Viewport X
      */
     function evX(event) {
-        return event.pageX - parOfs.left;
+        return max(event.pageX || 0, touchCoords(event).x) - parOfs.left;
     }
 
     /**
@@ -200,7 +200,23 @@ $.imgAreaSelect = function (img, options) {
      * @return Viewport Y
      */
     function evY(event) {
-        return event.pageY - parOfs.top;
+        return max(event.pageY || 0, touchCoords(event).y) - parOfs.top;
+    }
+
+    /**
+     * Get X and Y coordinates of a touch event
+     *
+     * @param event
+     *            The event object
+     * @return Coordinates object
+     */
+    function touchCoords(event) {
+        var oev = event.originalEvent || {};
+
+        if (oev.touches && oev.touches.length)
+            return { x: oev.touches[0].pageX, y: oev.touches[0].pageY };
+        else
+            return { x: 0, y: 0 };
     }
 
     /**
@@ -486,8 +502,8 @@ $.imgAreaSelect = function (img, options) {
         if (options.autoHide || selection.width * selection.height == 0)
             hide($box.add($outer), function () { $(this).hide(); });
 
-        $(document).unbind('mousemove', selectingMouseMove);
-        $box.mousemove(areaMouseMove);
+        $(document).off('mousemove touchmove', selectingMouseMove);
+        $box.on('mousemove touchmove', areaMouseMove);
 
         options.onSelectEnd(img, getSelection());
     }
@@ -500,7 +516,14 @@ $.imgAreaSelect = function (img, options) {
      * @return false
      */
     function areaMouseDown(event) {
-        if (event.which != 1) return false;
+        if (event.type == 'mousedown' && event.which != 1) return false;
+
+       /*
+        * With mobile browsers, there is no "moving the pointer over" action,
+        * so we need to simulate one mousemove event happening prior to
+        * mousedown/touchstart.
+        */
+       areaMouseMove(event);
 
         adjust();
 
@@ -511,22 +534,22 @@ $.imgAreaSelect = function (img, options) {
             x1 = viewX(selection[/w/.test(resize) ? 'x2' : 'x1']);
             y1 = viewY(selection[/n/.test(resize) ? 'y2' : 'y1']);
 
-            $(document).mousemove(selectingMouseMove)
-                .one('mouseup', docMouseUp);
-            $box.unbind('mousemove', areaMouseMove);
+            $(document).on('mousemove touchmove', selectingMouseMove)
+                .one('mouseup touchend', docMouseUp);
+            $box.off('mousemove touchmove', areaMouseMove);
         }
         else if (options.movable) {
             startX = left + selection.x1 - evX(event);
             startY = top + selection.y1 - evY(event);
 
-            $box.unbind('mousemove', areaMouseMove);
+            $box.off('mousemove touchmove', areaMouseMove);
 
-            $(document).mousemove(movingMouseMove)
-                .one('mouseup', function () {
+            $(document).on('mousemove touchmove', movingMouseMove)
+                .one('mouseup touchend', function () {
                     options.onSelectEnd(img, getSelection());
 
-                    $(document).unbind('mousemove', movingMouseMove);
-                    $box.mousemove(areaMouseMove);
+                    $(document).off('mousemove touchmove', movingMouseMove);
+                    $box.on('mousemove touchmove', areaMouseMove);
                 });
         }
         else
@@ -676,7 +699,7 @@ $.imgAreaSelect = function (img, options) {
      * Start selection
      */
     function startSelection() {
-        $(document).unbind('mousemove', startSelection);
+        $(document).off('mousemove touchmove', startSelection);
         adjust();
 
         x2 = x1;
@@ -691,9 +714,10 @@ $.imgAreaSelect = function (img, options) {
 
         shown = true;
 
-        $(document).unbind('mouseup', cancelSelection)
-            .mousemove(selectingMouseMove).one('mouseup', docMouseUp);
-        $box.unbind('mousemove', areaMouseMove);
+        $(document).off('mouseup touchend', cancelSelection)
+            .on('mousemove touchmove', selectingMouseMove)
+            .one('mouseup touchend', docMouseUp);
+        $box.off('mousemove touchmove', areaMouseMove);
 
         options.onSelectStart(img, getSelection());
     }
@@ -702,8 +726,8 @@ $.imgAreaSelect = function (img, options) {
      * Cancel selection
      */
     function cancelSelection() {
-        $(document).unbind('mousemove', startSelection)
-            .unbind('mouseup', cancelSelection);
+        $(document).off('mousemove touchmove', startSelection)
+            .off('mouseup touchend', cancelSelection);
         hide($box.add($outer));
 
         setSelection(selX(x1), selY(y1), selX(x1), selY(y1));
@@ -731,7 +755,8 @@ $.imgAreaSelect = function (img, options) {
         startY = y1 = evY(event);
 
         /* Selection will start when the mouse is moved */
-        $(document).mousemove(startSelection).mouseup(cancelSelection);
+        $(document).on({ 'mousemove touchmove': startSelection,
+            'mouseup touchend': cancelSelection });
 
         return false;
     }
@@ -989,20 +1014,22 @@ $.imgAreaSelect = function (img, options) {
 
         if (options.disable || options.enable === false) {
             /* Disable the plugin */
-            $box.unbind('mousemove', areaMouseMove).unbind('mousedown', areaMouseDown);
-            $(window).unbind('resize', windowResize);
+            $box.off({ 'mousemove touchmove': areaMouseMove,
+                'mousedown touchstart': areaMouseDown });
+            $(window).off('resize', windowResize);
         }
         else {
             if (options.enable || options.disable === false) {
                 /* Enable the plugin */
                 if (options.resizable || options.movable)
-                    $box.mousemove(areaMouseMove).mousedown(areaMouseDown);
+                    $box.on({ 'mousemove touchmove': areaMouseMove,
+                        'mousedown touchstart': areaMouseDown });
 
                 $(window).resize(windowResize);
             }
 
             if (!options.persistent)
-                $img.add($outer).mousedown(imgMouseDown);
+                $img.add($outer).on('mousedown touchstart', imgMouseDown);
         }
 
         options.enable = options.disable = undefined;
index 04babcc572ac1a545ceeb7eeb8f47862f49d01d6..c57fd24505c30034fc45b7201b02079be9284ae0 100644 (file)
@@ -1 +1 @@
-(function($){var abs=Math.abs,max=Math.max,min=Math.min,round=Math.round;function div(){return $('<div/>')}$.imgAreaSelect=function(img,options){var $img=$(img),imgLoaded,$box=div(),$area=div(),$border=div().add(div()).add(div()).add(div()),$outer=div().add(div()).add(div()).add(div()),$handles=$([]),$areaOpera,left,top,imgOfs={left:0,top:0},imgWidth,imgHeight,$parent,parOfs={left:0,top:0},zIndex=0,position='absolute',startX,startY,scaleX,scaleY,resize,minWidth,minHeight,maxWidth,maxHeight,aspectRatio,shown,x1,y1,x2,y2,selection={x1:0,y1:0,x2:0,y2:0,width:0,height:0},docElem=document.documentElement,ua=navigator.userAgent,$p,d,i,o,w,h,adjusted;function viewX(x){return x+imgOfs.left-parOfs.left}function viewY(y){return y+imgOfs.top-parOfs.top}function selX(x){return x-imgOfs.left+parOfs.left}function selY(y){return y-imgOfs.top+parOfs.top}function evX(event){return event.pageX-parOfs.left}function evY(event){return event.pageY-parOfs.top}function getSelection(noScale){var sx=noScale||scaleX,sy=noScale||scaleY;return{x1:round(selection.x1*sx),y1:round(selection.y1*sy),x2:round(selection.x2*sx),y2:round(selection.y2*sy),width:round(selection.x2*sx)-round(selection.x1*sx),height:round(selection.y2*sy)-round(selection.y1*sy)}}function setSelection(x1,y1,x2,y2,noScale){var sx=noScale||scaleX,sy=noScale||scaleY;selection={x1:round(x1/sx||0),y1:round(y1/sy||0),x2:round(x2/sx||0),y2:round(y2/sy||0)};selection.width=selection.x2-selection.x1;selection.height=selection.y2-selection.y1}function adjust(){if(!imgLoaded||!$img.width())return;imgOfs={left:round($img.offset().left),top:round($img.offset().top)};imgWidth=$img.innerWidth();imgHeight=$img.innerHeight();imgOfs.top+=($img.outerHeight()-imgHeight)>>1;imgOfs.left+=($img.outerWidth()-imgWidth)>>1;minWidth=round(options.minWidth/scaleX)||0;minHeight=round(options.minHeight/scaleY)||0;maxWidth=round(min(options.maxWidth/scaleX||1<<24,imgWidth));maxHeight=round(min(options.maxHeight/scaleY||1<<24,imgHeight));if($().jquery=='1.3.2'&&position=='fixed'&&!docElem['getBoundingClientRect']){imgOfs.top+=max(document.body.scrollTop,docElem.scrollTop);imgOfs.left+=max(document.body.scrollLeft,docElem.scrollLeft)}parOfs=/absolute|relative/.test($parent.css('position'))?{left:round($parent.offset().left)-$parent.scrollLeft(),top:round($parent.offset().top)-$parent.scrollTop()}:position=='fixed'?{left:$(document).scrollLeft(),top:$(document).scrollTop()}:{left:0,top:0};left=viewX(0);top=viewY(0);if(selection.x2>imgWidth||selection.y2>imgHeight)doResize()}function update(resetKeyPress){if(!shown)return;$box.css({left:viewX(selection.x1),top:viewY(selection.y1)}).add($area).width(w=selection.width).height(h=selection.height);$area.add($border).add($handles).css({left:0,top:0});$border.width(max(w-$border.outerWidth()+$border.innerWidth(),0)).height(max(h-$border.outerHeight()+$border.innerHeight(),0));$($outer[0]).css({left:left,top:top,width:selection.x1,height:imgHeight});$($outer[1]).css({left:left+selection.x1,top:top,width:w,height:selection.y1});$($outer[2]).css({left:left+selection.x2,top:top,width:imgWidth-selection.x2,height:imgHeight});$($outer[3]).css({left:left+selection.x1,top:top+selection.y2,width:w,height:imgHeight-selection.y2});w-=$handles.outerWidth();h-=$handles.outerHeight();switch($handles.length){case 8:$($handles[4]).css({left:w>>1});$($handles[5]).css({left:w,top:h>>1});$($handles[6]).css({left:w>>1,top:h});$($handles[7]).css({top:h>>1});case 4:$handles.slice(1,3).css({left:w});$handles.slice(2,4).css({top:h})}if(resetKeyPress!==false){if($.imgAreaSelect.onKeyPress!=docKeyPress)$(document).unbind($.imgAreaSelect.keyPress,$.imgAreaSelect.onKeyPress);if(options.keys)$(document)[$.imgAreaSelect.keyPress]($.imgAreaSelect.onKeyPress=docKeyPress)}if(msie&&$border.outerWidth()-$border.innerWidth()==2){$border.css('margin',0);setTimeout(function(){$border.css('margin','auto')},0)}}function doUpdate(resetKeyPress){adjust();update(resetKeyPress);x1=viewX(selection.x1);y1=viewY(selection.y1);x2=viewX(selection.x2);y2=viewY(selection.y2)}function hide($elem,fn){options.fadeSpeed?$elem.fadeOut(options.fadeSpeed,fn):$elem.hide()}function areaMouseMove(event){var x=selX(evX(event))-selection.x1,y=selY(evY(event))-selection.y1;if(!adjusted){adjust();adjusted=true;$box.one('mouseout',function(){adjusted=false})}resize='';if(options.resizable){if(y<=options.resizeMargin)resize='n';else if(y>=selection.height-options.resizeMargin)resize='s';if(x<=options.resizeMargin)resize+='w';else if(x>=selection.width-options.resizeMargin)resize+='e'}$box.css('cursor',resize?resize+'-resize':options.movable?'move':'');if($areaOpera)$areaOpera.toggle()}function docMouseUp(event){$('body').css('cursor','');if(options.autoHide||selection.width*selection.height==0)hide($box.add($outer),function(){$(this).hide()});$(document).unbind('mousemove',selectingMouseMove);$box.mousemove(areaMouseMove);options.onSelectEnd(img,getSelection())}function areaMouseDown(event){if(event.which!=1)return false;adjust();if(resize){$('body').css('cursor',resize+'-resize');x1=viewX(selection[/w/.test(resize)?'x2':'x1']);y1=viewY(selection[/n/.test(resize)?'y2':'y1']);$(document).mousemove(selectingMouseMove).one('mouseup',docMouseUp);$box.unbind('mousemove',areaMouseMove)}else if(options.movable){startX=left+selection.x1-evX(event);startY=top+selection.y1-evY(event);$box.unbind('mousemove',areaMouseMove);$(document).mousemove(movingMouseMove).one('mouseup',function(){options.onSelectEnd(img,getSelection());$(document).unbind('mousemove',movingMouseMove);$box.mousemove(areaMouseMove)})}else $img.mousedown(event);return false}function fixAspectRatio(xFirst){if(aspectRatio)if(xFirst){x2=max(left,min(left+imgWidth,x1+abs(y2-y1)*aspectRatio*(x2>x1||-1)));y2=round(max(top,min(top+imgHeight,y1+abs(x2-x1)/aspectRatio*(y2>y1||-1))));x2=round(x2)}else{y2=max(top,min(top+imgHeight,y1+abs(x2-x1)/aspectRatio*(y2>y1||-1)));x2=round(max(left,min(left+imgWidth,x1+abs(y2-y1)*aspectRatio*(x2>x1||-1))));y2=round(y2)}}function doResize(){x1=min(x1,left+imgWidth);y1=min(y1,top+imgHeight);if(abs(x2-x1)<minWidth){x2=x1-minWidth*(x2<x1||-1);if(x2<left)x1=left+minWidth;else if(x2>left+imgWidth)x1=left+imgWidth-minWidth}if(abs(y2-y1)<minHeight){y2=y1-minHeight*(y2<y1||-1);if(y2<top)y1=top+minHeight;else if(y2>top+imgHeight)y1=top+imgHeight-minHeight}x2=max(left,min(x2,left+imgWidth));y2=max(top,min(y2,top+imgHeight));fixAspectRatio(abs(x2-x1)<abs(y2-y1)*aspectRatio);if(abs(x2-x1)>maxWidth){x2=x1-maxWidth*(x2<x1||-1);fixAspectRatio()}if(abs(y2-y1)>maxHeight){y2=y1-maxHeight*(y2<y1||-1);fixAspectRatio(true)}selection={x1:selX(min(x1,x2)),x2:selX(max(x1,x2)),y1:selY(min(y1,y2)),y2:selY(max(y1,y2)),width:abs(x2-x1),height:abs(y2-y1)};update();options.onSelectChange(img,getSelection())}function selectingMouseMove(event){x2=/w|e|^$/.test(resize)||aspectRatio?evX(event):viewX(selection.x2);y2=/n|s|^$/.test(resize)||aspectRatio?evY(event):viewY(selection.y2);doResize();return false}function doMove(newX1,newY1){x2=(x1=newX1)+selection.width;y2=(y1=newY1)+selection.height;$.extend(selection,{x1:selX(x1),y1:selY(y1),x2:selX(x2),y2:selY(y2)});update();options.onSelectChange(img,getSelection())}function movingMouseMove(event){x1=max(left,min(startX+evX(event),left+imgWidth-selection.width));y1=max(top,min(startY+evY(event),top+imgHeight-selection.height));doMove(x1,y1);event.preventDefault();return false}function startSelection(){$(document).unbind('mousemove',startSelection);adjust();x2=x1;y2=y1;doResize();resize='';if(!$outer.is(':visible'))$box.add($outer).hide().fadeIn(options.fadeSpeed||0);shown=true;$(document).unbind('mouseup',cancelSelection).mousemove(selectingMouseMove).one('mouseup',docMouseUp);$box.unbind('mousemove',areaMouseMove);options.onSelectStart(img,getSelection())}function cancelSelection(){$(document).unbind('mousemove',startSelection).unbind('mouseup',cancelSelection);hide($box.add($outer));setSelection(selX(x1),selY(y1),selX(x1),selY(y1));if(!(this instanceof $.imgAreaSelect)){options.onSelectChange(img,getSelection());options.onSelectEnd(img,getSelection())}}function imgMouseDown(event){if(event.which!=1||$outer.is(':animated'))return false;adjust();startX=x1=evX(event);startY=y1=evY(event);$(document).mousemove(startSelection).mouseup(cancelSelection);return false}function windowResize(){doUpdate(false)}function imgLoad(){imgLoaded=true;setOptions(options=$.extend({classPrefix:'imgareaselect',movable:true,parent:'body',resizable:true,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},options));$box.add($outer).css({visibility:''});if(options.show){shown=true;adjust();update();$box.add($outer).hide().fadeIn(options.fadeSpeed||0)}setTimeout(function(){options.onInit(img,getSelection())},0)}var docKeyPress=function(event){var k=options.keys,d,t,key=event.keyCode;d=!isNaN(k.alt)&&(event.altKey||event.originalEvent.altKey)?k.alt:!isNaN(k.ctrl)&&event.ctrlKey?k.ctrl:!isNaN(k.shift)&&event.shiftKey?k.shift:!isNaN(k.arrows)?k.arrows:10;if(k.arrows=='resize'||(k.shift=='resize'&&event.shiftKey)||(k.ctrl=='resize'&&event.ctrlKey)||(k.alt=='resize'&&(event.altKey||event.originalEvent.altKey))){switch(key){case 37:d=-d;case 39:t=max(x1,x2);x1=min(x1,x2);x2=max(t+d,x1);fixAspectRatio();break;case 38:d=-d;case 40:t=max(y1,y2);y1=min(y1,y2);y2=max(t+d,y1);fixAspectRatio(true);break;default:return}doResize()}else{x1=min(x1,x2);y1=min(y1,y2);switch(key){case 37:doMove(max(x1-d,left),y1);break;case 38:doMove(x1,max(y1-d,top));break;case 39:doMove(x1+min(d,imgWidth-selX(x2)),y1);break;case 40:doMove(x1,y1+min(d,imgHeight-selY(y2)));break;default:return}}return false};function styleOptions($elem,props){for(var option in props)if(options[option]!==undefined)$elem.css(props[option],options[option])}function setOptions(newOptions){if(newOptions.parent)($parent=$(newOptions.parent)).append($box.add($outer));$.extend(options,newOptions);adjust();if(newOptions.handles!=null){$handles.remove();$handles=$([]);i=newOptions.handles?newOptions.handles=='corners'?4:8:0;while(i--)$handles=$handles.add(div());$handles.addClass(options.classPrefix+'-handle').css({position:'absolute',fontSize:0,zIndex:zIndex+1||1});if(!parseInt($handles.css('width'))>=0)$handles.width(5).height(5);if(o=options.borderWidth)$handles.css({borderWidth:o,borderStyle:'solid'});styleOptions($handles,{borderColor1:'border-color',borderColor2:'background-color',borderOpacity:'opacity'})}scaleX=options.imageWidth/imgWidth||1;scaleY=options.imageHeight/imgHeight||1;if(newOptions.x1!=null){setSelection(newOptions.x1,newOptions.y1,newOptions.x2,newOptions.y2);newOptions.show=!newOptions.hide}if(newOptions.keys)options.keys=$.extend({shift:1,ctrl:'resize'},newOptions.keys);$outer.addClass(options.classPrefix+'-outer');$area.addClass(options.classPrefix+'-selection');for(i=0;i++<4;)$($border[i-1]).addClass(options.classPrefix+'-border'+i);styleOptions($area,{selectionColor:'background-color',selectionOpacity:'opacity'});styleOptions($border,{borderOpacity:'opacity',borderWidth:'border-width'});styleOptions($outer,{outerColor:'background-color',outerOpacity:'opacity'});if(o=options.borderColor1)$($border[0]).css({borderStyle:'solid',borderColor:o});if(o=options.borderColor2)$($border[1]).css({borderStyle:'dashed',borderColor:o});$box.append($area.add($border).add($areaOpera)).append($handles);if(msie){if(o=($outer.css('filter')||'').match(/opacity=(\d+)/))$outer.css('opacity',o[1]/100);if(o=($border.css('filter')||'').match(/opacity=(\d+)/))$border.css('opacity',o[1]/100)}if(newOptions.hide)hide($box.add($outer));else if(newOptions.show&&imgLoaded){shown=true;$box.add($outer).fadeIn(options.fadeSpeed||0);doUpdate()}aspectRatio=(d=(options.aspectRatio||'').split(/:/))[0]/d[1];$img.add($outer).unbind('mousedown',imgMouseDown);if(options.disable||options.enable===false){$box.unbind('mousemove',areaMouseMove).unbind('mousedown',areaMouseDown);$(window).unbind('resize',windowResize)}else{if(options.enable||options.disable===false){if(options.resizable||options.movable)$box.mousemove(areaMouseMove).mousedown(areaMouseDown);$(window).resize(windowResize)}if(!options.persistent)$img.add($outer).mousedown(imgMouseDown)}options.enable=options.disable=undefined}this.remove=function(){setOptions({disable:true});$box.add($outer).remove()};this.getOptions=function(){return options};this.setOptions=setOptions;this.getSelection=getSelection;this.setSelection=setSelection;this.cancelSelection=cancelSelection;this.update=doUpdate;var msie=(/msie ([\w.]+)/i.exec(ua)||[])[1],opera=/opera/i.test(ua),safari=/webkit/i.test(ua)&&!/chrome/i.test(ua);$p=$img;while($p.length){zIndex=max(zIndex,!isNaN($p.css('z-index'))?$p.css('z-index'):zIndex);if($p.css('position')=='fixed')position='fixed';$p=$p.parent(':not(body)')}zIndex=options.zIndex||zIndex;if(msie)$img.attr('unselectable','on');$.imgAreaSelect.keyPress=msie||safari?'keydown':'keypress';if(opera)$areaOpera=div().css({width:'100%',height:'100%',position:'absolute',zIndex:zIndex+2||2});$box.add($outer).css({visibility:'hidden',position:position,overflow:'hidden',zIndex:zIndex||'0'});$box.css({zIndex:zIndex+2||2});$area.add($border).css({position:'absolute',fontSize:0});img.complete||img.readyState=='complete'||!$img.is('img')?imgLoad():$img.one('load',imgLoad);if(!imgLoaded&&msie&&msie>=7)img.src=img.src};$.fn.imgAreaSelect=function(options){options=options||{};this.each(function(){if($(this).data('imgAreaSelect')){if(options.remove){$(this).data('imgAreaSelect').remove();$(this).removeData('imgAreaSelect')}else $(this).data('imgAreaSelect').setOptions(options)}else if(!options.remove){if(options.enable===undefined&&options.disable===undefined)options.enable=true;$(this).data('imgAreaSelect',new $.imgAreaSelect(this,options))}});if(options.instance)return $(this).data('imgAreaSelect');return this}})(jQuery);
\ No newline at end of file
+!function(e){function t(){return e("<div/>")}var o=Math.abs,i=Math.max,s=Math.min,n=Math.round;e.imgAreaSelect=function(r,c){function d(e){return e+gt.left-vt.left}function a(e){return e+gt.top-vt.top}function u(e){return e-gt.left+vt.left}function l(e){return e-gt.top+vt.top}function h(e){return i(e.pageX||0,m(e).x)-vt.left}function f(e){return i(e.pageY||0,m(e).y)-vt.top}function m(e){var t=e.originalEvent||{};return t.touches&&t.touches.length?{x:t.touches[0].pageX,y:t.touches[0].pageY}:{x:0,y:0}}function p(e){var t=e||B,o=e||Q;return{x1:n(wt.x1*t),y1:n(wt.y1*o),x2:n(wt.x2*t),y2:n(wt.y2*o),width:n(wt.x2*t)-n(wt.x1*t),height:n(wt.y2*o)-n(wt.y1*o)}}function y(e,t,o,i,s){var r=s||B,c=s||Q;wt={x1:n(e/r||0),y1:n(t/c||0),x2:n(o/r||0),y2:n(i/c||0)},wt.width=wt.x2-wt.x1,wt.height=wt.y2-wt.y1}function g(){T&&lt.width()&&(gt={left:n(lt.offset().left),top:n(lt.offset().top)},R=lt.innerWidth(),X=lt.innerHeight(),gt.top+=lt.outerHeight()-X>>1,gt.left+=lt.outerWidth()-R>>1,G=n(c.minWidth/B)||0,J=n(c.minHeight/Q)||0,U=n(s(c.maxWidth/B||1<<24,R)),V=n(s(c.maxHeight/Q||1<<24,X)),"1.3.2"!=e().jquery||"fixed"!=xt||St.getBoundingClientRect||(gt.top+=i(document.body.scrollTop,St.scrollTop),gt.left+=i(document.body.scrollLeft,St.scrollLeft)),vt=/absolute|relative/.test(Y.css("position"))?{left:n(Y.offset().left)-Y.scrollLeft(),top:n(Y.offset().top)-Y.scrollTop()}:"fixed"==xt?{left:e(document).scrollLeft(),top:e(document).scrollTop()}:{left:0,top:0},j=d(0),D=a(0),(wt.x2>R||wt.y2>X)&&C())}function v(t){if(_){switch(ht.css({left:d(wt.x1),top:a(wt.y1)}).add(ft).width(dt=wt.width).height(at=wt.height),ft.add(mt).add(yt).css({left:0,top:0}),mt.width(i(dt-mt.outerWidth()+mt.innerWidth(),0)).height(i(at-mt.outerHeight()+mt.innerHeight(),0)),e(pt[0]).css({left:j,top:D,width:wt.x1,height:X}),e(pt[1]).css({left:j+wt.x1,top:D,width:dt,height:wt.y1}),e(pt[2]).css({left:j+wt.x2,top:D,width:R-wt.x2,height:X}),e(pt[3]).css({left:j+wt.x1,top:D+wt.y2,width:dt,height:X-wt.y2}),dt-=yt.outerWidth(),at-=yt.outerHeight(),yt.length){case 8:e(yt[4]).css({left:dt>>1}),e(yt[5]).css({left:dt,top:at>>1}),e(yt[6]).css({left:dt>>1,top:at}),e(yt[7]).css({top:at>>1});case 4:yt.slice(1,3).css({left:dt}),yt.slice(2,4).css({top:at})}t!==!1&&(e.imgAreaSelect.onKeyPress!=kt&&e(document).unbind(e.imgAreaSelect.keyPress,e.imgAreaSelect.onKeyPress),c.keys&&e(document)[e.imgAreaSelect.keyPress](e.imgAreaSelect.onKeyPress=kt)),Ct&&mt.outerWidth()-mt.innerWidth()==2&&(mt.css("margin",0),setTimeout(function(){mt.css("margin","auto")},0))}}function b(e){g(),v(e),et=d(wt.x1),tt=a(wt.y1),ot=d(wt.x2),it=a(wt.y2)}function x(e,t){c.fadeSpeed?e.fadeOut(c.fadeSpeed,t):e.hide()}function w(e){var t=u(h(e))-wt.x1,o=l(f(e))-wt.y1;ut||(g(),ut=!0,ht.one("mouseout",function(){ut=!1})),F="",c.resizable&&(o<=c.resizeMargin?F="n":o>=wt.height-c.resizeMargin&&(F="s"),t<=c.resizeMargin?F+="w":t>=wt.width-c.resizeMargin&&(F+="e")),ht.css("cursor",F?F+"-resize":c.movable?"move":""),L&&L.toggle()}function S(){e("body").css("cursor",""),(c.autoHide||wt.width*wt.height==0)&&x(ht.add(pt),function(){e(this).hide()}),e(document).off("mousemove touchmove",A),ht.on("mousemove touchmove",w),c.onSelectEnd(r,p())}function z(t){return"mousedown"==t.type&&1!=t.which?!1:(w(t),g(),F?(e("body").css("cursor",F+"-resize"),et=d(wt[/w/.test(F)?"x2":"x1"]),tt=a(wt[/n/.test(F)?"y2":"y1"]),e(document).on("mousemove touchmove",A).one("mouseup touchend",S),ht.off("mousemove touchmove",w)):c.movable?($=j+wt.x1-h(t),q=D+wt.y1-f(t),ht.off("mousemove touchmove",w),e(document).on("mousemove touchmove",I).one("mouseup touchend",function(){c.onSelectEnd(r,p()),e(document).off("mousemove touchmove",I),ht.on("mousemove touchmove",w)})):lt.mousedown(t),!1)}function k(e){Z&&(e?(ot=i(j,s(j+R,et+o(it-tt)*Z*(ot>et||-1))),it=n(i(D,s(D+X,tt+o(ot-et)/Z*(it>tt||-1)))),ot=n(ot)):(it=i(D,s(D+X,tt+o(ot-et)/Z*(it>tt||-1))),ot=n(i(j,s(j+R,et+o(it-tt)*Z*(ot>et||-1)))),it=n(it)))}function C(){et=s(et,j+R),tt=s(tt,D+X),o(ot-et)<G&&(ot=et-G*(et>ot||-1),j>ot?et=j+G:ot>j+R&&(et=j+R-G)),o(it-tt)<J&&(it=tt-J*(tt>it||-1),D>it?tt=D+J:it>D+X&&(tt=D+X-J)),ot=i(j,s(ot,j+R)),it=i(D,s(it,D+X)),k(o(ot-et)<o(it-tt)*Z),o(ot-et)>U&&(ot=et-U*(et>ot||-1),k()),o(it-tt)>V&&(it=tt-V*(tt>it||-1),k(!0)),wt={x1:u(s(et,ot)),x2:u(i(et,ot)),y1:l(s(tt,it)),y2:l(i(tt,it)),width:o(ot-et),height:o(it-tt)},v(),c.onSelectChange(r,p())}function A(e){return ot=/w|e|^$/.test(F)||Z?h(e):d(wt.x2),it=/n|s|^$/.test(F)||Z?f(e):a(wt.y2),C(),!1}function W(t,o){ot=(et=t)+wt.width,it=(tt=o)+wt.height,e.extend(wt,{x1:u(et),y1:l(tt),x2:u(ot),y2:l(it)}),v(),c.onSelectChange(r,p())}function I(e){return et=i(j,s($+h(e),j+R-wt.width)),tt=i(D,s(q+f(e),D+X-wt.height)),W(et,tt),e.preventDefault(),!1}function K(){e(document).off("mousemove touchmove",K),g(),ot=et,it=tt,C(),F="",pt.is(":visible")||ht.add(pt).hide().fadeIn(c.fadeSpeed||0),_=!0,e(document).off("mouseup touchend",P).on("mousemove touchmove",A).one("mouseup touchend",S),ht.off("mousemove touchmove",w),c.onSelectStart(r,p())}function P(){e(document).off("mousemove touchmove",K).off("mouseup touchend",P),x(ht.add(pt)),y(u(et),l(tt),u(et),l(tt)),this instanceof e.imgAreaSelect||(c.onSelectChange(r,p()),c.onSelectEnd(r,p()))}function N(t){return 1!=t.which||pt.is(":animated")?!1:(g(),$=et=h(t),q=tt=f(t),e(document).on({"mousemove touchmove":K,"mouseup touchend":P}),!1)}function H(){b(!1)}function M(){T=!0,O(c=e.extend({classPrefix:"imgareaselect",movable:!0,parent:"body",resizable:!0,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},c)),ht.add(pt).css({visibility:""}),c.show&&(_=!0,g(),v(),ht.add(pt).hide().fadeIn(c.fadeSpeed||0)),setTimeout(function(){c.onInit(r,p())},0)}function E(e,t){for(var o in t)void 0!==c[o]&&e.css(t[o],c[o])}function O(o){if(o.parent&&(Y=e(o.parent)).append(ht.add(pt)),e.extend(c,o),g(),null!=o.handles){for(yt.remove(),yt=e([]),rt=o.handles?"corners"==o.handles?4:8:0;rt--;)yt=yt.add(t());yt.addClass(c.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:bt+1||1}),!parseInt(yt.css("width"))>=0&&yt.width(5).height(5),(ct=c.borderWidth)&&yt.css({borderWidth:ct,borderStyle:"solid"}),E(yt,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}for(B=c.imageWidth/R||1,Q=c.imageHeight/X||1,null!=o.x1&&(y(o.x1,o.y1,o.x2,o.y2),o.show=!o.hide),o.keys&&(c.keys=e.extend({shift:1,ctrl:"resize"},o.keys)),pt.addClass(c.classPrefix+"-outer"),ft.addClass(c.classPrefix+"-selection"),rt=0;rt++<4;)e(mt[rt-1]).addClass(c.classPrefix+"-border"+rt);E(ft,{selectionColor:"background-color",selectionOpacity:"opacity"}),E(mt,{borderOpacity:"opacity",borderWidth:"border-width"}),E(pt,{outerColor:"background-color",outerOpacity:"opacity"}),(ct=c.borderColor1)&&e(mt[0]).css({borderStyle:"solid",borderColor:ct}),(ct=c.borderColor2)&&e(mt[1]).css({borderStyle:"dashed",borderColor:ct}),ht.append(ft.add(mt).add(L)).append(yt),Ct&&((ct=(pt.css("filter")||"").match(/opacity=(\d+)/))&&pt.css("opacity",ct[1]/100),(ct=(mt.css("filter")||"").match(/opacity=(\d+)/))&&mt.css("opacity",ct[1]/100)),o.hide?x(ht.add(pt)):o.show&&T&&(_=!0,ht.add(pt).fadeIn(c.fadeSpeed||0),b()),Z=(nt=(c.aspectRatio||"").split(/:/))[0]/nt[1],lt.add(pt).unbind("mousedown",N),c.disable||c.enable===!1?(ht.off({"mousemove touchmove":w,"mousedown touchstart":z}),e(window).off("resize",H)):((c.enable||c.disable===!1)&&((c.resizable||c.movable)&&ht.on({"mousemove touchmove":w,"mousedown touchstart":z}),e(window).resize(H)),c.persistent||lt.add(pt).on("mousedown touchstart",N)),c.enable=c.disable=void 0}var T,L,j,D,R,X,Y,$,q,B,Q,F,G,J,U,V,Z,_,et,tt,ot,it,st,nt,rt,ct,dt,at,ut,lt=e(r),ht=t(),ft=t(),mt=t().add(t()).add(t()).add(t()),pt=t().add(t()).add(t()).add(t()),yt=e([]),gt={left:0,top:0},vt={left:0,top:0},bt=0,xt="absolute",wt={x1:0,y1:0,x2:0,y2:0,width:0,height:0},St=document.documentElement,zt=navigator.userAgent,kt=function(e){var t,o,n=c.keys,r=e.keyCode;if(t=isNaN(n.alt)||!e.altKey&&!e.originalEvent.altKey?!isNaN(n.ctrl)&&e.ctrlKey?n.ctrl:!isNaN(n.shift)&&e.shiftKey?n.shift:isNaN(n.arrows)?10:n.arrows:n.alt,"resize"==n.arrows||"resize"==n.shift&&e.shiftKey||"resize"==n.ctrl&&e.ctrlKey||"resize"==n.alt&&(e.altKey||e.originalEvent.altKey)){switch(r){case 37:t=-t;case 39:o=i(et,ot),et=s(et,ot),ot=i(o+t,et),k();break;case 38:t=-t;case 40:o=i(tt,it),tt=s(tt,it),it=i(o+t,tt),k(!0);break;default:return}C()}else switch(et=s(et,ot),tt=s(tt,it),r){case 37:W(i(et-t,j),tt);break;case 38:W(et,i(tt-t,D));break;case 39:W(et+s(t,R-u(ot)),tt);break;case 40:W(et,tt+s(t,X-l(it)));break;default:return}return!1};this.remove=function(){O({disable:!0}),ht.add(pt).remove()},this.getOptions=function(){return c},this.setOptions=O,this.getSelection=p,this.setSelection=y,this.cancelSelection=P,this.update=b;var Ct=(/msie ([\w.]+)/i.exec(zt)||[])[1],At=/opera/i.test(zt),Wt=/webkit/i.test(zt)&&!/chrome/i.test(zt);for(st=lt;st.length;)bt=i(bt,isNaN(st.css("z-index"))?bt:st.css("z-index")),"fixed"==st.css("position")&&(xt="fixed"),st=st.parent(":not(body)");bt=c.zIndex||bt,Ct&&lt.attr("unselectable","on"),e.imgAreaSelect.keyPress=Ct||Wt?"keydown":"keypress",At&&(L=t().css({width:"100%",height:"100%",position:"absolute",zIndex:bt+2||2})),ht.add(pt).css({visibility:"hidden",position:xt,overflow:"hidden",zIndex:bt||"0"}),ht.css({zIndex:bt+2||2}),ft.add(mt).css({position:"absolute",fontSize:0}),r.complete||"complete"==r.readyState||!lt.is("img")?M():lt.one("load",M),!T&&Ct&&Ct>=7&&(r.src=r.src)},e.fn.imgAreaSelect=function(t){return t=t||{},this.each(function(){e(this).data("imgAreaSelect")?t.remove?(e(this).data("imgAreaSelect").remove(),e(this).removeData("imgAreaSelect")):e(this).data("imgAreaSelect").setOptions(t):t.remove||(void 0===t.enable&&void 0===t.disable&&(t.enable=!0),e(this).data("imgAreaSelect",new e.imgAreaSelect(this,t)))}),t.instance?e(this).data("imgAreaSelect"):this}}(jQuery);
\ No newline at end of file
index 435b00631cbff1b4c595d2620ed2aced0d4925c2..5a64f648d93ec7ebfdfa0818fa4f0b6352ee346b 100644 (file)
@@ -1,5 +1,6 @@
-/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
-return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)
-}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
-jQuery.noConflict();
+/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
+
+return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){
+return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m});
+jQuery.noConflict();
\ No newline at end of file
index fc5d38aaf7003e5ce4def3b73c7565bbca32ee74..a09be10d50f48795b8f55cd6f81991d10e617a5e 100644 (file)
@@ -8,4 +8,4 @@
  *
  * http://api.jqueryui.com/button/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){var b,c="ui-button ui-widget ui-state-default ui-corner-all",d="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",e=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},f=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"'][type=radio]"):a("[name='"+c+"'][type=radio]",b.ownerDocument).filter(function(){return!this.form})),e};return a.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,e),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var d=this,g=this.options,h="checkbox"===this.type||"radio"===this.type,i=h?"":"ui-state-active";null===g.label&&(g.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(c).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){g.disabled||this===b&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){g.disabled||a(this).removeClass(i)}).bind("click"+this.eventNamespace,function(a){g.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),h&&this.element.bind("change"+this.eventNamespace,function(){d.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return g.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(g.disabled)return!1;a(this).addClass("ui-state-active"),d.buttonElement.attr("aria-pressed","true");var b=d.element[0];f(b).not(b).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return g.disabled?!1:(a(this).addClass("ui-state-active"),b=this,void d.document.one("mouseup",function(){b=null}))}).bind("mouseup"+this.eventNamespace,function(){return g.disabled?!1:void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return g.disabled?!1:void((b.keyCode===a.ui.keyCode.SPACE||b.keyCode===a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",g.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(c+" ui-state-active "+d).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),void(b&&this.buttonElement.removeClass("checkbox"===this.type||"radio"===this.type?"ui-state-focus":"ui-state-focus ui-state-active"))):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?f(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(d),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,g=[];e.primary||e.secondary?(this.options.text&&g.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary")),e.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>"),e.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>"),this.options.text||(g.push(f?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):g.push("ui-button-text-only"),b.addClass(g.join(" "))}}),a.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction"),c=this.element.find(this.options.items),d=c.filter(":ui-button");c.not(":ui-button").button(),d.button("refresh"),this.buttons=c.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),a.ui.button});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){var b,c="ui-button ui-widget ui-state-default ui-corner-all",d="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",e=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},f=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"'][type=radio]"):a("[name='"+c+"'][type=radio]",b.ownerDocument).filter(function(){return!this.form})),e};return a.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,e),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var d=this,g=this.options,h="checkbox"===this.type||"radio"===this.type,i=h?"":"ui-state-active";null===g.label&&(g.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(c).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){g.disabled||this===b&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){g.disabled||a(this).removeClass(i)}).bind("click"+this.eventNamespace,function(a){g.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),h&&this.element.bind("change"+this.eventNamespace,function(){d.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return g.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(g.disabled)return!1;a(this).addClass("ui-state-active"),d.buttonElement.attr("aria-pressed","true");var b=d.element[0];f(b).not(b).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return g.disabled?!1:(a(this).addClass("ui-state-active"),b=this,void d.document.one("mouseup",function(){b=null}))}).bind("mouseup"+this.eventNamespace,function(){return g.disabled?!1:void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return g.disabled?!1:void((b.keyCode===a.ui.keyCode.SPACE||b.keyCode===a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",g.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.element.is("[type=checkbox]")?this.type="checkbox":this.element.is("[type=radio]")?this.type="radio":this.element.is("input")?this.type="input":this.type="button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(c+" ui-state-active "+d).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),void(b&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")))):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?f(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(d),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,g=[];e.primary||e.secondary?(this.options.text&&g.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary")),e.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>"),e.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>"),this.options.text||(g.push(f?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):g.push("ui-button-text-only"),b.addClass(g.join(" "))}}),a.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction"),c=this.element.find(this.options.items),d=c.filter(":ui-button");c.not(":ui-button").button(),d.button("refresh"),this.buttons=c.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),a.ui.button});
\ No newline at end of file
index 0145b2835e908afb9e568fdfd150a091e24dd9ae..22cc90876ecf52e92073032096791d4e4dfbd444 100644 (file)
@@ -8,5 +8,5 @@
  *
  * http://api.jqueryui.com/datepicker/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core"],a):a(jQuery)}(function(a){function b(a){for(var b,c;a.length&&a[0]!==document;){if(b=a.css("position"),("absolute"===b||"relative"===b||"fixed"===b)&&(c=parseInt(a.css("zIndex"),10),!isNaN(c)&&0!==c))return c;a=a.parent()}return 0}function c(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.regional.en=a.extend(!0,{},this.regional[""]),this.regional["en-US"]=a.extend(!0,{},this.regional.en),this.dpDiv=d(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function d(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",e)}function e(){a.datepicker._isDisabledDatepicker(g.inline?g.dpDiv.parent()[0]:g.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).addClass("ui-datepicker-next-hover"))}function f(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}a.extend(a.ui,{datepicker:{version:"1.11.4"}});var g;return a.extend(c.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return f(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var e=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:e,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?d(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,c){var d=a(b);c.append=a([]),c.trigger=a([]),d.hasClass(this.markerClassName)||(this._attachments(d,c),d.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(c),a.data(b,"datepicker",c),c.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),("focus"===d||"both"===d)&&b.focus(this._showDatepicker),("button"===d||"both"===d)&&(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,c){var d=a(b);d.hasClass(this.markerClassName)||(d.addClass(this.markerClassName).append(c.dpDiv),a.data(b,"datepicker",c),this._setDate(c,this._getDefaultDate(c),!0),this._updateDatepicker(c),this._updateAlternate(c),c.settings.disabled&&this._disableDatepicker(b),c.dpDiv.css("display","block"))},_dialogDatepicker:function(b,c,d,e,g){var h,i,j,k,l,m=this._dialogInst;return m||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),m=this._dialogInst=this._newInst(this._dialogInput,!1),m.settings={},a.data(this._dialogInput[0],"datepicker",m)),f(m.settings,e||{}),c=c&&c.constructor===Date?this._formatDate(m,c):c,this._dialogInput.val(c),this._pos=g?g.length?g:[g.pageX,g.pageY]:null,this._pos||(i=document.documentElement.clientWidth,j=document.documentElement.clientHeight,k=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[i/2-100+k,j/2-150+l]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),m.settings.onSelect=d,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],"datepicker",m),this},_destroyDatepicker:function(b){var c,d=a(b),e=a.data(b,"datepicker");d.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),a.removeData(b,"datepicker"),"input"===c?(e.append.remove(),e.trigger.remove(),d.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===c||"span"===c)&&d.removeClass(this.markerClassName).empty(),g===e&&(g=null))},_enableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!1,f.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().removeClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!0,f.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().addClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,"datepicker")}catch(c){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(b,c,d){var e,g,h,i,j=this._getInst(b);return 2===arguments.length&&"string"==typeof c?"defaults"===c?a.extend({},a.datepicker._defaults):j?"all"===c?a.extend({},j.settings):this._get(j,c):null:(e=c||{},"string"==typeof c&&(e={},e[c]=d),void(j&&(this._curInst===j&&this._hideDatepicker(),g=this._getDateDatepicker(b,!0),h=this._getMinMaxDate(j,"min"),i=this._getMinMaxDate(j,"max"),f(j.settings,e),null!==h&&void 0!==e.dateFormat&&void 0===e.minDate&&(j.settings.minDate=this._formatDate(j,h)),null!==i&&void 0!==e.dateFormat&&void 0===e.maxDate&&(j.settings.maxDate=this._formatDate(j,i)),"disabled"in e&&(e.disabled?this._disableDatepicker(b):this._enableDatepicker(b)),this._attachments(a(b),j),this._autoSize(j),this._setDate(j,g),this._updateAlternate(j),this._updateDatepicker(j))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);return a.datepicker._get(e,"constrainInput")?(c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||" ">d||!c||c.indexOf(d)>-1):void 0},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d))}catch(e){}return!0},_showDatepicker:function(c){if(c=c.target||c,"input"!==c.nodeName.toLowerCase()&&(c=a("input",c.parentNode)[0]),!a.datepicker._isDisabledDatepicker(c)&&a.datepicker._lastInput!==c){var d,e,g,h,i,j,k;d=a.datepicker._getInst(c),a.datepicker._curInst&&a.datepicker._curInst!==d&&(a.datepicker._curInst.dpDiv.stop(!0,!0),d&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),e=a.datepicker._get(d,"beforeShow"),g=e?e.apply(c,[c,d]):{},g!==!1&&(f(d.settings,g),d.lastVal=null,a.datepicker._lastInput=c,a.datepicker._setDateFromField(d),a.datepicker._inDialog&&(c.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(c),a.datepicker._pos[1]+=c.offsetHeight),h=!1,a(c).parents().each(function(){return h|="fixed"===a(this).css("position"),!h}),i={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,d.dpDiv.empty(),d.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(d),i=a.datepicker._checkOffset(d,i,h),d.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":h?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),d.inline||(j=a.datepicker._get(d,"showAnim"),k=a.datepicker._get(d,"duration"),d.dpDiv.css("z-index",b(a(c))+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[j]?d.dpDiv.show(j,a.datepicker._get(d,"showOptions"),k):d.dpDiv[j||"show"](j?k:null),a.datepicker._shouldFocusInput(d)&&d.input.focus(),a.datepicker._curInst=d))}},_updateDatepicker:function(b){this.maxRows=4,g=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b);var c,d=this._getNumberOfMonths(b),f=d[1],h=17,i=b.dpDiv.find("."+this._dayOverClass+" a");i.length>0&&e.apply(i.get(0)),b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&b.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",h*f+"em"),b.dpDiv[(1!==d[0]||1!==d[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var c,d,e,f,g=this._curInst;!g||b&&g!==a.data(b,"datepicker")||this._datepickerShowing&&(c=this._get(g,"showAnim"),d=this._get(g,"duration"),e=function(){a.datepicker._tidyDialog(g)},a.effects&&(a.effects.effect[c]||a.effects[c])?g.dpDiv.hide(c,a.datepicker._get(g,"showOptions"),d,e):g.dpDiv["slideDown"===c?"slideUp":"fadeIn"===c?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1,f=this._get(g,"onClose"),f&&f.apply(g.input?g.input[0]:null,[g.input?g.input.val():"",g]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id!==a.datepicker._mainDivId&&0===c.parents("#"+a.datepicker._mainDivId).length&&!c.hasClass(a.datepicker.markerClassName)&&!c.closest("."+a.datepicker._triggerClass).length&&a.datepicker._datepickerShowing&&(!a.datepicker._inDialog||!a.blockUI)||c.hasClass(a.datepicker.markerClassName)&&a.datepicker._curInst!==d)&&a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))},noWeekends:function(a){var b=a.getDay();return[b>0&&6>b,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,h,i=0,j=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,k="string"!=typeof j?j:(new Date).getFullYear()%100+parseInt(j,10),l=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,m=(d?d.dayNames:null)||this._defaults.dayNames,n=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,o=(d?d.monthNames:null)||this._defaults.monthNames,p=-1,q=-1,r=-1,s=-1,t=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e="y"===a?d:1,f=new RegExp("^\\d{"+e+","+d+"}"),g=c.substring(i).match(f);if(!g)throw"Missing number at position "+i;return i+=g[0].length,parseInt(g[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];return c.substr(i,d.length).toLowerCase()===d.toLowerCase()?(f=b[0],i+=d.length,!1):void 0}),-1!==f)return f+1;throw"Unknown name at position "+i},x=function(){if(c.charAt(i)!==b.charAt(e))throw"Unexpected literal at position "+i;i++};for(e=0;e<b.length;e++)if(t)"'"!==b.charAt(e)||u("'")?x():t=!1;else switch(b.charAt(e)){case"d":r=v("d");break;case"D":w("D",l,m);break;case"o":s=v("o");break;case"m":q=v("m");break;case"M":q=w("M",n,o);break;case"y":p=v("y");break;case"@":h=new Date(v("@")),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"!":h=new Date((v("!")-this._ticksTo1970)/1e4),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"'":u("'")?x():t=!0;break;default:x()}if(i<c.length&&(g=c.substr(i),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(-1===p?p=(new Date).getFullYear():100>p&&(p+=(new Date).getFullYear()-(new Date).getFullYear()%100+(k>=p?0:-100)),s>-1)for(q=1,r=s;;){if(f=this._getDaysInMonth(p,q-1),f>=r)break;q++,r-=f}if(h=this._daylightSavingAdjust(new Date(p,q-1,r)),h.getFullYear()!==p||h.getMonth()+1!==q||h.getDate()!==r)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,b){return void 0!==a.settings[b]?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(h){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(d){}for(var e=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=i.exec(c);j;){switch(j[2]||"d"){case"d":case"D":h+=parseInt(j[1],10);break;case"w":case"W":h+=7*parseInt(j[1],10);break;case"m":case"M":g+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g));break;case"y":case"Y":f+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g))}j=i.exec(c)}return new Date(f,g,h)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(0>_&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&Z>b?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,0>_&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;7>v;v++)D=(v+k)%7,C+="<th scope='col'"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;H>J;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;7>v;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&Z>I||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";
-else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;12>k;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p>=o;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),("M"===c||"Y"===c)&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&c>b?c:b;return d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(0>b?b:e[0]*e[1]),1));return 0>b&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new c,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.11.4",a.datepicker});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core"],a):a(jQuery)}(function(a){function b(a){for(var b,c;a.length&&a[0]!==document;){if(b=a.css("position"),("absolute"===b||"relative"===b||"fixed"===b)&&(c=parseInt(a.css("zIndex"),10),!isNaN(c)&&0!==c))return c;a=a.parent()}return 0}function c(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.regional.en=a.extend(!0,{},this.regional[""]),this.regional["en-US"]=a.extend(!0,{},this.regional.en),this.dpDiv=d(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function d(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",e)}function e(){a.datepicker._isDisabledDatepicker(g.inline?g.dpDiv.parent()[0]:g.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).addClass("ui-datepicker-next-hover"))}function f(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}a.extend(a.ui,{datepicker:{version:"1.11.4"}});var g;return a.extend(c.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return f(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var e=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:e,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?d(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,c){var d=a(b);c.append=a([]),c.trigger=a([]),d.hasClass(this.markerClassName)||(this._attachments(d,c),d.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(c),a.data(b,"datepicker",c),c.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),("focus"===d||"both"===d)&&b.focus(this._showDatepicker),("button"===d||"both"===d)&&(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,c){var d=a(b);d.hasClass(this.markerClassName)||(d.addClass(this.markerClassName).append(c.dpDiv),a.data(b,"datepicker",c),this._setDate(c,this._getDefaultDate(c),!0),this._updateDatepicker(c),this._updateAlternate(c),c.settings.disabled&&this._disableDatepicker(b),c.dpDiv.css("display","block"))},_dialogDatepicker:function(b,c,d,e,g){var h,i,j,k,l,m=this._dialogInst;return m||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),m=this._dialogInst=this._newInst(this._dialogInput,!1),m.settings={},a.data(this._dialogInput[0],"datepicker",m)),f(m.settings,e||{}),c=c&&c.constructor===Date?this._formatDate(m,c):c,this._dialogInput.val(c),this._pos=g?g.length?g:[g.pageX,g.pageY]:null,this._pos||(i=document.documentElement.clientWidth,j=document.documentElement.clientHeight,k=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[i/2-100+k,j/2-150+l]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),m.settings.onSelect=d,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],"datepicker",m),this},_destroyDatepicker:function(b){var c,d=a(b),e=a.data(b,"datepicker");d.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),a.removeData(b,"datepicker"),"input"===c?(e.append.remove(),e.trigger.remove(),d.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===c||"span"===c)&&d.removeClass(this.markerClassName).empty(),g===e&&(g=null))},_enableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!1,f.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().removeClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!0,f.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().addClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,"datepicker")}catch(c){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(b,c,d){var e,g,h,i,j=this._getInst(b);return 2===arguments.length&&"string"==typeof c?"defaults"===c?a.extend({},a.datepicker._defaults):j?"all"===c?a.extend({},j.settings):this._get(j,c):null:(e=c||{},"string"==typeof c&&(e={},e[c]=d),void(j&&(this._curInst===j&&this._hideDatepicker(),g=this._getDateDatepicker(b,!0),h=this._getMinMaxDate(j,"min"),i=this._getMinMaxDate(j,"max"),f(j.settings,e),null!==h&&void 0!==e.dateFormat&&void 0===e.minDate&&(j.settings.minDate=this._formatDate(j,h)),null!==i&&void 0!==e.dateFormat&&void 0===e.maxDate&&(j.settings.maxDate=this._formatDate(j,i)),"disabled"in e&&(e.disabled?this._disableDatepicker(b):this._enableDatepicker(b)),this._attachments(a(b),j),this._autoSize(j),this._setDate(j,g),this._updateAlternate(j),this._updateDatepicker(j))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);return a.datepicker._get(e,"constrainInput")?(c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||" ">d||!c||c.indexOf(d)>-1):void 0},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d))}catch(e){}return!0},_showDatepicker:function(c){if(c=c.target||c,"input"!==c.nodeName.toLowerCase()&&(c=a("input",c.parentNode)[0]),!a.datepicker._isDisabledDatepicker(c)&&a.datepicker._lastInput!==c){var d,e,g,h,i,j,k;d=a.datepicker._getInst(c),a.datepicker._curInst&&a.datepicker._curInst!==d&&(a.datepicker._curInst.dpDiv.stop(!0,!0),d&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),e=a.datepicker._get(d,"beforeShow"),g=e?e.apply(c,[c,d]):{},g!==!1&&(f(d.settings,g),d.lastVal=null,a.datepicker._lastInput=c,a.datepicker._setDateFromField(d),a.datepicker._inDialog&&(c.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(c),a.datepicker._pos[1]+=c.offsetHeight),h=!1,a(c).parents().each(function(){return h|="fixed"===a(this).css("position"),!h}),i={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,d.dpDiv.empty(),d.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(d),i=a.datepicker._checkOffset(d,i,h),d.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":h?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),d.inline||(j=a.datepicker._get(d,"showAnim"),k=a.datepicker._get(d,"duration"),d.dpDiv.css("z-index",b(a(c))+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[j]?d.dpDiv.show(j,a.datepicker._get(d,"showOptions"),k):d.dpDiv[j||"show"](j?k:null),a.datepicker._shouldFocusInput(d)&&d.input.focus(),a.datepicker._curInst=d))}},_updateDatepicker:function(b){this.maxRows=4,g=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b);var c,d=this._getNumberOfMonths(b),f=d[1],h=17,i=b.dpDiv.find("."+this._dayOverClass+" a");i.length>0&&e.apply(i.get(0)),b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&b.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",h*f+"em"),b.dpDiv[(1!==d[0]||1!==d[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var c,d,e,f,g=this._curInst;!g||b&&g!==a.data(b,"datepicker")||this._datepickerShowing&&(c=this._get(g,"showAnim"),d=this._get(g,"duration"),e=function(){a.datepicker._tidyDialog(g)},a.effects&&(a.effects.effect[c]||a.effects[c])?g.dpDiv.hide(c,a.datepicker._get(g,"showOptions"),d,e):g.dpDiv["slideDown"===c?"slideUp":"fadeIn"===c?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1,f=this._get(g,"onClose"),f&&f.apply(g.input?g.input[0]:null,[g.input?g.input.val():"",g]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id!==a.datepicker._mainDivId&&0===c.parents("#"+a.datepicker._mainDivId).length&&!c.hasClass(a.datepicker.markerClassName)&&!c.closest("."+a.datepicker._triggerClass).length&&a.datepicker._datepickerShowing&&(!a.datepicker._inDialog||!a.blockUI)||c.hasClass(a.datepicker.markerClassName)&&a.datepicker._curInst!==d)&&a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))},noWeekends:function(a){var b=a.getDay();return[b>0&&6>b,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,h,i=0,j=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,k="string"!=typeof j?j:(new Date).getFullYear()%100+parseInt(j,10),l=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,m=(d?d.dayNames:null)||this._defaults.dayNames,n=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,o=(d?d.monthNames:null)||this._defaults.monthNames,p=-1,q=-1,r=-1,s=-1,t=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e="y"===a?d:1,f=new RegExp("^\\d{"+e+","+d+"}"),g=c.substring(i).match(f);if(!g)throw"Missing number at position "+i;return i+=g[0].length,parseInt(g[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];return c.substr(i,d.length).toLowerCase()===d.toLowerCase()?(f=b[0],i+=d.length,!1):void 0}),-1!==f)return f+1;throw"Unknown name at position "+i},x=function(){if(c.charAt(i)!==b.charAt(e))throw"Unexpected literal at position "+i;i++};for(e=0;e<b.length;e++)if(t)"'"!==b.charAt(e)||u("'")?x():t=!1;else switch(b.charAt(e)){case"d":r=v("d");break;case"D":w("D",l,m);break;case"o":s=v("o");break;case"m":q=v("m");break;case"M":q=w("M",n,o);break;case"y":p=v("y");break;case"@":h=new Date(v("@")),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"!":h=new Date((v("!")-this._ticksTo1970)/1e4),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"'":u("'")?x():t=!0;break;default:x()}if(i<c.length&&(g=c.substr(i),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(-1===p?p=(new Date).getFullYear():100>p&&(p+=(new Date).getFullYear()-(new Date).getFullYear()%100+(k>=p?0:-100)),s>-1)for(q=1,r=s;;){if(f=this._getDaysInMonth(p,q-1),f>=r)break;q++,r-=f}if(h=this._daylightSavingAdjust(new Date(p,q-1,r)),h.getFullYear()!==p||h.getMonth()+1!==q||h.getDate()!==r)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,b){return void 0!==a.settings[b]?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(h){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(d){}for(var e=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=i.exec(c);j;){switch(j[2]||"d"){case"d":case"D":h+=parseInt(j[1],10);break;case"w":case"W":h+=7*parseInt(j[1],10);break;case"m":case"M":g+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g));break;case"y":case"Y":f+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g))}j=i.exec(c)}return new Date(f,g,h)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(0>_&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&Z>b?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,0>_&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;7>v;v++)D=(v+k)%7,C+="<th scope='col'"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;H>J;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;7>v;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&Z>I||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";else{
+for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;12>k;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p>=o;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),("M"===c||"Y"===c)&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&c>b?c:b;return d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(0>b?b:e[0]*e[1]),1));return 0>b&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new c,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.11.4",a.datepicker});
\ No newline at end of file
index a0fa27577a0afd553e63e3d0f3fc94f54cd7fa5f..bb180bc298a58abfe116c1a3d71ac51c539c24bf 100644 (file)
@@ -8,4 +8,4 @@
  *
  * http://api.jqueryui.com/position/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){return function(){function b(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var e,f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d||e?c.width():c.outerWidth(),height:d||e?c.height():c.outerHeight()}}},a.fn.position=function(e){if(!e||!e.of)return o.apply(this,arguments);e=a.extend({},e);var n,p,q,r,s,t,u=a(e.of),v=a.position.getWithinInfo(e.within),w=a.position.getScrollInfo(v),x=(e.collision||"flip").split(" "),y={};return t=d(u),u[0].preventDefault&&(e.at="left top"),p=t.width,q=t.height,r=t.offset,s=a.extend({},r),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=j.test(c[0])?c.concat(["center"]):k.test(c[0])?["center"].concat(c):["center","center"]),c[0]=j.test(c[0])?c[0]:"center",c[1]=k.test(c[1])?c[1]:"center",a=l.exec(c[0]),b=l.exec(c[1]),y[this]=[a?a[0]:0,b?b[0]:0],e[this]=[m.exec(c[0])[0],m.exec(c[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?s.left+=p:"center"===e.at[0]&&(s.left+=p/2),"bottom"===e.at[1]?s.top+=q:"center"===e.at[1]&&(s.top+=q/2),n=b(y.at,p,q),s.left+=n[0],s.top+=n[1],this.each(function(){var d,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=c(this,"marginLeft"),t=c(this,"marginTop"),z=l+o+c(this,"marginRight")+w.width,A=m+t+c(this,"marginBottom")+w.height,B=a.extend({},s),C=b(y.my,k.outerWidth(),k.outerHeight());"right"===e.my[0]?B.left-=l:"center"===e.my[0]&&(B.left-=l/2),"bottom"===e.my[1]?B.top-=m:"center"===e.my[1]&&(B.top-=m/2),B.left+=C[0],B.top+=C[1],f||(B.left=i(B.left),B.top=i(B.top)),d={marginLeft:o,marginTop:t},a.each(["left","top"],function(b,c){a.ui.position[x[b]]&&a.ui.position[x[b]][c](B,{targetWidth:p,targetHeight:q,elemWidth:l,elemHeight:m,collisionPosition:d,collisionWidth:z,collisionHeight:A,offset:[n[0]+C[0],n[1]+C[1]],my:e.my,at:e.at,within:v,elem:k})}),e.using&&(j=function(a){var b=r.left-B.left,c=b+p-l,d=r.top-B.top,f=d+q-m,i={target:{element:u,left:r.left,top:r.top,width:p,height:q},element:{element:k,left:B.left,top:B.top,width:l,height:m},horizontal:0>c?"left":b>0?"right":"center",vertical:0>f?"top":d>0?"bottom":"middle"};l>p&&h(b+c)<p&&(i.horizontal="center"),m>q&&h(d+f)<q&&(i.vertical="middle"),i.important=g(h(b),h(c))>g(h(d),h(f))?"horizontal":"vertical",e.using.call(this,a,i)}),k.offset(a.extend(B,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):a.left=j>0&&0>=i?e:i>j?e+f-b.collisionWidth:e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):a.top=j>0&&0>=i?e:i>j?e+f-b.collisionHeight:e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c<h(k))&&(a.left+=m+n+o)):l>0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)<l)&&(a.left+=m+n+o))},top:function(a,b){var c,d,e=b.within,f=e.offset.top+e.scrollTop,g=e.height,i=e.isWindow?e.scrollTop:e.offset.top,j=a.top-b.collisionPosition.marginTop,k=j-i,l=j+b.collisionHeight-g-i,m="top"===b.my[1],n=m?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,o="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,p=-2*b.offset[1];0>k?(d=a.top+n+o+p+b.collisionHeight-g-f,(0>d||d<h(k))&&(a.top+=n+o+p)):l>0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,(c>0||h(c)<l)&&(a.top+=n+o+p))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,g,h=document.getElementsByTagName("body")[0],i=document.createElement("div");b=document.createElement(h?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},h&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(g in d)b.style[g]=d[g];b.appendChild(i),c=h||document.documentElement,c.insertBefore(b,c.firstChild),i.style.cssText="position: absolute; left: 10.7432222px;",e=a(i).offset().left,f=e>10&&11>e,b.innerHTML="",c.removeChild(b)}()}(),a.ui.position});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){return function(){function b(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var e,f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d||e?c.width():c.outerWidth(),height:d||e?c.height():c.outerHeight()}}},a.fn.position=function(e){if(!e||!e.of)return o.apply(this,arguments);e=a.extend({},e);var n,p,q,r,s,t,u=a(e.of),v=a.position.getWithinInfo(e.within),w=a.position.getScrollInfo(v),x=(e.collision||"flip").split(" "),y={};return t=d(u),u[0].preventDefault&&(e.at="left top"),p=t.width,q=t.height,r=t.offset,s=a.extend({},r),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=j.test(c[0])?c.concat(["center"]):k.test(c[0])?["center"].concat(c):["center","center"]),c[0]=j.test(c[0])?c[0]:"center",c[1]=k.test(c[1])?c[1]:"center",a=l.exec(c[0]),b=l.exec(c[1]),y[this]=[a?a[0]:0,b?b[0]:0],e[this]=[m.exec(c[0])[0],m.exec(c[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?s.left+=p:"center"===e.at[0]&&(s.left+=p/2),"bottom"===e.at[1]?s.top+=q:"center"===e.at[1]&&(s.top+=q/2),n=b(y.at,p,q),s.left+=n[0],s.top+=n[1],this.each(function(){var d,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=c(this,"marginLeft"),t=c(this,"marginTop"),z=l+o+c(this,"marginRight")+w.width,A=m+t+c(this,"marginBottom")+w.height,B=a.extend({},s),C=b(y.my,k.outerWidth(),k.outerHeight());"right"===e.my[0]?B.left-=l:"center"===e.my[0]&&(B.left-=l/2),"bottom"===e.my[1]?B.top-=m:"center"===e.my[1]&&(B.top-=m/2),B.left+=C[0],B.top+=C[1],f||(B.left=i(B.left),B.top=i(B.top)),d={marginLeft:o,marginTop:t},a.each(["left","top"],function(b,c){a.ui.position[x[b]]&&a.ui.position[x[b]][c](B,{targetWidth:p,targetHeight:q,elemWidth:l,elemHeight:m,collisionPosition:d,collisionWidth:z,collisionHeight:A,offset:[n[0]+C[0],n[1]+C[1]],my:e.my,at:e.at,within:v,elem:k})}),e.using&&(j=function(a){var b=r.left-B.left,c=b+p-l,d=r.top-B.top,f=d+q-m,i={target:{element:u,left:r.left,top:r.top,width:p,height:q},element:{element:k,left:B.left,top:B.top,width:l,height:m},horizontal:0>c?"left":b>0?"right":"center",vertical:0>f?"top":d>0?"bottom":"middle"};l>p&&h(b+c)<p&&(i.horizontal="center"),m>q&&h(d+f)<q&&(i.vertical="middle"),g(h(b),h(c))>g(h(d),h(f))?i.important="horizontal":i.important="vertical",e.using.call(this,a,i)}),k.offset(a.extend(B,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):j>0&&0>=i?a.left=e:i>j?a.left=e+f-b.collisionWidth:a.left=e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):j>0&&0>=i?a.top=e:i>j?a.top=e+f-b.collisionHeight:a.top=e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c<h(k))&&(a.left+=m+n+o)):l>0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)<l)&&(a.left+=m+n+o))},top:function(a,b){var c,d,e=b.within,f=e.offset.top+e.scrollTop,g=e.height,i=e.isWindow?e.scrollTop:e.offset.top,j=a.top-b.collisionPosition.marginTop,k=j-i,l=j+b.collisionHeight-g-i,m="top"===b.my[1],n=m?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,o="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,p=-2*b.offset[1];0>k?(d=a.top+n+o+p+b.collisionHeight-g-f,(0>d||d<h(k))&&(a.top+=n+o+p)):l>0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,(c>0||h(c)<l)&&(a.top+=n+o+p))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,g,h=document.getElementsByTagName("body")[0],i=document.createElement("div");b=document.createElement(h?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},h&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(g in d)b.style[g]=d[g];b.appendChild(i),c=h||document.documentElement,c.insertBefore(b,c.firstChild),i.style.cssText="position: absolute; left: 10.7432222px;",e=a(i).offset().left,f=e>10&&11>e,b.innerHTML="",c.removeChild(b)}()}(),a.ui.position});
\ No newline at end of file
index f4a3f5c459e14feab0743d8d982e00d626a65fa7..d2bc0ccd8ac159abfe56a083986286aa075714cc 100644 (file)
@@ -8,4 +8,4 @@
  *
  * http://api.jqueryui.com/tabs/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var a=/#.*$/;return function(b){var c,d;b=b.cloneNode(!1),c=b.href.replace(a,""),d=location.href.replace(a,"");try{c=decodeURIComponent(c)}catch(e){}try{d=decodeURIComponent(d)}catch(e){}return b.hash.length>1&&c===d}}(),_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(c.active):a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||b.metaKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this,c=this.tabs,d=this.anchors,e=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,f,g,h=a(d).uniqueId().attr("id"),i=a(d).closest("li"),j=i.attr("aria-controls");b._isLocal(d)?(e=d.hash,g=e.substring(1),f=b.element.find(b._sanitizeSelector(e))):(g=i.attr("aria-controls")||a({}).uniqueId()[0].id,e="#"+g,f=b.element.find(e),f.length||(f=b._createPanel(g),f.insertAfter(b.panels[c-1]||b.tablist)),f.attr("aria-live","polite")),f.length&&(b.panels=b.panels.add(f)),j&&i.data("ui-tabs-aria-controls",j),i.attr({"aria-controls":g,"aria-labelledby":h}),f.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),c&&(this._off(c.not(this.tabs)),this._off(d.not(this.anchors)),this._off(e.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(a){a.preventDefault()}}),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr("aria-hidden","true"),c.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr("aria-hidden","false"),c.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(b){var c=this.options.disabled;c!==!1&&(void 0===b?c=!1:(b=this._getIndex(b),c=a.isArray(c)?a.map(c,function(a){return a!==b?a:null}):a.map(this.tabs,function(a,c){return c!==b?c:null})),this._setupDisabled(c))},disable:function(b){var c=this.options.disabled;if(c!==!0){if(void 0===b)c=!0;else{if(b=this._getIndex(b),-1!==a.inArray(b,c))return;c=a.isArray(c)?a.merge([b],c).sort():[b]}this._setupDisabled(c)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),f=e.find(".ui-tabs-anchor"),g=this._getPanelForTab(e),h={tab:e,panel:g},i=function(a,b){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),g.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr};this._isLocal(f[0])||(this.xhr=a.ajax(this._ajaxSettings(f,c,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),g.attr("aria-busy","true"),this.xhr.done(function(a,b,e){setTimeout(function(){g.html(a),d._trigger("load",c,h),i(e,b)},1)}).fail(function(a,b){setTimeout(function(){i(a,b)},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var a=/#.*$/;return function(b){var c,d;b=b.cloneNode(!1),c=b.href.replace(a,""),d=location.href.replace(a,"");try{c=decodeURIComponent(c)}catch(e){}try{d=decodeURIComponent(d)}catch(e){}return b.hash.length>1&&c===d}}(),_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(c.active):this.active=a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||b.metaKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this,c=this.tabs,d=this.anchors,e=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,f,g,h=a(d).uniqueId().attr("id"),i=a(d).closest("li"),j=i.attr("aria-controls");b._isLocal(d)?(e=d.hash,g=e.substring(1),f=b.element.find(b._sanitizeSelector(e))):(g=i.attr("aria-controls")||a({}).uniqueId()[0].id,e="#"+g,f=b.element.find(e),f.length||(f=b._createPanel(g),f.insertAfter(b.panels[c-1]||b.tablist)),f.attr("aria-live","polite")),f.length&&(b.panels=b.panels.add(f)),j&&i.data("ui-tabs-aria-controls",j),i.attr({"aria-controls":g,"aria-labelledby":h}),f.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),c&&(this._off(c.not(this.tabs)),this._off(d.not(this.anchors)),this._off(e.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(a){a.preventDefault()}}),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr("aria-hidden","true"),c.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr("aria-hidden","false"),c.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(b){var c=this.options.disabled;c!==!1&&(void 0===b?c=!1:(b=this._getIndex(b),c=a.isArray(c)?a.map(c,function(a){return a!==b?a:null}):a.map(this.tabs,function(a,c){return c!==b?c:null})),this._setupDisabled(c))},disable:function(b){var c=this.options.disabled;if(c!==!0){if(void 0===b)c=!0;else{if(b=this._getIndex(b),-1!==a.inArray(b,c))return;c=a.isArray(c)?a.merge([b],c).sort():[b]}this._setupDisabled(c)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),f=e.find(".ui-tabs-anchor"),g=this._getPanelForTab(e),h={tab:e,panel:g},i=function(a,b){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),g.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr};this._isLocal(f[0])||(this.xhr=a.ajax(this._ajaxSettings(f,c,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),g.attr("aria-busy","true"),this.xhr.done(function(a,b,e){setTimeout(function(){g.html(a),d._trigger("load",c,h),i(e,b)},1)}).fail(function(a,b){setTimeout(function(){i(a,b)},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})});
\ No newline at end of file
index a9353102e9ecd33022eafdb3ec9b2e489ce82093..5d10f5dca79f8a06a0379aa9f07e699d12be86de 100644 (file)
@@ -8,4 +8,4 @@
  *
  * http://api.jqueryui.com/jQuery.widget/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){var b=0,c=Array.prototype.slice;return a.cleanData=function(b){return function(c){var d,e,f;for(f=0;null!=(e=c[f]);f++)try{d=a._data(e,"events"),d&&d.remove&&a(e).triggerHandler("remove")}catch(g){}b(c)}}(a.cleanData),a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(b){for(var d,e,f=c.call(arguments,1),g=0,h=f.length;h>g;g++)for(d in f[g])e=f[g][d],f[g].hasOwnProperty(d)&&void 0!==e&&(b[d]=a.isPlainObject(e)?a.isPlainObject(b[d])?a.widget.extend({},b[d],e):a.widget.extend({},e):e);return b},a.widget.bridge=function(b,d){var e=d.prototype.widgetFullName||b;a.fn[b]=function(f){var g="string"==typeof f,h=c.call(arguments,1),i=this;return g?this.each(function(){var c,d=a.data(this,e);return"instance"===f?(i=d,!1):d?a.isFunction(d[f])&&"_"!==f.charAt(0)?(c=d[f].apply(d,h),c!==d&&void 0!==c?(i=c&&c.jquery?i.pushStack(c.get()):c,!1):void 0):a.error("no such method '"+f+"' for "+b+" widget instance"):a.error("cannot call methods on "+b+" prior to initialization; attempted to call method '"+f+"'")}):(h.length&&(f=a.widget.extend.apply(null,[f].concat(h))),this.each(function(){var b=a.data(this,e);b?(b.option(f||{}),b._init&&b._init()):a.data(this,e,new d(f,this))})),i}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(c,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=b++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this.options=a.widget.extend({},this.options,this._getCreateOptions(),c),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(b,c){var d,e,f,g=b;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof b)if(g={},d=b.split("."),b=d.shift(),d.length){for(e=g[b]=a.widget.extend({},this.options[b]),f=0;f<d.length-1;f++)e[d[f]]=e[d[f]]||{},e=e[d[f]];if(b=d.pop(),1===arguments.length)return void 0===e[b]?null:e[b];e[b]=c}else{if(1===arguments.length)return void 0===this.options[b]?null:this.options[b];g[b]=c}return this._setOptions(g),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),b&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^([\w:-]*)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(b,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,b.unbind(c).undelegate(c),this.bindings=a(this.bindings.not(b).get()),this.focusable=a(this.focusable.not(b).get()),this.hoverable=a(this.hoverable.not(b).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}}),a.widget});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){var b=0,c=Array.prototype.slice;return a.cleanData=function(b){return function(c){var d,e,f;for(f=0;null!=(e=c[f]);f++)try{d=a._data(e,"events"),d&&d.remove&&a(e).triggerHandler("remove")}catch(g){}b(c)}}(a.cleanData),a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(b){for(var d,e,f=c.call(arguments,1),g=0,h=f.length;h>g;g++)for(d in f[g])e=f[g][d],f[g].hasOwnProperty(d)&&void 0!==e&&(a.isPlainObject(e)?b[d]=a.isPlainObject(b[d])?a.widget.extend({},b[d],e):a.widget.extend({},e):b[d]=e);return b},a.widget.bridge=function(b,d){var e=d.prototype.widgetFullName||b;a.fn[b]=function(f){var g="string"==typeof f,h=c.call(arguments,1),i=this;return g?this.each(function(){var c,d=a.data(this,e);return"instance"===f?(i=d,!1):d?a.isFunction(d[f])&&"_"!==f.charAt(0)?(c=d[f].apply(d,h),c!==d&&void 0!==c?(i=c&&c.jquery?i.pushStack(c.get()):c,!1):void 0):a.error("no such method '"+f+"' for "+b+" widget instance"):a.error("cannot call methods on "+b+" prior to initialization; attempted to call method '"+f+"'")}):(h.length&&(f=a.widget.extend.apply(null,[f].concat(h))),this.each(function(){var b=a.data(this,e);b?(b.option(f||{}),b._init&&b._init()):a.data(this,e,new d(f,this))})),i}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(c,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=b++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this.options=a.widget.extend({},this.options,this._getCreateOptions(),c),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(b,c){var d,e,f,g=b;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof b)if(g={},d=b.split("."),b=d.shift(),d.length){for(e=g[b]=a.widget.extend({},this.options[b]),f=0;f<d.length-1;f++)e[d[f]]=e[d[f]]||{},e=e[d[f]];if(b=d.pop(),1===arguments.length)return void 0===e[b]?null:e[b];e[b]=c}else{if(1===arguments.length)return void 0===this.options[b]?null:this.options[b];g[b]=c}return this._setOptions(g),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),b&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^([\w:-]*)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(b,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,b.unbind(c).undelegate(c),this.bindings=a(this.bindings.not(b).get()),this.focusable=a(this.focusable.not(b).get()),this.hoverable=a(this.hoverable.not(b).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}}),a.widget});
\ No newline at end of file
index cb5500822142feab33fcba3b9d97253918d51f01..93b3056a86db590502bf57d955d63cd1617a42bd 100644 (file)
@@ -1 +1 @@
-var JSON;JSON||(JSON={}),function(){"use strict";function f(a){return 10>a?"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(a){return 10>a?"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(a){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(a){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
index 86638fcff6448314a3bc89109fe0075c21e121da..c0ae668062f6d1be5e6d63e150aaab26bae9af5d 100644 (file)
@@ -1,7 +1,5 @@
 /* global tinymce */
 
-window.wp = window.wp || {};
-
 /*
  * The TinyMCE view API.
  *
@@ -24,7 +22,7 @@ window.wp = window.wp || {};
  * |- registered view
  * |  |- ...
  */
-( function( window, wp, $ ) {
+( function( window, wp, shortcode, $ ) {
        'use strict';
 
        var views = {},
@@ -145,22 +143,26 @@ window.wp = window.wp || {};
                /**
                 * Create a view instance.
                 *
-                * @param {String} type    The view type.
-                * @param {String} text    The textual representation of the view.
-                * @param {Object} options Options.
+                * @param {String}  type    The view type.
+                * @param {String}  text    The textual representation of the view.
+                * @param {Object}  options Options.
+                * @param {Boolean} force   Recreate the instance. Optional.
                 *
                 * @return {wp.mce.View} The view instance.
                 */
-               createInstance: function( type, text, options ) {
+               createInstance: function( type, text, options, force ) {
                        var View = this.get( type ),
                                encodedText,
                                instance;
 
                        text = tinymce.DOM.decode( text );
-                       instance = this.getInstance( text );
 
-                       if ( instance ) {
-                               return instance;
+                       if ( ! force ) {
+                               instance = this.getInstance( text );
+
+                               if ( instance ) {
+                                       return instance;
+                               }
                        }
 
                        encodedText = encodeURIComponent( text );
@@ -216,12 +218,13 @@ window.wp = window.wp || {};
                 * @param {String}         text   The new text.
                 * @param {tinymce.Editor} editor The TinyMCE editor instance the view node is in.
                 * @param {HTMLElement}    node   The view node to update.
+                * @param {Boolean}        force  Recreate the instance. Optional.
                 */
-               update: function( text, editor, node ) {
+               update: function( text, editor, node, force ) {
                        var instance = this.getInstance( node );
 
                        if ( instance ) {
-                               instance.update( text, editor, node );
+                               instance.update( text, editor, node, force );
                        }
                },
 
@@ -235,8 +238,8 @@ window.wp = window.wp || {};
                        var instance = this.getInstance( node );
 
                        if ( instance && instance.edit ) {
-                               instance.edit( instance.text, function( text ) {
-                                       instance.update( text, editor, node );
+                               instance.edit( instance.text, function( text, force ) {
+                                       instance.update( text, editor, node, force );
                                } );
                        }
                },
@@ -302,8 +305,8 @@ window.wp = window.wp || {};
                /**
                 * Renders all view nodes tied to this view instance that are not yet rendered.
                 *
-                * @param {String} content The content to render. Optional.
-                * @param {Boolean} force Rerender all view nodes tied to this view instance.
+                * @param {String}  content The content to render. Optional.
+                * @param {Boolean} force   Rerender all view nodes tied to this view instance. Optional.
                 */
                render: function( content, force ) {
                        if ( content != null ) {
@@ -418,23 +421,29 @@ window.wp = window.wp || {};
                 */
                replaceMarkers: function() {
                        this.getMarkers( function( editor, node ) {
+                               var selected = node === editor.selection.getNode(),
+                                       $viewNode;
+
                                if ( ! this.loader && $( node ).text() !== this.text ) {
                                        editor.dom.setAttrib( node, 'data-wpview-marker', null );
                                        return;
                                }
 
-                               editor.dom.replace(
-                                       editor.dom.createFragment(
-                                               '<div class="wpview-wrap" data-wpview-text="' + this.encodedText + '" data-wpview-type="' + this.type + '">' +
-                                                       '<p class="wpview-selection-before">\u00a0</p>' +
-                                                       '<div class="wpview-body" contenteditable="false">' +
-                                                               '<div class="wpview-content wpview-type-' + this.type + '"></div>' +
-                                                       '</div>' +
-                                                       '<p class="wpview-selection-after">\u00a0</p>' +
-                                               '</div>'
-                                       ),
-                                       node
+                               $viewNode = editor.$(
+                                       '<div class="wpview-wrap" data-wpview-text="' + this.encodedText + '" data-wpview-type="' + this.type + '">' +
+                                               '<p class="wpview-selection-before">\u00a0</p>' +
+                                               '<div class="wpview-body" contenteditable="false">' +
+                                                       '<div class="wpview-content wpview-type-' + this.type + '"></div>' +
+                                               '</div>' +
+                                               '<p class="wpview-selection-after">\u00a0</p>' +
+                                       '</div>'
                                );
+
+                               editor.$( node ).replaceWith( $viewNode );
+
+                               if ( selected ) {
+                                       editor.wp.setViewCursor( false, $viewNode[0] );
+                               }
                        } );
                },
 
@@ -501,10 +510,17 @@ window.wp = window.wp || {};
                                        }
                                } );
 
+                               if ( self.iframeHeight ) {
+                                       dom.add( contentNode, 'div', { style: {
+                                               width: '100%',
+                                               height: self.iframeHeight
+                                       } } );
+                               }
+
                                // Seems the browsers need a bit of time to insert/set the view nodes,
                                // or the iframe will fail especially when switching Text => Visual.
                                setTimeout( function() {
-                                       var iframe, iframeDoc, observer, i;
+                                       var iframe, iframeDoc, observer, i, block;
 
                                        contentNode.innerHTML = '';
 
@@ -518,7 +534,8 @@ window.wp = window.wp || {};
                                                style: {
                                                        width: '100%',
                                                        display: 'block'
-                                               }
+                                               },
+                                               height: self.iframeHeight
                                        } );
 
                                        dom.add( contentNode, 'div', { 'class': 'wpview-overlay' } );
@@ -561,20 +578,33 @@ window.wp = window.wp || {};
                                        iframeDoc.close();
 
                                        function resize() {
-                                               var $iframe, iframeDocHeight;
+                                               var $iframe;
+
+                                               if ( block ) {
+                                                       return;
+                                               }
 
                                                // Make sure the iframe still exists.
                                                if ( iframe.contentWindow ) {
                                                        $iframe = $( iframe );
-                                                       iframeDocHeight = $( iframeDoc.body ).height();
+                                                       self.iframeHeight = $( iframeDoc.body ).height();
 
-                                                       if ( $iframe.height() !== iframeDocHeight ) {
-                                                               $iframe.height( iframeDocHeight );
+                                                       if ( $iframe.height() !== self.iframeHeight ) {
+                                                               $iframe.height( self.iframeHeight );
                                                                editor.nodeChanged();
                                                        }
                                                }
                                        }
 
+                                       if ( self.iframeHeight ) {
+                                               block = true;
+
+                                               setTimeout( function() {
+                                                       block = false;
+                                                       resize();
+                                               }, 3000 );
+                                       }
+
                                        $( iframe.contentWindow ).on( 'load', resize );
 
                                        if ( MutationObserver ) {
@@ -626,7 +656,7 @@ window.wp = window.wp || {};
                 * Sets an error for all view nodes tied to this view instance.
                 *
                 * @param {String} message  The error message to set.
-                * @param {String} dashicon A dashicon ID (optional). {@link https://developer.wordpress.org/resource/dashicons/}
+                * @param {String} dashicon A dashicon ID. Optional. {@link https://developer.wordpress.org/resource/dashicons/}
                 */
                setError: function( message, dashicon ) {
                        this.setContent(
@@ -645,7 +675,7 @@ window.wp = window.wp || {};
                 * @return {Object}
                 */
                match: function( content ) {
-                       var match = wp.shortcode.next( this.type, content );
+                       var match = shortcode.next( this.type, content );
 
                        if ( match ) {
                                return {
@@ -664,15 +694,16 @@ window.wp = window.wp || {};
                 * @param {String}         text   The new text.
                 * @param {tinymce.Editor} editor The TinyMCE editor instance the view node is in.
                 * @param {HTMLElement}    node   The view node to update.
+                * @param {Boolean}        force  Recreate the instance. Optional.
                 */
-               update: function( text, editor, node ) {
+               update: function( text, editor, node, force ) {
                        _.find( views, function( view, type ) {
                                var match = view.prototype.match( text );
 
                                if ( match ) {
                                        $( node ).data( 'rendered', false );
                                        editor.dom.setAttrib( node, 'data-wpview-text', encodeURIComponent( text ) );
-                                       wp.mce.views.createInstance( type, text, match.options ).render();
+                                       wp.mce.views.createInstance( type, text, match.options, force ).render();
                                        editor.focus();
 
                                        return true;
@@ -693,29 +724,28 @@ window.wp = window.wp || {};
                        editor.focus();
                }
        } );
-} )( window, window.wp, window.jQuery );
+} )( window, window.wp, window.wp.shortcode, window.jQuery );
 
 /*
  * The WordPress core TinyMCE views.
  * Views for the gallery, audio, video, playlist and embed shortcodes,
  * and a view for embeddable URLs.
  */
-( function( window, views, $ ) {
-       var postID = $( '#post_ID' ).val() || 0,
-               media, gallery, av, embed;
+( function( window, views, media, $ ) {
+       var base, gallery, av, embed;
 
-       media = {
+       base = {
                state: [],
 
                edit: function( text, update ) {
-                       var media = wp.media[ this.type ],
-                               frame = media.edit( text );
+                       var type = this.type,
+                               frame = media[ type ].edit( text );
 
                        this.pausePlayers && this.pausePlayers();
 
                        _.each( this.state, function( state ) {
                                frame.state( state ).on( 'update', function( selection ) {
-                                       update( media.shortcode( selection ).string() );
+                                       update( media[ type ].shortcode( selection ).string(), type === 'gallery' );
                                } );
                        } );
 
@@ -727,12 +757,12 @@ window.wp = window.wp || {};
                }
        };
 
-       gallery = _.extend( {}, media, {
+       gallery = _.extend( {}, base, {
                state: [ 'gallery-edit' ],
-               template: wp.media.template( 'editor-gallery' ),
+               template: media.template( 'editor-gallery' ),
 
                initialize: function() {
-                       var attachments = wp.media.gallery.attachments( this.shortcode, postID ),
+                       var attachments = media.gallery.attachments( this.shortcode, media.view.settings.post.id ),
                                attrs = this.shortcode.attrs.named,
                                self = this;
 
@@ -754,7 +784,7 @@ window.wp = window.wp || {};
 
                                self.render( self.template( {
                                        attachments: attachments,
-                                       columns: attrs.columns ? parseInt( attrs.columns, 10 ) : wp.media.galleryDefaults.columns
+                                       columns: attrs.columns ? parseInt( attrs.columns, 10 ) : media.galleryDefaults.columns
                                } ) );
                        } )
                        .fail( function( jqXHR, textStatus ) {
@@ -763,7 +793,7 @@ window.wp = window.wp || {};
                }
        } );
 
-       av = _.extend( {}, media, {
+       av = _.extend( {}, base, {
                action: 'parse-media-shortcode',
 
                initialize: function() {
@@ -771,13 +801,13 @@ window.wp = window.wp || {};
 
                        if ( this.url ) {
                                this.loader = false;
-                               this.shortcode = wp.media.embed.shortcode( {
+                               this.shortcode = media.embed.shortcode( {
                                        url: this.text
                                } );
                        }
 
                        wp.ajax.post( this.action, {
-                               post_ID: postID,
+                               post_ID: media.view.settings.post.id,
                                type: this.shortcode.tag,
                                shortcode: this.shortcode.string()
                        } )
@@ -818,8 +848,7 @@ window.wp = window.wp || {};
                action: 'parse-embed',
 
                edit: function( text, update ) {
-                       var media = wp.media.embed,
-                               frame = media.edit( text, this.url ),
+                       var frame = media.embed.edit( text, this.url ),
                                self = this;
 
                        this.pausePlayers();
@@ -836,7 +865,7 @@ window.wp = window.wp || {};
                                if ( self.url ) {
                                        update( data.url );
                                } else {
-                                       update( media.shortcode( data ).string() );
+                                       update( media.embed.shortcode( data ).string() );
                                }
                        } );
 
@@ -880,4 +909,4 @@ window.wp = window.wp || {};
                        }
                }
        } ) );
-} )( window, window.wp.mce.views, window.jQuery );
+} )( window, window.wp.mce.views, window.wp.media, window.jQuery );
index 3fe932d2e4055a2deca7c28c9d2d705a029126af..d168b0d78c0a871b32f4d7680ef70a9d31e07a8b 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b,c){"use strict";var d={},e={};b.mce=b.mce||{},b.mce.views={register:function(a,c){d[a]=b.mce.View.extend(_.extend(c,{type:a}))},unregister:function(a){delete d[a]},get:function(a){return d[a]},unbind:function(){_.each(e,function(a){a.unbind()})},setMarkers:function(a){var b,c,e=[{content:a}],f=this;return _.each(d,function(a,d){c=e.slice(),e=[],_.each(c,function(c){var g,h,i=c.content;if(c.processed)return void e.push(c);for(;i&&(g=a.prototype.match(i));)g.index&&e.push({content:i.substring(0,g.index)}),b=f.createInstance(d,g.content,g.options),h=b.loader?".":b.text,e.push({content:'<p data-wpview-marker="'+b.encodedText+'">'+h+"</p>",processed:!0}),i=i.slice(g.index+g.content.length);i&&e.push({content:i})})}),a=_.pluck(e,"content").join(""),a.replace(/<p>\s*<p data-wpview-marker=/g,"<p data-wpview-marker=").replace(/<\/p>\s*<\/p>/g,"</p>")},createInstance:function(a,b,c){var d,f,g=this.get(a);return b=tinymce.DOM.decode(b),(f=this.getInstance(b))?f:(d=encodeURIComponent(b),c=_.extend(c||{},{text:b,encodedText:d}),e[d]=new g(c))},getInstance:function(a){return"string"==typeof a?e[encodeURIComponent(a)]:e[c(a).attr("data-wpview-text")]},getText:function(a){return decodeURIComponent(c(a).attr("data-wpview-text")||"")},render:function(a){_.each(e,function(b){b.render(a)})},update:function(a,b,c){var d=this.getInstance(c);d&&d.update(a,b,c)},edit:function(a,b){var c=this.getInstance(b);c&&c.edit&&c.edit(c.text,function(d){c.update(d,a,b)})},remove:function(a,b){var c=this.getInstance(b);c&&c.remove(a,b)}},b.mce.View=function(a){_.extend(this,a),this.initialize()},b.mce.View.extend=Backbone.View.extend,_.extend(b.mce.View.prototype,{content:null,loader:!0,initialize:function(){},getContent:function(){return this.content},render:function(a,b){null!=a&&(this.content=a),a=this.getContent(),(this.loader||a)&&(b&&this.unbind(),this.replaceMarkers(),a?this.setContent(a,function(a,b,d){c(b).data("rendered",!0),this.bindNode.call(this,a,b,d)},b?null:!1):this.setLoader())},bindNode:function(){},unbindNode:function(){},unbind:function(){this.getNodes(function(a,b,d){this.unbindNode.call(this,a,b,d),c(b).trigger("wp-mce-view-unbind")},!0)},getEditors:function(a){_.each(tinymce.editors,function(b){b.plugins.wpview&&a.call(this,b)},this)},getNodes:function(a,b){this.getEditors(function(d){var e=this;c(d.getBody()).find('[data-wpview-text="'+e.encodedText+'"]').filter(function(){var a;return null==b?!0:(a=c(this).data("rendered")===!0,b?a:!a)}).each(function(){a.call(e,d,this,c(this).find(".wpview-content").get(0))})})},getMarkers:function(a){this.getEditors(function(b){var d=this;c(b.getBody()).find('[data-wpview-marker="'+this.encodedText+'"]').each(function(){a.call(d,b,this)})})},replaceMarkers:function(){this.getMarkers(function(a,b){return this.loader||c(b).text()===this.text?void a.dom.replace(a.dom.createFragment('<div class="wpview-wrap" data-wpview-text="'+this.encodedText+'" data-wpview-type="'+this.type+'"><p class="wpview-selection-before"> </p><div class="wpview-body" contenteditable="false"><div class="wpview-content wpview-type-'+this.type+'"></div></div><p class="wpview-selection-after"> </p></div>'),b):void a.dom.setAttrib(b,"data-wpview-marker",null)})},removeMarkers:function(){this.getMarkers(function(a,b){a.dom.setAttrib(b,"data-wpview-marker",null)})},setContent:function(a,b,c){_.isObject(a)&&-1!==a.body.indexOf("<script")?this.setIframes(a.head||"",a.body,b,c):_.isString(a)&&-1!==a.indexOf("<script")?this.setIframes("",a,b,c):this.getNodes(function(c,d,e){a=a.body||a,-1!==a.indexOf("<iframe")&&(a+='<div class="wpview-overlay"></div>'),e.innerHTML="",e.appendChild(_.isString(a)?c.dom.createFragment(a):a),b&&b.call(this,c,d,e)},c)},setIframes:function(b,d,e,f){var g=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,h=this;this.getNodes(function(a,f,i){var j=a.dom,k="",l=a.getBody().className||"",m=a.getDoc().getElementsByTagName("head")[0];tinymce.each(j.$('link[rel="stylesheet"]',m),function(a){a.href&&-1===a.href.indexOf("skins/lightgray/content.min.css")&&-1===a.href.indexOf("skins/wordpress/wp-content.css")&&(k+=j.getOuterHTML(a))}),setTimeout(function(){function m(){var b,d;o.contentWindow&&(b=c(o),d=c(p.body).height(),b.height()!==d&&(b.height(d),a.nodeChanged()))}function n(){p.body.className=a.getBody().className}var o,p,q,r;if(i.innerHTML="",o=j.add(i,"iframe",{src:tinymce.Env.ie?'javascript:""':"",frameBorder:"0",allowTransparency:"true",scrolling:"no","class":"wpview-sandbox",style:{width:"100%",display:"block"}}),j.add(i,"div",{"class":"wpview-overlay"}),p=o.contentWindow.document,p.open(),p.write('<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'+b+k+'<style>html {background: transparent;padding: 0;margin: 0;}body#wpview-iframe-sandbox {background: transparent;padding: 1px 0 !important;margin: -1px 0 0 !important;}body#wpview-iframe-sandbox:before,body#wpview-iframe-sandbox:after {display: none;content: "";}</style></head><body id="wpview-iframe-sandbox" class="'+l+'">'+d+"</body></html>"),p.close(),c(o.contentWindow).on("load",m),g)q=new g(_.debounce(m,100)),q.observe(p.body,{attributes:!0,childList:!0,subtree:!0}),c(f).one("wp-mce-view-unbind",function(){q.disconnect()});else for(r=1;6>r;r++)setTimeout(m,700*r);a.on("wp-body-class-change",n),c(f).one("wp-mce-view-unbind",function(){a.off("wp-body-class-change",n)}),e&&e.call(h,a,f,i)},50)},f)},setLoader:function(){this.setContent('<div class="loading-placeholder"><div class="dashicons dashicons-admin-media"></div><div class="wpview-loading"><ins></ins></div></div>')},setError:function(a,b){this.setContent('<div class="wpview-error"><div class="dashicons dashicons-'+(b||"no")+'"></div><p>'+a+"</p></div>")},match:function(a){var c=b.shortcode.next(this.type,a);return c?{index:c.index,content:c.content,options:{shortcode:c.shortcode}}:void 0},update:function(a,e,f){_.find(d,function(d,g){var h=d.prototype.match(a);return h?(c(f).data("rendered",!1),e.dom.setAttrib(f,"data-wpview-text",encodeURIComponent(a)),b.mce.views.createInstance(g,a,h.options).render(),e.focus(),!0):void 0})},remove:function(a,b){this.unbindNode.call(this,a,b,c(b).find(".wpview-content").get(0)),c(b).trigger("wp-mce-view-unbind"),a.dom.remove(b),a.focus()}})}(window,window.wp,window.jQuery),function(a,b,c){var d,e,f,g,h=c("#post_ID").val()||0;d={state:[],edit:function(a,b){var c=wp.media[this.type],d=c.edit(a);this.pausePlayers&&this.pausePlayers(),_.each(this.state,function(a){d.state(a).on("update",function(a){b(c.shortcode(a).string())})}),d.on("close",function(){d.detach()}),d.open()}},e=_.extend({},d,{state:["gallery-edit"],template:wp.media.template("editor-gallery"),initialize:function(){var a=wp.media.gallery.attachments(this.shortcode,h),b=this.shortcode.attrs.named,c=this;a.more().done(function(){a=a.toJSON(),_.each(a,function(a){a.sizes&&(b.size&&a.sizes[b.size]?a.thumbnail=a.sizes[b.size]:a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))}),c.render(c.template({attachments:a,columns:b.columns?parseInt(b.columns,10):wp.media.galleryDefaults.columns}))}).fail(function(a,b){c.setError(b)})}}),f=_.extend({},d,{action:"parse-media-shortcode",initialize:function(){var a=this;this.url&&(this.loader=!1,this.shortcode=wp.media.embed.shortcode({url:this.text})),wp.ajax.post(this.action,{post_ID:h,type:this.shortcode.tag,shortcode:this.shortcode.string()}).done(function(b){a.render(b)}).fail(function(b){a.url?a.removeMarkers():a.setError(b.message||b.statusText,"admin-media")}),this.getEditors(function(b){b.on("wpview-selected",function(){a.pausePlayers()})})},pausePlayers:function(){this.getNodes(function(a,b,d){var e=c("iframe.wpview-sandbox",d).get(0);e&&(e=e.contentWindow)&&e.mejs&&_.each(e.mejs.players,function(a){try{a.pause()}catch(b){}})})}}),g=_.extend({},f,{action:"parse-embed",edit:function(a,b){var c=wp.media.embed,d=c.edit(a,this.url),e=this;this.pausePlayers(),d.state("embed").props.on("change:url",function(a,b){b&&a.get("url")&&(d.state("embed").metadata=a.toJSON())}),d.state("embed").on("select",function(){var a=d.state("embed").metadata;b(e.url?a.url:c.shortcode(a).string())}),d.on("close",function(){d.detach()}),d.open()}}),b.register("gallery",_.extend({},e)),b.register("audio",_.extend({},f,{state:["audio-details"]})),b.register("video",_.extend({},f,{state:["video-details"]})),b.register("playlist",_.extend({},f,{state:["playlist-edit","video-playlist-edit"]})),b.register("embed",_.extend({},g)),b.register("embedURL",_.extend({},g,{match:function(a){var b=/(^|<p>)(https?:\/\/[^\s"]+?)(<\/p>\s*|$)/gi,c=b.exec(a);return c?{index:c.index+c[1].length,content:c[2],options:{url:!0}}:void 0}}))}(window,window.wp.mce.views,window.jQuery);
\ No newline at end of file
+!function(a,b,c,d){"use strict";var e={},f={};b.mce=b.mce||{},b.mce.views={register:function(a,c){e[a]=b.mce.View.extend(_.extend(c,{type:a}))},unregister:function(a){delete e[a]},get:function(a){return e[a]},unbind:function(){_.each(f,function(a){a.unbind()})},setMarkers:function(a){var b,c,d=[{content:a}],f=this;return _.each(e,function(a,e){c=d.slice(),d=[],_.each(c,function(c){var g,h,i=c.content;if(c.processed)return void d.push(c);for(;i&&(g=a.prototype.match(i));)g.index&&d.push({content:i.substring(0,g.index)}),b=f.createInstance(e,g.content,g.options),h=b.loader?".":b.text,d.push({content:'<p data-wpview-marker="'+b.encodedText+'">'+h+"</p>",processed:!0}),i=i.slice(g.index+g.content.length);i&&d.push({content:i})})}),a=_.pluck(d,"content").join(""),a.replace(/<p>\s*<p data-wpview-marker=/g,"<p data-wpview-marker=").replace(/<\/p>\s*<\/p>/g,"</p>")},createInstance:function(a,b,c,d){var e,g,h=this.get(a);return b=tinymce.DOM.decode(b),!d&&(g=this.getInstance(b))?g:(e=encodeURIComponent(b),c=_.extend(c||{},{text:b,encodedText:e}),f[e]=new h(c))},getInstance:function(a){return"string"==typeof a?f[encodeURIComponent(a)]:f[d(a).attr("data-wpview-text")]},getText:function(a){return decodeURIComponent(d(a).attr("data-wpview-text")||"")},render:function(a){_.each(f,function(b){b.render(a)})},update:function(a,b,c,d){var e=this.getInstance(c);e&&e.update(a,b,c,d)},edit:function(a,b){var c=this.getInstance(b);c&&c.edit&&c.edit(c.text,function(d,e){c.update(d,a,b,e)})},remove:function(a,b){var c=this.getInstance(b);c&&c.remove(a,b)}},b.mce.View=function(a){_.extend(this,a),this.initialize()},b.mce.View.extend=Backbone.View.extend,_.extend(b.mce.View.prototype,{content:null,loader:!0,initialize:function(){},getContent:function(){return this.content},render:function(a,b){null!=a&&(this.content=a),a=this.getContent(),(this.loader||a)&&(b&&this.unbind(),this.replaceMarkers(),a?this.setContent(a,function(a,b,c){d(b).data("rendered",!0),this.bindNode.call(this,a,b,c)},b?null:!1):this.setLoader())},bindNode:function(){},unbindNode:function(){},unbind:function(){this.getNodes(function(a,b,c){this.unbindNode.call(this,a,b,c),d(b).trigger("wp-mce-view-unbind")},!0)},getEditors:function(a){_.each(tinymce.editors,function(b){b.plugins.wpview&&a.call(this,b)},this)},getNodes:function(a,b){this.getEditors(function(c){var e=this;d(c.getBody()).find('[data-wpview-text="'+e.encodedText+'"]').filter(function(){var a;return null==b?!0:(a=d(this).data("rendered")===!0,b?a:!a)}).each(function(){a.call(e,c,this,d(this).find(".wpview-content").get(0))})})},getMarkers:function(a){this.getEditors(function(b){var c=this;d(b.getBody()).find('[data-wpview-marker="'+this.encodedText+'"]').each(function(){a.call(c,b,this)})})},replaceMarkers:function(){this.getMarkers(function(a,b){var c,e=b===a.selection.getNode();return this.loader||d(b).text()===this.text?(c=a.$('<div class="wpview-wrap" data-wpview-text="'+this.encodedText+'" data-wpview-type="'+this.type+'"><p class="wpview-selection-before">\xa0</p><div class="wpview-body" contenteditable="false"><div class="wpview-content wpview-type-'+this.type+'"></div></div><p class="wpview-selection-after">\xa0</p></div>'),a.$(b).replaceWith(c),void(e&&a.wp.setViewCursor(!1,c[0]))):void a.dom.setAttrib(b,"data-wpview-marker",null)})},removeMarkers:function(){this.getMarkers(function(a,b){a.dom.setAttrib(b,"data-wpview-marker",null)})},setContent:function(a,b,c){_.isObject(a)&&-1!==a.body.indexOf("<script")?this.setIframes(a.head||"",a.body,b,c):_.isString(a)&&-1!==a.indexOf("<script")?this.setIframes("",a,b,c):this.getNodes(function(c,d,e){a=a.body||a,-1!==a.indexOf("<iframe")&&(a+='<div class="wpview-overlay"></div>'),e.innerHTML="",e.appendChild(_.isString(a)?c.dom.createFragment(a):a),b&&b.call(this,c,d,e)},c)},setIframes:function(b,c,e,f){var g=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,h=this;this.getNodes(function(a,f,i){var j=a.dom,k="",l=a.getBody().className||"",m=a.getDoc().getElementsByTagName("head")[0];tinymce.each(j.$('link[rel="stylesheet"]',m),function(a){a.href&&-1===a.href.indexOf("skins/lightgray/content.min.css")&&-1===a.href.indexOf("skins/wordpress/wp-content.css")&&(k+=j.getOuterHTML(a))}),h.iframeHeight&&j.add(i,"div",{style:{width:"100%",height:h.iframeHeight}}),setTimeout(function(){function m(){var b;s||o.contentWindow&&(b=d(o),h.iframeHeight=d(p.body).height(),b.height()!==h.iframeHeight&&(b.height(h.iframeHeight),a.nodeChanged()))}function n(){p.body.className=a.getBody().className}var o,p,q,r,s;if(i.innerHTML="",o=j.add(i,"iframe",{src:tinymce.Env.ie?'javascript:""':"",frameBorder:"0",allowTransparency:"true",scrolling:"no","class":"wpview-sandbox",style:{width:"100%",display:"block"},height:h.iframeHeight}),j.add(i,"div",{"class":"wpview-overlay"}),p=o.contentWindow.document,p.open(),p.write('<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'+b+k+'<style>html {background: transparent;padding: 0;margin: 0;}body#wpview-iframe-sandbox {background: transparent;padding: 1px 0 !important;margin: -1px 0 0 !important;}body#wpview-iframe-sandbox:before,body#wpview-iframe-sandbox:after {display: none;content: "";}</style></head><body id="wpview-iframe-sandbox" class="'+l+'">'+c+"</body></html>"),p.close(),h.iframeHeight&&(s=!0,setTimeout(function(){s=!1,m()},3e3)),d(o.contentWindow).on("load",m),g)q=new g(_.debounce(m,100)),q.observe(p.body,{attributes:!0,childList:!0,subtree:!0}),d(f).one("wp-mce-view-unbind",function(){q.disconnect()});else for(r=1;6>r;r++)setTimeout(m,700*r);a.on("wp-body-class-change",n),d(f).one("wp-mce-view-unbind",function(){a.off("wp-body-class-change",n)}),e&&e.call(h,a,f,i)},50)},f)},setLoader:function(){this.setContent('<div class="loading-placeholder"><div class="dashicons dashicons-admin-media"></div><div class="wpview-loading"><ins></ins></div></div>')},setError:function(a,b){this.setContent('<div class="wpview-error"><div class="dashicons dashicons-'+(b||"no")+'"></div><p>'+a+"</p></div>")},match:function(a){var b=c.next(this.type,a);return b?{index:b.index,content:b.content,options:{shortcode:b.shortcode}}:void 0},update:function(a,c,f,g){_.find(e,function(e,h){var i=e.prototype.match(a);return i?(d(f).data("rendered",!1),c.dom.setAttrib(f,"data-wpview-text",encodeURIComponent(a)),b.mce.views.createInstance(h,a,i.options,g).render(),c.focus(),!0):void 0})},remove:function(a,b){this.unbindNode.call(this,a,b,d(b).find(".wpview-content").get(0)),d(b).trigger("wp-mce-view-unbind"),a.dom.remove(b),a.focus()}})}(window,window.wp,window.wp.shortcode,window.jQuery),function(a,b,c,d){var e,f,g,h;e={state:[],edit:function(a,b){var d=this.type,e=c[d].edit(a);this.pausePlayers&&this.pausePlayers(),_.each(this.state,function(a){e.state(a).on("update",function(a){b(c[d].shortcode(a).string(),"gallery"===d)})}),e.on("close",function(){e.detach()}),e.open()}},f=_.extend({},e,{state:["gallery-edit"],template:c.template("editor-gallery"),initialize:function(){var a=c.gallery.attachments(this.shortcode,c.view.settings.post.id),b=this.shortcode.attrs.named,d=this;a.more().done(function(){a=a.toJSON(),_.each(a,function(a){a.sizes&&(b.size&&a.sizes[b.size]?a.thumbnail=a.sizes[b.size]:a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))}),d.render(d.template({attachments:a,columns:b.columns?parseInt(b.columns,10):c.galleryDefaults.columns}))}).fail(function(a,b){d.setError(b)})}}),g=_.extend({},e,{action:"parse-media-shortcode",initialize:function(){var a=this;this.url&&(this.loader=!1,this.shortcode=c.embed.shortcode({url:this.text})),wp.ajax.post(this.action,{post_ID:c.view.settings.post.id,type:this.shortcode.tag,shortcode:this.shortcode.string()}).done(function(b){a.render(b)}).fail(function(b){a.url?a.removeMarkers():a.setError(b.message||b.statusText,"admin-media")}),this.getEditors(function(b){b.on("wpview-selected",function(){a.pausePlayers()})})},pausePlayers:function(){this.getNodes(function(a,b,c){var e=d("iframe.wpview-sandbox",c).get(0);e&&(e=e.contentWindow)&&e.mejs&&_.each(e.mejs.players,function(a){try{a.pause()}catch(b){}})})}}),h=_.extend({},g,{action:"parse-embed",edit:function(a,b){var d=c.embed.edit(a,this.url),e=this;this.pausePlayers(),d.state("embed").props.on("change:url",function(a,b){b&&a.get("url")&&(d.state("embed").metadata=a.toJSON())}),d.state("embed").on("select",function(){var a=d.state("embed").metadata;b(e.url?a.url:c.embed.shortcode(a).string())}),d.on("close",function(){d.detach()}),d.open()}}),b.register("gallery",_.extend({},f)),b.register("audio",_.extend({},g,{state:["audio-details"]})),b.register("video",_.extend({},g,{state:["video-details"]})),b.register("playlist",_.extend({},g,{state:["playlist-edit","video-playlist-edit"]})),b.register("embed",_.extend({},h)),b.register("embedURL",_.extend({},h,{match:function(a){var b=/(^|<p>)(https?:\/\/[^\s"]+?)(<\/p>\s*|$)/gi,c=b.exec(a);return c?{index:c.index+c[1].length,content:c[2],options:{url:!0}}:void 0}}))}(window,window.wp.mce.views,window.wp.media,window.jQuery);
\ No newline at end of file
index 8b598db691f5994960c573ef16e9430124d3c2a4..5c64097c9d2dd8e4f5235b96ef5df6c125a321b8 100644 (file)
@@ -1,6 +1,4 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-/*globals wp, _ */
-
 var media = wp.media,
        baseSettings = window._wpmejsSettings || {},
        l10n = window._wpMediaViewsL10n || {};
@@ -218,8 +216,6 @@ media.view.AudioDetails = require( './views/audio-details.js' );
 media.view.VideoDetails = require( './views/video-details.js' );
 
 },{"./controllers/audio-details.js":2,"./controllers/video-details.js":3,"./models/post-media.js":4,"./views/audio-details.js":5,"./views/frame/audio-details.js":6,"./views/frame/media-details.js":7,"./views/frame/video-details.js":8,"./views/media-details.js":9,"./views/video-details.js":10}],2:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.controller.AudioDetails
  *
@@ -253,8 +249,6 @@ AudioDetails = State.extend({
 module.exports = AudioDetails;
 
 },{}],3:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.controller.VideoDetails
  *
@@ -288,8 +282,6 @@ VideoDetails = State.extend({
 module.exports = VideoDetails;
 
 },{}],4:[function(require,module,exports){
-/*globals wp, Backbone, _ */
-
 /**
  * wp.media.model.PostMedia
  *
@@ -332,8 +324,6 @@ var PostMedia = Backbone.Model.extend({
 module.exports = PostMedia;
 
 },{}],5:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.AudioDetails
  *
@@ -372,8 +362,6 @@ AudioDetails = MediaDetails.extend({
 module.exports = AudioDetails;
 
 },{}],6:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.MediaFrame.AudioDetails
  *
@@ -450,8 +438,6 @@ AudioDetails = MediaDetails.extend({
 module.exports = AudioDetails;
 
 },{}],7:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.MediaFrame.MediaDetails
  *
@@ -582,8 +568,6 @@ MediaDetails = Select.extend({
 module.exports = MediaDetails;
 
 },{}],8:[function(require,module,exports){
-/*globals wp, _ */
-
 /**
  * wp.media.view.MediaFrame.VideoDetails
  *
@@ -719,7 +703,7 @@ VideoDetails = MediaDetails.extend({
 module.exports = VideoDetails;
 
 },{}],9:[function(require,module,exports){
-/*global wp, jQuery, _, MediaElementPlayer */
+/* global MediaElementPlayer */
 
 /**
  * wp.media.view.MediaDetails
@@ -887,8 +871,6 @@ MediaDetails = AttachmentDisplay.extend({
 module.exports = MediaDetails;
 
 },{}],10:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.VideoDetails
  *
index f5aef740820c3be7c84737b1bf04a908cbe6e31d..050080e78b9176d669b2e82b52af874d525aad35 100644 (file)
@@ -1 +1 @@
-!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a){var b=wp.media,c=window._wpmejsSettings||{},d=window._wpMediaViewsL10n||{};wp.media.mixin={mejsSettings:c,removeAllPlayers:function(){var a;if(window.mejs&&window.mejs.players)for(a in window.mejs.players)window.mejs.players[a].pause(),this.removePlayer(window.mejs.players[a])},removePlayer:function(a){var b,c;if(a.options){for(b in a.options.features)if(c=a.options.features[b],a["clean"+c])try{a["clean"+c](a)}catch(d){}a.isDynamic||a.$node.remove(),"native"!==a.media.pluginType&&a.$media.remove(),delete window.mejs.players[a.id],a.container.remove(),a.globalUnbind(),delete a.node.player}},unsetPlayers:function(){this.players&&this.players.length&&(_.each(this.players,function(a){a.pause(),wp.media.mixin.removePlayer(a)}),this.players=[])}},wp.media.playlist=new wp.media.collection({tag:"playlist",editTitle:d.editPlaylistTitle,defaults:{id:wp.media.view.settings.post.id,style:"light",tracklist:!0,tracknumbers:!0,images:!0,artists:!0,type:"audio"}}),wp.media.audio={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",loop:!1,autoplay:!1,preload:"none",width:400},edit:function(a){var b,c=wp.shortcode.next("audio",a).shortcode;return b=wp.media({frame:"audio",state:"audio-details",metadata:_.defaults(c.attrs.named,this.defaults)})},shortcode:function(a){var b;return _.each(this.defaults,function(b,c){a[c]=this.coerce(a,c),b===a[c]&&delete a[c]},this),b=a.content,delete a.content,new wp.shortcode({tag:"audio",attrs:a,content:b})}},wp.media.video={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",poster:"",loop:!1,autoplay:!1,preload:"metadata",content:"",width:640,height:360},edit:function(a){var b,c,d=wp.shortcode.next("video",a).shortcode;return c=d.attrs.named,c.content=d.content,b=wp.media({frame:"video",state:"video-details",metadata:_.defaults(c,this.defaults)})},shortcode:function(a){var b;return _.each(this.defaults,function(b,c){a[c]=this.coerce(a,c),b===a[c]&&delete a[c]},this),b=a.content,delete a.content,new wp.shortcode({tag:"video",attrs:a,content:b})}},b.model.PostMedia=a("./models/post-media.js"),b.controller.AudioDetails=a("./controllers/audio-details.js"),b.controller.VideoDetails=a("./controllers/video-details.js"),b.view.MediaFrame.MediaDetails=a("./views/frame/media-details.js"),b.view.MediaFrame.AudioDetails=a("./views/frame/audio-details.js"),b.view.MediaFrame.VideoDetails=a("./views/frame/video-details.js"),b.view.MediaDetails=a("./views/media-details.js"),b.view.AudioDetails=a("./views/audio-details.js"),b.view.VideoDetails=a("./views/video-details.js")},{"./controllers/audio-details.js":2,"./controllers/video-details.js":3,"./models/post-media.js":4,"./views/audio-details.js":5,"./views/frame/audio-details.js":6,"./views/frame/media-details.js":7,"./views/frame/video-details.js":8,"./views/media-details.js":9,"./views/video-details.js":10}],2:[function(a,b){var c,d=wp.media.controller.State,e=wp.media.view.l10n;c=d.extend({defaults:{id:"audio-details",toolbar:"audio-details",title:e.audioDetailsTitle,content:"audio-details",menu:"audio-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.prototype.initialize.apply(this,arguments)}}),b.exports=c},{}],3:[function(a,b){var c,d=wp.media.controller.State,e=wp.media.view.l10n;c=d.extend({defaults:{id:"video-details",toolbar:"video-details",title:e.videoDetailsTitle,content:"video-details",menu:"video-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.prototype.initialize.apply(this,arguments)}}),b.exports=c},{}],4:[function(a,b){var c=Backbone.Model.extend({initialize:function(){this.attachment=!1},setSource:function(a){this.attachment=a,this.extension=a.get("filename").split(".").pop(),this.get("src")&&this.extension===this.get("src").split(".").pop()&&this.unset("src"),_.contains(wp.media.view.settings.embedExts,this.extension)?this.set(this.extension,this.attachment.get("url")):this.unset(this.extension)},changeAttachment:function(a){this.setSource(a),this.unset("src"),_.each(_.without(wp.media.view.settings.embedExts,this.extension),function(a){this.unset(a)},this)}});b.exports=c},{}],5:[function(a,b){var c,d=wp.media.view.MediaDetails;c=d.extend({className:"audio-details",template:wp.template("audio-details"),setMedia:function(){var a=this.$(".wp-audio-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=d.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.view.MediaFrame.MediaDetails,e=wp.media.controller.MediaLibrary,f=wp.media.view.l10n;c=d.extend({defaults:{id:"audio",url:"",menu:"audio-details",content:"audio-details",toolbar:"audio-details",type:"link",title:f.audioDetailsTitle,priority:120},initialize:function(a){a.DetailsView=wp.media.view.AudioDetails,a.cancelText=f.audioDetailsCancel,a.addText=f.audioAddSourceTitle,d.prototype.initialize.call(this,a)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-audio",this.renderReplaceToolbar,this),this.on("toolbar:render:add-audio-source",this.renderAddSourceToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.AudioDetails({media:this.media}),new e({type:"audio",id:"replace-audio",title:f.audioReplaceTitle,toolbar:"replace-audio",media:this.media,menu:"audio-details"}),new e({type:"audio",id:"add-audio-source",title:f.audioAddSourceTitle,toolbar:"add-audio-source",media:this.media,menu:!1})])}}),b.exports=c},{}],7:[function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.view.l10n;c=d.extend({defaults:{id:"media",url:"",menu:"media-details",content:"media-details",toolbar:"media-details",type:"link",priority:120},initialize:function(a){this.DetailsView=a.DetailsView,this.cancelText=a.cancelText,this.addText=a.addText,this.media=new wp.media.model.PostMedia(a.metadata),this.options.selection=new wp.media.model.Selection(this.media.attachment,{multiple:!1}),d.prototype.initialize.apply(this,arguments)},bindHandlers:function(){var a=this.defaults.menu;d.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:"+a,this.createMenu,this),this.on("content:render:"+a,this.renderDetailsContent,this),this.on("menu:render:"+a,this.renderMenu,this),this.on("toolbar:render:"+a,this.renderDetailsToolbar,this)},renderDetailsContent:function(){var a=new this.DetailsView({controller:this,model:this.state().media,attachment:this.state().media.attachment}).render();this.content.set(a)},renderMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:this.cancelText,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},setPrimaryButton:function(a,b){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{button:{style:"primary",text:a,priority:80,click:function(){var a=this.controller;b.call(this,a,a.state()),a.setState(a.options.state),a.reset()}}}}))},renderDetailsToolbar:function(){this.setPrimaryButton(e.update,function(a,b){a.close(),b.trigger("update",a.media.toJSON())})},renderReplaceToolbar:function(){this.setPrimaryButton(e.replace,function(a,b){var c=b.get("selection").single();a.media.changeAttachment(c),b.trigger("replace",a.media.toJSON())})},renderAddSourceToolbar:function(){this.setPrimaryButton(this.addText,function(a,b){var c=b.get("selection").single();a.media.setSource(c),b.trigger("add-source",a.media.toJSON())})}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.view.MediaFrame.MediaDetails,e=wp.media.controller.MediaLibrary,f=wp.media.view.l10n;c=d.extend({defaults:{id:"video",url:"",menu:"video-details",content:"video-details",toolbar:"video-details",type:"link",title:f.videoDetailsTitle,priority:120},initialize:function(a){a.DetailsView=wp.media.view.VideoDetails,a.cancelText=f.videoDetailsCancel,a.addText=f.videoAddSourceTitle,d.prototype.initialize.call(this,a)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-video",this.renderReplaceToolbar,this),this.on("toolbar:render:add-video-source",this.renderAddSourceToolbar,this),this.on("toolbar:render:select-poster-image",this.renderSelectPosterImageToolbar,this),this.on("toolbar:render:add-track",this.renderAddTrackToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.VideoDetails({media:this.media}),new e({type:"video",id:"replace-video",title:f.videoReplaceTitle,toolbar:"replace-video",media:this.media,menu:"video-details"}),new e({type:"video",id:"add-video-source",title:f.videoAddSourceTitle,toolbar:"add-video-source",media:this.media,menu:!1}),new e({type:"image",id:"select-poster-image",title:f.videoSelectPosterImageTitle,toolbar:"select-poster-image",media:this.media,menu:"video-details"}),new e({type:"text",id:"add-track",title:f.videoAddTrackTitle,toolbar:"add-track",media:this.media,menu:"video-details"})])},renderSelectPosterImageToolbar:function(){this.setPrimaryButton(f.videoSelectPosterImageTitle,function(a,b){var c=[],d=b.get("selection").single();a.media.set("poster",d.get("url")),b.trigger("set-poster-image",a.media.toJSON()),_.each(wp.media.view.settings.embedExts,function(b){a.media.get(b)&&c.push(a.media.get(b))}),wp.ajax.send("set-attachment-thumbnail",{data:{urls:c,thumbnail_id:d.get("id")}})})},renderAddTrackToolbar:function(){this.setPrimaryButton(f.videoAddTrackTitle,function(a,b){var c=b.get("selection").single(),d=a.media.get("content");-1===d.indexOf(c.get("url"))&&(d+=['<track srclang="en" label="English" kind="subtitles" src="',c.get("url"),'" />'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({initialize:function(){_.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",wp.media.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",wp.media.mixin.unsetPlayers,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=_.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks","click .add-media-source":"addSource"}),d.prototype.initialize.apply(this,arguments)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(a){var b,c=e(a.currentTarget).parent();b=c.find("input").data("setting"),b&&(this.model.unset(b),this.trigger("media:setting:remove",this)),c.remove()},setTracks:function(){var a="";_.each(this.$(".content-track"),function(b){a+=e(b).val()}),this.model.set("content",a),this.trigger("media:setting:remove",this)},addSource:function(a){this.controller.lastMime=e(a.currentTarget).data("mime"),this.controller.setState("add-"+this.controller.defaults.id+"-source")},loadPlayer:function(){this.players.push(new MediaElementPlayer(this.media,this.settings)),this.scriptXhr=!1},setPlayer:function(){var a;this.players.length||!this.media||this.scriptXhr||(this.model.get("src").indexOf("vimeo")>-1&&!("Froogaloop"in window)?(a=wp.media.mixin.mejsSettings,this.scriptXhr=e.getScript(a.pluginPath+"froogaloop.min.js",_.bind(this.loadPlayer,this))):this.loadPlayer())},setMedia:function(){return this},success:function(a){var b=a.attributes.autoplay&&"false"!==a.attributes.autoplay;"flash"===a.pluginType&&b&&a.addEventListener("canplay",function(){a.play()},!1),this.mejs=a},render:function(){return d.prototype.render.apply(this,arguments),setTimeout(_.bind(function(){this.resetFocus()},this),10),this.settings=_.defaults({success:this.success},wp.media.mixin.mejsSettings),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(a){var b=c.instances++;return _.each(e(a).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",b].join("")}),a}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.MediaDetails;c=d.extend({className:"video-details",template:wp.template("video-details"),setMedia:function(){var a=this.$(".wp-video-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=a.hasClass("youtube-video")||a.hasClass("vimeo-video")?a.get(0):d.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=c},{}]},{},[1]);
\ No newline at end of file
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){var d=wp.media,e=window._wpmejsSettings||{},f=window._wpMediaViewsL10n||{};wp.media.mixin={mejsSettings:e,removeAllPlayers:function(){var a;if(window.mejs&&window.mejs.players)for(a in window.mejs.players)window.mejs.players[a].pause(),this.removePlayer(window.mejs.players[a])},removePlayer:function(a){var b,c;if(a.options){for(b in a.options.features)if(c=a.options.features[b],a["clean"+c])try{a["clean"+c](a)}catch(d){}a.isDynamic||a.$node.remove(),"native"!==a.media.pluginType&&a.$media.remove(),delete window.mejs.players[a.id],a.container.remove(),a.globalUnbind(),delete a.node.player}},unsetPlayers:function(){this.players&&this.players.length&&(_.each(this.players,function(a){a.pause(),wp.media.mixin.removePlayer(a)}),this.players=[])}},wp.media.playlist=new wp.media.collection({tag:"playlist",editTitle:f.editPlaylistTitle,defaults:{id:wp.media.view.settings.post.id,style:"light",tracklist:!0,tracknumbers:!0,images:!0,artists:!0,type:"audio"}}),wp.media.audio={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",loop:!1,autoplay:!1,preload:"none",width:400},edit:function(a){var b,c=wp.shortcode.next("audio",a).shortcode;return b=wp.media({frame:"audio",state:"audio-details",metadata:_.defaults(c.attrs.named,this.defaults)})},shortcode:function(a){var b;return _.each(this.defaults,function(b,c){a[c]=this.coerce(a,c),b===a[c]&&delete a[c]},this),b=a.content,delete a.content,new wp.shortcode({tag:"audio",attrs:a,content:b})}},wp.media.video={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",poster:"",loop:!1,autoplay:!1,preload:"metadata",content:"",width:640,height:360},edit:function(a){var b,c,d=wp.shortcode.next("video",a).shortcode;return c=d.attrs.named,c.content=d.content,b=wp.media({frame:"video",state:"video-details",metadata:_.defaults(c,this.defaults)})},shortcode:function(a){var b;return _.each(this.defaults,function(b,c){a[c]=this.coerce(a,c),b===a[c]&&delete a[c]},this),b=a.content,delete a.content,new wp.shortcode({tag:"video",attrs:a,content:b})}},d.model.PostMedia=a("./models/post-media.js"),d.controller.AudioDetails=a("./controllers/audio-details.js"),d.controller.VideoDetails=a("./controllers/video-details.js"),d.view.MediaFrame.MediaDetails=a("./views/frame/media-details.js"),d.view.MediaFrame.AudioDetails=a("./views/frame/audio-details.js"),d.view.MediaFrame.VideoDetails=a("./views/frame/video-details.js"),d.view.MediaDetails=a("./views/media-details.js"),d.view.AudioDetails=a("./views/audio-details.js"),d.view.VideoDetails=a("./views/video-details.js")},{"./controllers/audio-details.js":2,"./controllers/video-details.js":3,"./models/post-media.js":4,"./views/audio-details.js":5,"./views/frame/audio-details.js":6,"./views/frame/media-details.js":7,"./views/frame/video-details.js":8,"./views/media-details.js":9,"./views/video-details.js":10}],2:[function(a,b,c){var d,e=wp.media.controller.State,f=wp.media.view.l10n;d=e.extend({defaults:{id:"audio-details",toolbar:"audio-details",title:f.audioDetailsTitle,content:"audio-details",menu:"audio-details",router:!1,priority:60},initialize:function(a){this.media=a.media,e.prototype.initialize.apply(this,arguments)}}),b.exports=d},{}],3:[function(a,b,c){var d,e=wp.media.controller.State,f=wp.media.view.l10n;d=e.extend({defaults:{id:"video-details",toolbar:"video-details",title:f.videoDetailsTitle,content:"video-details",menu:"video-details",router:!1,priority:60},initialize:function(a){this.media=a.media,e.prototype.initialize.apply(this,arguments)}}),b.exports=d},{}],4:[function(a,b,c){var d=Backbone.Model.extend({initialize:function(){this.attachment=!1},setSource:function(a){this.attachment=a,this.extension=a.get("filename").split(".").pop(),this.get("src")&&this.extension===this.get("src").split(".").pop()&&this.unset("src"),_.contains(wp.media.view.settings.embedExts,this.extension)?this.set(this.extension,this.attachment.get("url")):this.unset(this.extension)},changeAttachment:function(a){this.setSource(a),this.unset("src"),_.each(_.without(wp.media.view.settings.embedExts,this.extension),function(a){this.unset(a)},this)}});b.exports=d},{}],5:[function(a,b,c){var d,e=wp.media.view.MediaDetails;d=e.extend({className:"audio-details",template:wp.template("audio-details"),setMedia:function(){var a=this.$(".wp-audio-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=e.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=d},{}],6:[function(a,b,c){var d,e=wp.media.view.MediaFrame.MediaDetails,f=wp.media.controller.MediaLibrary,g=wp.media.view.l10n;d=e.extend({defaults:{id:"audio",url:"",menu:"audio-details",content:"audio-details",toolbar:"audio-details",type:"link",title:g.audioDetailsTitle,priority:120},initialize:function(a){a.DetailsView=wp.media.view.AudioDetails,a.cancelText=g.audioDetailsCancel,a.addText=g.audioAddSourceTitle,e.prototype.initialize.call(this,a)},bindHandlers:function(){e.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-audio",this.renderReplaceToolbar,this),this.on("toolbar:render:add-audio-source",this.renderAddSourceToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.AudioDetails({media:this.media}),new f({type:"audio",id:"replace-audio",title:g.audioReplaceTitle,toolbar:"replace-audio",media:this.media,menu:"audio-details"}),new f({type:"audio",id:"add-audio-source",title:g.audioAddSourceTitle,toolbar:"add-audio-source",media:this.media,menu:!1})])}}),b.exports=d},{}],7:[function(a,b,c){var d,e=wp.media.view.MediaFrame.Select,f=wp.media.view.l10n;d=e.extend({defaults:{id:"media",url:"",menu:"media-details",content:"media-details",toolbar:"media-details",type:"link",priority:120},initialize:function(a){this.DetailsView=a.DetailsView,this.cancelText=a.cancelText,this.addText=a.addText,this.media=new wp.media.model.PostMedia(a.metadata),this.options.selection=new wp.media.model.Selection(this.media.attachment,{multiple:!1}),e.prototype.initialize.apply(this,arguments)},bindHandlers:function(){var a=this.defaults.menu;e.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:"+a,this.createMenu,this),this.on("content:render:"+a,this.renderDetailsContent,this),this.on("menu:render:"+a,this.renderMenu,this),this.on("toolbar:render:"+a,this.renderDetailsToolbar,this)},renderDetailsContent:function(){var a=new this.DetailsView({controller:this,model:this.state().media,attachment:this.state().media.attachment}).render();this.content.set(a)},renderMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:this.cancelText,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},setPrimaryButton:function(a,b){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{button:{style:"primary",text:a,priority:80,click:function(){var a=this.controller;b.call(this,a,a.state()),a.setState(a.options.state),a.reset()}}}}))},renderDetailsToolbar:function(){this.setPrimaryButton(f.update,function(a,b){a.close(),b.trigger("update",a.media.toJSON())})},renderReplaceToolbar:function(){this.setPrimaryButton(f.replace,function(a,b){var c=b.get("selection").single();a.media.changeAttachment(c),b.trigger("replace",a.media.toJSON())})},renderAddSourceToolbar:function(){this.setPrimaryButton(this.addText,function(a,b){var c=b.get("selection").single();a.media.setSource(c),b.trigger("add-source",a.media.toJSON())})}}),b.exports=d},{}],8:[function(a,b,c){var d,e=wp.media.view.MediaFrame.MediaDetails,f=wp.media.controller.MediaLibrary,g=wp.media.view.l10n;d=e.extend({defaults:{id:"video",url:"",menu:"video-details",content:"video-details",toolbar:"video-details",type:"link",title:g.videoDetailsTitle,priority:120},initialize:function(a){a.DetailsView=wp.media.view.VideoDetails,a.cancelText=g.videoDetailsCancel,a.addText=g.videoAddSourceTitle,e.prototype.initialize.call(this,a)},bindHandlers:function(){e.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-video",this.renderReplaceToolbar,this),this.on("toolbar:render:add-video-source",this.renderAddSourceToolbar,this),this.on("toolbar:render:select-poster-image",this.renderSelectPosterImageToolbar,this),this.on("toolbar:render:add-track",this.renderAddTrackToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.VideoDetails({media:this.media}),new f({type:"video",id:"replace-video",title:g.videoReplaceTitle,toolbar:"replace-video",media:this.media,menu:"video-details"}),new f({type:"video",id:"add-video-source",title:g.videoAddSourceTitle,toolbar:"add-video-source",media:this.media,menu:!1}),new f({type:"image",id:"select-poster-image",title:g.videoSelectPosterImageTitle,toolbar:"select-poster-image",media:this.media,menu:"video-details"}),new f({type:"text",id:"add-track",title:g.videoAddTrackTitle,toolbar:"add-track",media:this.media,menu:"video-details"})])},renderSelectPosterImageToolbar:function(){this.setPrimaryButton(g.videoSelectPosterImageTitle,function(a,b){var c=[],d=b.get("selection").single();a.media.set("poster",d.get("url")),b.trigger("set-poster-image",a.media.toJSON()),_.each(wp.media.view.settings.embedExts,function(b){a.media.get(b)&&c.push(a.media.get(b))}),wp.ajax.send("set-attachment-thumbnail",{data:{urls:c,thumbnail_id:d.get("id")}})})},renderAddTrackToolbar:function(){this.setPrimaryButton(g.videoAddTrackTitle,function(a,b){var c=b.get("selection").single(),d=a.media.get("content");-1===d.indexOf(c.get("url"))&&(d+=['<track srclang="en" label="English" kind="subtitles" src="',c.get("url"),'" />'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),b.exports=d},{}],9:[function(a,b,c){var d,e=wp.media.view.Settings.AttachmentDisplay,f=jQuery;d=e.extend({initialize:function(){_.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",wp.media.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",wp.media.mixin.unsetPlayers,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=_.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks","click .add-media-source":"addSource"}),e.prototype.initialize.apply(this,arguments)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(a){var b,c=f(a.currentTarget).parent();b=c.find("input").data("setting"),b&&(this.model.unset(b),this.trigger("media:setting:remove",this)),c.remove()},setTracks:function(){var a="";_.each(this.$(".content-track"),function(b){a+=f(b).val()}),this.model.set("content",a),this.trigger("media:setting:remove",this)},addSource:function(a){this.controller.lastMime=f(a.currentTarget).data("mime"),this.controller.setState("add-"+this.controller.defaults.id+"-source")},loadPlayer:function(){this.players.push(new MediaElementPlayer(this.media,this.settings)),this.scriptXhr=!1},setPlayer:function(){var a;this.players.length||!this.media||this.scriptXhr||(this.model.get("src").indexOf("vimeo")>-1&&!("Froogaloop"in window)?(a=wp.media.mixin.mejsSettings,this.scriptXhr=f.getScript(a.pluginPath+"froogaloop.min.js",_.bind(this.loadPlayer,this))):this.loadPlayer())},setMedia:function(){return this},success:function(a){var b=a.attributes.autoplay&&"false"!==a.attributes.autoplay;"flash"===a.pluginType&&b&&a.addEventListener("canplay",function(){a.play()},!1),this.mejs=a},render:function(){return e.prototype.render.apply(this,arguments),setTimeout(_.bind(function(){this.resetFocus()},this),10),this.settings=_.defaults({success:this.success},wp.media.mixin.mejsSettings),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(a){var b=d.instances++;return _.each(f(a).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",b].join("")}),a}}),b.exports=d},{}],10:[function(a,b,c){var d,e=wp.media.view.MediaDetails;d=e.extend({className:"video-details",template:wp.template("video-details"),setMedia:function(){var a=this.$(".wp-video-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),a.hasClass("youtube-video")||a.hasClass("vimeo-video")?this.media=a.get(0):this.media=e.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=d},{}]},{},[1]);
\ No newline at end of file
index b04f39535f537eadfbd651317e009d7caf7ede21..630ec95b79a45e1e45512a89cfb4851dc63fbdd5 100644 (file)
@@ -1 +1 @@
-!function(a,b){var c={};wp.media.coerce=function(a,c){return b.isUndefined(a[c])&&!b.isUndefined(this.defaults[c])?a[c]=this.defaults[c]:"true"===a[c]?a[c]=!0:"false"===a[c]&&(a[c]=!1),a[c]},wp.media.string={props:function(a,c){var d,e,f,g,h,i=wp.media.view.settings.defaultProps;return h=function(a){return"image"!==a.type||a.alt||(a.alt=a.caption||a.title||"",a.alt=a.alt.replace(/<\/?[^>]+>/g,""),a.alt=a.alt.replace(/[\r\n]+/g," ")),a},a=a?b.clone(a):{},c&&c.type&&(a.type=c.type),"image"===a.type&&(a=b.defaults(a||{},{align:i.align||getUserSetting("align","none"),size:i.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),c?(a.title=a.title||c.title,d=a.link||i.link||getUserSetting("urlbutton","file"),"file"===d||"embed"===d?e=c.url:"post"===d?e=c.link:"custom"===d&&(e=a.linkUrl),a.linkUrl=e||"","image"===c.type?(a.classes.push("wp-image-"+c.id),g=c.sizes,f=g&&g[a.size]?g[a.size]:c,b.extend(a,b.pick(c,"align","caption","alt"),{width:f.width,height:f.height,src:f.url,captionId:"attachment_"+c.id})):"video"===c.type||"audio"===c.type?b.extend(a,b.pick(c,"title","type","icon","mime")):(a.title=a.title||c.filename,a.rel=a.rel||"attachment wp-att-"+c.id),h(a)):h(a)},link:function(a,b){var c;return a=wp.media.string.props(a,b),c={tag:"a",content:a.title,attrs:{href:a.linkUrl}},a.rel&&(c.attrs.rel=a.rel),wp.html.string(c)},audio:function(a,b){return wp.media.string._audioVideo("audio",a,b)},video:function(a,b){return wp.media.string._audioVideo("video",a,b)},_audioVideo:function(a,c,d){var e,f,g;return c=wp.media.string.props(c,d),"embed"!==c.link?wp.media.string.link(c):(e={},"video"===a&&(d.image&&-1===d.image.src.indexOf(d.icon)&&(e.poster=d.image.src),d.width&&(e.width=d.width),d.height&&(e.height=d.height)),g=d.filename.split(".").pop(),b.contains(wp.media.view.settings.embedExts,g)?(e[g]=d.url,f=wp.shortcode.string({tag:a,attrs:e})):wp.media.string.link(c))},image:function(a,c){var d,e,f,g,h={};return a=wp.media.string.props(a,c),e=a.classes||[],h.src=b.isUndefined(c)?a.url:c.url,b.extend(h,b.pick(a,"width","height","alt")),a.align&&!a.caption&&e.push("align"+a.align),a.size&&e.push("size-"+a.size),h["class"]=b.compact(e).join(" "),d={tag:"img",attrs:h,single:!0},a.linkUrl&&(d={tag:"a",attrs:{href:a.linkUrl},content:d}),g=wp.html.string(d),a.caption&&(f={},h.width&&(f.width=h.width),a.captionId&&(f.id=a.captionId),a.align&&(f.align="align"+a.align),g=wp.shortcode.string({tag:"caption",attrs:f,content:g+" "+a.caption})),g}},wp.media.embed={coerce:wp.media.coerce,defaults:{url:"",width:"",height:""},edit:function(a,c){var d,e,f={};return c?f.url=a.replace(/<[^>]+>/g,""):(e=wp.shortcode.next("embed",a).shortcode,f=b.defaults(e.attrs.named,this.defaults),e.content&&(f.url=e.content)),d=wp.media({frame:"post",state:"embed",metadata:f})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.url,delete a.url,new wp.shortcode({tag:"embed",attrs:a,content:c})}},wp.media.collection=function(a){var c={};return b.extend({coerce:wp.media.coerce,attachments:function(a){var d,e,f,g,h=a.string(),i=c[h],j=this;return delete c[h],i?i:(d=b.defaults(a.attrs.named,this.defaults),e=b.pick(d,"orderby","order"),e.type=this.type,e.perPage=-1,void 0!==d.orderby&&(d._orderByField=d.orderby),"rand"===d.orderby&&(d._orderbyRandom=!0),(!d.orderby||/^menu_order(?: ID)?$/i.test(d.orderby))&&(e.orderby="menuOrder"),d.ids?(e.post__in=d.ids.split(","),e.orderby="post__in"):d.include&&(e.post__in=d.include.split(",")),d.exclude&&(e.post__not_in=d.exclude.split(",")),e.post__in||(e.uploadedTo=d.id),g=b.omit(d,"id","ids","include","exclude","orderby","order"),b.each(this.defaults,function(a,b){g[b]=j.coerce(g,b)}),f=wp.media.query(e),f[this.tag]=new Backbone.Model(g),f)},shortcode:function(a){var d,e,f=a.props.toJSON(),g=b.pick(f,"orderby","order");return a.type&&(g.type=a.type,delete a.type),a[this.tag]&&b.extend(g,a[this.tag].toJSON()),g.ids=a.pluck("id"),f.uploadedTo&&(g.id=f.uploadedTo),delete g.orderby,g._orderbyRandom?g.orderby="rand":g._orderByField&&"rand"!=g._orderByField&&(g.orderby=g._orderByField),delete g._orderbyRandom,delete g._orderByField,g.ids&&"post__in"===g.orderby&&delete g.orderby,g=this.setDefaults(g),d=new wp.shortcode({tag:this.tag,attrs:g,type:"single"}),e=new wp.media.model.Attachments(a.models,{props:f}),e[this.tag]=a[this.tag],c[d.string()]=e,d},edit:function(a){var c,d,e,f=wp.shortcode.next(this.tag,a),g=this.defaults.id;if(f&&f.content===a)return f=f.shortcode,b.isUndefined(f.get("id"))&&!b.isUndefined(g)&&f.set("id",g),c=this.attachments(f),d=new wp.media.model.Selection(c.models,{props:c.props.toJSON(),multiple:!0}),d[this.tag]=c[this.tag],d.more().done(function(){d.props.set({query:!1}),d.unmirror(),d.props.unset("orderby")}),this.frame&&this.frame.dispose(),e=f.attrs.named.type&&"video"===f.attrs.named.type?"video-"+this.tag+"-edit":this.tag+"-edit",this.frame=wp.media({frame:"post",state:e,title:this.editTitle,editing:!0,multiple:!0,selection:d}).open(),this.frame},setDefaults:function(a){var c=this;return b.each(this.defaults,function(b,d){a[d]=c.coerce(a,d),b===a[d]&&delete a[d]}),a}},a)},wp.media._galleryDefaults={itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",order:"ASC",id:wp.media.view.settings.post&&wp.media.view.settings.post.id,orderby:"menu_order ID"},wp.media.galleryDefaults=wp.media.view.settings.galleryDefaults?b.extend({},wp.media._galleryDefaults,wp.media.view.settings.galleryDefaults):wp.media._galleryDefaults,wp.media.gallery=new wp.media.collection({tag:"gallery",type:"image",editTitle:wp.media.view.l10n.editGalleryTitle,defaults:wp.media.galleryDefaults,setDefaults:function(a){var c=this,d=!b.isEqual(wp.media.galleryDefaults,wp.media._galleryDefaults);return b.each(this.defaults,function(b,e){a[e]=c.coerce(a,e),b!==a[e]||d&&b!==wp.media._galleryDefaults[e]||delete a[e]}),a}}),wp.media.featuredImage={get:function(){return wp.media.view.settings.post.featuredImageId},set:function(b){var c=wp.media.view.settings;c.post.featuredImageId=b,wp.media.post("set-post-thumbnail",{json:!0,post_id:c.post.id,thumbnail_id:c.post.featuredImageId,_wpnonce:c.post.nonce}).done(function(b){a(".inside","#postimagediv").html(b)})},frame:function(){return this._frame?this._frame:(this._frame=wp.media({state:"featured-image",states:[new wp.media.controller.FeaturedImage,new wp.media.controller.EditImage]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.on("content:render:edit-image",function(){var a=this.state("featured-image").get("selection"),b=new wp.media.view.EditImage({model:a.single(),controller:this}).render();this.content.set(b),b.loadEditor()},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=this.get("selection").single();wp.media.view.settings.post.featuredImageId&&wp.media.featuredImage.set(a?a.id:-1)},init:function(){a("#postimagediv").on("click","#set-post-thumbnail",function(a){a.preventDefault(),a.stopPropagation(),wp.media.featuredImage.frame().open()}).on("click","#remove-post-thumbnail",function(){wp.media.view.settings.post.featuredImageId=-1})}},a(wp.media.featuredImage.init),wp.media.editor={insert:function(a){var c,d,e=!b.isUndefined(window.tinymce),f=!b.isUndefined(window.QTags);if(d=this.activeEditor?window.wpActiveEditor=this.activeEditor:window.wpActiveEditor,window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(d)e&&(c=tinymce.get(d));else if(e&&tinymce.activeEditor)c=tinymce.activeEditor,d=window.wpActiveEditor=c.id;else if(!f)return!1;if(c&&!c.isHidden()?c.execCommand("mceInsertContent",!1,a):f?QTags.insertContent(a):document.getElementById(d).value+=a,window.tb_remove)try{window.tb_remove()}catch(g){}},add:function(d,e){var f=this.get(d);return f?f:(f=c[d]=wp.media(b.defaults(e||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),f.on("insert",function(c){var d=f.state();c=c||d.get("selection"),c&&a.when.apply(a,c.map(function(a){var b=d.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(b.toArray(arguments).join("\n\n"))})},this),f.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),f.state("playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("video-playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("embed").on("select",function(){var a=f.state(),c=a.get("type"),d=a.props.toJSON();d.url=d.url||"","link"===c?(b.defaults(d,{linkText:d.url,linkUrl:d.url}),this.send.link(d).done(function(a){wp.media.editor.insert(a)})):"image"===c&&(b.defaults(d,{title:d.url,linkUrl:"",align:"none",link:"none"}),"none"===d.link?d.linkUrl="":"file"===d.link&&(d.linkUrl=d.url),this.insert(wp.media.string.image(d)))},this),f.state("featured-image").on("select",wp.media.featuredImage.select),f.setState(f.options.state),f)},id:function(a){return a?a:(a=window.wpActiveEditor,a||b.isUndefined(window.tinymce)||!tinymce.activeEditor||(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),c[a]},remove:function(a){a=this.id(a),delete c[a]},send:{attachment:function(a,c){var d,e,f=c.caption;return wp.media.view.settings.captions||delete c.caption,a=wp.media.string.props(a,c),d={id:c.id,post_content:c.description,post_excerpt:f},a.linkUrl&&(d.url=a.linkUrl),"image"===c.type?(e=wp.media.string.image(a),b.each({align:"align",size:"image-size",alt:"image_alt"},function(b,c){a[c]&&(d[b]=a[c])})):"video"===c.type?e=wp.media.string.video(a,c):"audio"===c.type?e=wp.media.string.audio(a,c):(e=wp.media.string.link(a),d.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:d,html:e,post_id:wp.media.view.settings.post.id})},link:function(a){return wp.media.post("send-link-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,src:a.linkUrl,link_text:a.linkText,html:wp.media.string.link(a),post_id:wp.media.view.settings.post.id})}},open:function(a,b){var c;return b=b||{},a=this.id(a),this.activeEditor=a,c=this.get(a),(!c||c.options&&b.state!==c.options.state)&&(c=this.add(a,b)),c.open()},init:function(){a(document.body).on("click.add-media-button",".insert-media",function(b){var c=a(b.currentTarget),d=c.data("editor"),e={frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0};b.preventDefault(),c.blur(),c.hasClass("gallery")&&(e.state="gallery",e.title=wp.media.view.l10n.createGalleryTitle),wp.media.editor.open(d,e)}),(new wp.media.view.EditorUploader).render()}},b.bindAll(wp.media.editor,"open"),a(wp.media.editor.init)}(jQuery,_);
\ No newline at end of file
+!function(a,b){var c={};wp.media.coerce=function(a,c){return b.isUndefined(a[c])&&!b.isUndefined(this.defaults[c])?a[c]=this.defaults[c]:"true"===a[c]?a[c]=!0:"false"===a[c]&&(a[c]=!1),a[c]},wp.media.string={props:function(a,c){var d,e,f,g,h,i=wp.media.view.settings.defaultProps;return h=function(a){return"image"!==a.type||a.alt||(a.alt=a.caption||a.title||"",a.alt=a.alt.replace(/<\/?[^>]+>/g,""),a.alt=a.alt.replace(/[\r\n]+/g," ")),a},a=a?b.clone(a):{},c&&c.type&&(a.type=c.type),"image"===a.type&&(a=b.defaults(a||{},{align:i.align||getUserSetting("align","none"),size:i.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),c?(a.title=a.title||c.title,d=a.link||i.link||getUserSetting("urlbutton","file"),"file"===d||"embed"===d?e=c.url:"post"===d?e=c.link:"custom"===d&&(e=a.linkUrl),a.linkUrl=e||"","image"===c.type?(a.classes.push("wp-image-"+c.id),g=c.sizes,f=g&&g[a.size]?g[a.size]:c,b.extend(a,b.pick(c,"align","caption","alt"),{width:f.width,height:f.height,src:f.url,captionId:"attachment_"+c.id})):"video"===c.type||"audio"===c.type?b.extend(a,b.pick(c,"title","type","icon","mime")):(a.title=a.title||c.filename,a.rel=a.rel||"attachment wp-att-"+c.id),h(a)):h(a)},link:function(a,b){var c;return a=wp.media.string.props(a,b),c={tag:"a",content:a.title,attrs:{href:a.linkUrl}},a.rel&&(c.attrs.rel=a.rel),wp.html.string(c)},audio:function(a,b){return wp.media.string._audioVideo("audio",a,b)},video:function(a,b){return wp.media.string._audioVideo("video",a,b)},_audioVideo:function(a,c,d){var e,f,g;return c=wp.media.string.props(c,d),"embed"!==c.link?wp.media.string.link(c):(e={},"video"===a&&(d.image&&-1===d.image.src.indexOf(d.icon)&&(e.poster=d.image.src),d.width&&(e.width=d.width),d.height&&(e.height=d.height)),g=d.filename.split(".").pop(),b.contains(wp.media.view.settings.embedExts,g)?(e[g]=d.url,f=wp.shortcode.string({tag:a,attrs:e})):wp.media.string.link(c))},image:function(a,c){var d,e,f,g,h={};return a=wp.media.string.props(a,c),e=a.classes||[],h.src=b.isUndefined(c)?a.url:c.url,b.extend(h,b.pick(a,"width","height","alt")),a.align&&!a.caption&&e.push("align"+a.align),a.size&&e.push("size-"+a.size),h["class"]=b.compact(e).join(" "),d={tag:"img",attrs:h,single:!0},a.linkUrl&&(d={tag:"a",attrs:{href:a.linkUrl},content:d}),g=wp.html.string(d),a.caption&&(f={},h.width&&(f.width=h.width),a.captionId&&(f.id=a.captionId),a.align&&(f.align="align"+a.align),g=wp.shortcode.string({tag:"caption",attrs:f,content:g+" "+a.caption})),g}},wp.media.embed={coerce:wp.media.coerce,defaults:{url:"",width:"",height:""},edit:function(a,c){var d,e,f={};return c?f.url=a.replace(/<[^>]+>/g,""):(e=wp.shortcode.next("embed",a).shortcode,f=b.defaults(e.attrs.named,this.defaults),e.content&&(f.url=e.content)),d=wp.media({frame:"post",state:"embed",metadata:f})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.url,delete a.url,new wp.shortcode({tag:"embed",attrs:a,content:c})}},wp.media.collection=function(a){var c={};return b.extend({coerce:wp.media.coerce,attachments:function(a){var d,e,f,g,h=a.string(),i=c[h],j=this;return delete c[h],i?i:(d=b.defaults(a.attrs.named,this.defaults),e=b.pick(d,"orderby","order"),e.type=this.type,e.perPage=-1,void 0!==d.orderby&&(d._orderByField=d.orderby),"rand"===d.orderby&&(d._orderbyRandom=!0),(!d.orderby||/^menu_order(?: ID)?$/i.test(d.orderby))&&(e.orderby="menuOrder"),d.ids?(e.post__in=d.ids.split(","),e.orderby="post__in"):d.include&&(e.post__in=d.include.split(",")),d.exclude&&(e.post__not_in=d.exclude.split(",")),e.post__in||(e.uploadedTo=d.id),g=b.omit(d,"id","ids","include","exclude","orderby","order"),b.each(this.defaults,function(a,b){g[b]=j.coerce(g,b)}),f=wp.media.query(e),f[this.tag]=new Backbone.Model(g),f)},shortcode:function(a){var d,e,f=a.props.toJSON(),g=b.pick(f,"orderby","order");return a.type&&(g.type=a.type,delete a.type),a[this.tag]&&b.extend(g,a[this.tag].toJSON()),g.ids=a.pluck("id"),f.uploadedTo&&(g.id=f.uploadedTo),delete g.orderby,g._orderbyRandom?g.orderby="rand":g._orderByField&&"rand"!=g._orderByField&&(g.orderby=g._orderByField),delete g._orderbyRandom,delete g._orderByField,g.ids&&"post__in"===g.orderby&&delete g.orderby,g=this.setDefaults(g),d=new wp.shortcode({tag:this.tag,attrs:g,type:"single"}),e=new wp.media.model.Attachments(a.models,{props:f}),e[this.tag]=a[this.tag],c[d.string()]=e,d},edit:function(a){var c,d,e,f=wp.shortcode.next(this.tag,a),g=this.defaults.id;if(f&&f.content===a)return f=f.shortcode,b.isUndefined(f.get("id"))&&!b.isUndefined(g)&&f.set("id",g),c=this.attachments(f),d=new wp.media.model.Selection(c.models,{props:c.props.toJSON(),multiple:!0}),d[this.tag]=c[this.tag],d.more().done(function(){d.props.set({query:!1}),d.unmirror(),d.props.unset("orderby")}),this.frame&&this.frame.dispose(),e=f.attrs.named.type&&"video"===f.attrs.named.type?"video-"+this.tag+"-edit":this.tag+"-edit",this.frame=wp.media({frame:"post",state:e,title:this.editTitle,editing:!0,multiple:!0,selection:d}).open(),this.frame},setDefaults:function(a){var c=this;return b.each(this.defaults,function(b,d){a[d]=c.coerce(a,d),b===a[d]&&delete a[d]}),a}},a)},wp.media._galleryDefaults={itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",order:"ASC",id:wp.media.view.settings.post&&wp.media.view.settings.post.id,orderby:"menu_order ID"},wp.media.view.settings.galleryDefaults?wp.media.galleryDefaults=b.extend({},wp.media._galleryDefaults,wp.media.view.settings.galleryDefaults):wp.media.galleryDefaults=wp.media._galleryDefaults,wp.media.gallery=new wp.media.collection({tag:"gallery",type:"image",editTitle:wp.media.view.l10n.editGalleryTitle,defaults:wp.media.galleryDefaults,setDefaults:function(a){var c=this,d=!b.isEqual(wp.media.galleryDefaults,wp.media._galleryDefaults);return b.each(this.defaults,function(b,e){a[e]=c.coerce(a,e),b!==a[e]||d&&b!==wp.media._galleryDefaults[e]||delete a[e]}),a}}),wp.media.featuredImage={get:function(){return wp.media.view.settings.post.featuredImageId},set:function(b){var c=wp.media.view.settings;c.post.featuredImageId=b,wp.media.post("set-post-thumbnail",{json:!0,post_id:c.post.id,thumbnail_id:c.post.featuredImageId,_wpnonce:c.post.nonce}).done(function(b){a(".inside","#postimagediv").html(b)})},frame:function(){return this._frame?this._frame:(this._frame=wp.media({state:"featured-image",states:[new wp.media.controller.FeaturedImage,new wp.media.controller.EditImage]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.on("content:render:edit-image",function(){var a=this.state("featured-image").get("selection"),b=new wp.media.view.EditImage({model:a.single(),controller:this}).render();this.content.set(b),b.loadEditor()},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=this.get("selection").single();wp.media.view.settings.post.featuredImageId&&wp.media.featuredImage.set(a?a.id:-1)},init:function(){a("#postimagediv").on("click","#set-post-thumbnail",function(a){a.preventDefault(),a.stopPropagation(),wp.media.featuredImage.frame().open()}).on("click","#remove-post-thumbnail",function(){wp.media.view.settings.post.featuredImageId=-1})}},a(wp.media.featuredImage.init),wp.media.editor={insert:function(a){var c,d,e=!b.isUndefined(window.tinymce),f=!b.isUndefined(window.QTags);if(d=this.activeEditor?window.wpActiveEditor=this.activeEditor:window.wpActiveEditor,window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(d)e&&(c=tinymce.get(d));else if(e&&tinymce.activeEditor)c=tinymce.activeEditor,d=window.wpActiveEditor=c.id;else if(!f)return!1;if(c&&!c.isHidden()?c.execCommand("mceInsertContent",!1,a):f?QTags.insertContent(a):document.getElementById(d).value+=a,window.tb_remove)try{window.tb_remove()}catch(g){}},add:function(d,e){var f=this.get(d);return f?f:(f=c[d]=wp.media(b.defaults(e||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),f.on("insert",function(c){var d=f.state();c=c||d.get("selection"),c&&a.when.apply(a,c.map(function(a){var b=d.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(b.toArray(arguments).join("\n\n"))})},this),f.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),f.state("playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("video-playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("embed").on("select",function(){var a=f.state(),c=a.get("type"),d=a.props.toJSON();d.url=d.url||"","link"===c?(b.defaults(d,{linkText:d.url,linkUrl:d.url}),this.send.link(d).done(function(a){wp.media.editor.insert(a)})):"image"===c&&(b.defaults(d,{title:d.url,linkUrl:"",align:"none",link:"none"}),"none"===d.link?d.linkUrl="":"file"===d.link&&(d.linkUrl=d.url),this.insert(wp.media.string.image(d)))},this),f.state("featured-image").on("select",wp.media.featuredImage.select),f.setState(f.options.state),f)},id:function(a){return a?a:(a=window.wpActiveEditor,a||b.isUndefined(window.tinymce)||!tinymce.activeEditor||(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),c[a]},remove:function(a){a=this.id(a),delete c[a]},send:{attachment:function(a,c){var d,e,f=c.caption;return wp.media.view.settings.captions||delete c.caption,a=wp.media.string.props(a,c),d={id:c.id,post_content:c.description,post_excerpt:f},a.linkUrl&&(d.url=a.linkUrl),"image"===c.type?(e=wp.media.string.image(a),b.each({align:"align",size:"image-size",alt:"image_alt"},function(b,c){a[c]&&(d[b]=a[c])})):"video"===c.type?e=wp.media.string.video(a,c):"audio"===c.type?e=wp.media.string.audio(a,c):(e=wp.media.string.link(a),d.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:d,html:e,post_id:wp.media.view.settings.post.id})},link:function(a){return wp.media.post("send-link-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,src:a.linkUrl,link_text:a.linkText,html:wp.media.string.link(a),post_id:wp.media.view.settings.post.id})}},open:function(a,b){var c;return b=b||{},a=this.id(a),this.activeEditor=a,c=this.get(a),(!c||c.options&&b.state!==c.options.state)&&(c=this.add(a,b)),c.open()},init:function(){a(document.body).on("click.add-media-button",".insert-media",function(b){var c=a(b.currentTarget),d=c.data("editor"),e={frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0};b.preventDefault(),c.blur(),c.hasClass("gallery")&&(e.state="gallery",e.title=wp.media.view.l10n.createGalleryTitle),wp.media.editor.open(d,e)}),(new wp.media.view.EditorUploader).render()}},b.bindAll(wp.media.editor,"open"),a(wp.media.editor.init)}(jQuery,_);
\ No newline at end of file
index 6c8faa5a82d45f1599c3aeace5da2d37f743693d..01db38bad5bc0789a2e013ce7a3e5ba02db96b2d 100644 (file)
@@ -1,6 +1,4 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.controller.EditAttachmentMetadata
  *
@@ -29,8 +27,6 @@ EditAttachmentMetadata = wp.media.controller.State.extend({
 module.exports = EditAttachmentMetadata;
 
 },{}],2:[function(require,module,exports){
-/*globals wp */
-
 var media = wp.media;
 
 media.controller.EditAttachmentMetadata = require( './controllers/edit-attachment-metadata.js' );
@@ -44,8 +40,6 @@ media.view.DeleteSelectedButton = require( './views/button/delete-selected.js' )
 media.view.DeleteSelectedPermanentlyButton = require( './views/button/delete-selected-permanently.js' );
 
 },{"./controllers/edit-attachment-metadata.js":1,"./routers/manage.js":3,"./views/attachment/details-two-column.js":4,"./views/button/delete-selected-permanently.js":5,"./views/button/delete-selected.js":6,"./views/button/select-mode-toggle.js":7,"./views/edit-image-details.js":8,"./views/frame/edit-attachments.js":9,"./views/frame/manage.js":10}],3:[function(require,module,exports){
-/*globals wp, Backbone */
-
 /**
  * wp.media.view.MediaFrame.Manage.Router
  *
@@ -94,8 +88,6 @@ var Router = Backbone.Router.extend({
 module.exports = Router;
 
 },{}],4:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.Attachment.Details.TwoColumn
  *
@@ -139,8 +131,6 @@ TwoColumn = Details.extend({
 module.exports = TwoColumn;
 
 },{}],5:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.DeleteSelectedPermanentlyButton
  *
@@ -188,8 +178,6 @@ DeleteSelectedPermanently = DeleteSelected.extend({
 module.exports = DeleteSelectedPermanently;
 
 },{}],6:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.DeleteSelectedButton
  *
@@ -243,8 +231,6 @@ DeleteSelected = Button.extend({
 module.exports = DeleteSelected;
 
 },{}],7:[function(require,module,exports){
-/*globals wp */
-
 /**
  * wp.media.view.SelectModeToggleButton
  *
@@ -260,6 +246,10 @@ var Button = wp.media.view.Button,
 
 SelectModeToggle = Button.extend({
        initialize: function() {
+               _.defaults( this.options, {
+                       size : ''
+               } );
+
                Button.prototype.initialize.apply( this, arguments );
                this.listenTo( this.controller, 'select:activate select:deactivate', this.toggleBulkEditHandler );
                this.listenTo( this.controller, 'selection:action:done', this.back );
@@ -291,16 +281,22 @@ SelectModeToggle = Button.extend({
 
                // TODO: the Frame should be doing all of this.
                if ( this.controller.isModeActive( 'select' ) ) {
-                       this.model.set( 'text', l10n.cancelSelection );
-                       children.not( '.media-button' ).hide();
+                       this.model.set( {
+                               size: 'large',
+                               text: l10n.cancelSelection
+                       } );
+                       children.not( '.spinner, .media-button' ).hide();
                        this.$el.show();
                        toolbar.$( '.delete-selected-button' ).removeClass( 'hidden' );
                } else {
-                       this.model.set( 'text', l10n.bulkSelect );
+                       this.model.set( {
+                               size: '',
+                               text: l10n.bulkSelect
+                       } );
                        this.controller.content.get().$el.removeClass( 'fixed' );
                        toolbar.$el.css( 'width', '' );
                        toolbar.$( '.delete-selected-button' ).addClass( 'hidden' );
-                       children.not( '.spinner, .media-button' ).show();
+                       children.not( '.media-button' ).show();
                        this.controller.state().get( 'selection' ).reset();
                }
        }
@@ -309,8 +305,6 @@ SelectModeToggle = Button.extend({
 module.exports = SelectModeToggle;
 
 },{}],8:[function(require,module,exports){
-/*globals wp, _ */
-
 /**
  * wp.media.view.EditImage.Details
  *
@@ -346,8 +340,6 @@ Details = EditImage.extend({
 module.exports = Details;
 
 },{}],9:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
 /**
  * wp.media.view.MediaFrame.EditAttachments
  *
@@ -591,8 +583,6 @@ EditAttachments = MediaFrame.extend({
 module.exports = EditAttachments;
 
 },{}],10:[function(require,module,exports){
-/*globals wp, _, Backbone */
-
 /**
  * wp.media.view.MediaFrame.Manage
  *
@@ -634,7 +624,7 @@ Manage = MediaFrame.extend({
                this.$window = $( window );
                this.$adminBar = $( '#wpadminbar' );
                this.$window.on( 'scroll resize', _.debounce( _.bind( this.fixPosition, this ), 15 ) );
-               $( document ).on( 'click', '.add-new-h2', _.bind( this.addNewClickHandler, this ) );
+               $( document ).on( 'click', '.page-title-action', _.bind( this.addNewClickHandler, this ) );
 
                // Ensure core and media grid view UI is enabled.
                this.$el.addClass('wp-core-ui');
index a985a70ff7da85119804c1f9dbcfc4682dcc37d6..d305b14ff289b6252badcb286bcfd31abde51e1a 100644 (file)
@@ -1 +1 @@
-!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"edit-attachment",title:d.attachmentDetails,content:"edit-metadata",menu:!1,toolbar:!1,router:!1}}),b.exports=c},{}],2:[function(a){var b=wp.media;b.controller.EditAttachmentMetadata=a("./controllers/edit-attachment-metadata.js"),b.view.MediaFrame.Manage=a("./views/frame/manage.js"),b.view.Attachment.Details.TwoColumn=a("./views/attachment/details-two-column.js"),b.view.MediaFrame.Manage.Router=a("./routers/manage.js"),b.view.EditImage.Details=a("./views/edit-image-details.js"),b.view.MediaFrame.EditAttachments=a("./views/frame/edit-attachments.js"),b.view.SelectModeToggleButton=a("./views/button/select-mode-toggle.js"),b.view.DeleteSelectedButton=a("./views/button/delete-selected.js"),b.view.DeleteSelectedPermanentlyButton=a("./views/button/delete-selected-permanently.js")},{"./controllers/edit-attachment-metadata.js":1,"./routers/manage.js":3,"./views/attachment/details-two-column.js":4,"./views/button/delete-selected-permanently.js":5,"./views/button/delete-selected.js":6,"./views/button/select-mode-toggle.js":7,"./views/edit-image-details.js":8,"./views/frame/edit-attachments.js":9,"./views/frame/manage.js":10}],3:[function(a,b){var c=Backbone.Router.extend({routes:{"upload.php?item=:slug":"showItem","upload.php?search=:query":"search"},baseUrl:function(a){return"upload.php"+a},search:function(a){jQuery("#media-search-input").val(a).trigger("input")},showItem:function(a){var b,c=wp.media,d=c.frame.state().get("library");b=d.findWhere({id:parseInt(a,10)}),b?c.frame.trigger("edit:attachment",b):(b=c.attachment(a),c.frame.listenTo(b,"change",function(a){c.frame.stopListening(b),c.frame.trigger("edit:attachment",a)}),b.fetch())}});b.exports=c},{}],4:[function(a,b){var c,d=wp.media.view.Attachment.Details;c=d.extend({template:wp.template("attachment-details-two-column"),editAttachment:function(a){a.preventDefault(),this.controller.content.mode("edit-image")},toggleSelectionHandler:function(){},render:function(){d.prototype.render.apply(this,arguments),wp.media.mixin.removeAllPlayers(),this.$("audio, video").each(function(a,b){var c=wp.media.view.MediaDetails.prepareSrc(b);new window.MediaElementPlayer(c,wp.media.mixin.mejsSettings)})}}),b.exports=c},{}],5:[function(a,b){var c,d=wp.media.view.Button,e=wp.media.view.DeleteSelectedButton;c=e.extend({initialize:function(){e.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate",this.selectActivate),this.listenTo(this.controller,"select:deactivate",this.selectDeactivate)},filterChange:function(a){this.canShow="trash"===a.get("status")},selectActivate:function(){this.toggleDisabled(),this.$el.toggleClass("hidden",!this.canShow)},selectDeactivate:function(){this.toggleDisabled(),this.$el.addClass("hidden")},render:function(){return d.prototype.render.apply(this,arguments),this.selectActivate(),this}}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.view.Button,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),this.options.filters&&this.listenTo(this.options.filters.model,"change",this.filterChange),this.listenTo(this.controller,"selection:toggle",this.toggleDisabled)},filterChange:function(a){"trash"===a.get("status")?this.model.set("text",e.untrashSelected):wp.media.view.settings.mediaTrash?this.model.set("text",e.trashSelected):this.model.set("text",e.deleteSelected)},toggleDisabled:function(){this.model.set("disabled",!this.controller.state().get("selection").length)},render:function(){return d.prototype.render.apply(this,arguments),this.$el.addClass(this.controller.isModeActive("select")?"delete-selected-button":"delete-selected-button hidden"),this.toggleDisabled(),this}}),b.exports=c},{}],7:[function(a,b){var c,d=wp.media.view.Button,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate select:deactivate",this.toggleBulkEditHandler),this.listenTo(this.controller,"selection:action:done",this.back)},back:function(){this.controller.deactivateMode("select").activateMode("edit")},click:function(){d.prototype.click.apply(this,arguments),this.controller.isModeActive("select")?this.back():this.controller.deactivateMode("edit").activateMode("select")},render:function(){return d.prototype.render.apply(this,arguments),this.$el.addClass("select-mode-toggle-button"),this},toggleBulkEditHandler:function(){var a,b=this.controller.content.get().toolbar;a=b.$(".media-toolbar-secondary > *, .media-toolbar-primary > *"),this.controller.isModeActive("select")?(this.model.set("text",e.cancelSelection),a.not(".media-button").hide(),this.$el.show(),b.$(".delete-selected-button").removeClass("hidden")):(this.model.set("text",e.bulkSelect),this.controller.content.get().$el.removeClass("fixed"),b.$el.css("width",""),b.$(".delete-selected-button").addClass("hidden"),a.not(".spinner, .media-button").show(),this.controller.state().get("selection").reset())}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.View,e=wp.media.view.EditImage;c=e.extend({initialize:function(a){this.editor=window.imageEdit,this.frame=a.frame,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},back:function(){this.frame.content.mode("edit-metadata")},save:function(){this.model.fetch().done(_.bind(function(){this.frame.content.mode("edit-metadata")},this))}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.view.Frame,e=wp.media.view.MediaFrame,f=jQuery;c=e.extend({className:"edit-attachment-frame",template:wp.template("edit-attachment-frame"),regions:["title","content"],events:{"click .left":"previousMediaItem","click .right":"nextMediaItem"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{modal:!0,state:"edit-attachment"}),this.controller=this.options.controller,this.gridRouter=this.controller.gridRouter,this.library=this.options.library,this.options.model&&(this.model=this.options.model),this.bindHandlers(),this.createStates(),this.createModal(),this.title.mode("default"),this.toggleNav()},bindHandlers:function(){this.on("title:create:default",this.createTitle,this),this.listenTo(this.model,"change:status destroy",this.close,this),this.on("content:create:edit-metadata",this.editMetadataMode,this),this.on("content:create:edit-image",this.editImageMode,this),this.on("content:render:edit-image",this.editImageModeRender,this),this.on("close",this.detach)},createModal:function(){this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.on("open",_.bind(function(){f("body").on("keydown.media-modal",_.bind(this.keyEvent,this))},this)),this.modal.on("close",_.bind(function(){this.modal.remove(),f("body").off("keydown.media-modal"),f('li.attachment[data-id="'+this.model.get("id")+'"]').focus(),this.resetRoute()},this)),this.modal.content(this),this.modal.open())},createStates:function(){this.states.add([new wp.media.controller.EditAttachmentMetadata({model:this.model})])},editMetadataMode:function(a){a.view=new wp.media.view.Attachment.Details.TwoColumn({controller:this,model:this.model}),a.view.views.set(".attachment-compat",new wp.media.view.AttachmentCompat({controller:this,model:this.model})),this.model&&this.gridRouter.navigate(this.gridRouter.baseUrl("?item="+this.model.id))},editImageMode:function(a){var b=new wp.media.controller.EditImage({model:this.model,frame:this});b._toolbar=function(){},b._router=function(){},b._menu=function(){},a.view=new wp.media.view.EditImage.Details({model:this.model,frame:this,controller:b})},editImageModeRender:function(a){a.on("ready",a.loadEditor)},toggleNav:function(){this.$(".left").toggleClass("disabled",!this.hasPrevious()),this.$(".right").toggleClass("disabled",!this.hasNext())},rerender:function(){"edit-metadata"!==this.content.mode()?this.content.mode("edit-metadata"):this.content.render(),this.toggleNav()},previousMediaItem:function(){return this.hasPrevious()?(this.model=this.library.at(this.getCurrentIndex()-1),this.rerender(),void this.$(".left").focus()):void this.$(".left").blur()},nextMediaItem:function(){return this.hasNext()?(this.model=this.library.at(this.getCurrentIndex()+1),this.rerender(),void this.$(".right").focus()):void this.$(".right").blur()},getCurrentIndex:function(){return this.library.indexOf(this.model)},hasNext:function(){return this.getCurrentIndex()+1<this.library.length},hasPrevious:function(){return this.getCurrentIndex()-1>-1},keyEvent:function(a){("INPUT"!==a.target.nodeName&&"TEXTAREA"!==a.target.nodeName||a.target.readOnly||a.target.disabled)&&(39===a.keyCode&&this.nextMediaItem(),37===a.keyCode&&this.previousMediaItem())},resetRoute:function(){this.gridRouter.navigate(this.gridRouter.baseUrl(""))}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.controller.Library,f=Backbone.$;c=d.extend({initialize:function(){_.defaults(this.options,{title:"",modal:!1,selection:[],library:{},multiple:"add",state:"library",uploader:!0,mode:["grid","edit"]}),this.$body=f(document.body),this.$window=f(window),this.$adminBar=f("#wpadminbar"),this.$window.on("scroll resize",_.debounce(_.bind(this.fixPosition,this),15)),f(document).on("click",".add-new-h2",_.bind(this.addNewClickHandler,this)),this.$el.addClass("wp-core-ui"),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:document.body,container:document.body}}).render(),this.uploader.ready(),f("body").append(this.uploader.el),this.options.uploader=!1),this.gridRouter=new wp.media.view.MediaFrame.Manage.Router,d.prototype.initialize.apply(this,arguments),this.$el.appendTo(this.options.container),this.createStates(),this.bindRegionModeHandlers(),this.render(),this.bindSearchHandler()},bindSearchHandler:function(){var a=this.$("#media-search-input"),b=this.options.container.data("search"),c=this.browserView.toolbar.get("search").$el,d=this.$(".view-list"),e=_.debounce(function(a){var b=f(a.currentTarget).val(),c="";b&&(c+="?search="+b),this.gridRouter.navigate(this.gridRouter.baseUrl(c))},1e3);a.on("input",_.bind(e,this)),c.val(b).trigger("input"),this.gridRouter.on("route:search",function(){var a=window.location.href;a.indexOf("mode=")>-1?a=a.replace(/mode=[^&]+/g,"mode=list"):a+=a.indexOf("?")>-1?"&mode=list":"?mode=list",a=a.replace("search=","s="),d.prop("href",a)})},createStates:function(){var a=this.options;this.options.states||this.states.add([new e({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,content:"browse",toolbar:"select",contentUserSetting:!1,filterable:"all",autoSelect:!1})])},bindRegionModeHandlers:function(){this.on("content:create:browse",this.browseContent,this),this.on("edit:attachment",this.openEditAttachmentModal,this),this.on("select:activate",this.bindKeydown,this),this.on("select:deactivate",this.unbindKeydown,this)},handleKeydown:function(a){27===a.which&&(a.preventDefault(),this.deactivateMode("select").activateMode("edit"))},bindKeydown:function(){this.$body.on("keydown.select",_.bind(this.handleKeydown,this))},unbindKeydown:function(){this.$body.off("keydown.select")},fixPosition:function(){var a,b;this.isModeActive("select")&&(a=this.$(".attachments-browser"),b=a.find(".media-toolbar"),a.offset().top+16<this.$window.scrollTop()+this.$adminBar.height()?(a.addClass("fixed"),b.css("width",a.width()+"px")):(a.removeClass("fixed"),b.css("width","")))},addNewClickHandler:function(a){a.preventDefault(),this.trigger("toggle:upload:attachment")},openEditAttachmentModal:function(a){wp.media({frame:"edit-attachments",controller:this,library:this.state().get("library"),model:a})},browseContent:function(a){var b=this.state();this.browserView=a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.get("displaySettings"),dragInfo:b.get("dragInfo"),sidebar:"errors",suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView"),scrollElement:document}),this.browserView.on("ready",_.bind(this.bindDeferred,this)),this.errors=wp.Uploader.errors,this.errors.on("add remove reset",this.sidebarVisibility,this)},sidebarVisibility:function(){this.browserView.$(".media-sidebar").toggle(!!this.errors.length)},bindDeferred:function(){this.browserView.dfd&&this.browserView.dfd.done(_.bind(this.startHistory,this))},startHistory:function(){window.history&&window.history.pushState&&Backbone.history.start({root:window._wpMediaGridSettings.adminUrl,pushState:!0})}}),b.exports=c},{}]},{},[2]);
\ No newline at end of file
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.controller.State.extend({defaults:{id:"edit-attachment",title:e.attachmentDetails,content:"edit-metadata",menu:!1,toolbar:!1,router:!1}}),b.exports=d},{}],2:[function(a,b,c){var d=wp.media;d.controller.EditAttachmentMetadata=a("./controllers/edit-attachment-metadata.js"),d.view.MediaFrame.Manage=a("./views/frame/manage.js"),d.view.Attachment.Details.TwoColumn=a("./views/attachment/details-two-column.js"),d.view.MediaFrame.Manage.Router=a("./routers/manage.js"),d.view.EditImage.Details=a("./views/edit-image-details.js"),d.view.MediaFrame.EditAttachments=a("./views/frame/edit-attachments.js"),d.view.SelectModeToggleButton=a("./views/button/select-mode-toggle.js"),d.view.DeleteSelectedButton=a("./views/button/delete-selected.js"),d.view.DeleteSelectedPermanentlyButton=a("./views/button/delete-selected-permanently.js")},{"./controllers/edit-attachment-metadata.js":1,"./routers/manage.js":3,"./views/attachment/details-two-column.js":4,"./views/button/delete-selected-permanently.js":5,"./views/button/delete-selected.js":6,"./views/button/select-mode-toggle.js":7,"./views/edit-image-details.js":8,"./views/frame/edit-attachments.js":9,"./views/frame/manage.js":10}],3:[function(a,b,c){var d=Backbone.Router.extend({routes:{"upload.php?item=:slug":"showItem","upload.php?search=:query":"search"},baseUrl:function(a){return"upload.php"+a},search:function(a){jQuery("#media-search-input").val(a).trigger("input")},showItem:function(a){var b,c=wp.media,d=c.frame.state().get("library");b=d.findWhere({id:parseInt(a,10)}),b?c.frame.trigger("edit:attachment",b):(b=c.attachment(a),c.frame.listenTo(b,"change",function(a){c.frame.stopListening(b),c.frame.trigger("edit:attachment",a)}),b.fetch())}});b.exports=d},{}],4:[function(a,b,c){var d,e=wp.media.view.Attachment.Details;d=e.extend({template:wp.template("attachment-details-two-column"),editAttachment:function(a){a.preventDefault(),this.controller.content.mode("edit-image")},toggleSelectionHandler:function(){},render:function(){e.prototype.render.apply(this,arguments),wp.media.mixin.removeAllPlayers(),this.$("audio, video").each(function(a,b){var c=wp.media.view.MediaDetails.prepareSrc(b);new window.MediaElementPlayer(c,wp.media.mixin.mejsSettings)})}}),b.exports=d},{}],5:[function(a,b,c){var d,e=wp.media.view.Button,f=wp.media.view.DeleteSelectedButton;d=f.extend({initialize:function(){f.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate",this.selectActivate),this.listenTo(this.controller,"select:deactivate",this.selectDeactivate)},filterChange:function(a){this.canShow="trash"===a.get("status")},selectActivate:function(){this.toggleDisabled(),this.$el.toggleClass("hidden",!this.canShow)},selectDeactivate:function(){this.toggleDisabled(),this.$el.addClass("hidden")},render:function(){return e.prototype.render.apply(this,arguments),this.selectActivate(),this}}),b.exports=d},{}],6:[function(a,b,c){var d,e=wp.media.view.Button,f=wp.media.view.l10n;d=e.extend({initialize:function(){e.prototype.initialize.apply(this,arguments),this.options.filters&&this.listenTo(this.options.filters.model,"change",this.filterChange),this.listenTo(this.controller,"selection:toggle",this.toggleDisabled)},filterChange:function(a){"trash"===a.get("status")?this.model.set("text",f.untrashSelected):wp.media.view.settings.mediaTrash?this.model.set("text",f.trashSelected):this.model.set("text",f.deleteSelected)},toggleDisabled:function(){this.model.set("disabled",!this.controller.state().get("selection").length)},render:function(){return e.prototype.render.apply(this,arguments),this.controller.isModeActive("select")?this.$el.addClass("delete-selected-button"):this.$el.addClass("delete-selected-button hidden"),this.toggleDisabled(),this}}),b.exports=d},{}],7:[function(a,b,c){var d,e=wp.media.view.Button,f=wp.media.view.l10n;d=e.extend({initialize:function(){_.defaults(this.options,{size:""}),e.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate select:deactivate",this.toggleBulkEditHandler),this.listenTo(this.controller,"selection:action:done",this.back)},back:function(){this.controller.deactivateMode("select").activateMode("edit")},click:function(){e.prototype.click.apply(this,arguments),this.controller.isModeActive("select")?this.back():this.controller.deactivateMode("edit").activateMode("select")},render:function(){return e.prototype.render.apply(this,arguments),this.$el.addClass("select-mode-toggle-button"),this},toggleBulkEditHandler:function(){var a,b=this.controller.content.get().toolbar;a=b.$(".media-toolbar-secondary > *, .media-toolbar-primary > *"),this.controller.isModeActive("select")?(this.model.set({size:"large",text:f.cancelSelection}),a.not(".spinner, .media-button").hide(),this.$el.show(),b.$(".delete-selected-button").removeClass("hidden")):(this.model.set({size:"",text:f.bulkSelect}),this.controller.content.get().$el.removeClass("fixed"),b.$el.css("width",""),b.$(".delete-selected-button").addClass("hidden"),a.not(".media-button").show(),this.controller.state().get("selection").reset())}}),b.exports=d},{}],8:[function(a,b,c){var d,e=wp.media.View,f=wp.media.view.EditImage;d=f.extend({initialize:function(a){this.editor=window.imageEdit,this.frame=a.frame,this.controller=a.controller,e.prototype.initialize.apply(this,arguments)},back:function(){this.frame.content.mode("edit-metadata")},save:function(){this.model.fetch().done(_.bind(function(){this.frame.content.mode("edit-metadata")},this))}}),b.exports=d},{}],9:[function(a,b,c){var d,e=wp.media.view.Frame,f=wp.media.view.MediaFrame,g=jQuery;d=f.extend({className:"edit-attachment-frame",template:wp.template("edit-attachment-frame"),regions:["title","content"],events:{"click .left":"previousMediaItem","click .right":"nextMediaItem"},initialize:function(){e.prototype.initialize.apply(this,arguments),_.defaults(this.options,{modal:!0,state:"edit-attachment"}),this.controller=this.options.controller,this.gridRouter=this.controller.gridRouter,this.library=this.options.library,this.options.model&&(this.model=this.options.model),this.bindHandlers(),this.createStates(),this.createModal(),this.title.mode("default"),this.toggleNav()},bindHandlers:function(){this.on("title:create:default",this.createTitle,this),this.listenTo(this.model,"change:status destroy",this.close,this),this.on("content:create:edit-metadata",this.editMetadataMode,this),this.on("content:create:edit-image",this.editImageMode,this),this.on("content:render:edit-image",this.editImageModeRender,this),this.on("close",this.detach)},createModal:function(){this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.on("open",_.bind(function(){g("body").on("keydown.media-modal",_.bind(this.keyEvent,this))},this)),this.modal.on("close",_.bind(function(){this.modal.remove(),g("body").off("keydown.media-modal"),g('li.attachment[data-id="'+this.model.get("id")+'"]').focus(),this.resetRoute()},this)),this.modal.content(this),this.modal.open())},createStates:function(){this.states.add([new wp.media.controller.EditAttachmentMetadata({model:this.model})])},editMetadataMode:function(a){a.view=new wp.media.view.Attachment.Details.TwoColumn({controller:this,model:this.model}),a.view.views.set(".attachment-compat",new wp.media.view.AttachmentCompat({controller:this,model:this.model})),this.model&&this.gridRouter.navigate(this.gridRouter.baseUrl("?item="+this.model.id))},editImageMode:function(a){var b=new wp.media.controller.EditImage({model:this.model,frame:this});b._toolbar=function(){},b._router=function(){},b._menu=function(){},a.view=new wp.media.view.EditImage.Details({model:this.model,frame:this,controller:b})},editImageModeRender:function(a){a.on("ready",a.loadEditor)},toggleNav:function(){this.$(".left").toggleClass("disabled",!this.hasPrevious()),this.$(".right").toggleClass("disabled",!this.hasNext())},rerender:function(){"edit-metadata"!==this.content.mode()?this.content.mode("edit-metadata"):this.content.render(),this.toggleNav()},previousMediaItem:function(){return this.hasPrevious()?(this.model=this.library.at(this.getCurrentIndex()-1),this.rerender(),void this.$(".left").focus()):void this.$(".left").blur()},nextMediaItem:function(){return this.hasNext()?(this.model=this.library.at(this.getCurrentIndex()+1),this.rerender(),void this.$(".right").focus()):void this.$(".right").blur()},getCurrentIndex:function(){return this.library.indexOf(this.model)},hasNext:function(){return this.getCurrentIndex()+1<this.library.length},hasPrevious:function(){return this.getCurrentIndex()-1>-1},keyEvent:function(a){("INPUT"!==a.target.nodeName&&"TEXTAREA"!==a.target.nodeName||a.target.readOnly||a.target.disabled)&&(39===a.keyCode&&this.nextMediaItem(),37===a.keyCode&&this.previousMediaItem())},resetRoute:function(){this.gridRouter.navigate(this.gridRouter.baseUrl(""))}}),b.exports=d},{}],10:[function(a,b,c){var d,e=wp.media.view.MediaFrame,f=wp.media.controller.Library,g=Backbone.$;d=e.extend({initialize:function(){_.defaults(this.options,{title:"",modal:!1,selection:[],library:{},multiple:"add",state:"library",uploader:!0,mode:["grid","edit"]}),this.$body=g(document.body),this.$window=g(window),this.$adminBar=g("#wpadminbar"),this.$window.on("scroll resize",_.debounce(_.bind(this.fixPosition,this),15)),g(document).on("click",".page-title-action",_.bind(this.addNewClickHandler,this)),this.$el.addClass("wp-core-ui"),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:document.body,container:document.body}}).render(),this.uploader.ready(),g("body").append(this.uploader.el),this.options.uploader=!1),this.gridRouter=new wp.media.view.MediaFrame.Manage.Router,e.prototype.initialize.apply(this,arguments),this.$el.appendTo(this.options.container),this.createStates(),this.bindRegionModeHandlers(),this.render(),this.bindSearchHandler()},bindSearchHandler:function(){var a=this.$("#media-search-input"),b=this.options.container.data("search"),c=this.browserView.toolbar.get("search").$el,d=this.$(".view-list"),e=_.debounce(function(a){var b=g(a.currentTarget).val(),c="";b&&(c+="?search="+b),this.gridRouter.navigate(this.gridRouter.baseUrl(c))},1e3);a.on("input",_.bind(e,this)),c.val(b).trigger("input"),this.gridRouter.on("route:search",function(){var a=window.location.href;a.indexOf("mode=")>-1?a=a.replace(/mode=[^&]+/g,"mode=list"):a+=a.indexOf("?")>-1?"&mode=list":"?mode=list",a=a.replace("search=","s="),d.prop("href",a)})},createStates:function(){var a=this.options;this.options.states||this.states.add([new f({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,content:"browse",toolbar:"select",contentUserSetting:!1,filterable:"all",autoSelect:!1})])},bindRegionModeHandlers:function(){this.on("content:create:browse",this.browseContent,this),this.on("edit:attachment",this.openEditAttachmentModal,this),this.on("select:activate",this.bindKeydown,this),this.on("select:deactivate",this.unbindKeydown,this)},handleKeydown:function(a){27===a.which&&(a.preventDefault(),this.deactivateMode("select").activateMode("edit"))},bindKeydown:function(){this.$body.on("keydown.select",_.bind(this.handleKeydown,this))},unbindKeydown:function(){this.$body.off("keydown.select")},fixPosition:function(){var a,b;this.isModeActive("select")&&(a=this.$(".attachments-browser"),b=a.find(".media-toolbar"),a.offset().top+16<this.$window.scrollTop()+this.$adminBar.height()?(a.addClass("fixed"),b.css("width",a.width()+"px")):(a.removeClass("fixed"),b.css("width","")))},addNewClickHandler:function(a){a.preventDefault(),this.trigger("toggle:upload:attachment")},openEditAttachmentModal:function(a){wp.media({frame:"edit-attachments",controller:this,library:this.state().get("library"),model:a})},browseContent:function(a){var b=this.state();this.browserView=a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.get("displaySettings"),dragInfo:b.get("dragInfo"),sidebar:"errors",suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView"),scrollElement:document}),this.browserView.on("ready",_.bind(this.bindDeferred,this)),this.errors=wp.Uploader.errors,this.errors.on("add remove reset",this.sidebarVisibility,this)},sidebarVisibility:function(){this.browserView.$(".media-sidebar").toggle(!!this.errors.length)},bindDeferred:function(){this.browserView.dfd&&this.browserView.dfd.done(_.bind(this.startHistory,this))},startHistory:function(){window.history&&window.history.pushState&&Backbone.history.start({root:window._wpMediaGridSettings.adminUrl,pushState:!0})}}),b.exports=d},{}]},{},[2]);
\ No newline at end of file
index 4bc7f61c6538a7c7712c90392769c28d7a1889e6..5cc7597872b9efa8a30a05108c242b42da6e48c7 100644 (file)
@@ -1,6 +1,4 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
 var $ = jQuery,
        Attachment, Attachments, l10n, media;
 
@@ -232,8 +230,6 @@ $(window).on('unload', function(){
 });
 
 },{"./models/attachment.js":2,"./models/attachments.js":3,"./models/post-image.js":4,"./models/query.js":5,"./models/selection.js":6}],2:[function(require,module,exports){
-/*globals wp, _, Backbone */
-
 /**
  * wp.media.model.Attachment
  *
@@ -402,8 +398,6 @@ Attachment = Backbone.Model.extend({
 module.exports = Attachment;
 
 },{}],3:[function(require,module,exports){
-/*globals wp, _, Backbone */
-
 /**
  * wp.media.model.Attachments
  *
@@ -895,8 +889,23 @@ var Attachments = Backbone.Collection.extend({
                 * @returns {Boolean}
                 */
                type: function( attachment ) {
-                       var type = this.props.get('type');
-                       return ! type || -1 !== type.indexOf( attachment.get('type') );
+                       var type = this.props.get('type'), atts = attachment.toJSON(), mime, found;
+
+                       if ( ! type || ( _.isArray( type ) && ! type.length ) ) {
+                               return true;
+                       }
+
+                       mime = atts.mime || ( atts.file && atts.file.type ) || '';
+
+                       if ( _.isArray( type ) ) {
+                               found = _.find( type, function (t) {
+                                       return -1 !== mime.indexOf( t );
+                               } );
+                       } else {
+                               found = -1 !== mime.indexOf( type );
+                       }
+
+                       return found;
                },
                /**
                 * @static
@@ -936,8 +945,6 @@ var Attachments = Backbone.Collection.extend({
 module.exports = Attachments;
 
 },{}],4:[function(require,module,exports){
-/*globals Backbone */
-
 /**
  * wp.media.model.PostImage
  *
@@ -1092,8 +1099,6 @@ var PostImage = Backbone.Model.extend({
 module.exports = PostImage;
 
 },{}],5:[function(require,module,exports){
-/*globals wp, _ */
-
 /**
  * wp.media.model.Query
  *
@@ -1402,8 +1407,6 @@ Query = Attachments.extend({
 module.exports = Query;
 
 },{}],6:[function(require,module,exports){
-/*globals wp, _ */
-
 /**
  * wp.media.model.Selection
  *
index b419a92ac2118321cf9e906bf350666ffe84b30a..5d919e5ce2d3475678654ff697525a6d9a1d3872 100644 (file)
@@ -1 +1 @@
-!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a){var b,c,d,e,f=jQuery;window.wp=window.wp||{},e=wp.media=function(a){var b,c=e.view.MediaFrame;if(c)return a=_.defaults(a||{},{frame:"select"}),"select"===a.frame&&c.Select?b=new c.Select(a):"post"===a.frame&&c.Post?b=new c.Post(a):"manage"===a.frame&&c.Manage?b=new c.Manage(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails?b=new c.VideoDetails(a):"edit-attachments"===a.frame&&c.EditAttachments&&(b=new c.EditAttachments(a)),delete a.frame,e.frame=b,b},_.extend(e,{model:{},view:{},controller:{},frames:{}}),d=e.model.l10n=window._wpMediaModelsL10n||{},e.model.settings=d.settings||{},delete d.settings,b=e.model.Attachment=a("./models/attachment.js"),c=e.model.Attachments=a("./models/attachments.js"),e.model.Query=a("./models/query.js"),e.model.PostImage=a("./models/post-image.js"),e.model.Selection=a("./models/selection.js"),e.compare=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(e,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"&hellip;",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),e.attachment=function(a){return b.get(a)},c.all=new c,e.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},f(window).on("unload",function(){window.wp=null})},{"./models/attachment.js":2,"./models/attachments.js":3,"./models/post-image.js":4,"./models/query.js":5,"./models/selection.js":6}],2:[function(a,b){var c,d=Backbone.$;c=Backbone.Model.extend({sync:function(a,b,c){return _.isUndefined(this.id)?d.Deferred().rejectWith(this).promise():"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-attachment",id:this.id}),wp.media.ajax(c)):"update"===a?this.get("nonces")&&this.get("nonces").update?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id}),b.hasChanged()&&(c.data.changes={},_.each(b.changed,function(a,b){c.data.changes[b]=this.get(b)},this)),wp.media.ajax(c)):d.Deferred().rejectWith(this).promise():"delete"===a?(c=c||{},c.wait||(this.destroyed=!0),c.context=this,c.data=_.extend(c.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),wp.media.ajax(c).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(a,b){var c=this;return this.get("nonces")&&this.get("nonces").update?wp.media.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id},a)).done(function(a,d,e){c.set(c.parse(a,e),b)}):d.Deferred().rejectWith(this).promise()}},{create:function(a){var b=wp.media.model.Attachments;return b.all.push(a)},get:_.memoize(function(a,b){var c=wp.media.model.Attachments;return c.all.push(b||{id:a})})}),b.exports=c},{}],3:[function(a,b){var c=Backbone.Collection.extend({model:wp.media.model.Attachment,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!this.validateDestroyed&&a.destroyed?!1:_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(a){var b=jQuery.Deferred(),c=this.mirroring,d=this;return c&&c.more?(c.more(a).done(function(){this===d.mirroring&&b.resolveWith(this)}),b.promise()):b.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,b){return _.isArray(a)||(a=[a]),_.map(a,function(a){var c,d,e;return a instanceof Backbone.Model?(c=a.get("id"),a=a.attributes):c=a.id,d=wp.media.model.Attachment.get(c),e=d.parse(a,b),_.isEqual(d.attributes,e)||d.set(e),d})},_requery:function(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(wp.media.model.Query.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return wp.media.post("save-attachment-order",{nonce:wp.media.model.settings.post.nonce,post_id:wp.media.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",f=a.cid,g=b.cid;return a=a.get(d),b=b.get(d),("date"===d||"modified"===d)&&(a=a||new Date,b=b||new Date),c&&c.ties&&(f=g=null),"DESC"===e?wp.media.compare(a,b,f,g):wp.media.compare(b,a,g,f)},filters:{search:function(a){return this.props.get("search")?_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this):!0},type:function(a){var b=this.props.get("type");return!b||-1!==b.indexOf(a.get("type"))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return _.isUndefined(b)?!0:b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return _.isUndefined(b)?!0:b===a.get("status")}}});b.exports=c},{}],4:[function(a,b){var c=Backbone.Model.extend({initialize:function(a){var b=wp.media.model.Attachment;this.attachment=!1,a.attachment_id&&(this.attachment=b.get(a.attachment_id),this.attachment.get("url")?(this.dfd=jQuery.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",a.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}});b.exports=c},{}],5:[function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){var c;b=b||{},d.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return this.comparator?this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b?0===a.get(b):!1:a.get(b)>=this.created:!0},c=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(c).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(a){var b=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(a=a||{},a.remove=!1,this._more=this.fetch(a).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(b._hasMore=!1)})):jQuery.Deferred().resolveWith(this).promise()},sync:function(a,b,c){var e,f;return"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"query-attachments",post_id:wp.media.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.round(this.length/e.posts_per_page)+1),c.data.query=e,wp.media.ajax(c)):(f=d.prototype.sync?d.prototype:Backbone,f.sync.apply(this,arguments))}},{defaultProps:{orderby:"date",order:"DESC"},defaultArgs:{posts_per_page:40},orderby:{allowed:["name","author","date","title","modified","uploadedTo","id","post__in","menuOrder"],valuemap:{id:"ID",uploadedTo:"parent",menuOrder:"menu_order ID"}},propmap:{search:"s",type:"post_mime_type",perPage:"posts_per_page",menuOrder:"menu_order",uploadedTo:"post_parent",status:"post_status",include:"post__in",exclude:"post__not_in"},get:function(){var a=[];return function(b,d){var e,f={},g=c.orderby,h=c.defaultProps,i=!!b.cache||_.isUndefined(b.cache);return delete b.query,delete b.cache,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(["include","exclude"],function(a){b[a]&&!_.isArray(b[a])&&(b[a]=[b[a]])}),_.each(b,function(a,b){_.isNull(a)||(f[c.propmap[b]||b]=a)}),_.defaults(f,c.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,i?e=_.find(a,function(a){return _.isEqual(a.args,f)}):a=[],e||(e=new c([],_.extend(d||{},{props:b,args:f})),a.push(e)),e}}()}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){d.prototype.initialize.apply(this,arguments),this.multiple=b&&b.multiple,this.on("add remove reset",_.bind(this.single,this,!1))},add:function(a,b){return this.multiple||this.remove(this.models),d.prototype.add.call(this,a,b)},single:function(a){var b=this._single;return a&&(this._single=a),this._single&&!this.get(this._single.cid)&&delete this._single,this._single=this._single||this.last(),this._single!==b&&(b&&(b.trigger("selection:unsingle",b,this),this.get(b.cid)||this.trigger("selection:unsingle",b,this)),this._single&&this._single.trigger("selection:single",this._single,this)),this._single}}),b.exports=c},{}]},{},[1]);
\ No newline at end of file
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){var d,e,f,g,h=jQuery;window.wp=window.wp||{},g=wp.media=function(a){var b,c=g.view.MediaFrame;if(c)return a=_.defaults(a||{},{frame:"select"}),"select"===a.frame&&c.Select?b=new c.Select(a):"post"===a.frame&&c.Post?b=new c.Post(a):"manage"===a.frame&&c.Manage?b=new c.Manage(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails?b=new c.VideoDetails(a):"edit-attachments"===a.frame&&c.EditAttachments&&(b=new c.EditAttachments(a)),delete a.frame,g.frame=b,b},_.extend(g,{model:{},view:{},controller:{},frames:{}}),f=g.model.l10n=window._wpMediaModelsL10n||{},g.model.settings=f.settings||{},delete f.settings,d=g.model.Attachment=a("./models/attachment.js"),e=g.model.Attachments=a("./models/attachments.js"),g.model.Query=a("./models/query.js"),g.model.PostImage=a("./models/post-image.js"),g.model.Selection=a("./models/selection.js"),g.compare=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(g,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"&hellip;",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),g.attachment=function(a){return d.get(a)},e.all=new e,g.query=function(a){return new e(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},h(window).on("unload",function(){window.wp=null})},{"./models/attachment.js":2,"./models/attachments.js":3,"./models/post-image.js":4,"./models/query.js":5,"./models/selection.js":6}],2:[function(a,b,c){var d,e=Backbone.$;d=Backbone.Model.extend({sync:function(a,b,c){return _.isUndefined(this.id)?e.Deferred().rejectWith(this).promise():"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-attachment",id:this.id}),wp.media.ajax(c)):"update"===a?this.get("nonces")&&this.get("nonces").update?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id}),b.hasChanged()&&(c.data.changes={},_.each(b.changed,function(a,b){c.data.changes[b]=this.get(b)},this)),wp.media.ajax(c)):e.Deferred().rejectWith(this).promise():"delete"===a?(c=c||{},c.wait||(this.destroyed=!0),c.context=this,c.data=_.extend(c.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),wp.media.ajax(c).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(a,b){var c=this;return this.get("nonces")&&this.get("nonces").update?wp.media.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id},a)).done(function(a,d,e){c.set(c.parse(a,e),b)}):e.Deferred().rejectWith(this).promise()}},{create:function(a){var b=wp.media.model.Attachments;return b.all.push(a)},get:_.memoize(function(a,b){var c=wp.media.model.Attachments;return c.all.push(b||{id:a})})}),b.exports=d},{}],3:[function(a,b,c){var d=Backbone.Collection.extend({model:wp.media.model.Attachment,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==d.comparator||(b&&"post__in"!==b?this.comparator=d.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,c){var e=d.filters[c],f=a.get(c);if(e){if(f&&!this.filters[c])this.filters[c]=e;else{if(f||this.filters[c]!==e)return;delete this.filters[c]}return!0}},this).any().value();b&&(this._source||(this._source=new d(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!this.validateDestroyed&&a.destroyed?!1:_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(a){var b=jQuery.Deferred(),c=this.mirroring,d=this;return c&&c.more?(c.more(a).done(function(){this===d.mirroring&&b.resolveWith(this)}),b.promise()):b.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,b){return _.isArray(a)||(a=[a]),_.map(a,function(a){var c,d,e;return a instanceof Backbone.Model?(c=a.get("id"),a=a.attributes):c=a.id,d=wp.media.model.Attachment.get(c),e=d.parse(a,b),_.isEqual(d.attributes,e)||d.set(e),d})},_requery:function(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(wp.media.model.Query.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return wp.media.post("save-attachment-order",{nonce:wp.media.model.settings.post.nonce,post_id:wp.media.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",f=a.cid,g=b.cid;return a=a.get(d),b=b.get(d),("date"===d||"modified"===d)&&(a=a||new Date,b=b||new Date),c&&c.ties&&(f=g=null),"DESC"===e?wp.media.compare(a,b,f,g):wp.media.compare(b,a,g,f)},filters:{search:function(a){return this.props.get("search")?_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this):!0},type:function(a){var b,c,d=this.props.get("type"),e=a.toJSON();return!d||_.isArray(d)&&!d.length?!0:(b=e.mime||e.file&&e.file.type||"",c=_.isArray(d)?_.find(d,function(a){return-1!==b.indexOf(a)}):-1!==b.indexOf(d))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return _.isUndefined(b)?!0:b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return _.isUndefined(b)?!0:b===a.get("status")}}});b.exports=d},{}],4:[function(a,b,c){var d=Backbone.Model.extend({initialize:function(a){var b=wp.media.model.Attachment;this.attachment=!1,a.attachment_id&&(this.attachment=b.get(a.attachment_id),this.attachment.get("url")?(this.dfd=jQuery.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",a.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}});b.exports=d},{}],5:[function(a,b,c){var d,e=wp.media.model.Attachments;d=e.extend({initialize:function(a,b){var c;b=b||{},e.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return this.comparator?this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b?0===a.get(b):!1:a.get(b)>=this.created:!0},c=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(c).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(a){var b=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(a=a||{},a.remove=!1,this._more=this.fetch(a).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(b._hasMore=!1)})):jQuery.Deferred().resolveWith(this).promise()},sync:function(a,b,c){var d,f;return"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"query-attachments",post_id:wp.media.model.settings.post.id}),d=_.clone(this.args),-1!==d.posts_per_page&&(d.paged=Math.round(this.length/d.posts_per_page)+1),c.data.query=d,wp.media.ajax(c)):(f=e.prototype.sync?e.prototype:Backbone,f.sync.apply(this,arguments))}},{defaultProps:{orderby:"date",order:"DESC"},defaultArgs:{posts_per_page:40},orderby:{allowed:["name","author","date","title","modified","uploadedTo","id","post__in","menuOrder"],valuemap:{id:"ID",uploadedTo:"parent",menuOrder:"menu_order ID"}},propmap:{search:"s",type:"post_mime_type",perPage:"posts_per_page",menuOrder:"menu_order",uploadedTo:"post_parent",status:"post_status",include:"post__in",exclude:"post__not_in"},get:function(){var a=[];return function(b,c){var e,f={},g=d.orderby,h=d.defaultProps,i=!!b.cache||_.isUndefined(b.cache);return delete b.query,delete b.cache,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(["include","exclude"],function(a){b[a]&&!_.isArray(b[a])&&(b[a]=[b[a]])}),_.each(b,function(a,b){_.isNull(a)||(f[d.propmap[b]||b]=a)}),_.defaults(f,d.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,i?e=_.find(a,function(a){return _.isEqual(a.args,f)}):a=[],e||(e=new d([],_.extend(c||{},{props:b,args:f})),a.push(e)),e}}()}),b.exports=d},{}],6:[function(a,b,c){var d,e=wp.media.model.Attachments;d=e.extend({initialize:function(a,b){e.prototype.initialize.apply(this,arguments),this.multiple=b&&b.multiple,this.on("add remove reset",_.bind(this.single,this,!1))},add:function(a,b){return this.multiple||this.remove(this.models),e.prototype.add.call(this,a,b)},single:function(a){var b=this._single;return a&&(this._single=a),this._single&&!this.get(this._single.cid)&&delete this._single,this._single=this._single||this.last(),this._single!==b&&(b&&(b.trigger("selection:unsingle",b,this),this.get(b.cid)||this.trigger("selection:unsingle",b,this)),this._single&&this._single.trigger("selection:single",this._single,this)),this._single}}),b.exports=d},{}]},{},[1]);
\ No newline at end of file
index 605459f4a9b9a0053d8461cdd17cc4c92bbe4b7c..0f53b0a8c4eabcb53fe3842b3e6bc44f9ce83a40 100644 (file)
@@ -1,6 +1,4 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-/*globals wp, _ */
-
 /**
  * wp.media.controller.CollectionAdd
  *
@@ -102,8 +100,6 @@ CollectionAdd = Library.extend({
 module.exports = CollectionAdd;
 
 },{}],2:[function(require,module,exports){
-/*globals wp, Backbone */
-
 /**
  * wp.media.controller.CollectionEdit
  *
@@ -266,8 +262,6 @@ CollectionEdit = Library.extend({
 module.exports = CollectionEdit;
 
 },{}],3:[function(require,module,exports){
-/*globals wp, _, Backbone */
-
 /**
  * wp.media.controller.Cropper
  *
@@ -384,8 +378,40 @@ Cropper = wp.media.controller.State.extend({
 module.exports = Cropper;
 
 },{}],4:[function(require,module,exports){
-/*globals wp */
+/**
+ * wp.media.controller.CustomizeImageCropper
+ *
+ * A state for cropping an image.
+ *
+ * @class
+ * @augments wp.media.controller.Cropper
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ */
+var Controller = wp.media.controller,
+       CustomizeImageCropper;
+
+CustomizeImageCropper = Controller.Cropper.extend({
+       doCrop: function( attachment ) {
+               var cropDetails = attachment.get( 'cropDetails' ),
+                       control = this.get( 'control' );
+
+               cropDetails.dst_width  = control.params.width;
+               cropDetails.dst_height = control.params.height;
+
+               return wp.ajax.post( 'crop-image', {
+                       wp_customize: 'on',
+                       nonce: attachment.get( 'nonces' ).edit,
+                       id: attachment.get( 'id' ),
+                       context: control.id,
+                       cropDetails: cropDetails
+               } );
+       }
+});
+
+module.exports = CustomizeImageCropper;
 
+},{}],5:[function(require,module,exports){
 /**
  * wp.media.controller.EditImage
  *
@@ -461,9 +487,7 @@ EditImage = wp.media.controller.State.extend({
 
 module.exports = EditImage;
 
-},{}],5:[function(require,module,exports){
-/*globals wp, _, Backbone */
-
+},{}],6:[function(require,module,exports){
 /**
  * wp.media.controller.Embed
  *
@@ -503,7 +527,7 @@ Embed = wp.media.controller.State.extend({
        },
 
        // The amount of time used when debouncing the scan.
-       sensitivity: 200,
+       sensitivity: 400,
 
        initialize: function(options) {
                this.metadata = options.metadata;
@@ -599,9 +623,7 @@ Embed = wp.media.controller.State.extend({
 
 module.exports = Embed;
 
-},{}],6:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],7:[function(require,module,exports){
 /**
  * wp.media.controller.FeaturedImage
  *
@@ -723,9 +745,7 @@ FeaturedImage = Library.extend({
 
 module.exports = FeaturedImage;
 
-},{}],7:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],8:[function(require,module,exports){
 /**
  * wp.media.controller.GalleryAdd
  *
@@ -816,9 +836,7 @@ GalleryAdd = Library.extend({
 
 module.exports = GalleryAdd;
 
-},{}],8:[function(require,module,exports){
-/*globals wp */
-
+},{}],9:[function(require,module,exports){
 /**
  * wp.media.controller.GalleryEdit
  *
@@ -960,9 +978,7 @@ GalleryEdit = Library.extend({
 
 module.exports = GalleryEdit;
 
-},{}],9:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],10:[function(require,module,exports){
 /**
  * wp.media.controller.ImageDetails
  *
@@ -1024,9 +1040,7 @@ ImageDetails = State.extend({
 
 module.exports = ImageDetails;
 
-},{}],10:[function(require,module,exports){
-/*globals wp, _, Backbone */
-
+},{}],11:[function(require,module,exports){
 /**
  * wp.media.controller.Library
  *
@@ -1298,9 +1312,7 @@ _.extend( Library.prototype, wp.media.selectionSync );
 
 module.exports = Library;
 
-},{}],11:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],12:[function(require,module,exports){
 /**
  * wp.media.controller.MediaLibrary
  *
@@ -1350,9 +1362,7 @@ MediaLibrary = Library.extend({
 
 module.exports = MediaLibrary;
 
-},{}],12:[function(require,module,exports){
-/*globals Backbone, _ */
-
+},{}],13:[function(require,module,exports){
 /**
  * wp.media.controller.Region
  *
@@ -1531,9 +1541,7 @@ _.extend( Region.prototype, {
 
 module.exports = Region;
 
-},{}],13:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],14:[function(require,module,exports){
 /**
  * wp.media.controller.ReplaceImage
  *
@@ -1641,9 +1649,56 @@ ReplaceImage = Library.extend({
 
 module.exports = ReplaceImage;
 
-},{}],14:[function(require,module,exports){
-/*globals _, Backbone */
+},{}],15:[function(require,module,exports){
+/**
+ * wp.media.controller.SiteIconCropper
+ *
+ * A state for cropping a Site Icon.
+ *
+ * @class
+ * @augments wp.media.controller.Cropper
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ */
+var Controller = wp.media.controller,
+       SiteIconCropper;
 
+SiteIconCropper = Controller.Cropper.extend({
+       activate: function() {
+               this.frame.on( 'content:create:crop', this.createCropContent, this );
+               this.frame.on( 'close', this.removeCropper, this );
+               this.set('selection', new Backbone.Collection(this.frame._selection.single));
+       },
+
+       createCropContent: function() {
+               this.cropperView = new wp.media.view.SiteIconCropper({
+                       controller: this,
+                       attachment: this.get('selection').first()
+               });
+               this.cropperView.on('image-loaded', this.createCropToolbar, this);
+               this.frame.content.set(this.cropperView);
+
+       },
+
+       doCrop: function( attachment ) {
+               var cropDetails = attachment.get( 'cropDetails' ),
+                       control = this.get( 'control' );
+
+               cropDetails.dst_width  = control.params.width;
+               cropDetails.dst_height = control.params.height;
+
+               return wp.ajax.post( 'crop-image', {
+                       nonce: attachment.get( 'nonces' ).edit,
+                       id: attachment.get( 'id' ),
+                       context: 'site-icon',
+                       cropDetails: cropDetails
+               } );
+       }
+});
+
+module.exports = SiteIconCropper;
+
+},{}],16:[function(require,module,exports){
 /**
  * wp.media.controller.StateMachine
  *
@@ -1767,9 +1822,7 @@ _.each([ 'on', 'off', 'trigger' ], function( method ) {
 
 module.exports = StateMachine;
 
-},{}],15:[function(require,module,exports){
-/*globals _, Backbone */
-
+},{}],17:[function(require,module,exports){
 /**
  * wp.media.controller.State
  *
@@ -2010,9 +2063,7 @@ _.each(['toolbar','content'], function( region ) {
 
 module.exports = State;
 
-},{}],16:[function(require,module,exports){
-/*globals _ */
-
+},{}],18:[function(require,module,exports){
 /**
  * wp.media.selectionSync
  *
@@ -2078,9 +2129,7 @@ var selectionSync = {
 
 module.exports = selectionSync;
 
-},{}],17:[function(require,module,exports){
-/*globals wp, jQuery, _, Backbone */
-
+},{}],19:[function(require,module,exports){
 var media = wp.media,
        $ = jQuery,
        l10n;
@@ -2171,6 +2220,8 @@ media.controller.EditImage = require( './controllers/edit-image.js' );
 media.controller.MediaLibrary = require( './controllers/media-library.js' );
 media.controller.Embed = require( './controllers/embed.js' );
 media.controller.Cropper = require( './controllers/cropper.js' );
+media.controller.CustomizeImageCropper = require( './controllers/customize-image-cropper.js' );
+media.controller.SiteIconCropper = require( './controllers/site-icon-cropper.js' );
 
 media.View = require( './views/view.js' );
 media.view.Frame = require( './views/frame.js' );
@@ -2224,12 +2275,12 @@ media.view.EmbedLink = require( './views/embed/link.js' );
 media.view.EmbedImage = require( './views/embed/image.js' );
 media.view.ImageDetails = require( './views/image-details.js' );
 media.view.Cropper = require( './views/cropper.js' );
+media.view.SiteIconCropper = require( './views/site-icon-cropper.js' );
+media.view.SiteIconPreview = require( './views/site-icon-preview.js' );
 media.view.EditImage = require( './views/edit-image.js' );
 media.view.Spinner = require( './views/spinner.js' );
 
-},{"./controllers/collection-add.js":1,"./controllers/collection-edit.js":2,"./controllers/cropper.js":3,"./controllers/edit-image.js":4,"./controllers/embed.js":5,"./controllers/featured-image.js":6,"./controllers/gallery-add.js":7,"./controllers/gallery-edit.js":8,"./controllers/image-details.js":9,"./controllers/library.js":10,"./controllers/media-library.js":11,"./controllers/region.js":12,"./controllers/replace-image.js":13,"./controllers/state-machine.js":14,"./controllers/state.js":15,"./utils/selection-sync.js":16,"./views/attachment-compat.js":18,"./views/attachment-filters.js":19,"./views/attachment-filters/all.js":20,"./views/attachment-filters/date.js":21,"./views/attachment-filters/uploaded.js":22,"./views/attachment.js":23,"./views/attachment/details.js":24,"./views/attachment/edit-library.js":25,"./views/attachment/edit-selection.js":26,"./views/attachment/library.js":27,"./views/attachment/selection.js":28,"./views/attachments.js":29,"./views/attachments/browser.js":30,"./views/attachments/selection.js":31,"./views/button-group.js":32,"./views/button.js":33,"./views/cropper.js":34,"./views/edit-image.js":35,"./views/embed.js":36,"./views/embed/image.js":37,"./views/embed/link.js":38,"./views/embed/url.js":39,"./views/focus-manager.js":40,"./views/frame.js":41,"./views/frame/image-details.js":42,"./views/frame/post.js":43,"./views/frame/select.js":44,"./views/iframe.js":45,"./views/image-details.js":46,"./views/label.js":47,"./views/media-frame.js":48,"./views/menu-item.js":49,"./views/menu.js":50,"./views/modal.js":51,"./views/priority-list.js":52,"./views/router-item.js":53,"./views/router.js":54,"./views/search.js":55,"./views/selection.js":56,"./views/settings.js":57,"./views/settings/attachment-display.js":58,"./views/settings/gallery.js":59,"./views/settings/playlist.js":60,"./views/sidebar.js":61,"./views/spinner.js":62,"./views/toolbar.js":63,"./views/toolbar/embed.js":64,"./views/toolbar/select.js":65,"./views/uploader/editor.js":66,"./views/uploader/inline.js":67,"./views/uploader/status-error.js":68,"./views/uploader/status.js":69,"./views/uploader/window.js":70,"./views/view.js":71}],18:[function(require,module,exports){
-/*globals _ */
-
+},{"./controllers/collection-add.js":1,"./controllers/collection-edit.js":2,"./controllers/cropper.js":3,"./controllers/customize-image-cropper.js":4,"./controllers/edit-image.js":5,"./controllers/embed.js":6,"./controllers/featured-image.js":7,"./controllers/gallery-add.js":8,"./controllers/gallery-edit.js":9,"./controllers/image-details.js":10,"./controllers/library.js":11,"./controllers/media-library.js":12,"./controllers/region.js":13,"./controllers/replace-image.js":14,"./controllers/site-icon-cropper.js":15,"./controllers/state-machine.js":16,"./controllers/state.js":17,"./utils/selection-sync.js":18,"./views/attachment-compat.js":20,"./views/attachment-filters.js":21,"./views/attachment-filters/all.js":22,"./views/attachment-filters/date.js":23,"./views/attachment-filters/uploaded.js":24,"./views/attachment.js":25,"./views/attachment/details.js":26,"./views/attachment/edit-library.js":27,"./views/attachment/edit-selection.js":28,"./views/attachment/library.js":29,"./views/attachment/selection.js":30,"./views/attachments.js":31,"./views/attachments/browser.js":32,"./views/attachments/selection.js":33,"./views/button-group.js":34,"./views/button.js":35,"./views/cropper.js":36,"./views/edit-image.js":37,"./views/embed.js":38,"./views/embed/image.js":39,"./views/embed/link.js":40,"./views/embed/url.js":41,"./views/focus-manager.js":42,"./views/frame.js":43,"./views/frame/image-details.js":44,"./views/frame/post.js":45,"./views/frame/select.js":46,"./views/iframe.js":47,"./views/image-details.js":48,"./views/label.js":49,"./views/media-frame.js":50,"./views/menu-item.js":51,"./views/menu.js":52,"./views/modal.js":53,"./views/priority-list.js":54,"./views/router-item.js":55,"./views/router.js":56,"./views/search.js":57,"./views/selection.js":58,"./views/settings.js":59,"./views/settings/attachment-display.js":60,"./views/settings/gallery.js":61,"./views/settings/playlist.js":62,"./views/sidebar.js":63,"./views/site-icon-cropper.js":64,"./views/site-icon-preview.js":65,"./views/spinner.js":66,"./views/toolbar.js":67,"./views/toolbar/embed.js":68,"./views/toolbar/select.js":69,"./views/uploader/editor.js":70,"./views/uploader/inline.js":71,"./views/uploader/status-error.js":72,"./views/uploader/status.js":73,"./views/uploader/window.js":74,"./views/view.js":75}],20:[function(require,module,exports){
 /**
  * wp.media.view.AttachmentCompat
  *
@@ -2314,9 +2365,7 @@ AttachmentCompat = View.extend({
 
 module.exports = AttachmentCompat;
 
-},{}],19:[function(require,module,exports){
-/*globals _, jQuery */
-
+},{}],21:[function(require,module,exports){
 /**
  * wp.media.view.AttachmentFilters
  *
@@ -2393,9 +2442,7 @@ AttachmentFilters = wp.media.View.extend({
 
 module.exports = AttachmentFilters;
 
-},{}],20:[function(require,module,exports){
-/*globals wp */
-
+},{}],22:[function(require,module,exports){
 /**
  * wp.media.view.AttachmentFilters.All
  *
@@ -2485,9 +2532,7 @@ All = wp.media.view.AttachmentFilters.extend({
 
 module.exports = All;
 
-},{}],21:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],23:[function(require,module,exports){
 /**
  * A filter dropdown for month/dates.
  *
@@ -2528,9 +2573,7 @@ DateFilter = wp.media.view.AttachmentFilters.extend({
 
 module.exports = DateFilter;
 
-},{}],22:[function(require,module,exports){
-/*globals wp */
-
+},{}],24:[function(require,module,exports){
 /**
  * wp.media.view.AttachmentFilters.Uploaded
  *
@@ -2589,9 +2632,7 @@ Uploaded = wp.media.view.AttachmentFilters.extend({
 
 module.exports = Uploaded;
 
-},{}],23:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],25:[function(require,module,exports){
 /**
  * wp.media.view.Attachment
  *
@@ -2625,10 +2666,8 @@ Attachment = View.extend({
                'change [data-setting] input':    'updateSetting',
                'change [data-setting] select':   'updateSetting',
                'change [data-setting] textarea': 'updateSetting',
-               'click .close':                   'removeFromLibrary',
+               'click .attachment-close':        'removeFromLibrary',
                'click .check':                   'checkClickHandler',
-               'click a':                        'preventDefault',
-               'keydown .close':                 'removeFromLibrary',
                'keydown':                        'toggleSelectionHandler'
        },
 
@@ -2756,8 +2795,8 @@ Attachment = View.extend({
        toggleSelectionHandler: function( event ) {
                var method;
 
-               // Don't do anything inside inputs.
-               if ( 'INPUT' === event.target.nodeName ) {
+               // Don't do anything inside inputs and on the attachment check and remove buttons.
+               if ( 'INPUT' === event.target.nodeName || 'BUTTON' === event.target.nodeName ) {
                        return;
                }
 
@@ -2942,12 +2981,6 @@ Attachment = View.extend({
                details = selection.single();
                this.$el.toggleClass( 'details', details === this.model );
        },
-       /**
-        * @param {Object} event
-        */
-       preventDefault: function( event ) {
-               event.preventDefault();
-       },
        /**
         * @param {string} size
         * @returns {Object}
@@ -3145,9 +3178,7 @@ _.each({
 
 module.exports = Attachment;
 
-},{}],24:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],26:[function(require,module,exports){
 /**
  * wp.media.view.Attachment.Details
  *
@@ -3182,7 +3213,6 @@ Details = Attachment.extend({
                'click .trash-attachment':        'trashAttachment',
                'click .untrash-attachment':      'untrashAttachment',
                'click .edit-attachment':         'editAttachment',
-               'click .refresh-attachment':      'refreshAttachment',
                'keydown':                        'toggleSelectionHandler'
        },
 
@@ -3198,7 +3228,14 @@ Details = Attachment.extend({
 
        initialFocus: function() {
                if ( ! wp.media.isTouchDevice ) {
-                       this.$( ':input' ).eq( 0 ).focus();
+                       /*
+                       Previously focused the first ':input' (the readonly URL text field).
+                       Since the first ':input' is now a button (delete/trash): when pressing
+                       spacebar on an attachment, Firefox fires deleteAttachment/trashAttachment
+                       as soon as focus is moved. Explicitly target the first text field for now.
+                       @todo change initial focus logic, also for accessibility.
+                       */
+                       this.$( 'input[type="text"]' ).eq( 0 ).focus();
                }
        },
        /**
@@ -3258,14 +3295,6 @@ Details = Attachment.extend({
                        this.$el.addClass('needs-refresh');
                }
        },
-       /**
-        * @param {Object} event
-        */
-       refreshAttachment: function( event ) {
-               this.$el.removeClass('needs-refresh');
-               event.preventDefault();
-               this.model.fetch();
-       },
        /**
         * When reverse tabbing(shift+tab) out of the right details panel, deliver
         * the focus to the item in the list that was being edited.
@@ -3287,9 +3316,7 @@ Details = Attachment.extend({
 
 module.exports = Details;
 
-},{}],25:[function(require,module,exports){
-/*globals wp */
-
+},{}],27:[function(require,module,exports){
 /**
  * wp.media.view.Attachment.EditLibrary
  *
@@ -3307,9 +3334,7 @@ var EditLibrary = wp.media.view.Attachment.extend({
 
 module.exports = EditLibrary;
 
-},{}],26:[function(require,module,exports){
-/*globals wp */
-
+},{}],28:[function(require,module,exports){
 /**
  * wp.media.view.Attachments.EditSelection
  *
@@ -3328,9 +3353,7 @@ var EditSelection = wp.media.view.Attachment.Selection.extend({
 
 module.exports = EditSelection;
 
-},{}],27:[function(require,module,exports){
-/*globals wp */
-
+},{}],29:[function(require,module,exports){
 /**
  * wp.media.view.Attachment.Library
  *
@@ -3348,9 +3371,7 @@ var Library = wp.media.view.Attachment.extend({
 
 module.exports = Library;
 
-},{}],28:[function(require,module,exports){
-/*globals wp */
-
+},{}],30:[function(require,module,exports){
 /**
  * wp.media.view.Attachment.Selection
  *
@@ -3372,9 +3393,7 @@ var Selection = wp.media.view.Attachment.extend({
 
 module.exports = Selection;
 
-},{}],29:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],31:[function(require,module,exports){
 /**
  * wp.media.view.Attachments
  *
@@ -3673,9 +3692,7 @@ Attachments = View.extend({
 
 module.exports = Attachments;
 
-},{}],30:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],32:[function(require,module,exports){
 /**
  * wp.media.view.AttachmentsBrowser
  *
@@ -4119,9 +4136,7 @@ AttachmentsBrowser = View.extend({
 
 module.exports = AttachmentsBrowser;
 
-},{}],31:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],33:[function(require,module,exports){
 /**
  * wp.media.view.Attachments.Selection
  *
@@ -4151,9 +4166,7 @@ Selection = Attachments.extend({
 
 module.exports = Selection;
 
-},{}],32:[function(require,module,exports){
-/*globals _, Backbone */
-
+},{}],34:[function(require,module,exports){
 /**
  * wp.media.view.ButtonGroup
  *
@@ -4199,9 +4212,7 @@ ButtonGroup = wp.media.View.extend({
 
 module.exports = ButtonGroup;
 
-},{}],33:[function(require,module,exports){
-/*globals _, Backbone */
-
+},{}],35:[function(require,module,exports){
 /**
  * wp.media.view.Button
  *
@@ -4211,9 +4222,9 @@ module.exports = ButtonGroup;
  * @augments Backbone.View
  */
 var Button = wp.media.View.extend({
-       tagName:    'a',
+       tagName:    'button',
        className:  'media-button',
-       attributes: { href: '#' },
+       attributes: { type: 'button' },
 
        events: {
                'click': 'click'
@@ -4287,9 +4298,7 @@ var Button = wp.media.View.extend({
 
 module.exports = Button;
 
-},{}],34:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],36:[function(require,module,exports){
 /**
  * wp.media.view.Cropper
  *
@@ -4356,9 +4365,7 @@ Cropper = View.extend({
 
 module.exports = Cropper;
 
-},{}],35:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],37:[function(require,module,exports){
 /**
  * wp.media.view.EditImage
  *
@@ -4414,7 +4421,7 @@ EditImage = View.extend({
 
 module.exports = EditImage;
 
-},{}],36:[function(require,module,exports){
+},{}],38:[function(require,module,exports){
 /**
  * wp.media.view.Embed
  *
@@ -4478,9 +4485,7 @@ var Embed = wp.media.View.extend({
 
 module.exports = Embed;
 
-},{}],37:[function(require,module,exports){
-/*globals wp */
-
+},{}],39:[function(require,module,exports){
 /**
  * wp.media.view.EmbedImage
  *
@@ -4513,9 +4518,7 @@ EmbedImage = AttachmentDisplay.extend({
 
 module.exports = EmbedImage;
 
-},{}],38:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],40:[function(require,module,exports){
 /**
  * wp.media.view.EmbedLink
  *
@@ -4533,8 +4536,6 @@ EmbedLink = wp.media.view.Settings.extend({
        template:  wp.template('embed-link-settings'),
 
        initialize: function() {
-               this.spinner = $('<span class="spinner" />');
-               this.$el.append( this.spinner[0] );
                this.listenTo( this.model, 'change:url', this.updateoEmbed );
        },
 
@@ -4545,36 +4546,56 @@ EmbedLink = wp.media.view.Settings.extend({
                this.$('.embed-container').hide().find('.embed-preview').empty();
                this.$( '.setting' ).hide();
 
-               // only proceed with embed if the field contains more than 6 characters
-               if ( url && url.length < 6 ) {
+               // only proceed with embed if the field contains more than 11 characters
+               // Example: http://a.io is 11 chars
+               if ( url && ( url.length < 11 || ! url.match(/^http(s)?:\/\//) ) ) {
                        return;
                }
 
                this.fetch();
-       }, 600 ),
+       }, wp.media.controller.Embed.sensitivity ),
 
        fetch: function() {
+               var embed;
+
                // check if they haven't typed in 500 ms
                if ( $('#embed-url-field').val() !== this.model.get('url') ) {
                        return;
                }
 
-               wp.ajax.send( 'parse-embed', {
-                       data : {
+               if ( this.dfd && 'pending' === this.dfd.state() ) {
+                       this.dfd.abort();
+               }
+
+               embed = new wp.shortcode({
+                       tag: 'embed',
+                       attrs: _.pick( this.model.attributes, [ 'width', 'height', 'src' ] ),
+                       content: this.model.get('url')
+               });
+
+               this.dfd = $.ajax({
+                       type:    'POST',
+                       url:     wp.ajax.settings.url,
+                       context: this,
+                       data:    {
+                               action: 'parse-embed',
                                post_ID: wp.media.view.settings.post.id,
-                               shortcode: '[embed]' + this.model.get('url') + '[/embed]'
+                               shortcode: embed.string()
                        }
-               } )
-                       .done( _.bind( this.renderoEmbed, this ) )
-                       .fail( _.bind( this.renderFail, this ) );
+               })
+                       .done( this.renderoEmbed )
+                       .fail( this.renderFail );
        },
 
-       renderFail: function () {
+       renderFail: function ( response, status ) {
+               if ( 'abort' === status ) {
+                       return;
+               }
                this.$( '.link-text' ).show();
        },
 
        renderoEmbed: function( response ) {
-               var html = ( response && response.body ) || '';
+               var html = ( response && response.data && response.data.body ) || '';
 
                if ( html ) {
                        this.$('.embed-container').show().find('.embed-preview').html( html );
@@ -4586,9 +4607,7 @@ EmbedLink = wp.media.view.Settings.extend({
 
 module.exports = EmbedLink;
 
-},{}],39:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],41:[function(require,module,exports){
 /**
  * wp.media.view.EmbedUrl
  *
@@ -4667,7 +4686,7 @@ EmbedUrl = View.extend({
 
 module.exports = EmbedUrl;
 
-},{}],40:[function(require,module,exports){
+},{}],42:[function(require,module,exports){
 /**
  * wp.media.view.FocusManager
  *
@@ -4713,9 +4732,7 @@ var FocusManager = wp.media.View.extend({
 
 module.exports = FocusManager;
 
-},{}],41:[function(require,module,exports){
-/*globals _, Backbone */
-
+},{}],43:[function(require,module,exports){
 /**
  * wp.media.view.Frame
  *
@@ -4881,9 +4898,7 @@ _.extend( Frame.prototype, wp.media.controller.StateMachine.prototype );
 
 module.exports = Frame;
 
-},{}],42:[function(require,module,exports){
-/*globals wp */
-
+},{}],44:[function(require,module,exports){
 /**
  * wp.media.view.MediaFrame.ImageDetails
  *
@@ -5060,9 +5075,7 @@ ImageDetails = Select.extend({
 
 module.exports = ImageDetails;
 
-},{}],43:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],45:[function(require,module,exports){
 /**
  * wp.media.view.MediaFrame.Post
  *
@@ -5797,9 +5810,7 @@ Post = Select.extend({
 
 module.exports = Post;
 
-},{}],44:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],46:[function(require,module,exports){
 /**
  * wp.media.view.MediaFrame.Select
  *
@@ -5970,7 +5981,7 @@ Select = MediaFrame.extend({
 
 module.exports = Select;
 
-},{}],45:[function(require,module,exports){
+},{}],47:[function(require,module,exports){
 /**
  * wp.media.view.Iframe
  *
@@ -5994,9 +6005,7 @@ var Iframe = wp.media.View.extend({
 
 module.exports = Iframe;
 
-},{}],46:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],48:[function(require,module,exports){
 /**
  * wp.media.view.ImageDetails
  *
@@ -6164,7 +6173,7 @@ ImageDetails = AttachmentDisplay.extend({
 
 module.exports = ImageDetails;
 
-},{}],47:[function(require,module,exports){
+},{}],49:[function(require,module,exports){
 /**
  * wp.media.view.Label
  *
@@ -6190,9 +6199,7 @@ var Label = wp.media.View.extend({
 
 module.exports = Label;
 
-},{}],48:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],50:[function(require,module,exports){
 /**
  * wp.media.view.MediaFrame
  *
@@ -6439,9 +6446,7 @@ _.each(['open','close','attach','detach','escape'], function( method ) {
 
 module.exports = MediaFrame;
 
-},{}],49:[function(require,module,exports){
-/*globals jQuery */
-
+},{}],51:[function(require,module,exports){
 /**
  * wp.media.view.MenuItem
  *
@@ -6513,7 +6518,7 @@ MenuItem = wp.media.View.extend({
 
 module.exports = MenuItem;
 
-},{}],50:[function(require,module,exports){
+},{}],52:[function(require,module,exports){
 /**
  * wp.media.view.Menu
  *
@@ -6630,9 +6635,7 @@ Menu = PriorityList.extend({
 
 module.exports = Menu;
 
-},{}],51:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],53:[function(require,module,exports){
 /**
  * wp.media.view.Modal
  *
@@ -6845,9 +6848,7 @@ Modal = wp.media.View.extend({
 
 module.exports = Modal;
 
-},{}],52:[function(require,module,exports){
-/*globals _, Backbone */
-
+},{}],54:[function(require,module,exports){
 /**
  * wp.media.view.PriorityList
  *
@@ -6944,7 +6945,7 @@ var PriorityList = wp.media.View.extend({
 
 module.exports = PriorityList;
 
-},{}],53:[function(require,module,exports){
+},{}],55:[function(require,module,exports){
 /**
  * wp.media.view.RouterItem
  *
@@ -6968,9 +6969,7 @@ var RouterItem = wp.media.view.MenuItem.extend({
 
 module.exports = RouterItem;
 
-},{}],54:[function(require,module,exports){
-/*globals wp */
-
+},{}],56:[function(require,module,exports){
 /**
  * wp.media.view.Router
  *
@@ -7007,9 +7006,7 @@ Router = Menu.extend({
 
 module.exports = Router;
 
-},{}],55:[function(require,module,exports){
-/*globals wp */
-
+},{}],57:[function(require,module,exports){
 /**
  * wp.media.view.Search
  *
@@ -7057,9 +7054,7 @@ Search = wp.media.View.extend({
 
 module.exports = Search;
 
-},{}],56:[function(require,module,exports){
-/*globals wp, _, Backbone */
-
+},{}],58:[function(require,module,exports){
 /**
  * wp.media.view.Selection
  *
@@ -7142,9 +7137,7 @@ Selection = wp.media.View.extend({
 
 module.exports = Selection;
 
-},{}],57:[function(require,module,exports){
-/*globals _, Backbone */
-
+},{}],59:[function(require,module,exports){
 /**
  * wp.media.view.Settings
  *
@@ -7265,9 +7258,7 @@ Settings = View.extend({
 
 module.exports = Settings;
 
-},{}],58:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],60:[function(require,module,exports){
 /**
  * wp.media.view.Settings.AttachmentDisplay
  *
@@ -7361,9 +7352,7 @@ AttachmentDisplay = Settings.extend({
 
 module.exports = AttachmentDisplay;
 
-},{}],59:[function(require,module,exports){
-/*globals wp */
-
+},{}],61:[function(require,module,exports){
 /**
  * wp.media.view.Settings.Gallery
  *
@@ -7380,9 +7369,7 @@ var Gallery = wp.media.view.Settings.extend({
 
 module.exports = Gallery;
 
-},{}],60:[function(require,module,exports){
-/*globals wp */
-
+},{}],62:[function(require,module,exports){
 /**
  * wp.media.view.Settings.Playlist
  *
@@ -7399,7 +7386,7 @@ var Playlist = wp.media.view.Settings.extend({
 
 module.exports = Playlist;
 
-},{}],61:[function(require,module,exports){
+},{}],63:[function(require,module,exports){
 /**
  * wp.media.view.Sidebar
  *
@@ -7415,9 +7402,106 @@ var Sidebar = wp.media.view.PriorityList.extend({
 
 module.exports = Sidebar;
 
-},{}],62:[function(require,module,exports){
-/*globals _ */
+},{}],64:[function(require,module,exports){
+/**
+ * wp.media.view.SiteIconCropper
+ *
+ * Uses the imgAreaSelect plugin to allow a user to crop a Site Icon.
+ *
+ * Takes imgAreaSelect options from
+ * wp.customize.SiteIconControl.calculateImageSelectOptions.
+ *
+ * @class
+ * @augments wp.media.view.Cropper
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.view,
+       SiteIconCropper;
+
+SiteIconCropper = View.Cropper.extend({
+       className: 'crop-content site-icon',
+
+       ready: function () {
+               View.Cropper.prototype.ready.apply( this, arguments );
+
+               this.$( '.crop-image' ).on( 'load', _.bind( this.addSidebar, this ) );
+       },
+
+       addSidebar: function() {
+               this.sidebar = new wp.media.view.Sidebar({
+                       controller: this.controller
+               });
+
+               this.sidebar.set( 'preview', new wp.media.view.SiteIconPreview({
+                       controller: this.controller,
+                       attachment: this.options.attachment
+               }) );
+
+               this.controller.cropperView.views.add( this.sidebar );
+       }
+});
 
+module.exports = SiteIconCropper;
+
+},{}],65:[function(require,module,exports){
+/**
+ * wp.media.view.SiteIconPreview
+ *
+ * Shows a preview of the Site Icon as a favicon and app icon while cropping.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       $ = jQuery,
+       SiteIconPreview;
+
+SiteIconPreview = View.extend({
+       className: 'site-icon-preview',
+       template: wp.template( 'site-icon-preview' ),
+
+       ready: function() {
+               this.controller.imgSelect.setOptions({
+                       onInit: this.updatePreview,
+                       onSelectChange: this.updatePreview
+               });
+       },
+
+       prepare: function() {
+               return {
+                       url: this.options.attachment.get( 'url' )
+               };
+       },
+
+       updatePreview: function( img, coords ) {
+               var rx = 64 / coords.width,
+                       ry = 64 / coords.height,
+                       preview_rx = 16 / coords.width,
+                       preview_ry = 16 / coords.height;
+
+               $( '#preview-app-icon' ).css({
+                       width: Math.round(rx * this.imageWidth ) + 'px',
+                       height: Math.round(ry * this.imageHeight ) + 'px',
+                       marginLeft: '-' + Math.round(rx * coords.x1) + 'px',
+                       marginTop: '-' + Math.round(ry * coords.y1) + 'px'
+               });
+
+               $( '#preview-favicon' ).css({
+                       width: Math.round( preview_rx * this.imageWidth ) + 'px',
+                       height: Math.round( preview_ry * this.imageHeight ) + 'px',
+                       marginLeft: '-' + Math.round( preview_rx * coords.x1 ) + 'px',
+                       marginTop: '-' + Math.floor( preview_ry* coords.y1 ) + 'px'
+               });
+       }
+});
+
+module.exports = SiteIconPreview;
+
+},{}],66:[function(require,module,exports){
 /**
  * wp.media.view.Spinner
  *
@@ -7452,9 +7536,7 @@ var Spinner = wp.media.View.extend({
 
 module.exports = Spinner;
 
-},{}],63:[function(require,module,exports){
-/*globals _, Backbone */
-
+},{}],67:[function(require,module,exports){
 /**
  * wp.media.view.Toolbar
  *
@@ -7614,9 +7696,7 @@ Toolbar = View.extend({
 
 module.exports = Toolbar;
 
-},{}],64:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],68:[function(require,module,exports){
 /**
  * wp.media.view.Toolbar.Embed
  *
@@ -7653,9 +7733,7 @@ Embed = Select.extend({
 
 module.exports = Embed;
 
-},{}],65:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],69:[function(require,module,exports){
 /**
  * wp.media.view.Toolbar.Select
  *
@@ -7725,12 +7803,10 @@ Select = Toolbar.extend({
 
 module.exports = Select;
 
-},{}],66:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],70:[function(require,module,exports){
 /**
- * Creates a dropzone on WP editor instances (elements with .wp-editor-wrap
- * or #wp-fullscreen-body) and relays drag'n'dropped files to a media workflow.
+ * Creates a dropzone on WP editor instances (elements with .wp-editor-wrap)
+ * and relays drag'n'dropped files to a media workflow.
  *
  * wp.media.view.EditorUploader
  *
@@ -7837,7 +7913,7 @@ EditorUploader = View.extend({
                }
 
                View.prototype.render.apply( this, arguments );
-               $( '.wp-editor-wrap, #wp-fullscreen-body' ).each( _.bind( this.attach, this ) );
+               $( '.wp-editor-wrap' ).each( _.bind( this.attach, this ) );
                return this;
        },
 
@@ -7856,7 +7932,7 @@ EditorUploader = View.extend({
         * @param  {jQuery.Event} event The 'drop' event.
         */
        drop: function( event ) {
-               var $wrap = null, uploadView;
+               var $wrap, uploadView;
 
                this.containerDragleave( event );
                this.dropzoneDragleave( event );
@@ -7873,13 +7949,15 @@ EditorUploader = View.extend({
                }
 
                if ( ! this.workflow ) {
-                       this.workflow = wp.media.editor.open( 'content', {
+                       this.workflow = wp.media.editor.open( window.wpActiveEditor, {
                                frame:    'post',
                                state:    'insert',
                                title:    l10n.addMedia,
                                multiple: true
                        });
+
                        uploadView = this.workflow.uploader;
+
                        if ( uploadView.uploader && uploadView.uploader.ready ) {
                                this.addFiles.apply( this );
                        } else {
@@ -7946,9 +8024,7 @@ EditorUploader = View.extend({
 
 module.exports = EditorUploader;
 
-},{}],67:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],71:[function(require,module,exports){
 /**
  * wp.media.view.UploaderInline
  *
@@ -8079,9 +8155,7 @@ UploaderInline = View.extend({
 
 module.exports = UploaderInline;
 
-},{}],68:[function(require,module,exports){
-/*globals wp */
-
+},{}],72:[function(require,module,exports){
 /**
  * wp.media.view.UploaderStatusError
  *
@@ -8097,9 +8171,7 @@ var UploaderStatusError = wp.media.View.extend({
 
 module.exports = UploaderStatusError;
 
-},{}],69:[function(require,module,exports){
-/*globals wp, _ */
-
+},{}],73:[function(require,module,exports){
 /**
  * wp.media.view.UploaderStatus
  *
@@ -8206,7 +8278,7 @@ UploaderStatus = View.extend({
         * @returns {string}
         */
        filename: function( filename ) {
-               return wp.media.truncate( _.escape( filename ), 24 );
+               return _.escape( filename );
        },
        /**
         * @param {Backbone.Model} error
@@ -8237,9 +8309,7 @@ UploaderStatus = View.extend({
 
 module.exports = UploaderStatus;
 
-},{}],70:[function(require,module,exports){
-/*globals wp, _, jQuery */
-
+},{}],74:[function(require,module,exports){
 /**
  * wp.media.view.UploaderWindow
  *
@@ -8350,9 +8420,7 @@ UploaderWindow = wp.media.View.extend({
 
 module.exports = UploaderWindow;
 
-},{}],71:[function(require,module,exports){
-/*globals wp */
-
+},{}],75:[function(require,module,exports){
 /**
  * wp.media.View
  *
@@ -8418,4 +8486,4 @@ var View = wp.Backbone.View.extend({
 
 module.exports = View;
 
-},{}]},{},[17]);
+},{}]},{},[19]);
index c038572fb099b6f886641eddeb3cbfbab05fe027..d8ec4ae2eebcdc7980a85cd77689b5724ddf91cc 100644 (file)
@@ -1,4 +1,4 @@
-!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library;c=e.extend({defaults:_.defaults({multiple:"add",filterable:"uploaded",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-library"),this.set("toolbar",a+"-add"),this.set("menu",a),this.get("library")||this.set("library",wp.media.query({type:this.get("type")})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.get("editLibrary"),c=this.frame.state(this.get("collectionType")+"-edit").get("library");b&&b!==c&&a.unobserve(b),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!c.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),e.prototype.activate.apply(this,arguments)}}),b.exports=c},{}],2:[function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n,f=jQuery;c=d.extend({defaults:{multiple:!1,sortable:!0,date:!1,searchable:!1,content:"browse",describe:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type",this.get("type")),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.renderSettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),d.prototype.deactivate.apply(this,arguments)},renderSettings:function(a){var b=this.get("library"),c=this.get("collectionType"),d=this.get("dragInfoText"),g=this.get("SettingsView"),h={};b&&a&&(b[c]=b[c]||new Backbone.Model,h[c]=new g({controller:this,model:b[c],priority:40}),a.sidebar.set(h),d&&a.toolbar.set("dragInfo",new wp.media.View({el:f('<div class="instructions">'+d+"</div>")[0],priority:-40})),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}),b.exports=c},{}],3:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"cropper",title:d.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var a,b;a=this.get("canSkipCrop")||!1,b={controller:this.frame,items:{insert:{style:"primary",text:d.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a,b=this.controller;a=b.state().get("selection").first(),a.set({cropDetails:b.state().imgSelect.getSelection()}),this.$el.text(d.cropping),this.$el.attr("disabled",!0),b.state().doCrop(a).done(function(a){b.trigger("cropped",a),b.close()}).fail(function(){b.trigger("content:error:crop")})}}}},a&&_.extend(b.items,{skip:{style:"secondary",text:d.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var a=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",a),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(b))},doCrop:function(a){return wp.ajax.post("custom-header-crop",{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")})}}),b.exports=c},{}],4:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"edit-image",title:d.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.listenTo(this.frame,"toolbar:render:edit-image",this.toolbar)},deactivate:function(){this.stopListening(this.frame)},toolbar:function(){var a=this.frame,b=a.lastState(),c=b&&b.id;a.toolbar.set(new wp.media.view.Toolbar({controller:a,items:{back:{style:"primary",text:d.back,priority:20,click:function(){c?a.setState(c):a.close()}}}}))}}),b.exports=c},{}],5:[function(a,b){var c,d=wp.media.view.l10n,e=Backbone.$;c=wp.media.controller.State.extend({defaults:{id:"embed",title:d.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:200,initialize:function(a){this.metadata=a.metadata,this.debouncedScan=_.debounce(_.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var a,b=this,c={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",c),c.scanners.length?(a=c.scanners=e.when.apply(e,c.scanners),a.always(function(){b.get("scanners")===a&&b.set("loading",!1)})):c.scanners=null,c.loading=!!c.scanners,this.set(c)},scanImage:function(a){var b=this.frame,c=this,d=this.props.get("url"),f=new Image,g=e.Deferred();a.scanners.push(g.promise()),f.onload=function(){g.resolve(),c===b.state()&&d===c.props.get("url")&&(c.set({type:"image"}),c.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=d},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.model.Attachment,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"featured-image",title:f.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",priority:60,syncSelection:!0},e.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments),a=this.get("library"),b=a.comparator,a.comparator=function(a,c){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(c.cid);return!d&&e?-1:d&&!e?1:b.apply(this,arguments)},a.observe(this.get("selection"))},activate:function(){this.updateSelection(),this.frame.on("open",this.updateSelection,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),e.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=wp.media.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=d.get(c),a.fetch()),b.reset(a?[a]:[])}}),b.exports=c},{}],7:[function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"gallery-library",title:f.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==b&&a.unobserve(this.editLibrary),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!b.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,e.prototype.activate.apply(this,arguments)}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:{id:"gallery-edit",title:e.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,date:!1,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),d.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){if(this.get("displaySettings")){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new wp.media.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.controller.State,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"image-details",title:f.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},e.prototype.defaults),initialize:function(a){this.image=a.image,d.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.l10n,e=window.getUserSetting,f=window.setUserSetting;c=wp.media.controller.State.extend({defaults:{id:"library",title:d.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,b=this.get("selection");this.get("library")||this.set("library",wp.media.query()),b instanceof wp.media.model.Selection||(a=b,a||(a=this.get("library").props.toJSON(),a=_.omit(a,"orderby","query")),this.set("selection",new wp.media.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",e("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var a=wp.media.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:a.align||e("align","none"),size:a.size||e("imgsize","medium"),link:a.link||e("urlbutton","file")}},display:function(a){var b=this._displays;return b[a.cid]||(b[a.cid]=new Backbone.Model(this.defaultDisplaySettings(a))),b[a.cid]},defaultDisplaySettings:function(a){var b=this._defaultDisplaySettings;return(b.canEmbed=this.canEmbed(a))&&(b.link="embed"),b},canEmbed:function(a){if(!a.get("uploading")){var b=a.get("type");if("audio"!==b&&"video"!==b)return!1}return _.contains(wp.media.view.settings.embedExts,a.get("filename").split(".").pop())},refreshContent:function(){var a=this.get("selection"),b=this.frame,c=b.router.get(),d=b.content.mode();this.active&&!a.length&&c&&!c.get(d)&&this.frame.content.render(this.get("content"))},uploading:function(a){var b=this.frame.content;"upload"===b.mode()&&this.frame.content.mode("browse"),this.get("autoSelect")&&(this.get("selection").add(a),this.frame.trigger("library:selection:add"))},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&f("libraryContent",a)}}}),_.extend(c.prototype,wp.media.selectionSync),b.exports=c},{}],11:[function(a,b){var c,d=wp.media.controller.Library;c=d.extend({defaults:_.defaults({filterable:"uploaded",displaySettings:!1,priority:80,syncSelection:!1},d.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",wp.media.query({type:this.type})),d.prototype.initialize.apply(this,arguments)},activate:function(){wp.media.frame.lastMime&&(this.set("library",wp.media.query({type:wp.media.frame.lastMime})),delete wp.media.frame.lastMime),d.prototype.activate.apply(this,arguments)}}),b.exports=c},{}],12:[function(a,b){var c=function(a){_.extend(this,_.pick(a||{},"id","view","selector"))};c.extend=Backbone.Model.extend,_.extend(c.prototype,{mode:function(a){return a?a===this._mode?this:(this.trigger("deactivate"),this._mode=a,this.render(a),this.trigger("activate"),this):this._mode},render:function(a){if(a&&a!==this._mode)return this.mode(a);var b,c={view:null};return this.trigger("create",c),b=c.view,this.trigger("render",b),b&&this.set(b),this},get:function(){return this.view.views.first(this.selector)},set:function(a,b){return b&&(b.add=!1),this.view.views.set(this.selector,a,b)},trigger:function(a){var b,c;if(this._mode)return c=_.toArray(arguments),b=this.id+":"+a,c[0]=b+":"+this._mode,this.view.trigger.apply(this.view,c),c[0]=b,this.view.trigger.apply(this.view,c),this}}),b.exports=c},{}],13:[function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"replace-image",title:e.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,priority:60,syncSelection:!0},d.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",wp.media.query({type:"image"})),d.prototype.initialize.apply(this,arguments),b=this.get("library"),c=b.comparator,b.comparator=function(a,b){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(b.cid);return!d&&e?-1:d&&!e?1:c.apply(this,arguments)},b.observe(this.get("selection"))},activate:function(){this.updateSelection(),d.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),b.exports=c},{}],14:[function(a,b){var c=function(a){this.states=new Backbone.Collection(a)};c.extend=Backbone.Model.extend,_.extend(c.prototype,Backbone.Events,{state:function(a){return this.states=this.states||new Backbone.Collection,a=a||this._state,a&&!this.states.get(a)&&this.states.add({id:a}),this.states.get(a)},setState:function(a){var b=this.state();return b&&a===b.id||!this.states||!this.states.get(a)?this:(b&&(b.trigger("deactivate"),this._lastState=b.id),this._state=a,this.state().trigger("activate"),this)},lastState:function(){return this._lastState?this.state(this._lastState):void 0}}),_.each(["on","off","trigger"],function(a){c.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),b.exports=c},{}],15:[function(a,b){var c=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(a){a.$el.text(this.get("title")||"")},_router:function(){var a,b=this.frame.router,c=this.get("router");this.frame.$el.toggleClass("hide-router",!c),c&&(this.frame.router.render(c),a=b.get(),a&&a.select&&a.select(this.frame.content.mode()))},_menu:function(){var a,b=this.frame.menu,c=this.get("menu");this.frame.$el.toggleClass("hide-menu",!c),c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}});_.each(["toolbar","content"],function(a){c.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),b.exports=c},{}],16:[function(a,b){var c={syncSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(b.attachments),b.difference=_.difference(b.attachments.models,a.models)),a.single(b.single))},recordSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple?(b.attachments.reset(a.toArray().concat(b.difference)),b.difference=[]):b.attachments.add(a.toArray()),b.single=a._single)}};b.exports=c},{}],17:[function(a){var b,c=wp.media,d=jQuery;c.isTouchDevice="ontouchend"in document,b=c.view.l10n=window._wpMediaViewsL10n||{},c.view.settings=b.settings||{},delete b.settings,c.model.settings.post=c.view.settings.post,d.support.transition=function(){var a,b=document.documentElement.style,c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=_.find(_.keys(c),function(a){return!_.isUndefined(b[a])}),a&&{end:c[a]}}(),c.events=_.extend({},Backbone.Events),c.transition=function(a,b){var c=d.Deferred();return b=b||2e3,d.support.transition?(a instanceof d||(a=d(a)),a.first().one(d.support.transition.end,c.resolve),_.delay(c.resolve,b)):c.resolve(),c.promise()},c.controller.Region=a("./controllers/region.js"),c.controller.StateMachine=a("./controllers/state-machine.js"),c.controller.State=a("./controllers/state.js"),c.selectionSync=a("./utils/selection-sync.js"),c.controller.Library=a("./controllers/library.js"),c.controller.ImageDetails=a("./controllers/image-details.js"),c.controller.GalleryEdit=a("./controllers/gallery-edit.js"),c.controller.GalleryAdd=a("./controllers/gallery-add.js"),c.controller.CollectionEdit=a("./controllers/collection-edit.js"),c.controller.CollectionAdd=a("./controllers/collection-add.js"),c.controller.FeaturedImage=a("./controllers/featured-image.js"),c.controller.ReplaceImage=a("./controllers/replace-image.js"),c.controller.EditImage=a("./controllers/edit-image.js"),c.controller.MediaLibrary=a("./controllers/media-library.js"),c.controller.Embed=a("./controllers/embed.js"),c.controller.Cropper=a("./controllers/cropper.js"),c.View=a("./views/view.js"),c.view.Frame=a("./views/frame.js"),c.view.MediaFrame=a("./views/media-frame.js"),c.view.MediaFrame.Select=a("./views/frame/select.js"),c.view.MediaFrame.Post=a("./views/frame/post.js"),c.view.MediaFrame.ImageDetails=a("./views/frame/image-details.js"),c.view.Modal=a("./views/modal.js"),c.view.FocusManager=a("./views/focus-manager.js"),c.view.UploaderWindow=a("./views/uploader/window.js"),c.view.EditorUploader=a("./views/uploader/editor.js"),c.view.UploaderInline=a("./views/uploader/inline.js"),c.view.UploaderStatus=a("./views/uploader/status.js"),c.view.UploaderStatusError=a("./views/uploader/status-error.js"),c.view.Toolbar=a("./views/toolbar.js"),c.view.Toolbar.Select=a("./views/toolbar/select.js"),c.view.Toolbar.Embed=a("./views/toolbar/embed.js"),c.view.Button=a("./views/button.js"),c.view.ButtonGroup=a("./views/button-group.js"),c.view.PriorityList=a("./views/priority-list.js"),c.view.MenuItem=a("./views/menu-item.js"),c.view.Menu=a("./views/menu.js"),c.view.RouterItem=a("./views/router-item.js"),c.view.Router=a("./views/router.js"),c.view.Sidebar=a("./views/sidebar.js"),c.view.Attachment=a("./views/attachment.js"),c.view.Attachment.Library=a("./views/attachment/library.js"),c.view.Attachment.EditLibrary=a("./views/attachment/edit-library.js"),c.view.Attachments=a("./views/attachments.js"),c.view.Search=a("./views/search.js"),c.view.AttachmentFilters=a("./views/attachment-filters.js"),c.view.DateFilter=a("./views/attachment-filters/date.js"),c.view.AttachmentFilters.Uploaded=a("./views/attachment-filters/uploaded.js"),c.view.AttachmentFilters.All=a("./views/attachment-filters/all.js"),c.view.AttachmentsBrowser=a("./views/attachments/browser.js"),c.view.Selection=a("./views/selection.js"),c.view.Attachment.Selection=a("./views/attachment/selection.js"),c.view.Attachments.Selection=a("./views/attachments/selection.js"),c.view.Attachment.EditSelection=a("./views/attachment/edit-selection.js"),c.view.Settings=a("./views/settings.js"),c.view.Settings.AttachmentDisplay=a("./views/settings/attachment-display.js"),c.view.Settings.Gallery=a("./views/settings/gallery.js"),c.view.Settings.Playlist=a("./views/settings/playlist.js"),c.view.Attachment.Details=a("./views/attachment/details.js"),c.view.AttachmentCompat=a("./views/attachment-compat.js"),c.view.Iframe=a("./views/iframe.js"),c.view.Embed=a("./views/embed.js"),c.view.Label=a("./views/label.js"),c.view.EmbedUrl=a("./views/embed/url.js"),c.view.EmbedLink=a("./views/embed/link.js"),c.view.EmbedImage=a("./views/embed/image.js"),c.view.ImageDetails=a("./views/image-details.js"),c.view.Cropper=a("./views/cropper.js"),c.view.EditImage=a("./views/edit-image.js"),c.view.Spinner=a("./views/spinner.js")},{"./controllers/collection-add.js":1,"./controllers/collection-edit.js":2,"./controllers/cropper.js":3,"./controllers/edit-image.js":4,"./controllers/embed.js":5,"./controllers/featured-image.js":6,"./controllers/gallery-add.js":7,"./controllers/gallery-edit.js":8,"./controllers/image-details.js":9,"./controllers/library.js":10,"./controllers/media-library.js":11,"./controllers/region.js":12,"./controllers/replace-image.js":13,"./controllers/state-machine.js":14,"./controllers/state.js":15,"./utils/selection-sync.js":16,"./views/attachment-compat.js":18,"./views/attachment-filters.js":19,"./views/attachment-filters/all.js":20,"./views/attachment-filters/date.js":21,"./views/attachment-filters/uploaded.js":22,"./views/attachment.js":23,"./views/attachment/details.js":24,"./views/attachment/edit-library.js":25,"./views/attachment/edit-selection.js":26,"./views/attachment/library.js":27,"./views/attachment/selection.js":28,"./views/attachments.js":29,"./views/attachments/browser.js":30,"./views/attachments/selection.js":31,"./views/button-group.js":32,"./views/button.js":33,"./views/cropper.js":34,"./views/edit-image.js":35,"./views/embed.js":36,"./views/embed/image.js":37,"./views/embed/link.js":38,"./views/embed/url.js":39,"./views/focus-manager.js":40,"./views/frame.js":41,"./views/frame/image-details.js":42,"./views/frame/post.js":43,"./views/frame/select.js":44,"./views/iframe.js":45,"./views/image-details.js":46,"./views/label.js":47,"./views/media-frame.js":48,"./views/menu-item.js":49,"./views/menu.js":50,"./views/modal.js":51,"./views/priority-list.js":52,"./views/router-item.js":53,"./views/router.js":54,"./views/search.js":55,"./views/selection.js":56,"./views/settings.js":57,"./views/settings/attachment-display.js":58,"./views/settings/gallery.js":59,"./views/settings/playlist.js":60,"./views/sidebar.js":61,"./views/spinner.js":62,"./views/toolbar.js":63,"./views/toolbar/embed.js":64,"./views/toolbar/select.js":65,"./views/uploader/editor.js":66,"./views/uploader/inline.js":67,"./views/uploader/status-error.js":68,"./views/uploader/status.js":69,"./views/uploader/window.js":70,"./views/view.js":71}],18:[function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.listenTo(this.model,"change:compat",this.render)},dispose:function(){return this.$(":focus").length&&this.save(),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.model.get("compat");if(a&&a.item)return this.views.detach(),this.$el.html(a.item),this.views.render(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var b={};a&&a.preventDefault(),_.each(this.$el.serializeArray(),function(a){b[a.name]=a.value}),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(b).always(_.bind(this.postSave,this))},postSave:function(){this.controller.trigger("attachment:compat:ready",["ready"])}}),b.exports=c},{}],19:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"select",className:"attachment-filters",id:"media-attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(a,b){return{el:d("<option></option>").val(b).html(a.text)[0],priority:a.priority||50}},this).sortBy("priority").pluck("el").value()),this.listenTo(this.model,"change",this.select),this.select()},createFilters:function(){this.filters={}},change:function(){var a=this.filters[this.el.value];a&&this.model.set(a.props)},select:function(){var a=this.model,b="all",c=a.toJSON();_.find(this.filters,function(a,d){var e=_.all(a.props,function(a,b){return a===(_.isUndefined(c[b])?null:c[b])});return e?b=d:void 0}),this.$el.val(b)}}),b.exports=c},{}],20:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a={};_.each(wp.media.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{status:null,type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:d.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},wp.media.view.settings.post.id&&(a.uploaded={text:d.uploadedToThisPost,props:{status:null,type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}),a.unattached={text:d.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC"},priority:50},wp.media.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(a.trash={text:d.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC"},priority:50}),this.filters=a}}),b.exports=c},{}],21:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var a={};_.each(wp.media.view.settings.months||{},function(b,c){a[c]={text:b.text,props:{year:b.year,monthnum:b.month}}}),a.all={text:d.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=a}}),b.exports=c},{}],22:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),c=wp.media.view.settings.mimeTypes;c&&b&&(a=c[b]),this.filters={all:{text:a||d.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:d.uploadedToThisPost,props:{uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},unattached:{text:d.unattached,props:{uploadedTo:0,orderby:"menuOrder",order:"ASC"},priority:50}}}}),b.exports=c},{}],23:[function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"li",className:"attachment",template:wp.template("attachment"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{"click .js--select-attachment":"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .close":"removeFromLibrary","click .check":"checkClickHandler","click a":"preventDefault","keydown .close":"removeFromLibrary",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var a=this.options.selection,b=_.defaults(this.options,{rerenderOnModelChange:!0});b.rerenderOnModelChange?this.listenTo(this.model,"change",this.render):this.listenTo(this.model,"change:percent",this.progress),this.listenTo(this.model,"change:title",this._syncTitle),this.listenTo(this.model,"change:caption",this._syncCaption),this.listenTo(this.model,"change:artist",this._syncArtist),this.listenTo(this.model,"change:album",this._syncAlbum),this.listenTo(this.model,"add",this.select),this.listenTo(this.model,"remove",this.deselect),a&&(a.on("reset",this.updateSelect,this),this.listenTo(this.model,"selection:single selection:unsingle",this.details),this.details(this.model,this.controller.state().get("selection"))),this.listenTo(this.controller,"attachment:compat:waiting attachment:compat:ready",this.updateSave)},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},render:function(){var a=_.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""},this.options);return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),a.uploading&&!a.percent&&(a.percent=0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;if("INPUT"!==a.target.nodeName){if(37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode)return void this.controller.trigger("attachment:keydown:arrow",a);if("keydown"!==a.type||13===a.keyCode||32===a.keyCode){if(a.preventDefault(),this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return void this.controller.trigger("edit:attachment",this.model,a.currentTarget);this.controller.isModeActive("select")&&(b="toggle")}a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b
-}),this.controller.trigger("selection:toggle")}}},toggleSelection:function(a){var b,c,d,e,f=this.collection,g=this.options.selection,h=this.model,i=a&&a.method;if(g){if(b=g.single(),i=_.isUndefined(i)?g.multiple:i,"between"===i&&b&&g.multiple){if(b===h)return;return d=f.indexOf(b),e=f.indexOf(this.model),c=e>d?f.models.slice(d,e+1):f.models.slice(e,d+1),g.add(c),void g.single(h)}if("toggle"===i)return g[this.selected()?"remove":"add"](h),void g.single(h);if("add"===i)return g.add(h),void g.single(h);i||(i="add"),"add"!==i&&(i="reset"),this.selected()?g[b===h?"remove":"single"](h):(g[i](h),g.single(h))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var a=this.options.selection;return a?!!a.get(this.model.cid):void 0},select:function(a,b){var c=this.options.selection,d=this.controller;!c||b&&b!==c||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),d.isModeActive("grid")&&d.isModeActive("select")||this.$(".check").attr("tabindex","0"))},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},preventDefault:function(a){a.preventDefault()},imageSize:function(a){var b=this.model.get("sizes"),c=!1;return a=a||"medium",b&&(b[a]?c=b[a]:b.large?c=b.large:b.thumbnail?c=b.thumbnail:b.full&&(c=b.full),c)?_.clone(c):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(a){var b,c,d=e(a.target).closest("[data-setting]");d.length&&(b=d.data("setting"),c=a.target.value,this.model.get(b)!==c&&this.save(b,c))},save:function(){var a=this,b=this._save=this._save||{status:"ready"},c=this.model.save.apply(this.model,arguments),d=b.requests?e.when(c,b.requests):c;b.savedTimer&&clearTimeout(b.savedTimer),this.updateSave("waiting"),b.requests=d,d.always(function(){b.requests===d&&(a.updateSave("resolved"===d.state()?"complete":"error"),b.savedTimer=setTimeout(function(){a.updateSave("ready"),delete b.savedTimer},2e3))})},updateSave:function(a){var b=this._save=this._save||{status:"ready"};return a&&a!==b.status&&(this.$el.removeClass("save-"+b.status),b.status=a),this.$el.addClass("save-"+b.status),this},updateAll:function(){var a,b=this.$("[data-setting]"),c=this.model;a=_.chain(b).map(function(a){var b,d,f=e("input, textarea, select, [value]",a);if(f.length)return b=e(a).data("setting"),d=f.val(),c.get(b)!==d?[b,d]:void 0}).compact().object().value(),_.isEmpty(a)||c.save(a)},removeFromLibrary:function(a){("keydown"!==a.type||13===a.keyCode||32===a.keyCode)&&(a.stopPropagation(),this.collection.remove(this.model))},checkClickHandler:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.where({id:this.model.get("id")}).length?(b.remove(this.model),this.$el.focus()):b.add(this.model))}}),_.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},function(a,b){c.prototype[a]=function(a,c){var d=this.$('[data-setting="'+b+'"]');return d.length?c===d.find("input, textarea, select, [value]").val()?this:this.render():this}}),b.exports=c},{}],24:[function(a,b){var c,d=wp.media.view.Attachment,e=wp.media.view.l10n;c=d.extend({tagName:"div",className:"attachment-details",template:wp.template("attachment-details"),attributes:function(){return{tabIndex:0,"data-id":this.model.get("id")}},events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment",keydown:"toggleSelectionHandler"},initialize:function(){this.options=_.defaults(this.options,{rerenderOnModelChange:!1}),this.on("ready",this.initialFocus),d.prototype.initialize.apply(this,arguments)},initialFocus:function(){wp.media.isTouchDevice||this.$(":input").eq(0).focus()},deleteAttachment:function(a){a.preventDefault(),window.confirm(e.warnDelete)&&(this.model.destroy(),this.controller.modal.focusManager.focus())},trashAttachment:function(a){var b=this.controller.library;a.preventDefault(),wp.media.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){b._requery(!0)})):this.model.destroy()},untrashAttachment:function(a){var b=this.controller.library;a.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){b._requery(!0)})},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},refreshAttachment:function(a){this.$el.removeClass("needs-refresh"),a.preventDefault(),this.model.fetch()},toggleSelectionHandler:function(a){return"keydown"===a.type&&9===a.keyCode&&a.shiftKey&&a.target===this.$(":tabbable").get(0)?(this.controller.trigger("attachment:details:shift-tab",a),!1):37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?void this.controller.trigger("attachment:keydown:arrow",a):void 0}}),b.exports=c},{}],25:[function(a,b){var c=wp.media.view.Attachment.extend({buttons:{close:!0}});b.exports=c},{}],26:[function(a,b){var c=wp.media.view.Attachment.Selection.extend({buttons:{close:!0}});b.exports=c},{}],27:[function(a,b){var c=wp.media.view.Attachment.extend({buttons:{check:!0}});b.exports=c},{}],28:[function(a,b){var c=wp.media.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}});b.exports=c},{}],29:[function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"ul",className:"attachments",attributes:{tabIndex:-1},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,AttachmentView:wp.media.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:e(window).width()<640?135:150}),this._viewsByCid={},this.$window=e(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.listenTo(this.controller,"library:selection:add",this.attachmentFocus),this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,e(this.options.scrollElement).on("scroll",this.scroll),this.initSortable(),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),_.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},attachmentFocus:function(){this.$("li:first").focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(a){var b=this.$el.children("li"),c=this.columns,d=b.filter(":focus").index(),e=c>=d+1?1:Math.ceil((d+1)/c);if(-1!==d){if(37===a.keyCode){if(0===d)return;b.eq(d-1).focus()}if(38===a.keyCode){if(1===e)return;b.eq(d-c).focus()}if(39===a.keyCode){if(b.length===d)return;b.eq(d+1).focus()}if(40===a.keyCode){if(Math.ceil(b.length/c)===e)return;b.eq(d+c).focus()}}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),d.prototype.dispose.apply(this,arguments)},setColumns:function(){var a=this.columns,b=this.$el.width();b&&(this.columns=Math.min(Math.round(b/this.options.idealColumnWidth),12)||1,a&&a===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var a=this.collection;!wp.media.isTouchDevice&&this.options.sortable&&e.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!a.comparator,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(b,c){var d=a.at(c.item.data("sortableIndexStart")),e=a.comparator;delete a.comparator,a.remove(d,{silent:!0}),a.add(d,{silent:!0,at:c.item.index()}),a.comparator=e,a.trigger("reset",a),a.saveMenuOrder()}},this.options.sortable)),a.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!a.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(!wp.media.isTouchDevice&&this.options.sortable&&e.fn.sortable){var a=this.collection,b=a.props.get("orderby"),c="menuOrder"===b||!a.comparator;this.$el.sortable("option","disabled",!c)}},createAttachmentView:function(a){var b=new this.options.AttachmentView({controller:this.controller,model:a,collection:this.collection,selection:this.options.selection});return this._viewsByCid[a.cid]=b},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var a,b=this,c=this.options.scrollElement,d=c.scrollTop;c===document&&(c=document.body,d=e(document).scrollTop()),e(c).is(":visible")&&this.collection.hasMore()&&(a=this.views.parent.toolbar,c.scrollHeight-(d+c.clientHeight)<c.clientHeight/3&&a.get("spinner").show(),c.scrollHeight<d+c.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){b.scroll(),a.get("spinner").hide()}))}}),b.exports=c},{}],30:[function(a,b){var c,d=wp.media.View,e=wp.media.view.settings.mediaTrash,f=wp.media.view.l10n,g=jQuery;c=d.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:!1,search:!0,date:!0,display:!1,sidebar:!0,AttachmentView:wp.media.view.Attachment.Library}),this.listenTo(this.controller,"toggle:upload:attachment",_.bind(this.toggleUploader,this)),this.controller.on("edit:selection",this.editSelection),this.createToolbar(),this.options.sidebar&&this.createSidebar(),this.createUploader(),this.createAttachments(),this.updateContent(),this.options.sidebar&&"errors"!==this.options.sidebar||(this.$el.addClass("hide-sidebar"),"errors"===this.options.sidebar&&this.$el.addClass("sidebar-for-errors")),this.collection.on("add remove reset",this.updateContent,this)},editSelection:function(a){a.$(".media-button-backToLibrary").focus()},dispose:function(){return this.options.selection.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var a,b,c;c={controller:this.controller},this.controller.isModeActive("grid")&&(c.className="media-toolbar wp-filter"),this.toolbar=new wp.media.view.Toolbar(c),this.views.add(this.toolbar),this.toolbar.set("spinner",new wp.media.view.Spinner({priority:-60})),-1!==g.inArray(this.options.filters,["uploaded","all"])&&(this.toolbar.set("filtersLabel",new wp.media.view.Label({value:f.filterByType,attributes:{"for":"media-attachment-filters"},priority:-80}).render()),"uploaded"===this.options.filters?this.toolbar.set("filters",new wp.media.view.AttachmentFilters.Uploaded({controller:this.controller,model:this.collection.props,priority:-80}).render()):(b=new wp.media.view.AttachmentFilters.All({controller:this.controller,model:this.collection.props,priority:-80}),this.toolbar.set("filters",b.render()))),this.controller.isModeActive("grid")?(a=d.extend({className:"view-switch media-grid-view-switch",template:wp.template("media-library-view-switcher")}),this.toolbar.set("libraryViewSwitcher",new a({controller:this.controller,priority:-90}).render()),this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render()),this.toolbar.set("selectModeToggleButton",new wp.media.view.SelectModeToggleButton({text:f.bulkSelect,controller:this.controller,priority:-70}).render()),this.toolbar.set("deleteSelectedButton",new wp.media.view.DeleteSelectedButton({filters:b,style:"primary",disabled:!0,text:e?f.trashSelected:f.deleteSelected,controller:this.controller,priority:-60,click:function(){var a=[],b=[],c=this.controller.state().get("selection"),d=this.controller.state().get("library");c.length&&(e||window.confirm(f.warnBulkDelete))&&(!e||"trash"===c.at(0).get("status")||window.confirm(f.warnBulkTrash))&&(c.each(function(c){return c.get("nonces")["delete"]?void(e&&"trash"===c.get("status")?(c.set("status","inherit"),a.push(c.save()),b.push(c)):e?(c.set("status","trash"),a.push(c.save()),b.push(c)):c.destroy({wait:!0})):void b.push(c)}),a.length?(c.remove(b),g.when.apply(null,a).then(_.bind(function(){d._requery(!0),this.controller.trigger("selection:action:done")},this))):this.controller.trigger("selection:action:done"))}}).render()),e&&this.toolbar.set("deleteSelectedPermanentlyButton",new wp.media.view.DeleteSelectedPermanentlyButton({filters:b,style:"primary",disabled:!0,text:f.deleteSelected,controller:this.controller,priority:-55,click:function(){var a=[],b=this.controller.state().get("selection");b.length&&window.confirm(f.warnBulkDelete)&&(b.each(function(b){return b.get("nonces")["delete"]?void b.destroy():void a.push(b)}),b.remove(a),this.controller.trigger("selection:action:done"))}}).render())):this.options.date&&(this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render())),this.options.search&&(this.toolbar.set("searchLabel",new wp.media.view.Label({value:f.searchMediaLabel,attributes:{"for":"media-search-input"},priority:60}).render()),this.toolbar.set("search",new wp.media.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render())),this.options.dragInfo&&this.toolbar.set("dragInfo",new d({el:g('<div class="instructions">'+f.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new d({el:g('<div class="instructions">'+f.suggestedDimensions+" "+this.options.suggestedWidth+" &times; "+this.options.suggestedHeight+"</div>")[0],priority:-40}))},updateContent:function(){var a,b=this;a=this.controller.isModeActive("grid")?b.attachmentsNoResults:b.uploader,this.collection.length?(a.$el.addClass("hidden"),b.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){b.collection.length?a.$el.addClass("hidden"):a.$el.removeClass("hidden"),b.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new wp.media.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":f.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.hide(),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachments:function(){this.attachments=new wp.media.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.attachments.listenTo(this.controller,"attachment:keydown:arrow",this.attachments.arrowEvent),this.attachments.listenTo(this.controller,"attachment:details:shift-tab",this.attachments.restoreFocus),this.views.add(this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new d({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(f.noMedia),this.views.add(this.attachmentsNoResults))},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new wp.media.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new wp.media.view.UploaderStatus({controller:this.controller,priority:40})),b.on("selection:single",this.createSingle,this),b.on("selection:unsingle",this.disposeSingle,this),b.single()&&this.createSingle()},createSingle:function(){var a=this.sidebar,b=this.options.selection.single();a.set("details",new wp.media.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new wp.media.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new wp.media.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")})),"insert"===this.model.id&&a.$el.addClass("visible")},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display"),a.$el.removeClass("visible")}}),b.exports=c},{}],31:[function(a,b){var c,d=wp.media.view.Attachments;c=d.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!1,resize:!1,AttachmentView:wp.media.view.Attachment.Selection}),d.prototype.initialize.apply(this,arguments)}}),b.exports=c},{}],32:[function(a,b){var c,d=Backbone.$;c=wp.media.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new wp.media.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(d(_.pluck(this.buttons,"el")).detach()),this}}),b.exports=c},{}],33:[function(a,b){var c=wp.media.View.extend({tagName:"a",className:"media-button",attributes:{href:"#"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),_.each(this.defaults,function(a,b){var c=this.options[b];_.isUndefined(c)||(this.model.set(b,c),delete this.options[b])},this),this.listenTo(this.model,"change",this.render)},render:function(){var a=["button",this.className],b=this.model.toJSON();return b.style&&a.push("button-"+b.style),b.size&&a.push("button-"+b.size),a=_.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",b.disabled),this.$el.text(this.model.get("text")),this},click:function(a){"#"===this.attributes.href&&a.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}});b.exports=c},{}],34:[function(a,b){var c,d=wp.media.View,e=wp.media.view.UploaderStatus,f=wp.media.view.l10n,g=jQuery;c=d.extend({className:"crop-content",template:wp.template("crop-content"),initialize:function(){_.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),g(window).on("resize.cropper",_.debounce(this.onImageLoad,250))},remove:function(){g(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),d.prototype.remove.apply(this,arguments)},prepare:function(){return{title:f.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var a=this.controller.get("imgSelectOptions");"function"==typeof a&&(a=a(this.options.attachment,this.controller)),a=_.extend(a,{parent:this.$el}),this.trigger("image-loaded"),this.controller.imgSelect=this.$image.imgAreaSelect(a)},onError:function(){var a=this.options.attachment.get("filename");this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:e.prototype.filename(a),message:window._wpMediaViewsL10n.cropError}),{at:0})}}),b.exports=c},{}],35:[function(a,b){var c,d=wp.media.View;c=d.extend({className:"image-editor",template:wp.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},loadEditor:function(){var a=this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this);a.done(_.bind(this.focus,this))},focus:function(){this.$(".imgedit-submit .button").eq(0).focus()},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this.controller.lastState();this.model.fetch().done(_.bind(function(){this.controller.setState(a)},this))}}),b.exports=c},{}],36:[function(a,b){var c=wp.media.View.extend({className:"media-embed",initialize:function(){this.url=new wp.media.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.listenTo(this.model,"change:type",this.refresh),this.listenTo(this.model,"change:loading",this.loading)},settings:function(a){this._settings&&this._settings.remove(),this._settings=a,this.views.add(a)},refresh:function(){var a,b=this.model.get("type");if("image"===b)a=wp.media.view.EmbedImage;else{if("link"!==b)return;a=wp.media.view.EmbedLink}this.settings(new a({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}});b.exports=c},{}],37:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay;c=d.extend({className:"embed-media-settings",template:wp.template("embed-image-settings"),initialize:function(){d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:url",this.updateImage)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),b.exports=c},{}],38:[function(a,b){var c,d=jQuery;c=wp.media.view.Settings.extend({className:"embed-link-settings",template:wp.template("embed-link-settings"),initialize:function(){this.spinner=d('<span class="spinner" />'),this.$el.append(this.spinner[0]),this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:_.debounce(function(){var a=this.model.get("url");this.$(".embed-container").hide().find(".embed-preview").empty(),this.$(".setting").hide(),a&&a.length<6||this.fetch()},600),fetch:function(){d("#embed-url-field").val()===this.model.get("url")&&wp.ajax.send("parse-embed",{data:{post_ID:wp.media.view.settings.post.id,shortcode:"[embed]"+this.model.get("url")+"[/embed]"}}).done(_.bind(this.renderoEmbed,this)).fail(_.bind(this.renderFail,this))},renderFail:function(){this.$(".link-text").show()},renderoEmbed:function(a){var b=a&&a.body||"";b?this.$(".embed-container").show().find(".embed-preview").html(b):this.renderFail()}}),b.exports=c},{}],39:[function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=e('<input id="embed-url-field" type="url" />').val(this.model.get("url")),this.input=this.$input[0],this.spinner=e('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.listenTo(this.model,"change:url",this.render),this.model.get("url")&&_.delay(_.bind(function(){this.model.trigger("change:url")},this),500)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.prototype.render.apply(this,arguments),this},ready:function(){wp.media.isTouchDevice||this.focus()},url:function(a){this.model.set("url",a.target.value)},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),b.exports=c},{}],40:[function(a,b){var c=wp.media.View.extend({events:{keydown:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable").not('.moxie-shim input[type="file"]'),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}});b.exports=c},{}],41:[function(a,b){var c=wp.media.View.extend({initialize:function(){_.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new wp.media.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:wp.media.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",_.bind(this.triggerModeEvents,this)),_.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,b,c){var d,e,f={add:"activate",remove:"deactivate"};_.each(c,function(a,b){a&&(d=b)}),_.has(f,d)&&(e=a.get("id")+":"+f[d],this.trigger(e))},activateMode:function(a){return this.isModeActive(a)?void 0:(this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this)},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}});_.extend(c.prototype,wp.media.controller.StateMachine.prototype),b.exports=c},{}],42:[function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.view.l10n;c=d.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:e.imageDetailsTitle,priority:120},initialize:function(a){this.image=new wp.media.model.PostImage(a.metadata),this.options.selection=new wp.media.model.Selection(this.image.attachment,{multiple:!1}),d.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.ImageDetails({image:this.image,editable:!1}),new wp.media.controller.ReplaceImage({id:"replace-image",library:wp.media.query({type:"image"}),image:this.image,multiple:!1,title:e.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new wp.media.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new wp.media.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new wp.media.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{select:{style:"primary",text:e.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),c=b&&b.id;this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{back:{text:e.back,priority:20,click:function(){c?a.setState(c):a.close()}},replace:{style:"primary",text:e.replace,priority:80,click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),b.exports=c},{}],43:[function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},_.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),d.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new e({id:"insert",title:f.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new e({id:"gallery",title:f.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"image"},a.library))}),new wp.media.controller.Embed({metadata:a.metadata}),new wp.media.controller.EditImage({model:a.editImage}),new wp.media.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new wp.media.controller.GalleryAdd,new e({id:"playlist",title:f.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"audio"},a.library))}),new wp.media.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:f.editPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:f.playlistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:f.addToPlaylistTitle}),new e({id:"video-playlist",title:f.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"video"},a.library))}),new wp.media.controller.CollectionEdit({type:"video",collectionType:"playlist",title:f.editVideoPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:f.videoPlaylistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"video",collectionType:"playlist",title:f.addToVideoPlaylistTitle})]),wp.media.view.settings.post.featuredImageId&&this.states.add(new wp.media.controller.FeaturedImage)},bindHandlers:function(){var a,b;d.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),b=_.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof b&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar",
-"main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},activate:function(){_.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new wp.media.View({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelGalleryTitle,priority:20,click:function(){c?d.setState(c):d.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelVideoPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var a=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),wp.media.isTouchDevice||a.url.focus()},editSelectionContent:function(){var a,b=this.state(),c=b.get("selection");a=new wp.media.view.AttachmentsBrowser({controller:this,collection:c,selection:c,model:b,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:f.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a),this.trigger("edit:selection",this)},editImageContent:function(){var a=this.state().get("image"),b=new wp.media.view.EditImage({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:f.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:f.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),d=a.where({type:"image"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:f.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),d=a.where({type:"audio"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:f.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),d=a.where({type:"video"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:f.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new wp.media.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateGallery:f.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updatePlaylist:f.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateVideoPlaylist:f.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),b.exports=c},{}],44:[function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof wp.media.model.Selection||(this.options.selection=new wp.media.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new wp.media.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new wp.media.controller.Library({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:e.uploadFilesTitle,priority:20},browse:{text:e.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.get(b.has("display")?"display":"displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new wp.media.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new wp.media.view.Toolbar.Select(b)}}),b.exports=c},{}],45:[function(a,b){var c=wp.media.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />'),this.views.render(),this}});b.exports=c},{}],46:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({className:"image-details",template:wp.template("image-details"),events:_.defaults(d.prototype.events,{"click .edit-attachment":"editAttachment","click .replace-attachment":"replaceAttachment","click .advanced-toggle":"onToggleAdvanced",'change [data-setting="customWidth"]':"onCustomSize",'change [data-setting="customHeight"]':"onCustomSize",'keyup [data-setting="customWidth"]':"onCustomSize",'keyup [data-setting="customHeight"]':"onCustomSize"}),initialize:function(){this.options.attachment=this.model.attachment,this.listenTo(this.model,"change:url",this.updateUrl),this.listenTo(this.model,"change:link",this.toggleLinkSettings),this.listenTo(this.model,"change:size",this.toggleCustomSize),d.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),_.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(_.bind(function(){d.prototype.render.apply(this,a),this.postRender()},this)).fail(_.bind(function(){this.model.attachment=!1,d.prototype.render.apply(this,a),this.postRender()},this)):(d.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(_.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===window.getUserSetting("advImgDetails")&&this.toggleAdvanced(!0),this.trigger("post-render")},resetFocus:function(){this.$(".link-to-custom").blur(),this.$(".embed-media-settings").scrollTop(0)},updateUrl:function(){this.$(".image img").attr("src",this.model.get("url")),this.$(".url").val(this.model.get("url"))},toggleLinkSettings:function(){"none"===this.model.get("link")?this.$(".link-settings").addClass("hidden"):this.$(".link-settings").removeClass("hidden")},toggleCustomSize:function(){"custom"!==this.model.get("size")?this.$(".custom-size").addClass("hidden"):this.$(".custom-size").removeClass("hidden")},onCustomSize:function(a){var b,c=e(a.target).data("setting"),d=e(a.target).val();return!/^\d+/.test(d)||parseInt(d,10)<1?void a.preventDefault():void("customWidth"===c?(b=Math.round(1/this.model.get("aspectRatio")*d),this.model.set("customHeight",b,{silent:!0}),this.$('[data-setting="customHeight"]').val(b)):(b=Math.round(this.model.get("aspectRatio")*d),this.model.set("customWidth",b,{silent:!0}),this.$('[data-setting="customWidth"]').val(b)))},onToggleAdvanced:function(a){a.preventDefault(),this.toggleAdvanced()},toggleAdvanced:function(a){var b,c=this.$el.find(".advanced-section");c.hasClass("advanced-visible")||a===!1?(c.removeClass("advanced-visible"),c.find(".advanced-settings").addClass("hidden"),b="hide"):(c.addClass("advanced-visible"),c.find(".advanced-settings").removeClass("hidden"),b="show"),window.setUserSetting("advImgDetails",b)},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b&&(a.preventDefault(),b.set("image",this.model.attachment),this.controller.setState("edit-image"))},replaceAttachment:function(a){a.preventDefault(),this.controller.setState("replace-image")}}),b.exports=c},{}],47:[function(a,b){var c=wp.media.View.extend({tagName:"label",className:"screen-reader-text",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}});b.exports=c},{}],48:[function(a,b){var c,d=wp.media.view.Frame,e=jQuery;c=d.extend({className:"media-frame",template:wp.template("media-frame"),regions:["menu","title","content","toolbar","router"],events:{"click div.media-frame-title h1":"toggleMenu"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.content(this)),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:this.modal?this.modal.$el:this.$el,container:this.$el}}),this.views.set(".media-frame-uploader",this.uploader)),this.on("attach",_.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("title:render",function(a){a.$el.append('<span class="dashicons dashicons-arrow-down"></span>')}),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new wp.media.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new wp.media.view.Menu({controller:this})},toggleMenu:function(){this.$el.find(".media-menu").toggleClass("visible")},createToolbar:function(a){a.view=new wp.media.view.Toolbar({controller:this})},createRouter:function(a){a.view=new wp.media.view.Router({controller:this})},createIframeStates:function(a){var b,c=wp.media.view.settings,d=c.tabs,f=c.tabUrl;d&&f&&(b=e("#post_ID"),b.length&&(f+="&post_id="+b.val()),_.each(d,function(b,c){this.state("iframe:"+c).set(_.defaults({tab:c,src:f+"&tab="+c,title:b,content:"iframe",menu:"default"},a))},this),this.on("content:create:iframe",this.iframeContent,this),this.on("content:deactivate:iframe",this.iframeContentCleanup,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new wp.media.view.Iframe({controller:this})},iframeContentCleanup:function(){this.$el.removeClass("hide-toolbar")},iframeMenu:function(a){var b={};a&&(_.each(wp.media.view.settings.tabs,function(a,c){b["iframe:"+c]={text:this.state("iframe:"+c).get("title"),priority:200}},this),a.set(b))},hijackThickbox:function(){var a=this;window.tb_remove&&!this._tb_remove&&(this._tb_remove=window.tb_remove,window.tb_remove=function(){a.close(),a.reset(),a.setState(a.options.state),a._tb_remove.call(window)})},restoreThickbox:function(){this._tb_remove&&(window.tb_remove=this._tb_remove,delete this._tb_remove)}}),_.each(["open","close","attach","detach","escape"],function(a){c.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),b.exports=c},{}],49:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(a){var b=this.options.click;a&&a.preventDefault(),b?b.call(this):this.click(),wp.media.isTouchDevice||d(".media-frame-content input").first().focus()},click:function(){var a=this.options.state;a&&(this.controller.setState(a),this.views.parent.$el.removeClass("visible"))},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),b.exports=c},{}],50:[function(a,b){var c,d=wp.media.view.MenuItem,e=wp.media.view.PriorityList;c=e.extend({tagName:"div",className:"media-menu",property:"state",ItemView:d,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){e.prototype.ready.apply(this,arguments),this.visibility()},set:function(){e.prototype.set.apply(this,arguments),this.visibility()},unset:function(){e.prototype.unset.apply(this,arguments),this.visibility()},visibility:function(){var a=this.region,b=this.controller[a].get(),c=this.views.get(),d=!c||c.length<2;this===b&&this.controller.$el.toggleClass("hide-"+a,d)},select:function(a){var b=this.get(a);b&&(this.deselect(),b.$el.addClass("active"))},deselect:function(){this.$el.children().removeClass("active")},hide:function(a){var b=this.get(a);b&&b.$el.addClass("hidden")},show:function(a){var b=this.get(a);b&&b.$el.removeClass("hidden")}}),b.exports=c},{}],51:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",template:wp.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){_.defaults(this.options,{container:document.body,title:"",propagate:!0,freeze:!0}),this.focusManager=new wp.media.view.FocusManager({el:this.el})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var a,b=this.$el,c=this.options;return b.is(":visible")?this:(this.views.attached||this.attach(),c.freeze&&(this._freeze={scrollTop:d(window).scrollTop()}),d("body").addClass("modal-open"),b.show(),"ontouchend"in document&&(a=window.tinymce&&window.tinymce.activeEditor)&&!a.isHidden()&&a.iframeElement&&(a.iframeElement.focus(),a.iframeElement.blur(),setTimeout(function(){a.iframeElement.blur()},100)),this.$el.focus(),this.propagate("open"))},close:function(a){var b=this._freeze;return this.views.attached&&this.$el.is(":visible")?(d("body").removeClass("modal-open"),this.$el.hide().undelegate("keydown"),d("#wpbody-content").focus(),this.propagate("close"),b&&d(window).scrollTop(b.scrollTop),a&&a.escape&&this.propagate("escape"),this):this},escape:function(){return this.close({escape:!0})},escapeHandler:function(a){a.preventDefault(),this.escape()},content:function(a){return this.views.set(".media-modal-content",a),this},propagate:function(a){return this.trigger(a),this.options.propagate&&this.controller.trigger(a),this},keydown:function(a){27===a.which&&this.$el.is(":visible")&&(this.escape(),a.stopImmediatePropagation())}}),b.exports=c},{}],52:[function(a,b){var c=wp.media.View.extend({tagName:"div",initialize:function(){this._views={},this.set(_.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,b,c){var d,e,f;return c=c||{},_.isObject(a)?(_.each(a,function(a,b){this.set(b,a)},this),this):(b instanceof Backbone.View||(b=this.toView(b,a,c)),b.controller=b.controller||this.controller,this.unset(a),d=b.options.priority||10,e=this.views.get()||[],_.find(e,function(a,b){return a.options.priority>d?(f=b,!0):void 0}),this._views[a]=b,this.views.add(b,{at:_.isNumber(f)?f:e.length||0}),this)},get:function(a){return this._views[a]},unset:function(a){var b=this.get(a);return b&&b.remove(),delete this._views[a],this},toView:function(a){return new wp.media.View(a)}});b.exports=c},{}],53:[function(a,b){var c=wp.media.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}});b.exports=c},{}],54:[function(a,b){var c,d=wp.media.view.Menu;c=d.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:wp.media.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),d.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),b.exports=c},{}],55:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"input",className:"search",id:"media-search-input",attributes:{type:"search",placeholder:d.search},events:{input:"search",keyup:"search",change:"search",search:"search"},render:function(){return this.el.value=this.model.escape("search"),this},search:function(a){a.target.value?this.model.set("search",a.target.value):this.model.unset("search")}}),b.exports=c},{}],56:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"div",className:"media-selection",template:wp.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new wp.media.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model}),this.views.set(".selection-view",this.attachments),this.collection.on("add remove reset",this.refresh,this),this.controller.on("content:activate",this.refresh,this)},ready:function(){this.refresh()},refresh:function(){if(this.$el.children().length){var a=this.collection,b="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",b),this.$(".count").text(d.selected.replace("%d",a.length))}},edit:function(a){a.preventDefault(),this.options.editable&&this.options.editable.call(this,this.collection)},clear:function(a){a.preventDefault(),this.collection.reset(),this.controller.modal.focusManager.focus()}}),b.exports=c},{}],57:[function(a,b){var c,d=wp.media.View,e=Backbone.$;c=d.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.listenTo(this.model,"change",this.updateChanges)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},render:function(){return d.prototype.render.apply(this,arguments),_(this.model.attributes).chain().keys().each(this.update,this),this},update:function(a){var b,c,d=this.model.get(a),e=this.$('[data-setting="'+a+'"]');e.length&&(e.is("select")?(c=e.find('[value="'+d+'"]'),c.length?(e.find("option").prop("selected",!1),c.prop("selected",!0)):this.model.set(a,e.find(":selected").val())):e.hasClass("button-group")?(b=e.find("button").removeClass("active"),b.filter('[value="'+d+'"]').addClass("active")):e.is('input[type="text"], textarea')?e.is(":focus")||e.val(d):e.is('input[type="checkbox"]')&&e.prop("checked",!!d&&"false"!==d))},updateHandler:function(a){var b,c=e(a.target).closest("[data-setting]"),d=a.target.value;a.preventDefault(),c.length&&(c.is('input[type="checkbox"]')&&(d=c[0].checked),this.model.set(c.data("setting"),d),(b=c.data("userSetting"))&&window.setUserSetting(b,d))},updateChanges:function(a){a.hasChanged()&&_(a.changed).chain().keys().each(this.update,this)}}),b.exports=c},{}],58:[function(a,b){var c,d=wp.media.view.Settings;c=d.extend({className:"attachment-display-settings",template:wp.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;_.defaults(this.options,{userSettings:!1}),d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:link",this.updateLinkTo),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&_.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),d.prototype.render.call(this),this.updateLinkTo(),this},updateLinkTo:function(){var a=this.model.get("link"),b=this.$(".link-to-custom"),c=this.options.attachment;return"none"===a||"embed"===a||!c&&"custom"!==a?void b.addClass("hidden"):(c&&("post"===a?b.val(c.get("link")):"file"===a?b.val(c.get("url")):this.model.get("linkUrl")||b.val("http://"),b.prop("readonly","custom"!==a)),b.removeClass("hidden"),void(!wp.media.isTouchDevice&&b.is(":visible")&&b.focus()[0].select()))}}),b.exports=c},{}],59:[function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings gallery-settings",template:wp.template("gallery-settings")});b.exports=c},{}],60:[function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings playlist-settings",template:wp.template("playlist-settings")});b.exports=c},{}],61:[function(a,b){var c=wp.media.view.PriorityList.extend({className:"media-sidebar"});b.exports=c},{}],62:[function(a,b){var c=wp.media.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=_.delay(function(a){a.addClass("is-active")},this.delay,this.$el)),this},hide:function(){return this.$el.removeClass("is-active"),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}});b.exports=c},{}],63:[function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),c=this.library=a.get("library");this._views={},this.primary=new wp.media.view.PriorityList,this.secondary=new wp.media.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary search-form"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),d.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,b,c){var d;return c=c||{},_.isObject(a)?_.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(b instanceof Backbone.View||(b.classes=["media-button-"+a].concat(b.classes||[]),b=new wp.media.view.Button(b).render()),b.controller=b.controller||this.controller,this._views[a]=b,d=b.options.priority<0?"secondary":"primary",this[d].set(a,b,c)),c.silent||this.refresh(),this},get:function(a){return this._views[a]},unset:function(a,b){return delete this._views[a],this.primary.unset(a,b),this.secondary.unset(a,b),b&&b.silent||this.refresh(),this},refresh:function(){var a=this.controller.state(),b=a.get("library"),c=a.get("selection");_.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var d=a.options.requires,e=!1;e=_.some(c.models,function(a){return a.get("uploading")===!0}),d.selection&&c&&!c.length?e=!0:d.library&&b&&!b.length&&(e=!0),a.model.set("disabled",e)}})}}),b.exports=c},{}],64:[function(a,b){var c,d=wp.media.view.Toolbar.Select,e=wp.media.view.l10n;c=d.extend({initialize:function(){_.defaults(this.options,{text:e.insertIntoPost,requires:!1}),d.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),d.prototype.refresh.apply(this,arguments)}}),b.exports=c},{}],65:[function(a,b){var c,d=wp.media.view.Toolbar,e=wp.media.view.l10n;c=d.extend({initialize:function(){var a=this.options;_.bindAll(this,"clickSelect"),_.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:e.select,requires:{selection:!0}}),a.items=_.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),d.prototype.initialize.apply(this,arguments)},clickSelect:function(){var a=this.options,b=this.controller;a.close&&b.close(),a.event&&b.state().trigger(a.event),a.state&&b.setState(a.state),a.reset&&b.reset()}}),b.exports=c},{}],66:[function(a,b){var c,d=wp.media.View,e=wp.media.view.l10n,f=jQuery;c=d.extend({tagName:"div",className:"uploader-editor",template:wp.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,initialize:function(){return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=f(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",_.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",_.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",_.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",_.bind(this.click,this)),this.$document.on("dragover",_.bind(this.containerDragover,this)),this.$document.on("dragleave",_.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",_.bind(function(a){this.localDrag="dragstart"===a.type},this)),this.initialized=!0,this):this},browserSupport:function(){var a=!1,b=document.createElement("div");return a="draggable"in b||"ondragstart"in b&&"ondrop"in b,a=a&&!!(window.File&&window.FileList&&window.FileReader)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:_.isUndefined(a.originalEvent)||_.isUndefined(a.originalEvent.dataTransfer)?!1:(this.draggingFile=_.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&-1===_.indexOf(a.originalEvent.dataTransfer.types,"text/plain"),this.draggingFile)},refresh:function(a){var b;for(b in this.dropzones)this.dropzones[b].toggle(this.overContainer||this.overDropzone);return _.isUndefined(a)||f(a.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this.overContainer||this.overDropzone||(this.draggingFile=null),this},render:function(){return this.initialized?(d.prototype.render.apply(this,arguments),f(".wp-editor-wrap, #wp-fullscreen-body").each(_.bind(this.attach,this)),this):this},attach:function(a,b){var c=this.$el.clone();return this.dropzones.push(c),f(b).append(c),this},drop:function(a){var b,c=null;return this.containerDragleave(a),this.dropzoneDragleave(a),this.files=a.originalEvent.dataTransfer.files,this.files.length<1?void 0:(c=f(a.target).parents(".wp-editor-wrap"),c.length>0&&c[0].id&&(window.wpActiveEditor=c[0].id.slice(3,-5)),this.workflow?(this.workflow.state().reset(),this.addFiles.apply(this),this.workflow.open()):(this.workflow=wp.media.editor.open("content",{frame:"post",state:"insert",title:e.addMedia,multiple:!0}),b=this.workflow.uploader,b.uploader&&b.uploader.ready?this.addFiles.apply(this):this.workflow.on("uploader:ready",this.addFiles,this)),!1)},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(_.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,_.delay(_.bind(this.refresh,this),50)},dropzoneDragover:function(a){return!this.localDrag&&this.isDraggingFile(a)?(this.overDropzone=!0,this.refresh(a),!1):void 0},dropzoneDragleave:function(a){this.overDropzone=!1,_.delay(_.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),b.exports=c},{}],67:[function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"uploader-inline",template:wp.template("uploader-inline"),events:{"click .close":"hide"},initialize:function(){_.defaults(this.options,{message:"",status:!0,canClose:!1}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),_.isUndefined(this.options.postId)&&(this.options.postId=wp.media.view.settings.post.id),
-this.options.status&&this.views.set(".upload-inline-status",new wp.media.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight"),c={};return c.message=this.options.message,c.canClose=this.options.canClose,a&&b&&(c.suggestedWidth=a,c.suggestedHeight=b),c},dispose:function(){return this.disposing?d.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=d.prototype.remove.apply(this,arguments);return _.defer(_.bind(this.refresh,this)),a},refresh:function(){var a=this.controller.uploader;a&&a.refresh()},ready:function(){var a,b=this.options.$browser;if(this.controller.uploader){if(a=this.$(".browser"),a[0]===b[0])return;b.detach().text(a.text()),b[0].className=a[0].className,a.replaceWith(b.show())}return this.refresh(),this},show:function(){this.$el.removeClass("hidden")},hide:function(){this.$el.addClass("hidden")}}),b.exports=c},{}],68:[function(a,b){var c=wp.media.View.extend({className:"upload-error",template:wp.template("uploader-status-error")});b.exports=c},{}],69:[function(a,b){var c,d=wp.media.View;c=d.extend({className:"media-uploader-status",template:wp.template("uploader-status"),events:{"click .upload-dismiss-errors":"dismiss"},initialize:function(){this.queue=wp.Uploader.queue,this.queue.on("add remove reset",this.visibility,this),this.queue.on("add remove reset change:percent",this.progress,this),this.queue.on("add remove reset change:uploading",this.info,this),this.errors=wp.Uploader.errors,this.errors.reset(),this.errors.on("add remove reset",this.visibility,this),this.errors.on("add",this.error,this)},dispose:function(){return wp.Uploader.queue.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},visibility:function(){this.$el.toggleClass("uploading",!!this.queue.length),this.$el.toggleClass("errors",!!this.errors.length),this.$el.toggle(!!this.queue.length||!!this.errors.length)},ready:function(){_.each({$bar:".media-progress-bar div",$index:".upload-index",$total:".upload-total",$filename:".upload-filename"},function(a,b){this[b]=this.$(a)},this),this.visibility(),this.progress(),this.info()},progress:function(){var a=this.queue,b=this.$bar;b&&a.length&&b.width(a.reduce(function(a,b){if(!b.get("uploading"))return a+100;var c=b.get("percent");return a+(_.isNumber(c)?c:100)},0)/a.length+"%")},info:function(){var a,b=this.queue,c=0;b.length&&(a=this.queue.find(function(a,b){return c=b,a.get("uploading")}),this.$index.text(c+1),this.$total.text(b.length),this.$filename.html(a?this.filename(a.get("filename")):""))},filename:function(a){return wp.media.truncate(_.escape(a),24)},error:function(a){this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var b=this.views.get(".upload-errors");a.preventDefault(),b&&_.invoke(b,"remove"),wp.Uploader.errors.reset()}}),b.exports=c},{}],70:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",className:"uploader-window",template:wp.template("uploader-window"),initialize:function(){var a;this.$browser=d('<a href="#" class="browser" />').hide().appendTo("body"),a=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!a.dropzone||a.dropzone instanceof d||(a.dropzone=d(a.dropzone)),this.controller.on("activate",this.refresh,this),this.controller.on("detach",function(){this.$browser.remove()},this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var a,b=wp.media.view.settings.post.id;this.uploader||(b&&(this.options.uploader.params.post_id=b),this.uploader=new wp.Uploader(this.options.uploader),a=this.uploader.dropzone,a.on("dropzone:enter",_.bind(this.show,this)),a.on("dropzone:leave",_.bind(this.hide,this)),d(this.uploader).on("uploader:ready",_.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();_.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});wp.media.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()}),_.delay(function(){"0"===a.css("opacity")&&a.is(":visible")&&a.hide()},500)}}),b.exports=c},{}],71:[function(a,b){var c=wp.Backbone.View.extend({constructor:function(a){a&&a.controller&&(this.controller=a.controller),wp.Backbone.View.apply(this,arguments)},dispose:function(){return this.undelegateEvents(),this.model&&this.model.off&&this.model.off(null,null,this),this.collection&&this.collection.off&&this.collection.off(null,null,this),this.controller&&this.controller.off&&this.controller.off(null,null,this),this},remove:function(){return this.dispose(),wp.Backbone.View.prototype.remove.apply(this,arguments)}});b.exports=c},{}]},{},[17]);
\ No newline at end of file
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){var d,e=wp.media.model.Selection,f=wp.media.controller.Library;d=f.extend({defaults:_.defaults({multiple:"add",filterable:"uploaded",priority:100,syncSelection:!1},f.prototype.defaults),initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-library"),this.set("toolbar",a+"-add"),this.set("menu",a),this.get("library")||this.set("library",wp.media.query({type:this.get("type")})),f.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.get("editLibrary"),c=this.frame.state(this.get("collectionType")+"-edit").get("library");b&&b!==c&&a.unobserve(b),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!c.get(a.cid)&&e.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),f.prototype.activate.apply(this,arguments)}}),b.exports=d},{}],2:[function(a,b,c){var d,e=wp.media.controller.Library,f=wp.media.view.l10n,g=jQuery;d=e.extend({defaults:{multiple:!1,sortable:!0,date:!1,searchable:!1,content:"browse",describe:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type",this.get("type")),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.renderSettings,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),e.prototype.deactivate.apply(this,arguments)},renderSettings:function(a){var b=this.get("library"),c=this.get("collectionType"),d=this.get("dragInfoText"),e=this.get("SettingsView"),h={};b&&a&&(b[c]=b[c]||new Backbone.Model,h[c]=new e({controller:this,model:b[c],priority:40}),a.sidebar.set(h),d&&a.toolbar.set("dragInfo",new wp.media.View({el:g('<div class="instructions">'+d+"</div>")[0],priority:-40})),a.toolbar.set("reverse",{text:f.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}),b.exports=d},{}],3:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.controller.State.extend({defaults:{id:"cropper",title:e.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var a,b;a=this.get("canSkipCrop")||!1,b={controller:this.frame,items:{insert:{style:"primary",text:e.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a,b=this.controller;a=b.state().get("selection").first(),a.set({cropDetails:b.state().imgSelect.getSelection()}),this.$el.text(e.cropping),this.$el.attr("disabled",!0),b.state().doCrop(a).done(function(a){b.trigger("cropped",a),b.close()}).fail(function(){b.trigger("content:error:crop")})}}}},a&&_.extend(b.items,{skip:{style:"secondary",text:e.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var a=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",a),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(b))},doCrop:function(a){return wp.ajax.post("custom-header-crop",{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")})}}),b.exports=d},{}],4:[function(a,b,c){var d,e=wp.media.controller;d=e.Cropper.extend({doCrop:function(a){var b=a.get("cropDetails"),c=this.get("control");return b.dst_width=c.params.width,b.dst_height=c.params.height,wp.ajax.post("crop-image",{wp_customize:"on",nonce:a.get("nonces").edit,id:a.get("id"),context:c.id,cropDetails:b})}}),b.exports=d},{}],5:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.controller.State.extend({defaults:{id:"edit-image",title:e.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.listenTo(this.frame,"toolbar:render:edit-image",this.toolbar)},deactivate:function(){this.stopListening(this.frame)},toolbar:function(){var a=this.frame,b=a.lastState(),c=b&&b.id;a.toolbar.set(new wp.media.view.Toolbar({controller:a,items:{back:{style:"primary",text:e.back,priority:20,click:function(){c?a.setState(c):a.close()}}}}))}}),b.exports=d},{}],6:[function(a,b,c){var d,e=wp.media.view.l10n,f=Backbone.$;d=wp.media.controller.State.extend({defaults:{id:"embed",title:e.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:400,initialize:function(a){this.metadata=a.metadata,this.debouncedScan=_.debounce(_.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var a,b=this,c={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",c),c.scanners.length?(a=c.scanners=f.when.apply(f,c.scanners),a.always(function(){b.get("scanners")===a&&b.set("loading",!1)})):c.scanners=null,c.loading=!!c.scanners,this.set(c)},scanImage:function(a){var b=this.frame,c=this,d=this.props.get("url"),e=new Image,g=f.Deferred();a.scanners.push(g.promise()),e.onload=function(){g.resolve(),c===b.state()&&d===c.props.get("url")&&(c.set({type:"image"}),c.props.set({width:e.width,height:e.height}))},e.onerror=g.reject,e.src=d},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),b.exports=d},{}],7:[function(a,b,c){var d,e=wp.media.model.Attachment,f=wp.media.controller.Library,g=wp.media.view.l10n;d=f.extend({defaults:_.defaults({id:"featured-image",title:g.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",priority:60,syncSelection:!0},f.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",wp.media.query({type:"image"})),f.prototype.initialize.apply(this,arguments),a=this.get("library"),b=a.comparator,a.comparator=function(a,c){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(c.cid);return!d&&e?-1:d&&!e?1:b.apply(this,arguments)},a.observe(this.get("selection"))},activate:function(){this.updateSelection(),this.frame.on("open",this.updateSelection,this),f.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),f.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=wp.media.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=e.get(c),a.fetch()),b.reset(a?[a]:[])}}),b.exports=d},{}],8:[function(a,b,c){var d,e=wp.media.model.Selection,f=wp.media.controller.Library,g=wp.media.view.l10n;d=f.extend({defaults:_.defaults({id:"gallery-library",title:g.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",priority:100,syncSelection:!1},f.prototype.defaults),initialize:function(){this.get("library")||this.set("library",wp.media.query({type:"image"})),f.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==b&&a.unobserve(this.editLibrary),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!b.get(a.cid)&&e.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,f.prototype.activate.apply(this,arguments)}}),b.exports=d},{}],9:[function(a,b,c){var d,e=wp.media.controller.Library,f=wp.media.view.l10n;d=e.extend({defaults:{id:"gallery-edit",title:f.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,date:!1,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),e.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){if(this.get("displaySettings")){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new wp.media.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:f.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}}),b.exports=d},{}],10:[function(a,b,c){var d,e=wp.media.controller.State,f=wp.media.controller.Library,g=wp.media.view.l10n;d=e.extend({defaults:_.defaults({id:"image-details",title:g.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},f.prototype.defaults),initialize:function(a){this.image=a.image,e.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),b.exports=d},{}],11:[function(a,b,c){var d,e=wp.media.view.l10n,f=window.getUserSetting,g=window.setUserSetting;d=wp.media.controller.State.extend({defaults:{id:"library",title:e.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,b=this.get("selection");this.get("library")||this.set("library",wp.media.query()),b instanceof wp.media.model.Selection||(a=b,a||(a=this.get("library").props.toJSON(),a=_.omit(a,"orderby","query")),this.set("selection",new wp.media.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",f("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var a=wp.media.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:a.align||f("align","none"),size:a.size||f("imgsize","medium"),link:a.link||f("urlbutton","file")}},display:function(a){var b=this._displays;return b[a.cid]||(b[a.cid]=new Backbone.Model(this.defaultDisplaySettings(a))),b[a.cid]},defaultDisplaySettings:function(a){var b=this._defaultDisplaySettings;return(b.canEmbed=this.canEmbed(a))&&(b.link="embed"),b},canEmbed:function(a){if(!a.get("uploading")){var b=a.get("type");if("audio"!==b&&"video"!==b)return!1}return _.contains(wp.media.view.settings.embedExts,a.get("filename").split(".").pop())},refreshContent:function(){var a=this.get("selection"),b=this.frame,c=b.router.get(),d=b.content.mode();this.active&&!a.length&&c&&!c.get(d)&&this.frame.content.render(this.get("content"))},uploading:function(a){var b=this.frame.content;"upload"===b.mode()&&this.frame.content.mode("browse"),this.get("autoSelect")&&(this.get("selection").add(a),this.frame.trigger("library:selection:add"))},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&g("libraryContent",a)}}}),_.extend(d.prototype,wp.media.selectionSync),b.exports=d},{}],12:[function(a,b,c){var d,e=wp.media.controller.Library;d=e.extend({defaults:_.defaults({filterable:"uploaded",displaySettings:!1,priority:80,syncSelection:!1},e.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",wp.media.query({type:this.type})),e.prototype.initialize.apply(this,arguments)},activate:function(){wp.media.frame.lastMime&&(this.set("library",wp.media.query({type:wp.media.frame.lastMime})),delete wp.media.frame.lastMime),e.prototype.activate.apply(this,arguments)}}),b.exports=d},{}],13:[function(a,b,c){var d=function(a){_.extend(this,_.pick(a||{},"id","view","selector"))};d.extend=Backbone.Model.extend,_.extend(d.prototype,{mode:function(a){return a?a===this._mode?this:(this.trigger("deactivate"),this._mode=a,this.render(a),this.trigger("activate"),this):this._mode},render:function(a){if(a&&a!==this._mode)return this.mode(a);var b,c={view:null};return this.trigger("create",c),b=c.view,this.trigger("render",b),b&&this.set(b),this},get:function(){return this.view.views.first(this.selector)},set:function(a,b){return b&&(b.add=!1),this.view.views.set(this.selector,a,b)},trigger:function(a){var b,c;if(this._mode)return c=_.toArray(arguments),b=this.id+":"+a,c[0]=b+":"+this._mode,this.view.trigger.apply(this.view,c),c[0]=b,this.view.trigger.apply(this.view,c),this}}),b.exports=d},{}],14:[function(a,b,c){var d,e=wp.media.controller.Library,f=wp.media.view.l10n;d=e.extend({defaults:_.defaults({id:"replace-image",title:f.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,priority:60,syncSelection:!0},e.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments),b=this.get("library"),c=b.comparator,b.comparator=function(a,b){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(b.cid);return!d&&e?-1:d&&!e?1:c.apply(this,arguments)},b.observe(this.get("selection"))},activate:function(){this.updateSelection(),e.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),b.exports=d},{}],15:[function(a,b,c){var d,e=wp.media.controller;d=e.Cropper.extend({activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},createCropContent:function(){this.cropperView=new wp.media.view.SiteIconCropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},doCrop:function(a){var b=a.get("cropDetails"),c=this.get("control");return b.dst_width=c.params.width,b.dst_height=c.params.height,wp.ajax.post("crop-image",{nonce:a.get("nonces").edit,id:a.get("id"),context:"site-icon",cropDetails:b})}}),b.exports=d},{}],16:[function(a,b,c){var d=function(a){this.states=new Backbone.Collection(a)};d.extend=Backbone.Model.extend,_.extend(d.prototype,Backbone.Events,{state:function(a){return this.states=this.states||new Backbone.Collection,a=a||this._state,a&&!this.states.get(a)&&this.states.add({id:a}),this.states.get(a)},setState:function(a){var b=this.state();return b&&a===b.id||!this.states||!this.states.get(a)?this:(b&&(b.trigger("deactivate"),this._lastState=b.id),this._state=a,this.state().trigger("activate"),this)},lastState:function(){return this._lastState?this.state(this._lastState):void 0}}),_.each(["on","off","trigger"],function(a){d.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),b.exports=d},{}],17:[function(a,b,c){var d=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(a){a.$el.text(this.get("title")||"")},_router:function(){var a,b=this.frame.router,c=this.get("router");this.frame.$el.toggleClass("hide-router",!c),c&&(this.frame.router.render(c),a=b.get(),a&&a.select&&a.select(this.frame.content.mode()))},_menu:function(){var a,b=this.frame.menu,c=this.get("menu");this.frame.$el.toggleClass("hide-menu",!c),c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}});_.each(["toolbar","content"],function(a){d.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),b.exports=d},{}],18:[function(a,b,c){var d={syncSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(b.attachments),b.difference=_.difference(b.attachments.models,a.models)),a.single(b.single))},recordSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple?(b.attachments.reset(a.toArray().concat(b.difference)),b.difference=[]):b.attachments.add(a.toArray()),b.single=a._single)}};b.exports=d},{}],19:[function(a,b,c){var d,e=wp.media,f=jQuery;e.isTouchDevice="ontouchend"in document,d=e.view.l10n=window._wpMediaViewsL10n||{},e.view.settings=d.settings||{},delete d.settings,e.model.settings.post=e.view.settings.post,f.support.transition=function(){var a,b=document.documentElement.style,c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=_.find(_.keys(c),function(a){return!_.isUndefined(b[a])}),a&&{end:c[a]}}(),e.events=_.extend({},Backbone.Events),e.transition=function(a,b){var c=f.Deferred();return b=b||2e3,f.support.transition?(a instanceof f||(a=f(a)),a.first().one(f.support.transition.end,c.resolve),_.delay(c.resolve,b)):c.resolve(),c.promise()},e.controller.Region=a("./controllers/region.js"),e.controller.StateMachine=a("./controllers/state-machine.js"),e.controller.State=a("./controllers/state.js"),e.selectionSync=a("./utils/selection-sync.js"),e.controller.Library=a("./controllers/library.js"),e.controller.ImageDetails=a("./controllers/image-details.js"),e.controller.GalleryEdit=a("./controllers/gallery-edit.js"),e.controller.GalleryAdd=a("./controllers/gallery-add.js"),e.controller.CollectionEdit=a("./controllers/collection-edit.js"),e.controller.CollectionAdd=a("./controllers/collection-add.js"),e.controller.FeaturedImage=a("./controllers/featured-image.js"),e.controller.ReplaceImage=a("./controllers/replace-image.js"),e.controller.EditImage=a("./controllers/edit-image.js"),e.controller.MediaLibrary=a("./controllers/media-library.js"),e.controller.Embed=a("./controllers/embed.js"),e.controller.Cropper=a("./controllers/cropper.js"),e.controller.CustomizeImageCropper=a("./controllers/customize-image-cropper.js"),e.controller.SiteIconCropper=a("./controllers/site-icon-cropper.js"),e.View=a("./views/view.js"),e.view.Frame=a("./views/frame.js"),e.view.MediaFrame=a("./views/media-frame.js"),e.view.MediaFrame.Select=a("./views/frame/select.js"),e.view.MediaFrame.Post=a("./views/frame/post.js"),e.view.MediaFrame.ImageDetails=a("./views/frame/image-details.js"),e.view.Modal=a("./views/modal.js"),e.view.FocusManager=a("./views/focus-manager.js"),e.view.UploaderWindow=a("./views/uploader/window.js"),e.view.EditorUploader=a("./views/uploader/editor.js"),e.view.UploaderInline=a("./views/uploader/inline.js"),e.view.UploaderStatus=a("./views/uploader/status.js"),e.view.UploaderStatusError=a("./views/uploader/status-error.js"),e.view.Toolbar=a("./views/toolbar.js"),e.view.Toolbar.Select=a("./views/toolbar/select.js"),e.view.Toolbar.Embed=a("./views/toolbar/embed.js"),e.view.Button=a("./views/button.js"),e.view.ButtonGroup=a("./views/button-group.js"),e.view.PriorityList=a("./views/priority-list.js"),e.view.MenuItem=a("./views/menu-item.js"),e.view.Menu=a("./views/menu.js"),e.view.RouterItem=a("./views/router-item.js"),e.view.Router=a("./views/router.js"),e.view.Sidebar=a("./views/sidebar.js"),e.view.Attachment=a("./views/attachment.js"),e.view.Attachment.Library=a("./views/attachment/library.js"),e.view.Attachment.EditLibrary=a("./views/attachment/edit-library.js"),e.view.Attachments=a("./views/attachments.js"),e.view.Search=a("./views/search.js"),e.view.AttachmentFilters=a("./views/attachment-filters.js"),e.view.DateFilter=a("./views/attachment-filters/date.js"),e.view.AttachmentFilters.Uploaded=a("./views/attachment-filters/uploaded.js"),e.view.AttachmentFilters.All=a("./views/attachment-filters/all.js"),e.view.AttachmentsBrowser=a("./views/attachments/browser.js"),e.view.Selection=a("./views/selection.js"),e.view.Attachment.Selection=a("./views/attachment/selection.js"),e.view.Attachments.Selection=a("./views/attachments/selection.js"),e.view.Attachment.EditSelection=a("./views/attachment/edit-selection.js"),e.view.Settings=a("./views/settings.js"),e.view.Settings.AttachmentDisplay=a("./views/settings/attachment-display.js"),e.view.Settings.Gallery=a("./views/settings/gallery.js"),e.view.Settings.Playlist=a("./views/settings/playlist.js"),e.view.Attachment.Details=a("./views/attachment/details.js"),e.view.AttachmentCompat=a("./views/attachment-compat.js"),e.view.Iframe=a("./views/iframe.js"),e.view.Embed=a("./views/embed.js"),e.view.Label=a("./views/label.js"),e.view.EmbedUrl=a("./views/embed/url.js"),e.view.EmbedLink=a("./views/embed/link.js"),e.view.EmbedImage=a("./views/embed/image.js"),e.view.ImageDetails=a("./views/image-details.js"),e.view.Cropper=a("./views/cropper.js"),e.view.SiteIconCropper=a("./views/site-icon-cropper.js"),e.view.SiteIconPreview=a("./views/site-icon-preview.js"),e.view.EditImage=a("./views/edit-image.js"),e.view.Spinner=a("./views/spinner.js")},{"./controllers/collection-add.js":1,"./controllers/collection-edit.js":2,"./controllers/cropper.js":3,"./controllers/customize-image-cropper.js":4,"./controllers/edit-image.js":5,"./controllers/embed.js":6,"./controllers/featured-image.js":7,"./controllers/gallery-add.js":8,"./controllers/gallery-edit.js":9,"./controllers/image-details.js":10,"./controllers/library.js":11,"./controllers/media-library.js":12,"./controllers/region.js":13,"./controllers/replace-image.js":14,"./controllers/site-icon-cropper.js":15,"./controllers/state-machine.js":16,"./controllers/state.js":17,"./utils/selection-sync.js":18,"./views/attachment-compat.js":20,"./views/attachment-filters.js":21,"./views/attachment-filters/all.js":22,"./views/attachment-filters/date.js":23,"./views/attachment-filters/uploaded.js":24,"./views/attachment.js":25,"./views/attachment/details.js":26,"./views/attachment/edit-library.js":27,"./views/attachment/edit-selection.js":28,"./views/attachment/library.js":29,"./views/attachment/selection.js":30,"./views/attachments.js":31,"./views/attachments/browser.js":32,"./views/attachments/selection.js":33,"./views/button-group.js":34,"./views/button.js":35,"./views/cropper.js":36,"./views/edit-image.js":37,"./views/embed.js":38,"./views/embed/image.js":39,"./views/embed/link.js":40,"./views/embed/url.js":41,"./views/focus-manager.js":42,"./views/frame.js":43,"./views/frame/image-details.js":44,"./views/frame/post.js":45,"./views/frame/select.js":46,"./views/iframe.js":47,"./views/image-details.js":48,"./views/label.js":49,"./views/media-frame.js":50,"./views/menu-item.js":51,"./views/menu.js":52,"./views/modal.js":53,"./views/priority-list.js":54,"./views/router-item.js":55,"./views/router.js":56,"./views/search.js":57,"./views/selection.js":58,"./views/settings.js":59,"./views/settings/attachment-display.js":60,"./views/settings/gallery.js":61,"./views/settings/playlist.js":62,"./views/sidebar.js":63,"./views/site-icon-cropper.js":64,"./views/site-icon-preview.js":65,"./views/spinner.js":66,"./views/toolbar.js":67,"./views/toolbar/embed.js":68,"./views/toolbar/select.js":69,"./views/uploader/editor.js":70,"./views/uploader/inline.js":71,"./views/uploader/status-error.js":72,"./views/uploader/status.js":73,"./views/uploader/window.js":74,"./views/view.js":75}],20:[function(a,b,c){var d,e=wp.media.View;d=e.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.listenTo(this.model,"change:compat",this.render)},dispose:function(){return this.$(":focus").length&&this.save(),e.prototype.dispose.apply(this,arguments)},render:function(){var a=this.model.get("compat");if(a&&a.item)return this.views.detach(),this.$el.html(a.item),this.views.render(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var b={};a&&a.preventDefault(),_.each(this.$el.serializeArray(),function(a){b[a.name]=a.value}),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(b).always(_.bind(this.postSave,this))},postSave:function(){this.controller.trigger("attachment:compat:ready",["ready"])}}),b.exports=d},{}],21:[function(a,b,c){var d,e=jQuery;d=wp.media.View.extend({tagName:"select",className:"attachment-filters",id:"media-attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(a,b){return{el:e("<option></option>").val(b).html(a.text)[0],priority:a.priority||50}},this).sortBy("priority").pluck("el").value()),this.listenTo(this.model,"change",this.select),this.select()},createFilters:function(){this.filters={}},change:function(){var a=this.filters[this.el.value];a&&this.model.set(a.props)},select:function(){var a=this.model,b="all",c=a.toJSON();_.find(this.filters,function(a,d){var e=_.all(a.props,function(a,b){return a===(_.isUndefined(c[b])?null:c[b])});return e?b=d:void 0}),this.$el.val(b)}}),b.exports=d},{}],22:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a={};_.each(wp.media.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{status:null,type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:e.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},wp.media.view.settings.post.id&&(a.uploaded={text:e.uploadedToThisPost,props:{status:null,type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}),a.unattached={text:e.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC"},priority:50},wp.media.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(a.trash={text:e.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC"},priority:50}),this.filters=a}}),b.exports=d},{}],23:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var a={};_.each(wp.media.view.settings.months||{},function(b,c){a[c]={text:b.text,props:{year:b.year,monthnum:b.month}}}),a.all={text:e.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=a}}),b.exports=d},{}],24:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),c=wp.media.view.settings.mimeTypes;c&&b&&(a=c[b]),this.filters={all:{text:a||e.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:e.uploadedToThisPost,props:{uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},unattached:{text:e.unattached,props:{uploadedTo:0,orderby:"menuOrder",order:"ASC"},priority:50}}}}),b.exports=d},{}],25:[function(a,b,c){var d,e=wp.media.View,f=jQuery;d=e.extend({tagName:"li",className:"attachment",template:wp.template("attachment"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{"click .js--select-attachment":"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .attachment-close":"removeFromLibrary","click .check":"checkClickHandler",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var a=this.options.selection,b=_.defaults(this.options,{rerenderOnModelChange:!0});b.rerenderOnModelChange?this.listenTo(this.model,"change",this.render):this.listenTo(this.model,"change:percent",this.progress),this.listenTo(this.model,"change:title",this._syncTitle),this.listenTo(this.model,"change:caption",this._syncCaption),this.listenTo(this.model,"change:artist",this._syncArtist),this.listenTo(this.model,"change:album",this._syncAlbum),this.listenTo(this.model,"add",this.select),this.listenTo(this.model,"remove",this.deselect),a&&(a.on("reset",this.updateSelect,this),this.listenTo(this.model,"selection:single selection:unsingle",this.details),this.details(this.model,this.controller.state().get("selection"))),this.listenTo(this.controller,"attachment:compat:waiting attachment:compat:ready",this.updateSave)},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),
+e.prototype.dispose.apply(this,arguments),this},render:function(){var a=_.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""},this.options);return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),a.uploading&&!a.percent&&(a.percent=0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;if("INPUT"!==a.target.nodeName&&"BUTTON"!==a.target.nodeName){if(37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode)return void this.controller.trigger("attachment:keydown:arrow",a);if("keydown"!==a.type||13===a.keyCode||32===a.keyCode){if(a.preventDefault(),this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return void this.controller.trigger("edit:attachment",this.model,a.currentTarget);this.controller.isModeActive("select")&&(b="toggle")}a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b}),this.controller.trigger("selection:toggle")}}},toggleSelection:function(a){var b,c,d,e,f=this.collection,g=this.options.selection,h=this.model,i=a&&a.method;if(g){if(b=g.single(),i=_.isUndefined(i)?g.multiple:i,"between"===i&&b&&g.multiple){if(b===h)return;return d=f.indexOf(b),e=f.indexOf(this.model),c=e>d?f.models.slice(d,e+1):f.models.slice(e,d+1),g.add(c),void g.single(h)}if("toggle"===i)return g[this.selected()?"remove":"add"](h),void g.single(h);if("add"===i)return g.add(h),void g.single(h);i||(i="add"),"add"!==i&&(i="reset"),this.selected()?g[b===h?"remove":"single"](h):(g[i](h),g.single(h))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var a=this.options.selection;return a?!!a.get(this.model.cid):void 0},select:function(a,b){var c=this.options.selection,d=this.controller;!c||b&&b!==c||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),d.isModeActive("grid")&&d.isModeActive("select")||this.$(".check").attr("tabindex","0"))},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},imageSize:function(a){var b=this.model.get("sizes"),c=!1;return a=a||"medium",b&&(b[a]?c=b[a]:b.large?c=b.large:b.thumbnail?c=b.thumbnail:b.full&&(c=b.full),c)?_.clone(c):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(a){var b,c,d=f(a.target).closest("[data-setting]");d.length&&(b=d.data("setting"),c=a.target.value,this.model.get(b)!==c&&this.save(b,c))},save:function(){var a=this,b=this._save=this._save||{status:"ready"},c=this.model.save.apply(this.model,arguments),d=b.requests?f.when(c,b.requests):c;b.savedTimer&&clearTimeout(b.savedTimer),this.updateSave("waiting"),b.requests=d,d.always(function(){b.requests===d&&(a.updateSave("resolved"===d.state()?"complete":"error"),b.savedTimer=setTimeout(function(){a.updateSave("ready"),delete b.savedTimer},2e3))})},updateSave:function(a){var b=this._save=this._save||{status:"ready"};return a&&a!==b.status&&(this.$el.removeClass("save-"+b.status),b.status=a),this.$el.addClass("save-"+b.status),this},updateAll:function(){var a,b=this.$("[data-setting]"),c=this.model;a=_.chain(b).map(function(a){var b,d,e=f("input, textarea, select, [value]",a);if(e.length)return b=f(a).data("setting"),d=e.val(),c.get(b)!==d?[b,d]:void 0}).compact().object().value(),_.isEmpty(a)||c.save(a)},removeFromLibrary:function(a){("keydown"!==a.type||13===a.keyCode||32===a.keyCode)&&(a.stopPropagation(),this.collection.remove(this.model))},checkClickHandler:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.where({id:this.model.get("id")}).length?(b.remove(this.model),this.$el.focus()):b.add(this.model))}}),_.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},function(a,b){d.prototype[a]=function(a,c){var d=this.$('[data-setting="'+b+'"]');return d.length?c===d.find("input, textarea, select, [value]").val()?this:this.render():this}}),b.exports=d},{}],26:[function(a,b,c){var d,e=wp.media.view.Attachment,f=wp.media.view.l10n;d=e.extend({tagName:"div",className:"attachment-details",template:wp.template("attachment-details"),attributes:function(){return{tabIndex:0,"data-id":this.model.get("id")}},events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment",keydown:"toggleSelectionHandler"},initialize:function(){this.options=_.defaults(this.options,{rerenderOnModelChange:!1}),this.on("ready",this.initialFocus),e.prototype.initialize.apply(this,arguments)},initialFocus:function(){wp.media.isTouchDevice||this.$('input[type="text"]').eq(0).focus()},deleteAttachment:function(a){a.preventDefault(),window.confirm(f.warnDelete)&&(this.model.destroy(),this.controller.modal.focusManager.focus())},trashAttachment:function(a){var b=this.controller.library;a.preventDefault(),wp.media.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){b._requery(!0)})):this.model.destroy()},untrashAttachment:function(a){var b=this.controller.library;a.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){b._requery(!0)})},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},toggleSelectionHandler:function(a){return"keydown"===a.type&&9===a.keyCode&&a.shiftKey&&a.target===this.$(":tabbable").get(0)?(this.controller.trigger("attachment:details:shift-tab",a),!1):37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?void this.controller.trigger("attachment:keydown:arrow",a):void 0}}),b.exports=d},{}],27:[function(a,b,c){var d=wp.media.view.Attachment.extend({buttons:{close:!0}});b.exports=d},{}],28:[function(a,b,c){var d=wp.media.view.Attachment.Selection.extend({buttons:{close:!0}});b.exports=d},{}],29:[function(a,b,c){var d=wp.media.view.Attachment.extend({buttons:{check:!0}});b.exports=d},{}],30:[function(a,b,c){var d=wp.media.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}});b.exports=d},{}],31:[function(a,b,c){var d,e=wp.media.View,f=jQuery;d=e.extend({tagName:"ul",className:"attachments",attributes:{tabIndex:-1},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,AttachmentView:wp.media.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:f(window).width()<640?135:150}),this._viewsByCid={},this.$window=f(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.listenTo(this.controller,"library:selection:add",this.attachmentFocus),this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,f(this.options.scrollElement).on("scroll",this.scroll),this.initSortable(),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),_.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},attachmentFocus:function(){this.$("li:first").focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(a){var b=this.$el.children("li"),c=this.columns,d=b.filter(":focus").index(),e=c>=d+1?1:Math.ceil((d+1)/c);if(-1!==d){if(37===a.keyCode){if(0===d)return;b.eq(d-1).focus()}if(38===a.keyCode){if(1===e)return;b.eq(d-c).focus()}if(39===a.keyCode){if(b.length===d)return;b.eq(d+1).focus()}if(40===a.keyCode){if(Math.ceil(b.length/c)===e)return;b.eq(d+c).focus()}}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),e.prototype.dispose.apply(this,arguments)},setColumns:function(){var a=this.columns,b=this.$el.width();b&&(this.columns=Math.min(Math.round(b/this.options.idealColumnWidth),12)||1,a&&a===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var a=this.collection;!wp.media.isTouchDevice&&this.options.sortable&&f.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!a.comparator,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(b,c){var d=a.at(c.item.data("sortableIndexStart")),e=a.comparator;delete a.comparator,a.remove(d,{silent:!0}),a.add(d,{silent:!0,at:c.item.index()}),a.comparator=e,a.trigger("reset",a),a.saveMenuOrder()}},this.options.sortable)),a.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!a.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(!wp.media.isTouchDevice&&this.options.sortable&&f.fn.sortable){var a=this.collection,b=a.props.get("orderby"),c="menuOrder"===b||!a.comparator;this.$el.sortable("option","disabled",!c)}},createAttachmentView:function(a){var b=new this.options.AttachmentView({controller:this.controller,model:a,collection:this.collection,selection:this.options.selection});return this._viewsByCid[a.cid]=b},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var a,b=this,c=this.options.scrollElement,d=c.scrollTop;c===document&&(c=document.body,d=f(document).scrollTop()),f(c).is(":visible")&&this.collection.hasMore()&&(a=this.views.parent.toolbar,c.scrollHeight-(d+c.clientHeight)<c.clientHeight/3&&a.get("spinner").show(),c.scrollHeight<d+c.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){b.scroll(),a.get("spinner").hide()}))}}),b.exports=d},{}],32:[function(a,b,c){var d,e=wp.media.View,f=wp.media.view.settings.mediaTrash,g=wp.media.view.l10n,h=jQuery;d=e.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:!1,search:!0,date:!0,display:!1,sidebar:!0,AttachmentView:wp.media.view.Attachment.Library}),this.listenTo(this.controller,"toggle:upload:attachment",_.bind(this.toggleUploader,this)),this.controller.on("edit:selection",this.editSelection),this.createToolbar(),this.options.sidebar&&this.createSidebar(),this.createUploader(),this.createAttachments(),this.updateContent(),this.options.sidebar&&"errors"!==this.options.sidebar||(this.$el.addClass("hide-sidebar"),"errors"===this.options.sidebar&&this.$el.addClass("sidebar-for-errors")),this.collection.on("add remove reset",this.updateContent,this)},editSelection:function(a){a.$(".media-button-backToLibrary").focus()},dispose:function(){return this.options.selection.off(null,null,this),e.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var a,b,c;c={controller:this.controller},this.controller.isModeActive("grid")&&(c.className="media-toolbar wp-filter"),this.toolbar=new wp.media.view.Toolbar(c),this.views.add(this.toolbar),this.toolbar.set("spinner",new wp.media.view.Spinner({priority:-60})),-1!==h.inArray(this.options.filters,["uploaded","all"])&&(this.toolbar.set("filtersLabel",new wp.media.view.Label({value:g.filterByType,attributes:{"for":"media-attachment-filters"},priority:-80}).render()),"uploaded"===this.options.filters?this.toolbar.set("filters",new wp.media.view.AttachmentFilters.Uploaded({controller:this.controller,model:this.collection.props,priority:-80}).render()):(b=new wp.media.view.AttachmentFilters.All({controller:this.controller,model:this.collection.props,priority:-80}),this.toolbar.set("filters",b.render()))),this.controller.isModeActive("grid")?(a=e.extend({className:"view-switch media-grid-view-switch",template:wp.template("media-library-view-switcher")}),this.toolbar.set("libraryViewSwitcher",new a({controller:this.controller,priority:-90}).render()),this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:g.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render()),this.toolbar.set("selectModeToggleButton",new wp.media.view.SelectModeToggleButton({text:g.bulkSelect,controller:this.controller,priority:-70}).render()),this.toolbar.set("deleteSelectedButton",new wp.media.view.DeleteSelectedButton({filters:b,style:"primary",disabled:!0,text:f?g.trashSelected:g.deleteSelected,controller:this.controller,priority:-60,click:function(){var a=[],b=[],c=this.controller.state().get("selection"),d=this.controller.state().get("library");c.length&&(f||window.confirm(g.warnBulkDelete))&&(!f||"trash"===c.at(0).get("status")||window.confirm(g.warnBulkTrash))&&(c.each(function(c){return c.get("nonces")["delete"]?void(f&&"trash"===c.get("status")?(c.set("status","inherit"),a.push(c.save()),b.push(c)):f?(c.set("status","trash"),a.push(c.save()),b.push(c)):c.destroy({wait:!0})):void b.push(c)}),a.length?(c.remove(b),h.when.apply(null,a).then(_.bind(function(){d._requery(!0),this.controller.trigger("selection:action:done")},this))):this.controller.trigger("selection:action:done"))}}).render()),f&&this.toolbar.set("deleteSelectedPermanentlyButton",new wp.media.view.DeleteSelectedPermanentlyButton({filters:b,style:"primary",disabled:!0,text:g.deleteSelected,controller:this.controller,priority:-55,click:function(){var a=[],b=this.controller.state().get("selection");b.length&&window.confirm(g.warnBulkDelete)&&(b.each(function(b){return b.get("nonces")["delete"]?void b.destroy():void a.push(b)}),b.remove(a),this.controller.trigger("selection:action:done"))}}).render())):this.options.date&&(this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:g.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render())),this.options.search&&(this.toolbar.set("searchLabel",new wp.media.view.Label({value:g.searchMediaLabel,attributes:{"for":"media-search-input"},priority:60}).render()),this.toolbar.set("search",new wp.media.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render())),this.options.dragInfo&&this.toolbar.set("dragInfo",new e({el:h('<div class="instructions">'+g.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new e({el:h('<div class="instructions">'+g.suggestedDimensions+" "+this.options.suggestedWidth+" &times; "+this.options.suggestedHeight+"</div>")[0],priority:-40}))},updateContent:function(){var a,b=this;a=this.controller.isModeActive("grid")?b.attachmentsNoResults:b.uploader,this.collection.length?(a.$el.addClass("hidden"),b.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){b.collection.length?a.$el.addClass("hidden"):a.$el.removeClass("hidden"),b.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new wp.media.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":g.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.hide(),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachments:function(){this.attachments=new wp.media.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.attachments.listenTo(this.controller,"attachment:keydown:arrow",this.attachments.arrowEvent),this.attachments.listenTo(this.controller,"attachment:details:shift-tab",this.attachments.restoreFocus),this.views.add(this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new e({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(g.noMedia),this.views.add(this.attachmentsNoResults))},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new wp.media.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new wp.media.view.UploaderStatus({controller:this.controller,priority:40})),b.on("selection:single",this.createSingle,this),b.on("selection:unsingle",this.disposeSingle,this),b.single()&&this.createSingle()},createSingle:function(){var a=this.sidebar,b=this.options.selection.single();a.set("details",new wp.media.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new wp.media.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new wp.media.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")})),"insert"===this.model.id&&a.$el.addClass("visible")},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display"),a.$el.removeClass("visible")}}),b.exports=d},{}],33:[function(a,b,c){var d,e=wp.media.view.Attachments;d=e.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!1,resize:!1,AttachmentView:wp.media.view.Attachment.Selection}),e.prototype.initialize.apply(this,arguments)}}),b.exports=d},{}],34:[function(a,b,c){var d,e=Backbone.$;d=wp.media.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new wp.media.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(e(_.pluck(this.buttons,"el")).detach()),this}}),b.exports=d},{}],35:[function(a,b,c){var d=wp.media.View.extend({tagName:"button",className:"media-button",attributes:{type:"button"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),_.each(this.defaults,function(a,b){var c=this.options[b];_.isUndefined(c)||(this.model.set(b,c),delete this.options[b])},this),this.listenTo(this.model,"change",this.render)},render:function(){var a=["button",this.className],b=this.model.toJSON();return b.style&&a.push("button-"+b.style),b.size&&a.push("button-"+b.size),a=_.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",b.disabled),this.$el.text(this.model.get("text")),this},click:function(a){"#"===this.attributes.href&&a.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}});b.exports=d},{}],36:[function(a,b,c){var d,e=wp.media.View,f=wp.media.view.UploaderStatus,g=wp.media.view.l10n,h=jQuery;d=e.extend({className:"crop-content",template:wp.template("crop-content"),initialize:function(){_.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),h(window).on("resize.cropper",_.debounce(this.onImageLoad,250))},remove:function(){h(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),e.prototype.remove.apply(this,arguments)},prepare:function(){return{title:g.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var a=this.controller.get("imgSelectOptions");"function"==typeof a&&(a=a(this.options.attachment,this.controller)),a=_.extend(a,{parent:this.$el}),this.trigger("image-loaded"),this.controller.imgSelect=this.$image.imgAreaSelect(a)},onError:function(){var a=this.options.attachment.get("filename");this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:f.prototype.filename(a),message:window._wpMediaViewsL10n.cropError}),{at:0})}}),b.exports=d},{}],37:[function(a,b,c){var d,e=wp.media.View;d=e.extend({className:"image-editor",template:wp.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,e.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},loadEditor:function(){var a=this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this);a.done(_.bind(this.focus,this))},focus:function(){this.$(".imgedit-submit .button").eq(0).focus()},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this.controller.lastState();this.model.fetch().done(_.bind(function(){this.controller.setState(a)},this))}}),b.exports=d},{}],38:[function(a,b,c){var d=wp.media.View.extend({className:"media-embed",initialize:function(){this.url=new wp.media.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.listenTo(this.model,"change:type",this.refresh),this.listenTo(this.model,"change:loading",this.loading)},settings:function(a){this._settings&&this._settings.remove(),this._settings=a,this.views.add(a)},refresh:function(){var a,b=this.model.get("type");if("image"===b)a=wp.media.view.EmbedImage;else{if("link"!==b)return;a=wp.media.view.EmbedLink}this.settings(new a({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}});b.exports=d},{}],39:[function(a,b,c){var d,e=wp.media.view.Settings.AttachmentDisplay;d=e.extend({className:"embed-media-settings",template:wp.template("embed-image-settings"),initialize:function(){e.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:url",this.updateImage)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),b.exports=d},{}],40:[function(a,b,c){var d,e=jQuery;d=wp.media.view.Settings.extend({className:"embed-link-settings",template:wp.template("embed-link-settings"),initialize:function(){this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:_.debounce(function(){var a=this.model.get("url");this.$(".embed-container").hide().find(".embed-preview").empty(),this.$(".setting").hide(),a&&(a.length<11||!a.match(/^http(s)?:\/\//))||this.fetch()},wp.media.controller.Embed.sensitivity),fetch:function(){var a;e("#embed-url-field").val()===this.model.get("url")&&(this.dfd&&"pending"===this.dfd.state()&&this.dfd.abort(),a=new wp.shortcode({tag:"embed",attrs:_.pick(this.model.attributes,["width","height","src"]),content:this.model.get("url")}),this.dfd=e.ajax({type:"POST",url:wp.ajax.settings.url,context:this,data:{action:"parse-embed",post_ID:wp.media.view.settings.post.id,shortcode:a.string()}}).done(this.renderoEmbed).fail(this.renderFail))},renderFail:function(a,b){"abort"!==b&&this.$(".link-text").show()},renderoEmbed:function(a){var b=a&&a.data&&a.data.body||"";b?this.$(".embed-container").show().find(".embed-preview").html(b):this.renderFail()}}),b.exports=d},{}],41:[function(a,b,c){var d,e=wp.media.View,f=jQuery;d=e.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=f('<input id="embed-url-field" type="url" />').val(this.model.get("url")),this.input=this.$input[0],this.spinner=f('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.listenTo(this.model,"change:url",this.render),this.model.get("url")&&_.delay(_.bind(function(){this.model.trigger("change:url")},this),500)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",e.prototype.render.apply(this,arguments),this},ready:function(){wp.media.isTouchDevice||this.focus()},url:function(a){this.model.set("url",a.target.value)},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),b.exports=d},{}],42:[function(a,b,c){var d=wp.media.View.extend({events:{keydown:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable").not('.moxie-shim input[type="file"]'),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}});b.exports=d},{}],43:[function(a,b,c){var d=wp.media.View.extend({initialize:function(){_.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new wp.media.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:wp.media.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",_.bind(this.triggerModeEvents,this)),_.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,b,c){var d,e,f={add:"activate",remove:"deactivate"};_.each(c,function(a,b){a&&(d=b)}),_.has(f,d)&&(e=a.get("id")+":"+f[d],this.trigger(e))},activateMode:function(a){return this.isModeActive(a)?void 0:(this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this)},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}});_.extend(d.prototype,wp.media.controller.StateMachine.prototype),b.exports=d},{}],44:[function(a,b,c){var d,e=wp.media.view.MediaFrame.Select,f=wp.media.view.l10n;d=e.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:f.imageDetailsTitle,priority:120},initialize:function(a){this.image=new wp.media.model.PostImage(a.metadata),this.options.selection=new wp.media.model.Selection(this.image.attachment,{multiple:!1}),e.prototype.initialize.apply(this,arguments)},bindHandlers:function(){e.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.ImageDetails({image:this.image,editable:!1}),new wp.media.controller.ReplaceImage({id:"replace-image",library:wp.media.query({type:"image"}),image:this.image,multiple:!1,title:f.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new wp.media.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new wp.media.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new wp.media.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{select:{style:"primary",text:f.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),c=b&&b.id;this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{back:{text:f.back,priority:20,click:function(){c?a.setState(c):a.close()}},replace:{style:"primary",text:f.replace,priority:80,click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),b.exports=d},{}],45:[function(a,b,c){var d,e=wp.media.view.MediaFrame.Select,f=wp.media.controller.Library,g=wp.media.view.l10n;d=e.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},_.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),e.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new f({id:"insert",title:g.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new f({id:"gallery",title:g.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"image"},a.library))}),new wp.media.controller.Embed({metadata:a.metadata}),new wp.media.controller.EditImage({model:a.editImage}),new wp.media.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new wp.media.controller.GalleryAdd,new f({id:"playlist",title:g.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"audio"},a.library))}),new wp.media.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:g.editPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:g.playlistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:g.addToPlaylistTitle}),new f({id:"video-playlist",title:g.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({
+type:"video"},a.library))}),new wp.media.controller.CollectionEdit({type:"video",collectionType:"playlist",title:g.editVideoPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:g.videoPlaylistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"video",collectionType:"playlist",title:g.addToVideoPlaylistTitle})]),wp.media.view.settings.post.featuredImageId&&this.states.add(new wp.media.controller.FeaturedImage)},bindHandlers:function(){var a,b;e.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),b=_.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof b&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},activate:function(){_.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new wp.media.View({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:g.cancelGalleryTitle,priority:20,click:function(){c?d.setState(c):d.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:g.cancelPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:g.cancelVideoPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var a=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),wp.media.isTouchDevice||a.url.focus()},editSelectionContent:function(){var a,b=this.state(),c=b.get("selection");a=new wp.media.view.AttachmentsBrowser({controller:this,collection:c,selection:c,model:b,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:g.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a),this.trigger("edit:selection",this)},editImageContent:function(){var a=this.state().get("image"),b=new wp.media.view.EditImage({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:g.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:g.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),d=a.where({type:"image"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:g.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),d=a.where({type:"audio"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:g.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),d=a.where({type:"video"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:g.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new wp.media.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?g.updateGallery:g.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:g.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?g.updatePlaylist:g.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:g.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?g.updateVideoPlaylist:g.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:g.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),b.exports=d},{}],46:[function(a,b,c){var d,e=wp.media.view.MediaFrame,f=wp.media.view.l10n;d=e.extend({initialize:function(){e.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof wp.media.model.Selection||(this.options.selection=new wp.media.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new wp.media.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new wp.media.controller.Library({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:f.uploadFilesTitle,priority:20},browse:{text:f.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.has("display")?b.get("display"):b.get("displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new wp.media.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new wp.media.view.Toolbar.Select(b)}}),b.exports=d},{}],47:[function(a,b,c){var d=wp.media.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />'),this.views.render(),this}});b.exports=d},{}],48:[function(a,b,c){var d,e=wp.media.view.Settings.AttachmentDisplay,f=jQuery;d=e.extend({className:"image-details",template:wp.template("image-details"),events:_.defaults(e.prototype.events,{"click .edit-attachment":"editAttachment","click .replace-attachment":"replaceAttachment","click .advanced-toggle":"onToggleAdvanced",'change [data-setting="customWidth"]':"onCustomSize",'change [data-setting="customHeight"]':"onCustomSize",'keyup [data-setting="customWidth"]':"onCustomSize",'keyup [data-setting="customHeight"]':"onCustomSize"}),initialize:function(){this.options.attachment=this.model.attachment,this.listenTo(this.model,"change:url",this.updateUrl),this.listenTo(this.model,"change:link",this.toggleLinkSettings),this.listenTo(this.model,"change:size",this.toggleCustomSize),e.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),_.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(_.bind(function(){e.prototype.render.apply(this,a),this.postRender()},this)).fail(_.bind(function(){this.model.attachment=!1,e.prototype.render.apply(this,a),this.postRender()},this)):(e.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(_.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===window.getUserSetting("advImgDetails")&&this.toggleAdvanced(!0),this.trigger("post-render")},resetFocus:function(){this.$(".link-to-custom").blur(),this.$(".embed-media-settings").scrollTop(0)},updateUrl:function(){this.$(".image img").attr("src",this.model.get("url")),this.$(".url").val(this.model.get("url"))},toggleLinkSettings:function(){"none"===this.model.get("link")?this.$(".link-settings").addClass("hidden"):this.$(".link-settings").removeClass("hidden")},toggleCustomSize:function(){"custom"!==this.model.get("size")?this.$(".custom-size").addClass("hidden"):this.$(".custom-size").removeClass("hidden")},onCustomSize:function(a){var b,c=f(a.target).data("setting"),d=f(a.target).val();return!/^\d+/.test(d)||parseInt(d,10)<1?void a.preventDefault():void("customWidth"===c?(b=Math.round(1/this.model.get("aspectRatio")*d),this.model.set("customHeight",b,{silent:!0}),this.$('[data-setting="customHeight"]').val(b)):(b=Math.round(this.model.get("aspectRatio")*d),this.model.set("customWidth",b,{silent:!0}),this.$('[data-setting="customWidth"]').val(b)))},onToggleAdvanced:function(a){a.preventDefault(),this.toggleAdvanced()},toggleAdvanced:function(a){var b,c=this.$el.find(".advanced-section");c.hasClass("advanced-visible")||a===!1?(c.removeClass("advanced-visible"),c.find(".advanced-settings").addClass("hidden"),b="hide"):(c.addClass("advanced-visible"),c.find(".advanced-settings").removeClass("hidden"),b="show"),window.setUserSetting("advImgDetails",b)},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b&&(a.preventDefault(),b.set("image",this.model.attachment),this.controller.setState("edit-image"))},replaceAttachment:function(a){a.preventDefault(),this.controller.setState("replace-image")}}),b.exports=d},{}],49:[function(a,b,c){var d=wp.media.View.extend({tagName:"label",className:"screen-reader-text",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}});b.exports=d},{}],50:[function(a,b,c){var d,e=wp.media.view.Frame,f=jQuery;d=e.extend({className:"media-frame",template:wp.template("media-frame"),regions:["menu","title","content","toolbar","router"],events:{"click div.media-frame-title h1":"toggleMenu"},initialize:function(){e.prototype.initialize.apply(this,arguments),_.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.content(this)),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:this.modal?this.modal.$el:this.$el,container:this.$el}}),this.views.set(".media-frame-uploader",this.uploader)),this.on("attach",_.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("title:render",function(a){a.$el.append('<span class="dashicons dashicons-arrow-down"></span>')}),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),e.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new wp.media.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new wp.media.view.Menu({controller:this})},toggleMenu:function(){this.$el.find(".media-menu").toggleClass("visible")},createToolbar:function(a){a.view=new wp.media.view.Toolbar({controller:this})},createRouter:function(a){a.view=new wp.media.view.Router({controller:this})},createIframeStates:function(a){var b,c=wp.media.view.settings,d=c.tabs,e=c.tabUrl;d&&e&&(b=f("#post_ID"),b.length&&(e+="&post_id="+b.val()),_.each(d,function(b,c){this.state("iframe:"+c).set(_.defaults({tab:c,src:e+"&tab="+c,title:b,content:"iframe",menu:"default"},a))},this),this.on("content:create:iframe",this.iframeContent,this),this.on("content:deactivate:iframe",this.iframeContentCleanup,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new wp.media.view.Iframe({controller:this})},iframeContentCleanup:function(){this.$el.removeClass("hide-toolbar")},iframeMenu:function(a){var b={};a&&(_.each(wp.media.view.settings.tabs,function(a,c){b["iframe:"+c]={text:this.state("iframe:"+c).get("title"),priority:200}},this),a.set(b))},hijackThickbox:function(){var a=this;window.tb_remove&&!this._tb_remove&&(this._tb_remove=window.tb_remove,window.tb_remove=function(){a.close(),a.reset(),a.setState(a.options.state),a._tb_remove.call(window)})},restoreThickbox:function(){this._tb_remove&&(window.tb_remove=this._tb_remove,delete this._tb_remove)}}),_.each(["open","close","attach","detach","escape"],function(a){d.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),b.exports=d},{}],51:[function(a,b,c){var d,e=jQuery;d=wp.media.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(a){var b=this.options.click;a&&a.preventDefault(),b?b.call(this):this.click(),wp.media.isTouchDevice||e(".media-frame-content input").first().focus()},click:function(){var a=this.options.state;a&&(this.controller.setState(a),this.views.parent.$el.removeClass("visible"))},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),b.exports=d},{}],52:[function(a,b,c){var d,e=wp.media.view.MenuItem,f=wp.media.view.PriorityList;d=f.extend({tagName:"div",className:"media-menu",property:"state",ItemView:e,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){f.prototype.ready.apply(this,arguments),this.visibility()},set:function(){f.prototype.set.apply(this,arguments),this.visibility()},unset:function(){f.prototype.unset.apply(this,arguments),this.visibility()},visibility:function(){var a=this.region,b=this.controller[a].get(),c=this.views.get(),d=!c||c.length<2;this===b&&this.controller.$el.toggleClass("hide-"+a,d)},select:function(a){var b=this.get(a);b&&(this.deselect(),b.$el.addClass("active"))},deselect:function(){this.$el.children().removeClass("active")},hide:function(a){var b=this.get(a);b&&b.$el.addClass("hidden")},show:function(a){var b=this.get(a);b&&b.$el.removeClass("hidden")}}),b.exports=d},{}],53:[function(a,b,c){var d,e=jQuery;d=wp.media.View.extend({tagName:"div",template:wp.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){_.defaults(this.options,{container:document.body,title:"",propagate:!0,freeze:!0}),this.focusManager=new wp.media.view.FocusManager({el:this.el})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var a,b=this.$el,c=this.options;return b.is(":visible")?this:(this.views.attached||this.attach(),c.freeze&&(this._freeze={scrollTop:e(window).scrollTop()}),e("body").addClass("modal-open"),b.show(),"ontouchend"in document&&(a=window.tinymce&&window.tinymce.activeEditor)&&!a.isHidden()&&a.iframeElement&&(a.iframeElement.focus(),a.iframeElement.blur(),setTimeout(function(){a.iframeElement.blur()},100)),this.$el.focus(),this.propagate("open"))},close:function(a){var b=this._freeze;return this.views.attached&&this.$el.is(":visible")?(e("body").removeClass("modal-open"),this.$el.hide().undelegate("keydown"),e("#wpbody-content").focus(),this.propagate("close"),b&&e(window).scrollTop(b.scrollTop),a&&a.escape&&this.propagate("escape"),this):this},escape:function(){return this.close({escape:!0})},escapeHandler:function(a){a.preventDefault(),this.escape()},content:function(a){return this.views.set(".media-modal-content",a),this},propagate:function(a){return this.trigger(a),this.options.propagate&&this.controller.trigger(a),this},keydown:function(a){27===a.which&&this.$el.is(":visible")&&(this.escape(),a.stopImmediatePropagation())}}),b.exports=d},{}],54:[function(a,b,c){var d=wp.media.View.extend({tagName:"div",initialize:function(){this._views={},this.set(_.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,b,c){var d,e,f;return c=c||{},_.isObject(a)?(_.each(a,function(a,b){this.set(b,a)},this),this):(b instanceof Backbone.View||(b=this.toView(b,a,c)),b.controller=b.controller||this.controller,this.unset(a),d=b.options.priority||10,e=this.views.get()||[],_.find(e,function(a,b){return a.options.priority>d?(f=b,!0):void 0}),this._views[a]=b,this.views.add(b,{at:_.isNumber(f)?f:e.length||0}),this)},get:function(a){return this._views[a]},unset:function(a){var b=this.get(a);return b&&b.remove(),delete this._views[a],this},toView:function(a){return new wp.media.View(a)}});b.exports=d},{}],55:[function(a,b,c){var d=wp.media.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}});b.exports=d},{}],56:[function(a,b,c){var d,e=wp.media.view.Menu;d=e.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:wp.media.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),e.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),b.exports=d},{}],57:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.View.extend({tagName:"input",className:"search",id:"media-search-input",attributes:{type:"search",placeholder:e.search},events:{input:"search",keyup:"search",change:"search",search:"search"},render:function(){return this.el.value=this.model.escape("search"),this},search:function(a){a.target.value?this.model.set("search",a.target.value):this.model.unset("search")}}),b.exports=d},{}],58:[function(a,b,c){var d,e=wp.media.view.l10n;d=wp.media.View.extend({tagName:"div",className:"media-selection",template:wp.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new wp.media.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model}),this.views.set(".selection-view",this.attachments),this.collection.on("add remove reset",this.refresh,this),this.controller.on("content:activate",this.refresh,this)},ready:function(){this.refresh()},refresh:function(){if(this.$el.children().length){var a=this.collection,b="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",b),this.$(".count").text(e.selected.replace("%d",a.length))}},edit:function(a){a.preventDefault(),this.options.editable&&this.options.editable.call(this,this.collection)},clear:function(a){a.preventDefault(),this.collection.reset(),this.controller.modal.focusManager.focus()}}),b.exports=d},{}],59:[function(a,b,c){var d,e=wp.media.View,f=Backbone.$;d=e.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.listenTo(this.model,"change",this.updateChanges)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},render:function(){return e.prototype.render.apply(this,arguments),_(this.model.attributes).chain().keys().each(this.update,this),this},update:function(a){var b,c,d=this.model.get(a),e=this.$('[data-setting="'+a+'"]');e.length&&(e.is("select")?(c=e.find('[value="'+d+'"]'),c.length?(e.find("option").prop("selected",!1),c.prop("selected",!0)):this.model.set(a,e.find(":selected").val())):e.hasClass("button-group")?(b=e.find("button").removeClass("active"),b.filter('[value="'+d+'"]').addClass("active")):e.is('input[type="text"], textarea')?e.is(":focus")||e.val(d):e.is('input[type="checkbox"]')&&e.prop("checked",!!d&&"false"!==d))},updateHandler:function(a){var b,c=f(a.target).closest("[data-setting]"),d=a.target.value;a.preventDefault(),c.length&&(c.is('input[type="checkbox"]')&&(d=c[0].checked),this.model.set(c.data("setting"),d),(b=c.data("userSetting"))&&window.setUserSetting(b,d))},updateChanges:function(a){a.hasChanged()&&_(a.changed).chain().keys().each(this.update,this)}}),b.exports=d},{}],60:[function(a,b,c){var d,e=wp.media.view.Settings;d=e.extend({className:"attachment-display-settings",template:wp.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;_.defaults(this.options,{userSettings:!1}),e.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:link",this.updateLinkTo),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),e.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&_.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),e.prototype.render.call(this),this.updateLinkTo(),this},updateLinkTo:function(){var a=this.model.get("link"),b=this.$(".link-to-custom"),c=this.options.attachment;return"none"===a||"embed"===a||!c&&"custom"!==a?void b.addClass("hidden"):(c&&("post"===a?b.val(c.get("link")):"file"===a?b.val(c.get("url")):this.model.get("linkUrl")||b.val("http://"),b.prop("readonly","custom"!==a)),b.removeClass("hidden"),void(!wp.media.isTouchDevice&&b.is(":visible")&&b.focus()[0].select()))}}),b.exports=d},{}],61:[function(a,b,c){var d=wp.media.view.Settings.extend({className:"collection-settings gallery-settings",template:wp.template("gallery-settings")});b.exports=d},{}],62:[function(a,b,c){var d=wp.media.view.Settings.extend({className:"collection-settings playlist-settings",template:wp.template("playlist-settings")});b.exports=d},{}],63:[function(a,b,c){var d=wp.media.view.PriorityList.extend({className:"media-sidebar"});b.exports=d},{}],64:[function(a,b,c){var d,e=wp.media.view;d=e.Cropper.extend({className:"crop-content site-icon",ready:function(){e.Cropper.prototype.ready.apply(this,arguments),this.$(".crop-image").on("load",_.bind(this.addSidebar,this))},addSidebar:function(){this.sidebar=new wp.media.view.Sidebar({controller:this.controller}),this.sidebar.set("preview",new wp.media.view.SiteIconPreview({controller:this.controller,attachment:this.options.attachment})),this.controller.cropperView.views.add(this.sidebar)}}),b.exports=d},{}],65:[function(a,b,c){var d,e=wp.media.View,f=jQuery;d=e.extend({className:"site-icon-preview",template:wp.template("site-icon-preview"),ready:function(){this.controller.imgSelect.setOptions({onInit:this.updatePreview,onSelectChange:this.updatePreview})},prepare:function(){return{url:this.options.attachment.get("url")}},updatePreview:function(a,b){var c=64/b.width,d=64/b.height,e=16/b.width,g=16/b.height;f("#preview-app-icon").css({width:Math.round(c*this.imageWidth)+"px",height:Math.round(d*this.imageHeight)+"px",marginLeft:"-"+Math.round(c*b.x1)+"px",marginTop:"-"+Math.round(d*b.y1)+"px"}),f("#preview-favicon").css({width:Math.round(e*this.imageWidth)+"px",height:Math.round(g*this.imageHeight)+"px",marginLeft:"-"+Math.round(e*b.x1)+"px",marginTop:"-"+Math.floor(g*b.y1)+"px"})}}),b.exports=d},{}],66:[function(a,b,c){var d=wp.media.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=_.delay(function(a){a.addClass("is-active")},this.delay,this.$el)),this},hide:function(){return this.$el.removeClass("is-active"),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}});b.exports=d},{}],67:[function(a,b,c){var d,e=wp.media.View;d=e.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),c=this.library=a.get("library");this._views={},this.primary=new wp.media.view.PriorityList,this.secondary=new wp.media.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary search-form"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),e.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,b,c){var d;return c=c||{},_.isObject(a)?_.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(b instanceof Backbone.View||(b.classes=["media-button-"+a].concat(b.classes||[]),b=new wp.media.view.Button(b).render()),b.controller=b.controller||this.controller,this._views[a]=b,d=b.options.priority<0?"secondary":"primary",this[d].set(a,b,c)),c.silent||this.refresh(),this},get:function(a){return this._views[a]},unset:function(a,b){return delete this._views[a],this.primary.unset(a,b),this.secondary.unset(a,b),b&&b.silent||this.refresh(),this},refresh:function(){var a=this.controller.state(),b=a.get("library"),c=a.get("selection");_.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var d=a.options.requires,e=!1;e=_.some(c.models,function(a){return a.get("uploading")===!0}),d.selection&&c&&!c.length?e=!0:d.library&&b&&!b.length&&(e=!0),a.model.set("disabled",e)}})}}),b.exports=d},{}],68:[function(a,b,c){var d,e=wp.media.view.Toolbar.Select,f=wp.media.view.l10n;d=e.extend({initialize:function(){_.defaults(this.options,{text:f.insertIntoPost,requires:!1}),e.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),e.prototype.refresh.apply(this,arguments)}}),b.exports=d},{}],69:[function(a,b,c){var d,e=wp.media.view.Toolbar,f=wp.media.view.l10n;d=e.extend({initialize:function(){var a=this.options;_.bindAll(this,"clickSelect"),_.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:f.select,requires:{selection:!0}}),a.items=_.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),e.prototype.initialize.apply(this,arguments)},clickSelect:function(){var a=this.options,b=this.controller;a.close&&b.close(),a.event&&b.state().trigger(a.event),a.state&&b.setState(a.state),a.reset&&b.reset()}}),b.exports=d},{}],70:[function(a,b,c){var d,e=wp.media.View,f=wp.media.view.l10n,g=jQuery;d=e.extend({tagName:"div",className:"uploader-editor",template:wp.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,initialize:function(){return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=g(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",_.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",_.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",_.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",_.bind(this.click,this)),this.$document.on("dragover",_.bind(this.containerDragover,this)),
+this.$document.on("dragleave",_.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",_.bind(function(a){this.localDrag="dragstart"===a.type},this)),this.initialized=!0,this):this},browserSupport:function(){var a=!1,b=document.createElement("div");return a="draggable"in b||"ondragstart"in b&&"ondrop"in b,a=a&&!!(window.File&&window.FileList&&window.FileReader)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:_.isUndefined(a.originalEvent)||_.isUndefined(a.originalEvent.dataTransfer)?!1:(this.draggingFile=_.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&-1===_.indexOf(a.originalEvent.dataTransfer.types,"text/plain"),this.draggingFile)},refresh:function(a){var b;for(b in this.dropzones)this.dropzones[b].toggle(this.overContainer||this.overDropzone);return _.isUndefined(a)||g(a.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this.overContainer||this.overDropzone||(this.draggingFile=null),this},render:function(){return this.initialized?(e.prototype.render.apply(this,arguments),g(".wp-editor-wrap").each(_.bind(this.attach,this)),this):this},attach:function(a,b){var c=this.$el.clone();return this.dropzones.push(c),g(b).append(c),this},drop:function(a){var b,c;return this.containerDragleave(a),this.dropzoneDragleave(a),this.files=a.originalEvent.dataTransfer.files,this.files.length<1?void 0:(b=g(a.target).parents(".wp-editor-wrap"),b.length>0&&b[0].id&&(window.wpActiveEditor=b[0].id.slice(3,-5)),this.workflow?(this.workflow.state().reset(),this.addFiles.apply(this),this.workflow.open()):(this.workflow=wp.media.editor.open(window.wpActiveEditor,{frame:"post",state:"insert",title:f.addMedia,multiple:!0}),c=this.workflow.uploader,c.uploader&&c.uploader.ready?this.addFiles.apply(this):this.workflow.on("uploader:ready",this.addFiles,this)),!1)},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(_.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,_.delay(_.bind(this.refresh,this),50)},dropzoneDragover:function(a){return!this.localDrag&&this.isDraggingFile(a)?(this.overDropzone=!0,this.refresh(a),!1):void 0},dropzoneDragleave:function(a){this.overDropzone=!1,_.delay(_.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),b.exports=d},{}],71:[function(a,b,c){var d,e=wp.media.View;d=e.extend({tagName:"div",className:"uploader-inline",template:wp.template("uploader-inline"),events:{"click .close":"hide"},initialize:function(){_.defaults(this.options,{message:"",status:!0,canClose:!1}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),_.isUndefined(this.options.postId)&&(this.options.postId=wp.media.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new wp.media.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight"),c={};return c.message=this.options.message,c.canClose=this.options.canClose,a&&b&&(c.suggestedWidth=a,c.suggestedHeight=b),c},dispose:function(){return this.disposing?e.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=e.prototype.remove.apply(this,arguments);return _.defer(_.bind(this.refresh,this)),a},refresh:function(){var a=this.controller.uploader;a&&a.refresh()},ready:function(){var a,b=this.options.$browser;if(this.controller.uploader){if(a=this.$(".browser"),a[0]===b[0])return;b.detach().text(a.text()),b[0].className=a[0].className,a.replaceWith(b.show())}return this.refresh(),this},show:function(){this.$el.removeClass("hidden")},hide:function(){this.$el.addClass("hidden")}}),b.exports=d},{}],72:[function(a,b,c){var d=wp.media.View.extend({className:"upload-error",template:wp.template("uploader-status-error")});b.exports=d},{}],73:[function(a,b,c){var d,e=wp.media.View;d=e.extend({className:"media-uploader-status",template:wp.template("uploader-status"),events:{"click .upload-dismiss-errors":"dismiss"},initialize:function(){this.queue=wp.Uploader.queue,this.queue.on("add remove reset",this.visibility,this),this.queue.on("add remove reset change:percent",this.progress,this),this.queue.on("add remove reset change:uploading",this.info,this),this.errors=wp.Uploader.errors,this.errors.reset(),this.errors.on("add remove reset",this.visibility,this),this.errors.on("add",this.error,this)},dispose:function(){return wp.Uploader.queue.off(null,null,this),e.prototype.dispose.apply(this,arguments),this},visibility:function(){this.$el.toggleClass("uploading",!!this.queue.length),this.$el.toggleClass("errors",!!this.errors.length),this.$el.toggle(!!this.queue.length||!!this.errors.length)},ready:function(){_.each({$bar:".media-progress-bar div",$index:".upload-index",$total:".upload-total",$filename:".upload-filename"},function(a,b){this[b]=this.$(a)},this),this.visibility(),this.progress(),this.info()},progress:function(){var a=this.queue,b=this.$bar;b&&a.length&&b.width(a.reduce(function(a,b){if(!b.get("uploading"))return a+100;var c=b.get("percent");return a+(_.isNumber(c)?c:100)},0)/a.length+"%")},info:function(){var a,b=this.queue,c=0;b.length&&(a=this.queue.find(function(a,b){return c=b,a.get("uploading")}),this.$index.text(c+1),this.$total.text(b.length),this.$filename.html(a?this.filename(a.get("filename")):""))},filename:function(a){return _.escape(a)},error:function(a){this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var b=this.views.get(".upload-errors");a.preventDefault(),b&&_.invoke(b,"remove"),wp.Uploader.errors.reset()}}),b.exports=d},{}],74:[function(a,b,c){var d,e=jQuery;d=wp.media.View.extend({tagName:"div",className:"uploader-window",template:wp.template("uploader-window"),initialize:function(){var a;this.$browser=e('<a href="#" class="browser" />').hide().appendTo("body"),a=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!a.dropzone||a.dropzone instanceof e||(a.dropzone=e(a.dropzone)),this.controller.on("activate",this.refresh,this),this.controller.on("detach",function(){this.$browser.remove()},this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var a,b=wp.media.view.settings.post.id;this.uploader||(b&&(this.options.uploader.params.post_id=b),this.uploader=new wp.Uploader(this.options.uploader),a=this.uploader.dropzone,a.on("dropzone:enter",_.bind(this.show,this)),a.on("dropzone:leave",_.bind(this.hide,this)),e(this.uploader).on("uploader:ready",_.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();_.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});wp.media.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()}),_.delay(function(){"0"===a.css("opacity")&&a.is(":visible")&&a.hide()},500)}}),b.exports=d},{}],75:[function(a,b,c){var d=wp.Backbone.View.extend({constructor:function(a){a&&a.controller&&(this.controller=a.controller),wp.Backbone.View.apply(this,arguments)},dispose:function(){return this.undelegateEvents(),this.model&&this.model.off&&this.model.off(null,null,this),this.collection&&this.collection.off&&this.collection.off(null,null,this),this.controller&&this.controller.off&&this.controller.off(null,null,this),this},remove:function(){return this.dispose(),wp.Backbone.View.prototype.remove.apply(this,arguments)}});b.exports=d},{}]},{},[19]);
\ No newline at end of file
index fd9660469fff5ae2423b027e2a3a70256eb9e4db..0b81b4fa2af47afbb031fb8a795551558710e808 100644 (file)
Binary files a/wp-includes/js/mediaelement/flashmediaelement.swf and b/wp-includes/js/mediaelement/flashmediaelement.swf differ
index 0132a22759ae14eb660eeb51beea2cd6635c9d60..fddc734b344006616b7612fa370dc03c941b8fe4 100644 (file)
@@ -12,7 +12,7 @@
  * License: MIT
  *
  */
-function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}var mejs=mejs||{};mejs.version="2.16.4",mejs.meIndex=0,mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube","application/x-mpegURL"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo","video/x-vimeo"]}]},mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&amp;").split("<").join("&lt;").split('"').join("&quot;")},absolutizeUrl:function(a){var b=document.createElement("div");return b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>',b.firstChild.href},getScriptPath:function(a){for(var b,c,d,e,f,g,h=0,i="",j="",k=document.getElementsByTagName("script"),l=k.length,m=a.length;l>h;h++){for(e=k[h].src,c=e.lastIndexOf("/"),c>-1?(g=e.substring(c+1),f=e.substring(0,c+1)):(g=e,f=""),b=0;m>b;b++)if(j=a[b],d=g.indexOf(j),d>-1){i=f;break}if(""!==i)break}return i},secondsToTimeCode:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=Math.floor(a/3600)%24,f=Math.floor(a/60)%60,g=Math.floor(a%60),h=Math.floor((a%1*d).toFixed(3)),i=(b||e>0?(10>e?"0"+e:e)+":":"")+(10>f?"0"+f:f)+":"+(10>g?"0"+g:g)+(c?":"+(10>h?"0"+h:h):"");return i},timeCodeToSeconds:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=a.split(":"),f=parseInt(e[0],10),g=parseInt(e[1],10),h=parseInt(e[2],10),i=0,j=0;return c&&(i=parseInt(e[3])/d),j=3600*f+60*g+h+i},convertSMPTEtoSeconds:function(a){if("string"!=typeof a)return!1;a=a.replace(",",".");var b=0,c=-1!=a.indexOf(".")?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++)d=1,e>0&&(d=Math.pow(60,e)),b+=Number(a[e])*d;return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);b&&/object|embed/i.test(b.nodeName)&&(mejs.MediaFeatures.isIE?(b.style.display="none",function(){4==b.readyState?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))},removeObjectInIE:function(a){var b=document.getElementById(a);if(b){for(var c in b)"function"==typeof b[c]&&(b[c]=null);b.parentNode.removeChild(b)}}},mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];return b[1]=b[1]||0,b[2]=b[2]||0,c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?!0:!1},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e,f,g,h=[0,0,0];if("undefined"!=typeof this.nav.plugins&&"object"==typeof this.nav.plugins[a]){if(e=this.nav.plugins[a].description,e&&("undefined"==typeof this.nav.mimeTypes||!this.nav.mimeTypes[b]||this.nav.mimeTypes[b].enabledPlugin))for(h=e.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split("."),f=0;f<h.length;f++)h[f]=parseInt(h[f].match(/\d+/),10)}else if("undefined"!=typeof window.ActiveXObject)try{g=new ActiveXObject(c),g&&(h=d(g))}catch(i){}return h}},mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[],c=a.GetVariable("$version");return c&&(c=c.split(" ")[1].split(","),b=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]),b}),mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(a,b,c,d){for(;a.isVersionSupported(b[0]+"."+b[1]+"."+b[2]+"."+b[3]);)b[c]+=d;b[c]-=d};return c(a,b,0,1),c(a,b,1,1),c(a,b,2,1e4),c(a,b,2,1e3),c(a,b,2,100),c(a,b,2,10),c(a,b,2,1),c(a,b,3,1),b}),mejs.MediaFeatures={init:function(){var a,b,c=this,d=document,e=mejs.PluginDetector.nav,f=mejs.PluginDetector.ua.toLowerCase(),g=["source","track","audio","video"];c.isiPad=null!==f.match(/ipad/i),c.isiPhone=null!==f.match(/iphone/i),c.isiOS=c.isiPhone||c.isiPad,c.isAndroid=null!==f.match(/android/i),c.isBustedAndroid=null!==f.match(/android 2\.[12]/),c.isBustedNativeHTTPS="https:"===location.protocol&&(null!==f.match(/android [12]\./)||null!==f.match(/macintosh.* version.* safari/)),c.isIE=-1!=e.appName.toLowerCase().indexOf("microsoft")||null!==e.appName.toLowerCase().match(/trident/gi),c.isChrome=null!==f.match(/chrome/gi),c.isChromium=null!==f.match(/chromium/gi),c.isFirefox=null!==f.match(/firefox/gi),c.isWebkit=null!==f.match(/webkit/gi),c.isGecko=null!==f.match(/gecko/gi)&&!c.isWebkit&&!c.isIE,c.isOpera=null!==f.match(/opera/gi),c.hasTouch="ontouchstart"in window,c.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(a=0;a<g.length;a++)b=document.createElement(g[a]);c.supportsMediaTag="undefined"!=typeof b.canPlayType||c.isBustedAndroid;try{b.canPlayType("video/mp4")}catch(h){c.supportsMediaTag=!1}c.hasSemiNativeFullScreen="undefined"!=typeof b.webkitEnterFullscreen,c.hasNativeFullscreen="undefined"!=typeof b.requestFullscreen,c.hasWebkitNativeFullScreen="undefined"!=typeof b.webkitRequestFullScreen,c.hasMozNativeFullScreen="undefined"!=typeof b.mozRequestFullScreen,c.hasMsNativeFullScreen="undefined"!=typeof b.msRequestFullscreen,c.hasTrueNativeFullScreen=c.hasWebkitNativeFullScreen||c.hasMozNativeFullScreen||c.hasMsNativeFullScreen,c.nativeFullScreenEnabled=c.hasTrueNativeFullScreen,c.hasMozNativeFullScreen?c.nativeFullScreenEnabled=document.mozFullScreenEnabled:c.hasMsNativeFullScreen&&(c.nativeFullScreenEnabled=document.msFullscreenEnabled),c.isChrome&&(c.hasSemiNativeFullScreen=!1),c.hasTrueNativeFullScreen&&(c.fullScreenEventName="",c.hasWebkitNativeFullScreen?c.fullScreenEventName="webkitfullscreenchange":c.hasMozNativeFullScreen?c.fullScreenEventName="mozfullscreenchange":c.hasMsNativeFullScreen&&(c.fullScreenEventName="MSFullscreenChange"),c.isFullScreen=function(){return c.hasMozNativeFullScreen?d.mozFullScreen:c.hasWebkitNativeFullScreen?d.webkitIsFullScreen:c.hasMsNativeFullScreen?null!==d.msFullscreenElement:void 0},c.requestFullScreen=function(a){c.hasWebkitNativeFullScreen?a.webkitRequestFullScreen():c.hasMozNativeFullScreen?a.mozRequestFullScreen():c.hasMsNativeFullScreen&&a.msRequestFullscreen()},c.cancelFullScreen=function(){c.hasWebkitNativeFullScreen?document.webkitCancelFullScreen():c.hasMozNativeFullScreen?document.mozCancelFullScreen():c.hasMsNativeFullScreen&&document.msExitFullscreen()}),c.hasSemiNativeFullScreen&&f.match(/mac os x 10_5/i)&&(c.hasNativeFullScreen=!1,c.hasSemiNativeFullScreen=!1)}},mejs.MediaFeatures.init(),mejs.HtmlMediaElement={pluginType:"native",isFullScreen:!1,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName("source");b.length>0;)this.removeChild(b[0]);if("string"==typeof a)this.src=a;else{var c,d;for(c=0;c<a.length;c++)if(d=a[c],this.canPlayType(d.type)){this.src=d.src;break}}},setVideoSize:function(a,b){this.width=a,this.height=b}},mejs.PluginMediaElement=function(a,b,c){this.id=a,this.pluginType=b,this.src=c,this.events={},this.attributes={}},mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:!1,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:!0,ended:!1,seeking:!1,duration:0,error:null,tagName:"",muted:!1,volume:1,currentTime:0,play:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.playVideo():this.pluginApi.playMedia(),this.paused=!1)},load:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType||this.pluginApi.loadMedia(),this.paused=!1)},pause:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia(),this.paused=!0)},stop:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.stopVideo():this.pluginApi.stopMedia(),this.paused=!0)},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++)if(d=e[b],mejs.PluginDetector.hasPluginVersion(this.pluginType,d.version))for(c=0;c<d.types.length;c++)if(a==d.types[c])return"probably";return""},positionFullscreenButton:function(a,b,c){null!=this.pluginApi&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){null!=this.pluginApi&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if("string"==typeof a)this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a)),this.src=mejs.Utility.absolutizeUrl(a);else{var b,c;for(b=0;b<a.length;b++)if(c=a[b],this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src)),this.src=mejs.Utility.absolutizeUrl(a);break}}},setCurrentTime:function(a){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a),this.currentTime=a)},setVolume:function(a){null!=this.pluginApi&&(this.pluginApi.setVolume("youtube"==this.pluginType?100*a:a),this.volume=a)},setMuted:function(a){null!=this.pluginApi&&("youtube"==this.pluginType?(a?this.pluginApi.mute():this.pluginApi.unMute(),this.muted=a,this.dispatchEvent("volumechange")):this.pluginApi.setMuted(a),this.muted=a)},setVideoSize:function(a,b){this.pluginElement&&this.pluginElement.style&&(this.pluginElement.style.width=a+"px",this.pluginElement.style.height=b+"px"),null!=this.pluginApi&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!0)},exitFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!1)},addEventListener:function(a,b){this.events[a]=this.events[a]||[],this.events[a].push(b)},removeEventListener:function(a,b){if(!a)return this.events={},!0;var c=this.events[a];if(!c)return!0;if(!b)return this.events[a]=[],!0;for(var d=0;d<c.length;d++)if(c[d]===b)return this.events[a].splice(d,1),!0;return!1},dispatchEvent:function(a){var b,c,d=this.events[a];if(d)for(c=Array.prototype.slice.call(arguments,1),b=0;b<d.length;b++)d[b].apply(this,c)},hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){return this.hasAttribute(a)?this.attributes[a]:""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id),mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id)}},mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b,this.htmlMediaElements[a]=c},unregisterPluginElement:function(a){delete this.pluginMediaElements[a],delete this.htmlMediaElements[a]},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case"flash":b.pluginElement=b.pluginApi=document.getElementById(a);break;case"silverlight":b.pluginElement=document.getElementById(b.id),b.pluginApi=b.pluginElement.Content.MediaElementJS}null!=b.pluginApi&&b.success&&b.success(b,c)}},fireEvent:function(a,b,c){var d,e,f,g=this.pluginMediaElements[a];if(g){d={type:b,target:g};for(e in c)g[e]=c[e],d[e]=c[e];f=c.bufferedTime||0,d.target.buffered=d.buffered={start:function(){return 0},end:function(){return f},length:1},g.dispatchEvent(d.type,d)}}},mejs.MediaElementDefaults={mode:"auto",plugins:["flash","silverlight","youtube","vimeo"],enablePluginDebug:!1,httpsBasicAuthSite:!1,type:"",pluginPath:mejs.Utility.getScriptPath(["mediaelement.js","mediaelement.min.js","mediaelement-and-player.js","mediaelement-and-player.min.js"]),flashName:"flashmediaelement.swf",flashStreamer:"",enablePluginSmoothing:!1,enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",silverlightName:"silverlightmediaelement.xap",defaultVideoWidth:480,defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:.8,success:function(){},error:function(){}},mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)},mejs.HtmlMediaElementShim={create:function(a,b){var c,d,e=mejs.MediaElementDefaults,f="string"==typeof a?document.getElementById(a):a,g=f.tagName.toLowerCase(),h="audio"===g||"video"===g,i=f.getAttribute(h?"src":"href"),j=f.getAttribute("poster"),k=f.getAttribute("autoplay"),l=f.getAttribute("preload"),m=f.getAttribute("controls");for(d in b)e[d]=b[d];return i="undefined"==typeof i||null===i||""==i?null:i,j="undefined"==typeof j||null===j?"":j,l="undefined"==typeof l||null===l||"false"===l?"none":l,k=!("undefined"==typeof k||null===k||"false"===k),m=!("undefined"==typeof m||null===m||"false"===m),c=this.determinePlayback(f,e,mejs.MediaFeatures.supportsMediaTag,h,i),c.url=null!==c.url?mejs.Utility.absolutizeUrl(c.url):"","native"==c.method?(mejs.MediaFeatures.isBustedAndroid&&(f.src=c.url,f.addEventListener("click",function(){f.play()},!1)),this.updateNative(c,e,k,l)):""!==c.method?this.createPlugin(c,e,j,k,l,m):(this.createErrorMessage(c,e,j),this)},determinePlayback:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=[],r={method:"",url:"",htmlMediaElement:a,isVideo:"audio"!=a.tagName.toLowerCase()};if("undefined"!=typeof b.type&&""!==b.type)if("string"==typeof b.type)q.push({type:b.type,url:e});else for(f=0;f<b.type.length;f++)q.push({type:b.type[f],url:e});else if(null!==e)k=this.formatType(e,a.getAttribute("type")),q.push({type:k,url:e});else for(f=0;f<a.childNodes.length;f++)j=a.childNodes[f],1==j.nodeType&&"source"==j.tagName.toLowerCase()&&(e=j.getAttribute("src"),k=this.formatType(e,j.getAttribute("type")),p=j.getAttribute("media"),(!p||!window.matchMedia||window.matchMedia&&window.matchMedia(p).matches)&&q.push({type:k,url:e}));if(!d&&q.length>0&&null!==q[0].url&&this.getTypeFromFile(q[0].url).indexOf("audio")>-1&&(r.isVideo=!1),mejs.MediaFeatures.isBustedAndroid&&(a.canPlayType=function(a){return null!==a.match(/video\/(mp4|m4v)/gi)?"maybe":""}),!(!c||"auto"!==b.mode&&"auto_plugin"!==b.mode&&"native"!==b.mode||mejs.MediaFeatures.isBustedNativeHTTPS&&b.httpsBasicAuthSite===!0)){for(d||(o=document.createElement(r.isVideo?"video":"audio"),a.parentNode.insertBefore(o,a),a.style.display="none",r.htmlMediaElement=a=o),f=0;f<q.length;f++)if("video/m3u8"==q[f].type||""!==a.canPlayType(q[f].type).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/m4a/,"mp4")).replace(/no/,"")){r.method="native",r.url=q[f].url;break}if("native"===r.method&&(null!==r.url&&(a.src=r.url),"auto_plugin"!==b.mode))return r}if("auto"===b.mode||"auto_plugin"===b.mode||"shim"===b.mode)for(f=0;f<q.length;f++)for(k=q[f].type,g=0;g<b.plugins.length;g++)for(l=b.plugins[g],m=mejs.plugins[l],h=0;h<m.length;h++)if(n=m[h],null==n.version||mejs.PluginDetector.hasPluginVersion(l,n.version))for(i=0;i<n.types.length;i++)if(k==n.types[i])return r.method=l,r.url=q[f].url,r;return"auto_plugin"===b.mode&&"native"===r.method?r:(""===r.method&&q.length>0&&(r.url=q[0].url),r)},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.split("?")[0];var b=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|m3u8|webm|webmv|flv|wmv|mpeg|mov)/gi.test(b)?"video":"audio")+"/"+this.getTypeFromExtension(b)},getTypeFromExtension:function(a){switch(a){case"mp4":case"m4v":case"m4a":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px",e.style.height=d.height+"px"}catch(f){}e.innerHTML=b.customError?b.customError:""!==c?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>'+mejs.i18n.t("Download File")+"</span></a>",d.parentNode.insertBefore(e,d),d.style.display="none",b.error(d)},createPlugin:function(a,b,c,d,e,f){var g,h,i,j=a.htmlMediaElement,k=1,l=1,m="me_"+a.method+"_"+mejs.meIndex++,n=new mejs.PluginMediaElement(m,a.method,a.url),o=document.createElement("div");n.tagName=j.tagName;for(var p=0;p<j.attributes.length;p++){var q=j.attributes[p];1==q.specified&&n.setAttribute(q.name,q.value)}for(h=j.parentNode;null!==h&&null!=h.tagName&&"body"!==h.tagName.toLowerCase()&&null!=h.parentNode&&null!=h.parentNode.tagName;){if("p"===h.parentNode.tagName.toLowerCase()){h.parentNode.parentNode.insertBefore(h,h.parentNode);break}h=h.parentNode}switch(a.isVideo?(k=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:null!==j.getAttribute("width")?j.getAttribute("width"):b.defaultVideoWidth,l=b.pluginHeight>0?b.pluginHeight:b.videoHeight>0?b.videoHeight:null!==j.getAttribute("height")?j.getAttribute("height"):b.defaultVideoHeight,k=mejs.Utility.encodeUrl(k),l=mejs.Utility.encodeUrl(l)):b.enablePluginDebug&&(k=320,l=240),n.success=b.success,mejs.MediaPluginBridge.registerPluginElement(m,n,j),o.className="me-plugin",o.id=m+"_container",a.isVideo?j.parentNode.insertBefore(o,j):document.body.insertBefore(o,document.body.childNodes[0]),i=["id="+m,"jsinitfunction=mejs.MediaPluginBridge.initPlugin","jscallbackfunction=mejs.MediaPluginBridge.fireEvent","isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+k,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+l,"pseudostreamstart="+b.pseudoStreamingStartQueryParam],null!==a.url&&i.push("flash"==a.method?"file="+mejs.Utility.encodeUrl(a.url):"file="+a.url),b.enablePluginDebug&&i.push("debug=true"),b.enablePluginSmoothing&&i.push("smoothing=true"),b.enablePseudoStreaming&&i.push("pseudostreaming=true"),f&&i.push("controls=true"),b.pluginVars&&(i=i.concat(b.pluginVars)),a.method){case"silverlight":o.innerHTML='<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+m+'" name="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="initParams" value="'+i.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+b.pluginPath+b.silverlightName+'" /></object>';break;case"flash":mejs.MediaFeatures.isIE?(g=document.createElement("div"),o.appendChild(g),g.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+i.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="scale" value="default" /></object>'):o.innerHTML='<embed id="'+m+'" name="'+m+'" play="true" loop="false" quality="high" bgcolor="#000000" wmode="transparent" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" src="'+b.pluginPath+b.flashName+'" flashvars="'+i.join("&")+'" width="'+k+'" height="'+l+'" scale="default"class="mejs-shim"></embed>';break;case"youtube":var r;-1!=a.url.lastIndexOf("youtu.be")?(r=a.url.substr(a.url.lastIndexOf("/")+1),-1!=r.indexOf("?")&&(r=r.substr(0,r.indexOf("?")))):r=a.url.substr(a.url.lastIndexOf("=")+1),youtubeSettings={container:o,containerId:o.id,pluginMediaElement:n,pluginId:m,videoId:r,height:l,width:k},mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case"vimeo":var s=m+"_player";if(n.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1),o.innerHTML='<iframe src="//player.vimeo.com/video/'+n.vimeoid+"?api=1&portrait=0&byline=0&title=0&player_id="+s+'" width="'+k+'" height="'+l+'" frameborder="0" class="mejs-shim" id="'+s+'" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>',"function"==typeof $f){var t=$f(o.childNodes[0]);t.addEvent("ready",function(){function a(a,b,c,d){var e={type:c,target:b};"timeupdate"==c&&(b.currentTime=e.currentTime=d.seconds,b.duration=e.duration=d.duration),b.dispatchEvent(e.type,e)}t.playVideo=function(){t.api("play")},t.stopVideo=function(){t.api("unload")},t.pauseVideo=function(){t.api("pause")},t.seekTo=function(a){t.api("seekTo",a)},t.setVolume=function(a){t.api("setVolume",a)},t.setMuted=function(a){a?(t.lastVolume=t.api("getVolume"),t.api("setVolume",0)):(t.api("setVolume",t.lastVolume),delete t.lastVolume)},t.addEvent("play",function(){a(t,n,"play"),a(t,n,"playing")}),t.addEvent("pause",function(){a(t,n,"pause")}),t.addEvent("finish",function(){a(t,n,"ended")}),t.addEvent("playProgress",function(b){a(t,n,"timeupdate",b)}),n.pluginElement=o,n.pluginApi=t,mejs.MediaPluginBridge.initPlugin(m)})}else console.warn("You need to include froogaloop for vimeo to work")}return j.style.display="none",j.removeAttribute("autoplay"),n},updateNative:function(a,b){var c,d=a.htmlMediaElement;for(c in mejs.HtmlMediaElement)d[c]=mejs.HtmlMediaElement[c];return b.success(d,d),d}},mejs.YouTubeApi={isIframeStarted:!1,isIframeLoaded:!1,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="//www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b),this.isIframeStarted=!0}},iframeQueue:[],enqueueIframe:function(a){this.isLoaded?this.createIframe(a):(this.loadIframeApi(),this.iframeQueue.push(a))},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c,mejs.MediaPluginBridge.initPlugin(a.pluginId),setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(a){mejs.YouTubeApi.handleStateChange(a.data,c,b)}}})},createEvent:function(a,b,c){var d={type:c,target:b};if(a&&a.getDuration){b.currentTime=d.currentTime=a.getCurrentTime(),b.duration=d.duration=a.getDuration(),d.paused=b.paused,d.ended=b.ended,d.muted=a.isMuted(),d.volume=a.getVolume()/100,d.bytesTotal=a.getVideoBytesTotal(),d.bufferedBytes=a.getVideoBytesLoaded();var e=d.bufferedBytes/d.bytesTotal*d.duration;d.target.buffered=d.buffered={start:function(){return 0},end:function(){return e},length:1}}b.dispatchEvent(d.type,d)},iFrameReady:function(){for(this.isLoaded=!0,this.isIframeLoaded=!0;this.iframeQueue.length>0;){var a=this.iframeQueue.pop();this.createIframe(a)}},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=a;var b,c="//www.youtube.com/apiplayer?enablejsapi=1&amp;playerapiid="+a.pluginId+"&amp;version=3&amp;autoplay=0&amp;controls=0&amp;modestbranding=1&loop=0";mejs.MediaFeatures.isIE?(b=document.createElement("div"),a.container.appendChild(b),b.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+a.pluginId+'" width="'+a.width+'" height="'+a.height+'" class="mejs-shim"><param name="movie" value="'+c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'):a.container.innerHTML='<object type="application/x-shockwave-flash" id="'+a.pluginId+'" data="'+c+'" width="'+a.width+'" height="'+a.height+'" style="visibility: visible; " class="mejs-shim"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"></object>'},flashReady:function(a){var b=this.flashPlayers[a],c=document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c,mejs.MediaPluginBridge.initPlugin(a),c.cueVideoById(b.videoId);var e=b.containerId+"_callback";window[e]=function(a){mejs.YouTubeApi.handleStateChange(a,c,d)},c.addEventListener("onStateChange",e),setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250),mejs.YouTubeApi.createEvent(c,d,"canplay")},handleStateChange:function(a,b,c){switch(a){case-1:c.paused=!0,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=!1,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=!1,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"play"),mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=!0,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress");break;case 5:}}},window.mejs=mejs,window.MediaElement=mejs.MediaElement,function(a,b){"use strict";var c={locale:{language:b.i18n&&b.i18n.locale.language||"",strings:b.i18n&&b.i18n.locale.strings||{}},ietf_lang_regex:/^(x\-)?[a-z]{2,}(\-\w{2,})?(\-\w{2,})?$/,methods:{}};c.getLanguage=function(){var a=c.locale.language||window.navigator.userLanguage||window.navigator.language;return c.ietf_lang_regex.exec(a)?a:null},"undefined"!=typeof mejsL10n&&(c.locale.language=mejsL10n.language),c.methods.checkPlain=function(a){var b,c,d={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"};a=String(a);for(b in d)d.hasOwnProperty(b)&&(c=new RegExp(b,"g"),a=a.replace(c,d[b]));return a},c.methods.t=function(a,b){return c.locale.strings&&c.locale.strings[b.context]&&c.locale.strings[b.context][a]&&(a=c.locale.strings[b.context][a]),c.methods.checkPlain(a)},c.t=function(a,b){if("string"==typeof a&&a.length>0){var d=c.getLanguage();return b=b||{context:d},c.methods.t(a,b)}throw{name:"InvalidArgumentException",message:"First argument is either not a string or empty."}},b.i18n=c}(document,mejs),function(a){"use strict";"undefined"!=typeof mejsL10n&&(a[mejsL10n.language]=mejsL10n.strings)}(mejs.i18n.locale.strings),/*!
+function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}var mejs=mejs||{};mejs.version="2.17.0",mejs.meIndex=0,mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube","video/dailymotion","video/x-dailymotion","application/x-mpegURL"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo","video/x-vimeo"]}]},mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&amp;").split("<").join("&lt;").split('"').join("&quot;")},absolutizeUrl:function(a){var b=document.createElement("div");return b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>',b.firstChild.href},getScriptPath:function(a){for(var b,c,d,e,f,g,h=0,i="",j="",k=document.getElementsByTagName("script"),l=k.length,m=a.length;l>h;h++){for(e=k[h].src,c=e.lastIndexOf("/"),c>-1?(g=e.substring(c+1),f=e.substring(0,c+1)):(g=e,f=""),b=0;m>b;b++)if(j=a[b],d=g.indexOf(j),d>-1){i=f;break}if(""!==i)break}return i},secondsToTimeCode:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=Math.floor(a/3600)%24,f=Math.floor(a/60)%60,g=Math.floor(a%60),h=Math.floor((a%1*d).toFixed(3)),i=(b||e>0?(10>e?"0"+e:e)+":":"")+(10>f?"0"+f:f)+":"+(10>g?"0"+g:g)+(c?":"+(10>h?"0"+h:h):"");return i},timeCodeToSeconds:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=a.split(":"),f=parseInt(e[0],10),g=parseInt(e[1],10),h=parseInt(e[2],10),i=0,j=0;return c&&(i=parseInt(e[3])/d),j=3600*f+60*g+h+i},convertSMPTEtoSeconds:function(a){if("string"!=typeof a)return!1;a=a.replace(",",".");var b=0,c=-1!=a.indexOf(".")?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++)d=1,e>0&&(d=Math.pow(60,e)),b+=Number(a[e])*d;return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);b&&/object|embed/i.test(b.nodeName)&&(mejs.MediaFeatures.isIE?(b.style.display="none",function(){4==b.readyState?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))},removeObjectInIE:function(a){var b=document.getElementById(a);if(b){for(var c in b)"function"==typeof b[c]&&(b[c]=null);b.parentNode.removeChild(b)}}},mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];return b[1]=b[1]||0,b[2]=b[2]||0,c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?!0:!1},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e,f,g,h=[0,0,0];if("undefined"!=typeof this.nav.plugins&&"object"==typeof this.nav.plugins[a]){if(e=this.nav.plugins[a].description,e&&("undefined"==typeof this.nav.mimeTypes||!this.nav.mimeTypes[b]||this.nav.mimeTypes[b].enabledPlugin))for(h=e.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split("."),f=0;f<h.length;f++)h[f]=parseInt(h[f].match(/\d+/),10)}else if("undefined"!=typeof window.ActiveXObject)try{g=new ActiveXObject(c),g&&(h=d(g))}catch(i){}return h}},mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[],c=a.GetVariable("$version");return c&&(c=c.split(" ")[1].split(","),b=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]),b}),mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(a,b,c,d){for(;a.isVersionSupported(b[0]+"."+b[1]+"."+b[2]+"."+b[3]);)b[c]+=d;b[c]-=d};return c(a,b,0,1),c(a,b,1,1),c(a,b,2,1e4),c(a,b,2,1e3),c(a,b,2,100),c(a,b,2,10),c(a,b,2,1),c(a,b,3,1),b}),mejs.MediaFeatures={init:function(){var a,b,c=this,d=document,e=mejs.PluginDetector.nav,f=mejs.PluginDetector.ua.toLowerCase(),g=["source","track","audio","video"];c.isiPad=null!==f.match(/ipad/i),c.isiPhone=null!==f.match(/iphone/i),c.isiOS=c.isiPhone||c.isiPad,c.isAndroid=null!==f.match(/android/i),c.isBustedAndroid=null!==f.match(/android 2\.[12]/),c.isBustedNativeHTTPS="https:"===location.protocol&&(null!==f.match(/android [12]\./)||null!==f.match(/macintosh.* version.* safari/)),c.isIE=-1!=e.appName.toLowerCase().indexOf("microsoft")||null!==e.appName.toLowerCase().match(/trident/gi),c.isChrome=null!==f.match(/chrome/gi),c.isChromium=null!==f.match(/chromium/gi),c.isFirefox=null!==f.match(/firefox/gi),c.isWebkit=null!==f.match(/webkit/gi),c.isGecko=null!==f.match(/gecko/gi)&&!c.isWebkit&&!c.isIE,c.isOpera=null!==f.match(/opera/gi),c.hasTouch="ontouchstart"in window,c.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(a=0;a<g.length;a++)b=document.createElement(g[a]);c.supportsMediaTag="undefined"!=typeof b.canPlayType||c.isBustedAndroid;try{b.canPlayType("video/mp4")}catch(h){c.supportsMediaTag=!1}c.hasSemiNativeFullScreen="undefined"!=typeof b.webkitEnterFullscreen,c.hasNativeFullscreen="undefined"!=typeof b.requestFullscreen,c.hasWebkitNativeFullScreen="undefined"!=typeof b.webkitRequestFullScreen,c.hasMozNativeFullScreen="undefined"!=typeof b.mozRequestFullScreen,c.hasMsNativeFullScreen="undefined"!=typeof b.msRequestFullscreen,c.hasTrueNativeFullScreen=c.hasWebkitNativeFullScreen||c.hasMozNativeFullScreen||c.hasMsNativeFullScreen,c.nativeFullScreenEnabled=c.hasTrueNativeFullScreen,c.hasMozNativeFullScreen?c.nativeFullScreenEnabled=document.mozFullScreenEnabled:c.hasMsNativeFullScreen&&(c.nativeFullScreenEnabled=document.msFullscreenEnabled),c.isChrome&&(c.hasSemiNativeFullScreen=!1),c.hasTrueNativeFullScreen&&(c.fullScreenEventName="",c.hasWebkitNativeFullScreen?c.fullScreenEventName="webkitfullscreenchange":c.hasMozNativeFullScreen?c.fullScreenEventName="mozfullscreenchange":c.hasMsNativeFullScreen&&(c.fullScreenEventName="MSFullscreenChange"),c.isFullScreen=function(){return c.hasMozNativeFullScreen?d.mozFullScreen:c.hasWebkitNativeFullScreen?d.webkitIsFullScreen:c.hasMsNativeFullScreen?null!==d.msFullscreenElement:void 0},c.requestFullScreen=function(a){c.hasWebkitNativeFullScreen?a.webkitRequestFullScreen():c.hasMozNativeFullScreen?a.mozRequestFullScreen():c.hasMsNativeFullScreen&&a.msRequestFullscreen()},c.cancelFullScreen=function(){c.hasWebkitNativeFullScreen?document.webkitCancelFullScreen():c.hasMozNativeFullScreen?document.mozCancelFullScreen():c.hasMsNativeFullScreen&&document.msExitFullscreen()}),c.hasSemiNativeFullScreen&&f.match(/mac os x 10_5/i)&&(c.hasNativeFullScreen=!1,c.hasSemiNativeFullScreen=!1)}},mejs.MediaFeatures.init(),mejs.HtmlMediaElement={pluginType:"native",isFullScreen:!1,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName("source");b.length>0;)this.removeChild(b[0]);if("string"==typeof a)this.src=a;else{var c,d;for(c=0;c<a.length;c++)if(d=a[c],this.canPlayType(d.type)){this.src=d.src;break}}},setVideoSize:function(a,b){this.width=a,this.height=b}},mejs.PluginMediaElement=function(a,b,c){this.id=a,this.pluginType=b,this.src=c,this.events={},this.attributes={}},mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:!1,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:!0,ended:!1,seeking:!1,duration:0,error:null,tagName:"",muted:!1,volume:1,currentTime:0,play:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.playVideo():this.pluginApi.playMedia(),this.paused=!1)},load:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType||this.pluginApi.loadMedia(),this.paused=!1)},pause:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia(),this.paused=!0)},stop:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.stopVideo():this.pluginApi.stopMedia(),this.paused=!0)},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++)if(d=e[b],mejs.PluginDetector.hasPluginVersion(this.pluginType,d.version))for(c=0;c<d.types.length;c++)if(a==d.types[c])return"probably";return""},positionFullscreenButton:function(a,b,c){null!=this.pluginApi&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){null!=this.pluginApi&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if("string"==typeof a)this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a)),this.src=mejs.Utility.absolutizeUrl(a);else{var b,c;for(b=0;b<a.length;b++)if(c=a[b],this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src)),this.src=mejs.Utility.absolutizeUrl(a);break}}},setCurrentTime:function(a){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a),this.currentTime=a)},setVolume:function(a){null!=this.pluginApi&&(this.pluginApi.setVolume("youtube"==this.pluginType?100*a:a),this.volume=a)},setMuted:function(a){null!=this.pluginApi&&("youtube"==this.pluginType?(a?this.pluginApi.mute():this.pluginApi.unMute(),this.muted=a,this.dispatchEvent("volumechange")):this.pluginApi.setMuted(a),this.muted=a)},setVideoSize:function(a,b){this.pluginElement&&this.pluginElement.style&&(this.pluginElement.style.width=a+"px",this.pluginElement.style.height=b+"px"),null!=this.pluginApi&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!0)},exitFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!1)},addEventListener:function(a,b){this.events[a]=this.events[a]||[],this.events[a].push(b)},removeEventListener:function(a,b){if(!a)return this.events={},!0;var c=this.events[a];if(!c)return!0;if(!b)return this.events[a]=[],!0;for(var d=0;d<c.length;d++)if(c[d]===b)return this.events[a].splice(d,1),!0;return!1},dispatchEvent:function(a){var b,c,d=this.events[a];if(d)for(c=Array.prototype.slice.call(arguments,1),b=0;b<d.length;b++)d[b].apply(this,c)},hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){return this.hasAttribute(a)?this.attributes[a]:""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id),mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id)}},mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b,this.htmlMediaElements[a]=c},unregisterPluginElement:function(a){delete this.pluginMediaElements[a],delete this.htmlMediaElements[a]},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case"flash":b.pluginElement=b.pluginApi=document.getElementById(a);break;case"silverlight":b.pluginElement=document.getElementById(b.id),b.pluginApi=b.pluginElement.Content.MediaElementJS}null!=b.pluginApi&&b.success&&b.success(b,c)}},fireEvent:function(a,b,c){var d,e,f,g=this.pluginMediaElements[a];if(g){d={type:b,target:g};for(e in c)g[e]=c[e],d[e]=c[e];f=c.bufferedTime||0,d.target.buffered=d.buffered={start:function(){return 0},end:function(){return f},length:1},g.dispatchEvent(d.type,d)}}},mejs.MediaElementDefaults={mode:"auto",plugins:["flash","silverlight","youtube","vimeo"],enablePluginDebug:!1,httpsBasicAuthSite:!1,type:"",pluginPath:mejs.Utility.getScriptPath(["mediaelement.js","mediaelement.min.js","mediaelement-and-player.js","mediaelement-and-player.min.js"]),flashName:"flashmediaelement.swf",flashStreamer:"",enablePluginSmoothing:!1,enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",silverlightName:"silverlightmediaelement.xap",defaultVideoWidth:480,defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:.8,success:function(){},error:function(){}},mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)},mejs.HtmlMediaElementShim={create:function(a,b){var c,d,e=mejs.MediaElementDefaults,f="string"==typeof a?document.getElementById(a):a,g=f.tagName.toLowerCase(),h="audio"===g||"video"===g,i=f.getAttribute(h?"src":"href"),j=f.getAttribute("poster"),k=f.getAttribute("autoplay"),l=f.getAttribute("preload"),m=f.getAttribute("controls");for(d in b)e[d]=b[d];return i="undefined"==typeof i||null===i||""==i?null:i,j="undefined"==typeof j||null===j?"":j,l="undefined"==typeof l||null===l||"false"===l?"none":l,k=!("undefined"==typeof k||null===k||"false"===k),m=!("undefined"==typeof m||null===m||"false"===m),c=this.determinePlayback(f,e,mejs.MediaFeatures.supportsMediaTag,h,i),c.url=null!==c.url?mejs.Utility.absolutizeUrl(c.url):"","native"==c.method?(mejs.MediaFeatures.isBustedAndroid&&(f.src=c.url,f.addEventListener("click",function(){f.play()},!1)),this.updateNative(c,e,k,l)):""!==c.method?this.createPlugin(c,e,j,k,l,m):(this.createErrorMessage(c,e,j),this)},determinePlayback:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=[],r={method:"",url:"",htmlMediaElement:a,isVideo:"audio"!=a.tagName.toLowerCase()};if("undefined"!=typeof b.type&&""!==b.type)if("string"==typeof b.type)q.push({type:b.type,url:e});else for(f=0;f<b.type.length;f++)q.push({type:b.type[f],url:e});else if(null!==e)k=this.formatType(e,a.getAttribute("type")),q.push({type:k,url:e});else for(f=0;f<a.childNodes.length;f++)j=a.childNodes[f],1==j.nodeType&&"source"==j.tagName.toLowerCase()&&(e=j.getAttribute("src"),k=this.formatType(e,j.getAttribute("type")),p=j.getAttribute("media"),(!p||!window.matchMedia||window.matchMedia&&window.matchMedia(p).matches)&&q.push({type:k,url:e}));if(!d&&q.length>0&&null!==q[0].url&&this.getTypeFromFile(q[0].url).indexOf("audio")>-1&&(r.isVideo=!1),mejs.MediaFeatures.isBustedAndroid&&(a.canPlayType=function(a){return null!==a.match(/video\/(mp4|m4v)/gi)?"maybe":""}),!(!c||"auto"!==b.mode&&"auto_plugin"!==b.mode&&"native"!==b.mode||mejs.MediaFeatures.isBustedNativeHTTPS&&b.httpsBasicAuthSite===!0)){for(d||(o=document.createElement(r.isVideo?"video":"audio"),a.parentNode.insertBefore(o,a),a.style.display="none",r.htmlMediaElement=a=o),f=0;f<q.length;f++)if("video/m3u8"==q[f].type||""!==a.canPlayType(q[f].type).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/m4a/,"mp4")).replace(/no/,"")){r.method="native",r.url=q[f].url;break}if("native"===r.method&&(null!==r.url&&(a.src=r.url),"auto_plugin"!==b.mode))return r}if("auto"===b.mode||"auto_plugin"===b.mode||"shim"===b.mode)for(f=0;f<q.length;f++)for(k=q[f].type,g=0;g<b.plugins.length;g++)for(l=b.plugins[g],m=mejs.plugins[l],h=0;h<m.length;h++)if(n=m[h],null==n.version||mejs.PluginDetector.hasPluginVersion(l,n.version))for(i=0;i<n.types.length;i++)if(k==n.types[i])return r.method=l,r.url=q[f].url,r;return"auto_plugin"===b.mode&&"native"===r.method?r:(""===r.method&&q.length>0&&(r.url=q[0].url),r)},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.split("?")[0];var b=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|m3u8|webm|webmv|flv|wmv|mpeg|mov)/gi.test(b)?"video":"audio")+"/"+this.getTypeFromExtension(b)},getTypeFromExtension:function(a){switch(a){case"mp4":case"m4v":case"m4a":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px",e.style.height=d.height+"px"}catch(f){}e.innerHTML=b.customError?b.customError:""!==c?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>'+mejs.i18n.t("Download File")+"</span></a>",d.parentNode.insertBefore(e,d),d.style.display="none",b.error(d)},createPlugin:function(a,b,c,d,e,f){var g,h,i,j=a.htmlMediaElement,k=1,l=1,m="me_"+a.method+"_"+mejs.meIndex++,n=new mejs.PluginMediaElement(m,a.method,a.url),o=document.createElement("div");n.tagName=j.tagName;for(var p=0;p<j.attributes.length;p++){var q=j.attributes[p];1==q.specified&&n.setAttribute(q.name,q.value)}for(h=j.parentNode;null!==h&&null!=h.tagName&&"body"!==h.tagName.toLowerCase()&&null!=h.parentNode&&null!=h.parentNode.tagName&&null!=h.parentNode.constructor&&"ShadowRoot"===h.parentNode.constructor.name;){if("p"===h.parentNode.tagName.toLowerCase()){h.parentNode.parentNode.insertBefore(h,h.parentNode);break}h=h.parentNode}switch(a.isVideo?(k=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:null!==j.getAttribute("width")?j.getAttribute("width"):b.defaultVideoWidth,l=b.pluginHeight>0?b.pluginHeight:b.videoHeight>0?b.videoHeight:null!==j.getAttribute("height")?j.getAttribute("height"):b.defaultVideoHeight,k=mejs.Utility.encodeUrl(k),l=mejs.Utility.encodeUrl(l)):b.enablePluginDebug&&(k=320,l=240),n.success=b.success,mejs.MediaPluginBridge.registerPluginElement(m,n,j),o.className="me-plugin",o.id=m+"_container",a.isVideo?j.parentNode.insertBefore(o,j):document.body.insertBefore(o,document.body.childNodes[0]),i=["id="+m,"jsinitfunction=mejs.MediaPluginBridge.initPlugin","jscallbackfunction=mejs.MediaPluginBridge.fireEvent","isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+k,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+l,"pseudostreamstart="+b.pseudoStreamingStartQueryParam],null!==a.url&&i.push("flash"==a.method?"file="+mejs.Utility.encodeUrl(a.url):"file="+a.url),b.enablePluginDebug&&i.push("debug=true"),b.enablePluginSmoothing&&i.push("smoothing=true"),b.enablePseudoStreaming&&i.push("pseudostreaming=true"),f&&i.push("controls=true"),b.pluginVars&&(i=i.concat(b.pluginVars)),a.method){case"silverlight":o.innerHTML='<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+m+'" name="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="initParams" value="'+i.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+b.pluginPath+b.silverlightName+'" /></object>';break;case"flash":mejs.MediaFeatures.isIE?(g=document.createElement("div"),o.appendChild(g),g.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+i.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="scale" value="default" /></object>'):o.innerHTML='<embed id="'+m+'" name="'+m+'" play="true" loop="false" quality="high" bgcolor="#000000" wmode="transparent" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" src="'+b.pluginPath+b.flashName+'" flashvars="'+i.join("&")+'" width="'+k+'" height="'+l+'" scale="default"class="mejs-shim"></embed>';break;case"youtube":var r;-1!=a.url.lastIndexOf("youtu.be")?(r=a.url.substr(a.url.lastIndexOf("/")+1),-1!=r.indexOf("?")&&(r=r.substr(0,r.indexOf("?")))):r=a.url.substr(a.url.lastIndexOf("=")+1),youtubeSettings={container:o,containerId:o.id,pluginMediaElement:n,pluginId:m,videoId:r,height:l,width:k},mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case"vimeo":var s=m+"_player";if(n.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1),o.innerHTML='<iframe src="//player.vimeo.com/video/'+n.vimeoid+"?api=1&portrait=0&byline=0&title=0&player_id="+s+'" width="'+k+'" height="'+l+'" frameborder="0" class="mejs-shim" id="'+s+'" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>',"function"==typeof $f){var t=$f(o.childNodes[0]);t.addEvent("ready",function(){function a(a,b,c,d){var e={type:c,target:b};"timeupdate"==c&&(b.currentTime=e.currentTime=d.seconds,b.duration=e.duration=d.duration),b.dispatchEvent(e.type,e)}t.playVideo=function(){t.api("play")},t.stopVideo=function(){t.api("unload")},t.pauseVideo=function(){t.api("pause")},t.seekTo=function(a){t.api("seekTo",a)},t.setVolume=function(a){t.api("setVolume",a)},t.setMuted=function(a){a?(t.lastVolume=t.api("getVolume"),t.api("setVolume",0)):(t.api("setVolume",t.lastVolume),delete t.lastVolume)},t.addEvent("play",function(){a(t,n,"play"),a(t,n,"playing")}),t.addEvent("pause",function(){a(t,n,"pause")}),t.addEvent("finish",function(){a(t,n,"ended")}),t.addEvent("playProgress",function(b){a(t,n,"timeupdate",b)}),n.pluginElement=o,n.pluginApi=t,mejs.MediaPluginBridge.initPlugin(m)})}else console.warn("You need to include froogaloop for vimeo to work")}return j.style.display="none",j.removeAttribute("autoplay"),n},updateNative:function(a,b){var c,d=a.htmlMediaElement;for(c in mejs.HtmlMediaElement)d[c]=mejs.HtmlMediaElement[c];return b.success(d,d),d}},mejs.YouTubeApi={isIframeStarted:!1,isIframeLoaded:!1,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="//www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b),this.isIframeStarted=!0}},iframeQueue:[],enqueueIframe:function(a){this.isLoaded?this.createIframe(a):(this.loadIframeApi(),this.iframeQueue.push(a))},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c,mejs.MediaPluginBridge.initPlugin(a.pluginId),setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(a){mejs.YouTubeApi.handleStateChange(a.data,c,b)}}})},createEvent:function(a,b,c){var d={type:c,target:b};if(a&&a.getDuration){b.currentTime=d.currentTime=a.getCurrentTime(),b.duration=d.duration=a.getDuration(),d.paused=b.paused,d.ended=b.ended,d.muted=a.isMuted(),d.volume=a.getVolume()/100,d.bytesTotal=a.getVideoBytesTotal(),d.bufferedBytes=a.getVideoBytesLoaded();var e=d.bufferedBytes/d.bytesTotal*d.duration;d.target.buffered=d.buffered={start:function(){return 0},end:function(){return e},length:1}}b.dispatchEvent(d.type,d)},iFrameReady:function(){for(this.isLoaded=!0,this.isIframeLoaded=!0;this.iframeQueue.length>0;){var a=this.iframeQueue.pop();this.createIframe(a)}},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=a;var b,c="//www.youtube.com/apiplayer?enablejsapi=1&amp;playerapiid="+a.pluginId+"&amp;version=3&amp;autoplay=0&amp;controls=0&amp;modestbranding=1&loop=0";mejs.MediaFeatures.isIE?(b=document.createElement("div"),a.container.appendChild(b),b.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+a.pluginId+'" width="'+a.width+'" height="'+a.height+'" class="mejs-shim"><param name="movie" value="'+c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'):a.container.innerHTML='<object type="application/x-shockwave-flash" id="'+a.pluginId+'" data="'+c+'" width="'+a.width+'" height="'+a.height+'" style="visibility: visible; " class="mejs-shim"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"></object>'},flashReady:function(a){var b=this.flashPlayers[a],c=document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c,mejs.MediaPluginBridge.initPlugin(a),c.cueVideoById(b.videoId);var e=b.containerId+"_callback";window[e]=function(a){mejs.YouTubeApi.handleStateChange(a,c,d)},c.addEventListener("onStateChange",e),setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250),mejs.YouTubeApi.createEvent(c,d,"canplay")},handleStateChange:function(a,b,c){switch(a){case-1:c.paused=!0,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=!1,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=!1,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"play"),mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=!0,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress");break;case 5:}}},window.mejs=mejs,window.MediaElement=mejs.MediaElement,function(a,b){"use strict";var c={locale:{language:b.i18n&&b.i18n.locale.language||"",strings:b.i18n&&b.i18n.locale.strings||{}},ietf_lang_regex:/^(x\-)?[a-z]{2,}(\-\w{2,})?(\-\w{2,})?$/,methods:{}};c.getLanguage=function(){var a=c.locale.language||window.navigator.userLanguage||window.navigator.language;return c.ietf_lang_regex.exec(a)?a:null},"undefined"!=typeof mejsL10n&&(c.locale.language=mejsL10n.language),c.methods.checkPlain=function(a){var b,c,d={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"};a=String(a);for(b in d)d.hasOwnProperty(b)&&(c=new RegExp(b,"g"),a=a.replace(c,d[b]));return a},c.methods.t=function(a,b){return c.locale.strings&&c.locale.strings[b.context]&&c.locale.strings[b.context][a]&&(a=c.locale.strings[b.context][a]),c.methods.checkPlain(a)},c.t=function(a,b){if("string"==typeof a&&a.length>0){var d=c.getLanguage();return b=b||{context:d},c.methods.t(a,b)}throw{name:"InvalidArgumentException",message:"First argument is either not a string or empty."}},b.i18n=c}(document,mejs),function(a){"use strict";"undefined"!=typeof mejsL10n&&(a[mejsL10n.language]=mejsL10n.strings)}(mejs.i18n.locale.strings),/*!
  *
  * MediaElementPlayer
  * http://mediaelementjs.com/
@@ -24,5 +24,5 @@ function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouT
  * License: MIT
  *
  */
-"undefined"!=typeof jQuery?mejs.$=jQuery:"undefined"!=typeof ender&&(mejs.$=ender),function(a){mejs.MepDefaults={poster:"",showPosterWhenEnded:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return.05*a.duration},defaultSeekForwardInterval:function(a){return.05*a.duration},setDimensions:!0,audioWidth:-1,audioHeight:-1,startVolume:.8,loop:!1,autoRewind:!0,enableAutosize:!0,alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,autosizeProgress:!0,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,clickToPlayPause:!0,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:!0,enableKeyboard:!0,pauseOtherPlayers:!0,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.volume+.1,1);b.setVolume(c)}},{keys:[40],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.volume-.1,0);b.setVolume(c)}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){"undefined"!=typeof a.enterFullScreen&&(a.isFullScreen?a.exitFullScreen():a.enterFullScreen())}},{keys:[77],action:function(a){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer()),a.setMuted(a.media.muted?!1:!0)}}]},mejs.mepIndex=0,mejs.players={},mejs.MediaElementPlayer=function(b,c){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(b,c);var d=this;return d.$media=d.$node=a(b),d.node=d.media=d.$media[0],"undefined"!=typeof d.node.player?d.node.player:(d.node.player=d,"undefined"==typeof c&&(c=d.$node.data("mejsoptions")),d.options=a.extend({},mejs.MepDefaults,c),d.id="mep_"+mejs.mepIndex++,mejs.players[d.id]=d,d.init(),d)},mejs.MediaElementPlayer.prototype={hasFocus:!1,controlsAreVisible:!0,init:function(){var b=this,c=mejs.MediaFeatures,d=a.extend(!0,{},b.options,{success:function(a,c){b.meReady(a,c)},error:function(a){b.handleError(a)}}),e=b.media.tagName.toLowerCase();if(b.isDynamic="audio"!==e&&"video"!==e,b.isVideo=b.isDynamic?b.options.isVideo:"audio"!==e&&b.options.isVideo,c.isiPad&&b.options.iPadUseNativeControls||c.isiPhone&&b.options.iPhoneUseNativeControls)b.$media.attr("controls","controls"),c.isiPad&&null!==b.media.getAttribute("autoplay")&&b.play();else if(c.isAndroid&&b.options.AndroidUseNativeControls);else{b.$media.removeAttr("controls");var f=mejs.i18n.t(b.isVideo?"Video Player":"Audio Player");if(a('<span class="mejs-offscreen">'+f+"</span>").insertBefore(b.$media),b.container=a('<div id="'+b.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'" tabindex="0" role="application" aria-label="'+f+'"><div class="mejs-inner"><div class="mejs-mediaelement"></div><div class="mejs-layers"></div><div class="mejs-controls"></div><div class="mejs-clear"></div></div></div>').addClass(b.$media[0].className).insertBefore(b.$media).focus(function(){if(!b.controlsAreVisible){b.showControls(!0);var a=b.container.find(".mejs-playpause-button > button");a.focus()}}),b.container.addClass((c.isAndroid?"mejs-android ":"")+(c.isiOS?"mejs-ios ":"")+(c.isiPad?"mejs-ipad ":"")+(c.isiPhone?"mejs-iphone ":"")+(b.isVideo?"mejs-video ":"mejs-audio ")),c.isiOS){var g=b.$media.clone();b.container.find(".mejs-mediaelement").append(g),b.$media.remove(),b.$node=b.$media=g,b.node=b.media=g[0]}else b.container.find(".mejs-mediaelement").append(b.$media);b.controls=b.container.find(".mejs-controls"),b.layers=b.container.find(".mejs-layers");var h=b.isVideo?"video":"audio",i=h.substring(0,1).toUpperCase()+h.substring(1);b.width=b.options[h+"Width"]>0||b.options[h+"Width"].toString().indexOf("%")>-1?b.options[h+"Width"]:""!==b.media.style.width&&null!==b.media.style.width?b.media.style.width:null!==b.media.getAttribute("width")?b.$media.attr("width"):b.options["default"+i+"Width"],b.height=b.options[h+"Height"]>0||b.options[h+"Height"].toString().indexOf("%")>-1?b.options[h+"Height"]:""!==b.media.style.height&&null!==b.media.style.height?b.media.style.height:null!==b.$media[0].getAttribute("height")?b.$media.attr("height"):b.options["default"+i+"Height"],b.setPlayerSize(b.width,b.height),d.pluginWidth=b.width,d.pluginHeight=b.height}mejs.MediaElement(b.$media[0],d),"undefined"!=typeof b.container&&b.controlsAreVisible&&b.container.trigger("controlsshown")},showControls:function(a){var b=this;a="undefined"==typeof a||a,b.controlsAreVisible||(a?(b.controls.css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0,b.container.trigger("controlsshown")}),b.container.find(".mejs-control").css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0})):(b.controls.css("visibility","visible").css("display","block"),b.container.find(".mejs-control").css("visibility","visible").css("display","block"),b.controlsAreVisible=!0,b.container.trigger("controlsshown")),b.setControlsSize())},hideControls:function(b){var c=this;b="undefined"==typeof b||b,!c.controlsAreVisible||c.options.alwaysShowControls||c.keyboardAction||(b?(c.controls.stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")}),c.container.find(".mejs-control").stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block")})):(c.controls.css("visibility","hidden").css("display","block"),c.container.find(".mejs-control").css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")))},controlsTimer:null,startControlsTimer:function(a){var b=this;a="undefined"!=typeof a?a:1500,b.killControlsTimer("start"),b.controlsTimer=setTimeout(function(){b.hideControls(),b.killControlsTimer("hide")},a)},killControlsTimer:function(){var a=this;null!==a.controlsTimer&&(clearTimeout(a.controlsTimer),delete a.controlsTimer,a.controlsTimer=null)},controlsEnabled:!0,disableControls:function(){var a=this;a.killControlsTimer(),a.hideControls(!1),this.controlsEnabled=!1},enableControls:function(){var a=this;a.showControls(!1),a.controlsEnabled=!0},meReady:function(b,c){var d,e,f=this,g=mejs.MediaFeatures,h=c.getAttribute("autoplay"),i=!("undefined"==typeof h||null===h||"false"===h);if(!f.created){if(f.created=!0,f.media=b,f.domNode=c,!(g.isAndroid&&f.options.AndroidUseNativeControls||g.isiPad&&f.options.iPadUseNativeControls||g.isiPhone&&f.options.iPhoneUseNativeControls)){f.buildposter(f,f.controls,f.layers,f.media),f.buildkeyboard(f,f.controls,f.layers,f.media),f.buildoverlays(f,f.controls,f.layers,f.media),f.findTracks();for(d in f.options.features)if(e=f.options.features[d],f["build"+e])try{f["build"+e](f,f.controls,f.layers,f.media)}catch(j){}f.container.trigger("controlsready"),f.setPlayerSize(f.width,f.height),f.setControlsSize(),f.isVideo&&(mejs.MediaFeatures.hasTouch?f.$media.bind("touchstart",function(){f.controlsAreVisible?f.hideControls(!1):f.controlsEnabled&&f.showControls(!1)}):(f.clickToPlayPauseCallback=function(){f.options.clickToPlayPause&&(f.media.paused?f.play():f.pause())},f.media.addEventListener("click",f.clickToPlayPauseCallback,!1),f.container.bind("mouseenter mouseover",function(){f.controlsEnabled&&(f.options.alwaysShowControls||(f.killControlsTimer("enter"),f.showControls(),f.startControlsTimer(2500)))}).bind("mousemove",function(){f.controlsEnabled&&(f.controlsAreVisible||f.showControls(),f.options.alwaysShowControls||f.startControlsTimer(2500))}).bind("mouseleave",function(){f.controlsEnabled&&(f.media.paused||f.options.alwaysShowControls||f.startControlsTimer(1e3))})),f.options.hideVideoControlsOnLoad&&f.hideControls(!1),i&&!f.options.alwaysShowControls&&f.hideControls(),f.options.enableAutosize&&f.media.addEventListener("loadedmetadata",function(a){f.options.videoHeight<=0&&null===f.domNode.getAttribute("height")&&!isNaN(a.target.videoHeight)&&(f.setPlayerSize(a.target.videoWidth,a.target.videoHeight),f.setControlsSize(),f.media.setVideoSize(a.target.videoWidth,a.target.videoHeight))},!1)),b.addEventListener("play",function(){var a;for(a in mejs.players){var b=mejs.players[a];b.id==f.id||!f.options.pauseOtherPlayers||b.paused||b.ended||b.pause(),b.hasFocus=!1}f.hasFocus=!0},!1),f.media.addEventListener("ended",function(){if(f.options.autoRewind)try{f.media.setCurrentTime(0),window.setTimeout(function(){a(f.container).find(".mejs-overlay-loading").parent().hide()},20)}catch(b){}f.media.pause(),f.setProgressRail&&f.setProgressRail(),f.setCurrentRail&&f.setCurrentRail(),f.options.loop?f.play():!f.options.alwaysShowControls&&f.controlsEnabled&&f.showControls()},!1),f.media.addEventListener("loadedmetadata",function(){f.updateDuration&&f.updateDuration(),f.updateCurrent&&f.updateCurrent(),f.isFullScreen||(f.setPlayerSize(f.width,f.height),f.setControlsSize())},!1),f.container.focusout(function(b){if(b.relatedTarget){var c=a(b.relatedTarget);f.keyboardAction&&0===c.parents(".mejs-container").length&&(f.keyboardAction=!1,f.hideControls(!0))}}),setTimeout(function(){f.setPlayerSize(f.width,f.height),f.setControlsSize()},50),f.globalBind("resize",function(){f.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||f.setPlayerSize(f.width,f.height),f.setControlsSize()}),"youtube"==f.media.pluginType&&(g.isiOS||g.isAndroid)&&f.container.find(".mejs-overlay-play").hide()}i&&"native"==b.pluginType&&f.play(),f.options.success&&("string"==typeof f.options.success?window[f.options.success](f.media,f.domNode,f):f.options.success(f.media,f.domNode,f))}},handleError:function(a){var b=this;b.controls.hide(),b.options.error&&b.options.error(a)},setPlayerSize:function(b,c){var d=this;if(!d.options.setDimensions)return!1;if("undefined"!=typeof b&&(d.width=b),"undefined"!=typeof c&&(d.height=c),d.height.toString().indexOf("%")>0||"100%"===d.$node.css("max-width")||d.$node[0].currentStyle&&"100%"===d.$node[0].currentStyle.maxWidth){var e=function(){return d.isVideo?d.media.videoWidth&&d.media.videoWidth>0?d.media.videoWidth:null!==d.media.getAttribute("width")?d.media.getAttribute("width"):d.options.defaultVideoWidth:d.options.defaultAudioWidth}(),f=function(){return d.isVideo?d.media.videoHeight&&d.media.videoHeight>0?d.media.videoHeight:null!==d.media.getAttribute("height")?d.media.getAttribute("height"):d.options.defaultVideoHeight:d.options.defaultAudioHeight}(),g=d.container.parent().closest(":visible").width(),h=d.container.parent().closest(":visible").height(),i=d.isVideo||!d.options.autosizeProgress?parseInt(g*f/e,10):f;isNaN(i)&&(i=h),"body"===d.container.parent()[0].tagName.toLowerCase()&&(g=a(window).width(),i=a(window).height()),i&&g&&(d.container.width(g).height(i),d.$media.add(d.container.find(".mejs-shim")).width("100%").height("100%"),d.isVideo&&d.media.setVideoSize&&d.media.setVideoSize(g,i),d.layers.children(".mejs-layer").width("100%").height("100%"))}else d.container.width(d.width).height(d.height),d.layers.children(".mejs-layer").width(d.width).height(d.height);var j=d.layers.find(".mejs-overlay-play"),k=j.find(".mejs-overlay-button");j.height(d.container.height()-d.controls.height()),k.css("margin-top","-"+(k.height()/2-d.controls.height()/2).toString()+"px")},setControlsSize:function(){var b=this,c=0,d=0,e=b.controls.find(".mejs-time-rail"),f=b.controls.find(".mejs-time-total"),g=(b.controls.find(".mejs-time-current"),b.controls.find(".mejs-time-loaded"),e.siblings()),h=g.last(),i=null;if(b.container.is(":visible")&&e.length&&e.is(":visible")){b.options&&!b.options.autosizeProgress&&(d=parseInt(e.css("width"),10)),0!==d&&d||(g.each(function(){var b=a(this);"absolute"!=b.css("position")&&b.is(":visible")&&(c+=a(this).outerWidth(!0))}),d=b.controls.width()-c-(e.outerWidth(!0)-e.width()));do e.width(d),f.width(d-(f.outerWidth(!0)-f.width())),"absolute"!=h.css("position")&&(i=h.position(),d--);while(null!==i&&i.top>0&&d>0);b.setProgressRail&&b.setProgressRail(),b.setCurrentRail&&b.setCurrentRail()}},buildposter:function(b,c,d,e){var f=this,g=a('<div class="mejs-poster mejs-layer"></div>').appendTo(d),h=b.$media.attr("poster");""!==b.options.poster&&(h=b.options.poster),h?f.setPoster(h):g.hide(),e.addEventListener("play",function(){g.hide()},!1),b.options.showPosterWhenEnded&&b.options.autoRewind&&e.addEventListener("ended",function(){g.show()},!1)},setPoster:function(b){var c=this,d=c.container.find(".mejs-poster"),e=d.find("img");0===e.length&&(e=a('<img width="100%" height="100%" />').appendTo(d)),e.attr("src",b),d.css({"background-image":"url("+b+")"})},buildoverlays:function(b,c,d,e){var f=this;if(b.isVideo){var g=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(d),h=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(d),i=a('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(d).bind("click",function(){f.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("playing",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("seeking",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("seeked",function(){g.hide(),c.find(".mejs-time-buffering").hide()},!1),e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||i.show()},!1),e.addEventListener("waiting",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("loadeddata",function(){g.show(),c.find(".mejs-time-buffering").show(),mejs.MediaFeatures.isAndroid&&(e.canplayTimeout=window.setTimeout(function(){if(document.createEvent){var a=document.createEvent("HTMLEvents");return a.initEvent("canplay",!0,!0),e.dispatchEvent(a)}},300))},!1),e.addEventListener("canplay",function(){g.hide(),c.find(".mejs-time-buffering").hide(),clearTimeout(e.canplayTimeout)},!1),e.addEventListener("error",function(){g.hide(),c.find(".mejs-time-buffering").hide(),h.show(),h.find("mejs-overlay-error").html("Error loading this resource")},!1),e.addEventListener("keydown",function(a){f.onkeydown(b,e,a)},!1)}},buildkeyboard:function(b,c,d,e){var f=this;f.container.keydown(function(){f.keyboardAction=!0}),f.globalBind("keydown",function(a){return f.onkeydown(b,e,a)}),f.globalBind("click",function(c){b.hasFocus=0!==a(c.target).closest(".mejs-container").length})},onkeydown:function(a,b,c){if(a.hasFocus&&a.options.enableKeyboard)for(var d=0,e=a.options.keyActions.length;e>d;d++)for(var f=a.options.keyActions[d],g=0,h=f.keys.length;h>g;g++)if(c.keyCode==f.keys[g])return"function"==typeof c.preventDefault&&c.preventDefault(),f.action(a,b,c.keyCode),!1;return!0},findTracks:function(){var b=this,c=b.$media.find("track");b.tracks=[],c.each(function(c,d){d=a(d),b.tracks.push({srclang:d.attr("srclang")?d.attr("srclang").toLowerCase():"",src:d.attr("src"),kind:d.attr("kind"),label:d.attr("label")||"",entries:[],isLoaded:!1})})},changeSkin:function(a){this.container[0].className="mejs-container "+a,this.setPlayerSize(this.width,this.height),this.setControlsSize()},play:function(){this.load(),this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.isLoaded||this.media.load(),this.isLoaded=!0},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b,c=this;for(a in c.options.features)if(b=c.options.features[a],c["clean"+b])try{c["clean"+b](c)}catch(d){}c.isDynamic?c.$node.insertBefore(c.container):(c.$media.prop("controls",!0),c.$node.clone().insertBefore(c.container).show(),c.$node.remove()),"native"!==c.media.pluginType&&c.media.remove(),delete mejs.players[c.id],"object"==typeof c.container&&c.container.remove(),c.globalUnbind(),delete c.node.player},rebuildtracks:function(){var a=this;a.findTracks(),a.buildtracks(a,a.controls,a.layers,a.media)}},function(){function b(b,d){var e={d:[],w:[]};return a.each((b||"").split(" "),function(a,b){var f=b+"."+d;0===f.indexOf(".")?(e.d.push(f),e.w.push(f)):e[c.test(b)?"w":"d"].push(f)}),e.d=e.d.join(" "),e.w=e.w.join(" "),e}var c=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,d,e){var f=this;c=b(c,f.id),c.d&&a(document).bind(c.d,d,e),c.w&&a(window).bind(c.w,d,e)},mejs.MediaElementPlayer.prototype.globalUnbind=function(c,d){var e=this;c=b(c,e.id),c.d&&a(document).unbind(c.d,d),c.w&&a(window).unbind(c.w,d)}}(),"undefined"!=typeof a&&(a.fn.mediaelementplayer=function(b){return this.each(b===!1?function(){var b=a(this).data("mediaelementplayer");b&&b.remove(),a(this).removeData("mediaelementplayer")}:function(){a(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,b))}),this},a(document).ready(function(){a(".mejs-player").mediaelementplayer()})),window.MediaElementPlayer=mejs.MediaElementPlayer}(mejs.$),function(a){a.extend(mejs.MepDefaults,{playText:mejs.i18n.t("Play"),pauseText:mejs.i18n.t("Pause")}),a.extend(MediaElementPlayer.prototype,{buildplaypause:function(b,c,d,e){function f(a){"play"===a?(i.removeClass("mejs-play").addClass("mejs-pause"),j.attr({title:h.pauseText,"aria-label":h.pauseText})):(i.removeClass("mejs-pause").addClass("mejs-play"),j.attr({title:h.playText,"aria-label":h.playText}))}var g=this,h=g.options,i=a('<div class="mejs-button mejs-playpause-button mejs-play" ><button type="button" aria-controls="'+g.id+'" title="'+h.playText+'" aria-label="'+h.playText+'"></button></div>').appendTo(c).click(function(a){return a.preventDefault(),e.paused?e.play():e.pause(),!1}),j=i.find("button");f("pse"),e.addEventListener("play",function(){f("play")},!1),e.addEventListener("playing",function(){f("play")},!1),e.addEventListener("pause",function(){f("pse")},!1),e.addEventListener("paused",function(){f("pse")},!1)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{stopText:"Stop"}),a.extend(MediaElementPlayer.prototype,{buildstop:function(b,c,d,e){{var f=this;a('<div class="mejs-button mejs-stop-button mejs-stop"><button type="button" aria-controls="'+f.id+'" title="'+f.options.stopText+'" aria-label="'+f.options.stopText+'"></button></div>').appendTo(c).click(function(){e.paused||e.pause(),e.currentTime>0&&(e.setCurrentTime(0),e.pause(),c.find(".mejs-time-current").width("0px"),c.find(".mejs-time-handle").css("left","0px"),c.find(".mejs-time-float-current").html(mejs.Utility.secondsToTimeCode(0)),c.find(".mejs-currenttime").html(mejs.Utility.secondsToTimeCode(0)),d.find(".mejs-poster").show())})}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{progessHelpText:mejs.i18n.t("Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.")}),a.extend(MediaElementPlayer.prototype,{buildprogress:function(b,c,d,e){a('<div class="mejs-time-rail"><span  class="mejs-time-total mejs-time-slider"><span class="mejs-time-buffering"></span><span class="mejs-time-loaded"></span><span class="mejs-time-current"></span><span class="mejs-time-handle"></span><span class="mejs-time-float"><span class="mejs-time-float-current">00:00</span><span class="mejs-time-float-corner"></span></span></div>').appendTo(c),c.find(".mejs-time-buffering").hide();var f=this,g=c.find(".mejs-time-total"),h=c.find(".mejs-time-loaded"),i=c.find(".mejs-time-current"),j=c.find(".mejs-time-handle"),k=c.find(".mejs-time-float"),l=c.find(".mejs-time-float-current"),m=c.find(".mejs-time-slider"),n=function(a){var b,c=g.offset(),d=g.outerWidth(!0),f=0,h=0,i=0;b=a.originalEvent.changedTouches?a.originalEvent.changedTouches[0].pageX:a.pageX,e.duration&&(b<c.left?b=c.left:b>d+c.left&&(b=d+c.left),i=b-c.left,f=i/d,h=.02>=f?0:f*e.duration,o&&h!==e.currentTime&&e.setCurrentTime(h),mejs.MediaFeatures.hasTouch||(k.css("left",i),l.html(mejs.Utility.secondsToTimeCode(h)),k.show()))},o=!1,p=!1,q=0,r=!1,s=b.options.autoRewind,t=function(){var a=e.currentTime,b=mejs.i18n.t("Time Slider"),c=mejs.Utility.secondsToTimeCode(a),d=e.duration;m.attr({"aria-label":b,"aria-valuemin":0,"aria-valuemax":d,"aria-valuenow":a,"aria-valuetext":c,role:"slider",tabindex:0})},u=function(){var a=new Date;a-q>=1e3&&e.play()};m.bind("focus",function(){b.options.autoRewind=!1}),m.bind("blur",function(){b.options.autoRewind=s}),m.bind("keydown",function(a){new Date-q>=1e3&&(r=e.paused);var b=a.keyCode,c=e.duration,d=e.currentTime;switch(b){case 37:d-=1;break;case 39:d+=1;break;case 38:d+=Math.floor(.1*c);break;case 40:d-=Math.floor(.1*c);break;case 36:d=0;break;case 35:d=c;break;case 10:return void(e.paused?e.play():e.pause());case 13:return void(e.paused?e.play():e.pause());default:return}return d=0>d?0:d>=c?c:Math.floor(d),q=new Date,r||e.pause(),d<e.duration&&!r&&setTimeout(u,1100),e.setCurrentTime(d),a.preventDefault(),a.stopPropagation(),!1}),g.bind("mousedown touchstart",function(a){(1===a.which||0===a.which)&&(o=!0,n(a),f.globalBind("mousemove.dur touchmove.dur",function(a){n(a)}),f.globalBind("mouseup.dur touchend.dur",function(){o=!1,k.hide(),f.globalUnbind(".dur")}))}).bind("mouseenter",function(){p=!0,f.globalBind("mousemove.dur",function(a){n(a)}),mejs.MediaFeatures.hasTouch||k.show()}).bind("mouseleave",function(){p=!1,o||(f.globalUnbind(".dur"),k.hide())}),e.addEventListener("progress",function(a){b.setProgressRail(a),b.setCurrentRail(a)},!1),e.addEventListener("timeupdate",function(a){b.setProgressRail(a),b.setCurrentRail(a),t(a)},!1),f.loaded=h,f.total=g,f.current=i,f.handle=j},setProgressRail:function(a){var b=this,c=void 0!==a?a.target:b.media,d=null;c&&c.buffered&&c.buffered.length>0&&c.buffered.end&&c.duration?d=c.buffered.end(0)/c.duration:c&&void 0!==c.bytesTotal&&c.bytesTotal>0&&void 0!==c.bufferedBytes?d=c.bufferedBytes/c.bytesTotal:a&&a.lengthComputable&&0!==a.total&&(d=a.loaded/a.total),null!==d&&(d=Math.min(1,Math.max(0,d)),b.loaded&&b.total&&b.loaded.width(b.total.width()*d))},setCurrentRail:function(){var a=this;if(void 0!==a.media.currentTime&&a.media.duration&&a.total&&a.handle){var b=Math.round(a.total.width()*a.media.currentTime/a.media.duration),c=b-Math.round(a.handle.outerWidth(!0)/2);a.current.width(b),a.handle.css("left",c)}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:"<span> | </span>"}),a.extend(MediaElementPlayer.prototype,{buildcurrent:function(b,c,d,e){var f=this;a('<div class="mejs-time" role="timer" aria-live="off"><span class="mejs-currenttime">'+(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00")+"</span></div>").appendTo(c),f.currenttime=f.controls.find(".mejs-currenttime"),e.addEventListener("timeupdate",function(){b.updateCurrent()},!1)},buildduration:function(b,c,d,e){var f=this;c.children().last().find(".mejs-currenttime").length>0?a(f.options.timeAndDurationSeparator+'<span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span>").appendTo(c.find(".mejs-time")):(c.find(".mejs-currenttime").parent().addClass("mejs-currenttime-container"),a('<div class="mejs-time mejs-duration-container"><span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span></div>").appendTo(c)),f.durationD=f.controls.find(".mejs-duration"),e.addEventListener("timeupdate",function(){b.updateDuration()},!1)},updateCurrent:function(){var a=this;a.currenttime&&a.currenttime.html(mejs.Utility.secondsToTimeCode(a.media.currentTime,a.options.alwaysShowHours||a.media.duration>3600,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))},updateDuration:function(){var a=this;a.container.toggleClass("mejs-long-video",a.media.duration>3600),a.durationD&&(a.options.duration>0||a.media.duration)&&a.durationD.html(mejs.Utility.secondsToTimeCode(a.options.duration>0?a.options.duration:a.media.duration,a.options.alwaysShowHours,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),allyVolumeControlText:mejs.i18n.t("Use Up/Down Arrow keys to increase or decrease volume."),hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical"}),a.extend(MediaElementPlayer.prototype,{buildvolume:function(b,c,d,e){if(!mejs.MediaFeatures.isAndroid&&!mejs.MediaFeatures.isiOS||!this.options.hideVolumeOnTouchDevices){var f=this,g=f.isVideo?f.options.videoVolume:f.options.audioVolume,h="horizontal"==g?a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button></div><a href="javascript:void(0);" class="mejs-horizontal-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-horizontal-volume-total"></div><div class="mejs-horizontal-volume-current"></div><div class="mejs-horizontal-volume-handle"></div></a>').appendTo(c):a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button><a href="javascript:void(0);" class="mejs-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-volume-total"></div><div class="mejs-volume-current"></div><div class="mejs-volume-handle"></div></a></div>').appendTo(c),i=f.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),j=f.container.find(".mejs-volume-total, .mejs-horizontal-volume-total"),k=f.container.find(".mejs-volume-current, .mejs-horizontal-volume-current"),l=f.container.find(".mejs-volume-handle, .mejs-horizontal-volume-handle"),m=function(a,b){if(!i.is(":visible")&&"undefined"==typeof b)return i.show(),m(a,!0),void i.hide();a=Math.max(0,a),a=Math.min(a,1),0===a?h.removeClass("mejs-mute").addClass("mejs-unmute"):h.removeClass("mejs-unmute").addClass("mejs-mute");var c=j.position();if("vertical"==g){var d=j.height(),e=d-d*a;l.css("top",Math.round(c.top+e-l.height()/2)),k.height(d-e),k.css("top",c.top+e)}else{var f=j.width(),n=f*a;l.css("left",Math.round(c.left+n-l.width()/2)),k.width(Math.round(n))}},n=function(a){var b=null,c=j.offset();if("vertical"===g){var d=j.height(),f=(parseInt(j.css("top").replace(/px/,""),10),a.pageY-c.top);if(b=(d-f)/d,0===c.top||0===c.left)return}else{var h=j.width(),i=a.pageX-c.left;b=i/h}b=Math.max(0,b),b=Math.min(b,1),m(b),e.setMuted(0===b?!0:!1),e.setVolume(b)},o=!1,p=!1;h.hover(function(){i.show(),p=!0},function(){p=!1,o||"vertical"!=g||i.hide()});var q=function(){var a=Math.floor(100*e.volume);i.attr({"aria-label":mejs.i18n.t("volumeSlider"),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,"aria-valuetext":a+"%",role:"slider",tabindex:0})};i.bind("mouseover",function(){p=!0}).bind("mousedown",function(a){return n(a),f.globalBind("mousemove.vol",function(a){n(a)}),f.globalBind("mouseup.vol",function(){o=!1,f.globalUnbind(".vol"),p||"vertical"!=g||i.hide()}),o=!0,!1}).bind("keydown",function(a){var b=a.keyCode,c=e.volume;switch(b){case 38:c+=.1;break;case 40:c-=.1;break;default:return!0}return o=!1,m(c),e.setVolume(c),!1}).bind("blur",function(){i.hide()}),h.find("button").click(function(){e.setMuted(!e.muted)}),h.find("button").bind("focus",function(){i.show()}),e.addEventListener("volumechange",function(a){o||(e.muted?(m(0),h.removeClass("mejs-mute").addClass("mejs-unmute")):(m(e.volume),h.removeClass("mejs-unmute").addClass("mejs-mute"))),q(a)},!1),f.container.is(":visible")&&(m(b.options.startVolume),0===b.options.startVolume&&e.setMuted(!0),"native"===e.pluginType&&e.setVolume(b.options.startVolume))}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{usePluginFullScreen:!0,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")}),a.extend(MediaElementPlayer.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,buildfullscreen:function(b,c,d,e){if(b.isVideo){if(b.isInIframe=window.location!=window.parent.location,mejs.MediaFeatures.hasTrueNativeFullScreen){var f=function(){b.isFullScreen&&(mejs.MediaFeatures.isFullScreen()?(b.isNativeFullScreen=!0,b.setControlsSize()):(b.isNativeFullScreen=!1,b.exitFullScreen()))};b.globalBind(mejs.MediaFeatures.fullScreenEventName,f)}var g=this,h=(b.container,a('<div class="mejs-button mejs-fullscreen-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.fullscreenText+'" aria-label="'+g.options.fullscreenText+'"></button></div>').appendTo(c));if("native"===g.media.pluginType||!g.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)h.click(function(){var a=mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||b.isFullScreen;a?b.exitFullScreen():b.enterFullScreen()});else{var i=null,j=function(){var a,b=document.createElement("x"),c=document.documentElement,d=window.getComputedStyle;return"pointerEvents"in b.style?(b.style.pointerEvents="auto",b.style.pointerEvents="x",c.appendChild(b),a=d&&"auto"===d(b,"").pointerEvents,c.removeChild(b),!!a):!1}();if(j&&!mejs.MediaFeatures.isOpera){var k,l,m=!1,n=function(){if(m){for(var a in o)o[a].hide();h.css("pointer-events",""),g.controls.css("pointer-events",""),g.media.removeEventListener("click",g.clickToPlayPauseCallback),m=!1}},o={},p=["top","left","right","bottom"],q=function(){var a=h.offset().left-g.container.offset().left,b=h.offset().top-g.container.offset().top,c=h.outerWidth(!0),d=h.outerHeight(!0),e=g.container.width(),f=g.container.height();for(k in o)o[k].css({position:"absolute",top:0,left:0});o.top.width(e).height(b),o.left.width(a).height(d).css({top:b}),o.right.width(e-a-c).height(d).css({top:b,left:a+c}),o.bottom.width(e).height(f-d-b).css({top:b+d})};for(g.globalBind("resize",function(){q()}),k=0,l=p.length;l>k;k++)o[p[k]]=a('<div class="mejs-fullscreen-hover" />').appendTo(g.container).mouseover(n).hide();h.on("mouseover",function(){if(!g.isFullScreen){var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!1),h.css("pointer-events","none"),g.controls.css("pointer-events","none"),g.media.addEventListener("click",g.clickToPlayPauseCallback);for(k in o)o[k].show();q(),m=!0}}),e.addEventListener("fullscreenchange",function(){g.isFullScreen=!g.isFullScreen,g.isFullScreen?g.media.removeEventListener("click",g.clickToPlayPauseCallback):g.media.addEventListener("click",g.clickToPlayPauseCallback),n()}),g.globalBind("mousemove",function(a){if(m){var b=h.offset();(a.pageY<b.top||a.pageY>b.top+h.outerHeight(!0)||a.pageX<b.left||a.pageX>b.left+h.outerWidth(!0))&&(h.css("pointer-events",""),g.controls.css("pointer-events",""),m=!1)
-}})}else h.on("mouseover",function(){null!==i&&(clearTimeout(i),delete i);var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!0)}).on("mouseout",function(){null!==i&&(clearTimeout(i),delete i),i=setTimeout(function(){e.hideFullscreenButton()},1500)})}b.fullscreenBtn=h,g.globalBind("keydown",function(a){(mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||g.isFullScreen)&&27==a.keyCode&&b.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},containerSizeTimeout:null,enterFullScreen:function(){var b=this;if("native"===b.media.pluginType||!mejs.MediaFeatures.isFirefox&&!b.options.usePluginFullScreen){if(a(document.documentElement).addClass("mejs-fullscreen"),normalHeight=b.container.height(),normalWidth=b.container.width(),"native"===b.media.pluginType)if(mejs.MediaFeatures.hasTrueNativeFullScreen)mejs.MediaFeatures.requestFullScreen(b.container[0]),b.isInIframe&&setTimeout(function d(){if(b.isNativeFullScreen){var c=window.devicePixelRatio||1,e=.002,f=c*a(window).width(),g=screen.width,h=Math.abs(g-f),i=g*e;h>i?b.exitFullScreen():setTimeout(d,500)}},500);else if(mejs.MediaFeatures.hasSemiNativeFullScreen)return void b.media.webkitEnterFullscreen();if(b.isInIframe){var c=b.options.newWindowCallback(this);if(""!==c){if(!mejs.MediaFeatures.hasTrueNativeFullScreen)return b.pause(),void window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");setTimeout(function(){b.isNativeFullScreen||(b.pause(),window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no"))},250)}}b.container.addClass("mejs-container-fullscreen").width("100%").height("100%"),b.containerSizeTimeout=setTimeout(function(){b.container.css({width:"100%",height:"100%"}),b.setControlsSize()},500),"native"===b.media.pluginType?b.$media.width("100%").height("100%"):(b.container.find(".mejs-shim").width("100%").height("100%"),b.media.setVideoSize(a(window).width(),a(window).height())),b.layers.children("div").width("100%").height("100%"),b.fullscreenBtn&&b.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen"),b.setControlsSize(),b.isFullScreen=!0,b.container.find(".mejs-captions-text").css("font-size",screen.width/b.width*1*100+"%"),b.container.find(".mejs-captions-position").css("bottom","45px")}},exitFullScreen:function(){var b=this;return clearTimeout(b.containerSizeTimeout),"native"!==b.media.pluginType&&mejs.MediaFeatures.isFirefox?void b.media.setFullscreen(!1):(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||b.isFullScreen)&&mejs.MediaFeatures.cancelFullScreen(),a(document.documentElement).removeClass("mejs-fullscreen"),b.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight),"native"===b.media.pluginType?b.$media.width(normalWidth).height(normalHeight):(b.container.find(".mejs-shim").width(normalWidth).height(normalHeight),b.media.setVideoSize(normalWidth,normalHeight)),b.layers.children("div").width(normalWidth).height(normalHeight),b.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen"),b.setControlsSize(),b.isFullScreen=!1,b.container.find(".mejs-captions-text").css("font-size",""),void b.container.find(".mejs-captions-position").css("bottom",""))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x"}),a.extend(MediaElementPlayer.prototype,{buildspeed:function(b,c,d,e){var f=this;if("native"==f.media.pluginType){var g=null,h=null,i='<div class="mejs-button mejs-speed-button"><button type="button">'+f.options.defaultSpeed+f.options.speedChar+'</button><div class="mejs-speed-selector"><ul>';-1===a.inArray(f.options.defaultSpeed,f.options.speeds)&&f.options.speeds.push(f.options.defaultSpeed),f.options.speeds.sort(function(a,b){return parseFloat(b)-parseFloat(a)});for(var j=0,k=f.options.speeds.length;k>j;j++)i+='<li><input type="radio" name="speed" value="'+f.options.speeds[j]+'" id="'+f.options.speeds[j]+'" '+(f.options.speeds[j]==f.options.defaultSpeed?" checked":"")+' /><label for="'+f.options.speeds[j]+'" '+(f.options.speeds[j]==f.options.defaultSpeed?' class="mejs-speed-selected"':"")+">"+f.options.speeds[j]+f.options.speedChar+"</label></li>";i+="</ul></div></div>",g=a(i).appendTo(c),h=g.find(".mejs-speed-selector"),playbackspeed=f.options.defaultSpeed,h.on("click",'input[type="radio"]',function(){var b=a(this).attr("value");playbackspeed=b,e.playbackRate=parseFloat(b),g.find("button").html(b+f.options.speedChar),g.find(".mejs-speed-selected").removeClass("mejs-speed-selected"),g.find('input[type="radio"]:checked').next().addClass("mejs-speed-selected")}),h.height(g.find(".mejs-speed-selector ul").outerHeight(!0)+g.find(".mejs-speed-translations").outerHeight(!0)).css("top",-1*h.height()+"px")}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),a.extend(MediaElementPlayer.prototype,{hasChapters:!1,cleartracks:function(a){a&&(a.captions&&a.captions.remove(),a.chapters&&a.chapters.remove(),a.captionsText&&a.captionsText.remove(),a.captionsButton&&a.captionsButton.remove())},buildtracks:function(b,c,d,e){if(0!==b.tracks.length){var f,g=this;if(g.domNode.textTracks)for(f=g.domNode.textTracks.length-1;f>=0;f--)g.domNode.textTracks[f].mode="hidden";g.cleartracks(b,c,d,e),b.chapters=a('<div class="mejs-chapters mejs-layer"></div>').prependTo(d).hide(),b.captions=a('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover" role="log" aria-live="assertive" aria-atomic="false"><span class="mejs-captions-text"></span></div></div>').prependTo(d).hide(),b.captionsText=b.captions.find(".mejs-captions-text"),b.captionsButton=a('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.tracksText+'" aria-label="'+g.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+b.id+'_captions" id="'+b.id+'_captions_none" value="none" checked="checked" /><label for="'+b.id+'_captions_none">'+mejs.i18n.t("None")+"</label></li></ul></div></div>").appendTo(c);var h=0;for(f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&h++;for(g.options.toggleCaptionsButtonWhenOnlyOne&&1==h?b.captionsButton.on("click",function(){lang=null===b.selectedTrack?b.tracks[0].srclang:"none",b.setTrack(lang)}):(b.captionsButton.on("mouseenter focusin",function(){a(this).find(".mejs-captions-selector").css("visibility","visible")}).on("click","input[type=radio]",function(){lang=this.value,b.setTrack(lang)}),b.captionsButton.on("mouseleave focusout",function(){a(this).find(".mejs-captions-selector").css("visibility","hidden")})),b.options.alwaysShowControls?b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover"):b.container.bind("controlsshown",function(){b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover")}).bind("controlshidden",function(){e.paused||b.container.find(".mejs-captions-position").removeClass("mejs-captions-position-hover")}),b.trackToLoad=-1,b.selectedTrack=null,b.isLoadingTrack=!1,f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&b.addTrackButton(b.tracks[f].srclang,b.tracks[f].label);b.loadNextTrack(),e.addEventListener("timeupdate",function(){b.displayCaptions()},!1),""!==b.options.slidesSelector&&(b.slidesContainer=a(b.options.slidesSelector),e.addEventListener("timeupdate",function(){b.displaySlides()},!1)),e.addEventListener("loadedmetadata",function(){b.displayChapters()},!1),b.container.hover(function(){b.hasChapters&&(b.chapters.css("visibility","visible"),b.chapters.fadeIn(200).height(b.chapters.find(".mejs-chapter").outerHeight()))},function(){b.hasChapters&&!e.paused&&b.chapters.fadeOut(200,function(){a(this).css("visibility","hidden"),a(this).css("display","block")})}),null!==b.node.getAttribute("autoplay")&&b.chapters.css("visibility","hidden")}},setTrack:function(a){var b,c=this;if("none"==a)c.selectedTrack=null,c.captionsButton.removeClass("mejs-captions-enabled");else for(b=0;b<c.tracks.length;b++)if(c.tracks[b].srclang==a){null===c.selectedTrack&&c.captionsButton.addClass("mejs-captions-enabled"),c.selectedTrack=c.tracks[b],c.captions.attr("lang",c.selectedTrack.srclang),c.displayCaptions();break}},loadNextTrack:function(){var a=this;a.trackToLoad++,a.trackToLoad<a.tracks.length?(a.isLoadingTrack=!0,a.loadTrack(a.trackToLoad)):(a.isLoadingTrack=!1,a.checkForTracks())},loadTrack:function(b){var c=this,d=c.tracks[b],e=function(){d.isLoaded=!0,c.enableTrackButton(d.srclang,d.label),c.loadNextTrack()};a.ajax({url:d.src,dataType:"text",success:function(a){d.entries="string"==typeof a&&/<tt\s+xml/gi.exec(a)?mejs.TrackFormatParser.dfxp.parse(a):mejs.TrackFormatParser.webvtt.parse(a),e(),"chapters"==d.kind&&c.media.addEventListener("play",function(){c.media.duration>0&&c.displayChapters(d)},!1),"slides"==d.kind&&c.setupSlides(d)},error:function(){c.loadNextTrack()}})},enableTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("input[value="+b+"]").prop("disabled",!1).siblings("label").html(c),d.options.startLanguage==b&&a("#"+d.id+"_captions_"+b).prop("checked",!0).trigger("click"),d.adjustLanguageBox()},addTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("ul").append(a('<li><input type="radio" name="'+d.id+'_captions" id="'+d.id+"_captions_"+b+'" value="'+b+'" disabled="disabled" /><label for="'+d.id+"_captions_"+b+'">'+c+" (loading)</label></li>")),d.adjustLanguageBox(),d.container.find(".mejs-captions-translations option[value="+b+"]").remove()},adjustLanguageBox:function(){var a=this;a.captionsButton.find(".mejs-captions-selector").height(a.captionsButton.find(".mejs-captions-selector ul").outerHeight(!0)+a.captionsButton.find(".mejs-captions-translations").outerHeight(!0))},checkForTracks:function(){var a=this,b=!1;if(a.options.hideCaptionsButtonWhenEmpty){for(i=0;i<a.tracks.length;i++)if("subtitles"==a.tracks[i].kind){b=!0;break}b||(a.captionsButton.hide(),a.setControlsSize())}},displayCaptions:function(){if("undefined"!=typeof this.tracks){var a,b=this,c=b.selectedTrack;if(null!==c&&c.isLoaded){for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return b.captionsText.html(c.entries.text[a]).attr("class","mejs-captions-text "+(c.entries.times[a].identifier||"")),void b.captions.show().height(0);b.captions.hide()}else b.captions.hide()}},setupSlides:function(a){var b=this;b.slides=a,b.slides.entries.imgs=[b.slides.entries.text.length],b.showSlide(0)},showSlide:function(b){if("undefined"!=typeof this.tracks&&"undefined"!=typeof this.slidesContainer){var c=this,d=c.slides.entries.text[b],e=c.slides.entries.imgs[b];"undefined"==typeof e||"undefined"==typeof e.fadeIn?c.slides.entries.imgs[b]=e=a('<img src="'+d+'">').on("load",function(){e.appendTo(c.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()}):e.is(":visible")||e.is(":animated")||e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if("undefined"!=typeof this.slides){var a,b=this,c=b.slides;for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return void b.showSlide(a)}},displayChapters:function(){var a,b=this;for(a=0;a<b.tracks.length;a++)if("chapters"==b.tracks[a].kind&&b.tracks[a].isLoaded){b.drawChapters(b.tracks[a]),b.hasChapters=!0;break}},drawChapters:function(b){var c,d,e=this,f=0,g=0;for(e.chapters.empty(),c=0;c<b.entries.times.length;c++)d=b.entries.times[c].stop-b.entries.times[c].start,f=Math.floor(d/e.media.duration*100),(f+g>100||c==b.entries.times.length-1&&100>f+g)&&(f=100-g),e.chapters.append(a('<div class="mejs-chapter" rel="'+b.entries.times[c].start+'" style="left: '+g.toString()+"%;width: "+f.toString()+'%;"><div class="mejs-chapter-block'+(c==b.entries.times.length-1?" mejs-chapter-block-last":"")+'"><span class="ch-title">'+b.entries.text[c]+'</span><span class="ch-time">'+mejs.Utility.secondsToTimeCode(b.entries.times[c].start)+"&ndash;"+mejs.Utility.secondsToTimeCode(b.entries.times[c].stop)+"</span></div></div>")),g+=f;e.chapters.find("div.mejs-chapter").click(function(){e.media.setCurrentTime(parseFloat(a(this).attr("rel"))),e.media.paused&&e.media.play()}),e.chapters.show()}}),mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",fl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}},mejs.TrackFormatParser={webvtt:{pattern_timecode:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(b){for(var c,d,e,f=0,g=mejs.TrackFormatParser.split2(b,/\r?\n/),h={text:[],times:[]};f<g.length;f++){if(c=this.pattern_timecode.exec(g[f]),c&&f<g.length){for(f-1>=0&&""!==g[f-1]&&(e=g[f-1]),f++,d=g[f],f++;""!==g[f]&&f<g.length;)d=d+"\n"+g[f],f++;d=a.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),h.text.push(d),h.times.push({identifier:e,start:0===mejs.Utility.convertSMPTEtoSeconds(c[1])?.2:mejs.Utility.convertSMPTEtoSeconds(c[1]),stop:mejs.Utility.convertSMPTEtoSeconds(c[3]),settings:c[5]})}e=""}return h}},dfxp:{parse:function(b){b=a(b).filter("tt");var c,d,e=0,f=b.children("div").eq(0),g=f.find("p"),h=b.find("#"+f.attr("style")),i={text:[],times:[]};if(h.length){var j=h.removeAttr("id").get(0).attributes;if(j.length)for(c={},e=0;e<j.length;e++)c[j[e].name.split(":")[1]]=j[e].value}for(e=0;e<g.length;e++){var k,l={start:null,stop:null,style:null};if(g.eq(e).attr("begin")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("begin"))),!l.start&&g.eq(e-1).attr("end")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e-1).attr("end"))),g.eq(e).attr("end")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("end"))),!l.stop&&g.eq(e+1).attr("begin")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e+1).attr("begin"))),c){k="";for(var m in c)k+=m+":"+c[m]+";"}k&&(l.style=k),0===l.start&&(l.start=.2),i.times.push(l),d=a.trim(g.eq(e).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),i.text.push(d),0===i.times.start&&(i.times.start=2)}return i}},split2:function(a,b){return a.split(b)}},3!="x\n\ny".split(/\n/gi).length&&(mejs.TrackFormatParser.split2=function(a,b){var c,d=[],e="";for(c=0;c<a.length;c++)e+=a.substring(c,c+1),b.test(e)&&(d.push(e.replace(b,"")),e="");return d.push(e),d})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{contextMenuItems:[{render:function(a){return"undefined"==typeof a.enterFullScreen?null:mejs.i18n.t(a.isFullScreen?"Turn off Fullscreen":"Go Fullscreen")},click:function(a){a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{render:function(a){return mejs.i18n.t(a.media.muted?"Unmute":"Mute")},click:function(a){a.setMuted(a.media.muted?!1:!0)}},{isSeparator:!0},{render:function(){return mejs.i18n.t("Download Video")},click:function(a){window.location.href=a.media.currentSrc}}]}),a.extend(MediaElementPlayer.prototype,{buildcontextmenu:function(b){b.contextMenu=a('<div class="mejs-contextmenu"></div>').appendTo(a("body")).hide(),b.container.bind("contextmenu",function(a){return b.isContextMenuEnabled?(a.preventDefault(),b.renderContextMenu(a.clientX-1,a.clientY-1),!1):void 0}),b.container.bind("click",function(){b.contextMenu.hide()}),b.contextMenu.bind("mouseleave",function(){b.startContextMenuTimer()})},cleancontextmenu:function(a){a.contextMenu.remove()},isContextMenuEnabled:!0,enableContextMenu:function(){this.isContextMenuEnabled=!0},disableContextMenu:function(){this.isContextMenuEnabled=!1},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer(),a.contextMenuTimer=setTimeout(function(){a.hideContextMenu(),a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;null!=a&&(clearTimeout(a),delete a,a=null)},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(b,c){for(var d=this,e="",f=d.options.contextMenuItems,g=0,h=f.length;h>g;g++)if(f[g].isSeparator)e+='<div class="mejs-contextmenu-separator"></div>';else{var i=f[g].render(d);null!=i&&(e+='<div class="mejs-contextmenu-item" data-itemindex="'+g+'" id="element-'+1e6*Math.random()+'">'+i+"</div>")}d.contextMenu.empty().append(a(e)).css({top:c,left:b}).show(),d.contextMenu.find(".mejs-contextmenu-item").each(function(){var b=a(this),c=parseInt(b.data("itemindex"),10),e=d.options.contextMenuItems[c];"undefined"!=typeof e.show&&e.show(b,d),b.click(function(){"undefined"!=typeof e.click&&e.click(d),d.contextMenu.hide()})}),setTimeout(function(){d.killControlsTimer("rev3")},100)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")}),a.extend(MediaElementPlayer.prototype,{buildpostroll:function(b,c,d){var e=this,f=e.container.find('link[rel="postroll"]').attr("href");"undefined"!=typeof f&&(b.postroll=a('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">'+e.options.postrollCloseText+'</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(d).hide(),e.media.addEventListener("ended",function(){a.ajax({dataType:"html",url:f,success:function(a){d.find(".mejs-postroll-layer-content").html(a)}}),b.postroll.show()},!1))}})}(mejs.$);
\ No newline at end of file
+"undefined"!=typeof jQuery?mejs.$=jQuery:"undefined"!=typeof ender&&(mejs.$=ender),function(a){mejs.MepDefaults={poster:"",showPosterWhenEnded:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return.05*a.duration},defaultSeekForwardInterval:function(a){return.05*a.duration},setDimensions:!0,audioWidth:-1,audioHeight:-1,startVolume:.8,loop:!1,autoRewind:!0,enableAutosize:!0,alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,autosizeProgress:!0,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,clickToPlayPause:!0,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:!0,enableKeyboard:!0,pauseOtherPlayers:!0,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.volume+.1,1);b.setVolume(c)}},{keys:[40],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.volume-.1,0);b.setVolume(c)}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){"undefined"!=typeof a.enterFullScreen&&(a.isFullScreen?a.exitFullScreen():a.enterFullScreen())}},{keys:[77],action:function(a){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer()),a.setMuted(a.media.muted?!1:!0)}}]},mejs.mepIndex=0,mejs.players={},mejs.MediaElementPlayer=function(b,c){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(b,c);var d=this;return d.$media=d.$node=a(b),d.node=d.media=d.$media[0],d.node?"undefined"!=typeof d.node.player?d.node.player:(d.node.player=d,"undefined"==typeof c&&(c=d.$node.data("mejsoptions")),d.options=a.extend({},mejs.MepDefaults,c),d.id="mep_"+mejs.mepIndex++,mejs.players[d.id]=d,d.init(),d):void 0},mejs.MediaElementPlayer.prototype={hasFocus:!1,controlsAreVisible:!0,init:function(){var b=this,c=mejs.MediaFeatures,d=a.extend(!0,{},b.options,{success:function(a,c){b.meReady(a,c)},error:function(a){b.handleError(a)}}),e=b.media.tagName.toLowerCase();if(b.isDynamic="audio"!==e&&"video"!==e,b.isVideo=b.isDynamic?b.options.isVideo:"audio"!==e&&b.options.isVideo,c.isiPad&&b.options.iPadUseNativeControls||c.isiPhone&&b.options.iPhoneUseNativeControls)b.$media.attr("controls","controls"),c.isiPad&&null!==b.media.getAttribute("autoplay")&&b.play();else if(c.isAndroid&&b.options.AndroidUseNativeControls);else{b.$media.removeAttr("controls");var f=mejs.i18n.t(b.isVideo?"Video Player":"Audio Player");if(a('<span class="mejs-offscreen">'+f+"</span>").insertBefore(b.$media),b.container=a('<div id="'+b.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'" tabindex="0" role="application" aria-label="'+f+'"><div class="mejs-inner"><div class="mejs-mediaelement"></div><div class="mejs-layers"></div><div class="mejs-controls"></div><div class="mejs-clear"></div></div></div>').addClass(b.$media[0].className).insertBefore(b.$media).focus(function(){if(!b.controlsAreVisible){b.showControls(!0);var a=b.container.find(".mejs-playpause-button > button");a.focus()}}),b.container.addClass((c.isAndroid?"mejs-android ":"")+(c.isiOS?"mejs-ios ":"")+(c.isiPad?"mejs-ipad ":"")+(c.isiPhone?"mejs-iphone ":"")+(b.isVideo?"mejs-video ":"mejs-audio ")),c.isiOS){var g=b.$media.clone();b.container.find(".mejs-mediaelement").append(g),b.$media.remove(),b.$node=b.$media=g,b.node=b.media=g[0]}else b.container.find(".mejs-mediaelement").append(b.$media);b.controls=b.container.find(".mejs-controls"),b.layers=b.container.find(".mejs-layers");var h=b.isVideo?"video":"audio",i=h.substring(0,1).toUpperCase()+h.substring(1);b.width=b.options[h+"Width"]>0||b.options[h+"Width"].toString().indexOf("%")>-1?b.options[h+"Width"]:""!==b.media.style.width&&null!==b.media.style.width?b.media.style.width:null!==b.media.getAttribute("width")?b.$media.attr("width"):b.options["default"+i+"Width"],b.height=b.options[h+"Height"]>0||b.options[h+"Height"].toString().indexOf("%")>-1?b.options[h+"Height"]:""!==b.media.style.height&&null!==b.media.style.height?b.media.style.height:null!==b.$media[0].getAttribute("height")?b.$media.attr("height"):b.options["default"+i+"Height"],b.setPlayerSize(b.width,b.height),d.pluginWidth=b.width,d.pluginHeight=b.height}mejs.MediaElement(b.$media[0],d),"undefined"!=typeof b.container&&b.controlsAreVisible&&b.container.trigger("controlsshown")},showControls:function(a){var b=this;a="undefined"==typeof a||a,b.controlsAreVisible||(a?(b.controls.css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0,b.container.trigger("controlsshown")}),b.container.find(".mejs-control").css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0})):(b.controls.css("visibility","visible").css("display","block"),b.container.find(".mejs-control").css("visibility","visible").css("display","block"),b.controlsAreVisible=!0,b.container.trigger("controlsshown")),b.setControlsSize())},hideControls:function(b){var c=this;b="undefined"==typeof b||b,!c.controlsAreVisible||c.options.alwaysShowControls||c.keyboardAction||(b?(c.controls.stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")}),c.container.find(".mejs-control").stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block")})):(c.controls.css("visibility","hidden").css("display","block"),c.container.find(".mejs-control").css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")))},controlsTimer:null,startControlsTimer:function(a){var b=this;a="undefined"!=typeof a?a:1500,b.killControlsTimer("start"),b.controlsTimer=setTimeout(function(){b.hideControls(),b.killControlsTimer("hide")},a)},killControlsTimer:function(){var a=this;null!==a.controlsTimer&&(clearTimeout(a.controlsTimer),delete a.controlsTimer,a.controlsTimer=null)},controlsEnabled:!0,disableControls:function(){var a=this;a.killControlsTimer(),a.hideControls(!1),this.controlsEnabled=!1},enableControls:function(){var a=this;a.showControls(!1),a.controlsEnabled=!0},meReady:function(b,c){var d,e,f=this,g=mejs.MediaFeatures,h=c.getAttribute("autoplay"),i=!("undefined"==typeof h||null===h||"false"===h);if(!f.created){if(f.created=!0,f.media=b,f.domNode=c,!(g.isAndroid&&f.options.AndroidUseNativeControls||g.isiPad&&f.options.iPadUseNativeControls||g.isiPhone&&f.options.iPhoneUseNativeControls)){f.buildposter(f,f.controls,f.layers,f.media),f.buildkeyboard(f,f.controls,f.layers,f.media),f.buildoverlays(f,f.controls,f.layers,f.media),f.findTracks();for(d in f.options.features)if(e=f.options.features[d],f["build"+e])try{f["build"+e](f,f.controls,f.layers,f.media)}catch(j){}f.container.trigger("controlsready"),f.setPlayerSize(f.width,f.height),f.setControlsSize(),f.isVideo&&(mejs.MediaFeatures.hasTouch?f.$media.bind("touchstart",function(){f.controlsAreVisible?f.hideControls(!1):f.controlsEnabled&&f.showControls(!1)}):(f.clickToPlayPauseCallback=function(){f.options.clickToPlayPause&&(f.media.paused?f.play():f.pause())},f.media.addEventListener("click",f.clickToPlayPauseCallback,!1),f.container.bind("mouseenter mouseover",function(){f.controlsEnabled&&(f.options.alwaysShowControls||(f.killControlsTimer("enter"),f.showControls(),f.startControlsTimer(2500)))}).bind("mousemove",function(){f.controlsEnabled&&(f.controlsAreVisible||f.showControls(),f.options.alwaysShowControls||f.startControlsTimer(2500))}).bind("mouseleave",function(){f.controlsEnabled&&(f.media.paused||f.options.alwaysShowControls||f.startControlsTimer(1e3))})),f.options.hideVideoControlsOnLoad&&f.hideControls(!1),i&&!f.options.alwaysShowControls&&f.hideControls(),f.options.enableAutosize&&f.media.addEventListener("loadedmetadata",function(a){f.options.videoHeight<=0&&null===f.domNode.getAttribute("height")&&!isNaN(a.target.videoHeight)&&(f.setPlayerSize(a.target.videoWidth,a.target.videoHeight),f.setControlsSize(),f.media.setVideoSize(a.target.videoWidth,a.target.videoHeight))},!1)),b.addEventListener("play",function(){var a;for(a in mejs.players){var b=mejs.players[a];b.id==f.id||!f.options.pauseOtherPlayers||b.paused||b.ended||b.pause(),b.hasFocus=!1}f.hasFocus=!0},!1),f.media.addEventListener("ended",function(){if(f.options.autoRewind)try{f.media.setCurrentTime(0),window.setTimeout(function(){a(f.container).find(".mejs-overlay-loading").parent().hide()},20)}catch(b){}f.media.pause(),f.setProgressRail&&f.setProgressRail(),f.setCurrentRail&&f.setCurrentRail(),f.options.loop?f.play():!f.options.alwaysShowControls&&f.controlsEnabled&&f.showControls()},!1),f.media.addEventListener("loadedmetadata",function(){f.updateDuration&&f.updateDuration(),f.updateCurrent&&f.updateCurrent(),f.isFullScreen||(f.setPlayerSize(f.width,f.height),f.setControlsSize())},!1),f.container.focusout(function(b){if(b.relatedTarget){var c=a(b.relatedTarget);f.keyboardAction&&0===c.parents(".mejs-container").length&&(f.keyboardAction=!1,f.hideControls(!0))}}),setTimeout(function(){f.setPlayerSize(f.width,f.height),f.setControlsSize()},50),f.globalBind("resize",function(){f.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||f.setPlayerSize(f.width,f.height),f.setControlsSize()}),"youtube"==f.media.pluginType&&(g.isiOS||g.isAndroid)&&f.container.find(".mejs-overlay-play").hide()}i&&"native"==b.pluginType&&f.play(),f.options.success&&("string"==typeof f.options.success?window[f.options.success](f.media,f.domNode,f):f.options.success(f.media,f.domNode,f))}},handleError:function(a){var b=this;b.controls.hide(),b.options.error&&b.options.error(a)},setPlayerSize:function(b,c){var d=this;if(!d.options.setDimensions)return!1;if("undefined"!=typeof b&&(d.width=b),"undefined"!=typeof c&&(d.height=c),d.height.toString().indexOf("%")>0||"none"!==d.$node.css("max-width")&&"t.width"!==d.$node.css("max-width")||d.$node[0].currentStyle&&"100%"===d.$node[0].currentStyle.maxWidth){var e=function(){return d.isVideo?d.media.videoWidth&&d.media.videoWidth>0?d.media.videoWidth:null!==d.media.getAttribute("width")?d.media.getAttribute("width"):d.options.defaultVideoWidth:d.options.defaultAudioWidth}(),f=function(){return d.isVideo?d.media.videoHeight&&d.media.videoHeight>0?d.media.videoHeight:null!==d.media.getAttribute("height")?d.media.getAttribute("height"):d.options.defaultVideoHeight:d.options.defaultAudioHeight}(),g=d.container.parent().closest(":visible").width(),h=d.container.parent().closest(":visible").height(),i=d.isVideo||!d.options.autosizeProgress?parseInt(g*f/e,10):f;isNaN(i)&&(i=h),d.container.parent().length>0&&"body"===d.container.parent()[0].tagName.toLowerCase()&&(g=a(window).width(),i=a(window).height()),i&&g&&(d.container.width(g).height(i),d.$media.add(d.container.find(".mejs-shim")).width("100%").height("100%"),d.isVideo&&d.media.setVideoSize&&d.media.setVideoSize(g,i),d.layers.children(".mejs-layer").width("100%").height("100%"))}else d.container.width(d.width).height(d.height),d.layers.children(".mejs-layer").width(d.width).height(d.height);var j=d.layers.find(".mejs-overlay-play"),k=j.find(".mejs-overlay-button");j.height(d.container.height()-d.controls.height()),k.css("margin-top","-"+(k.height()/2-d.controls.height()/2).toString()+"px")},setControlsSize:function(){var b=this,c=0,d=0,e=b.controls.find(".mejs-time-rail"),f=b.controls.find(".mejs-time-total"),g=(b.controls.find(".mejs-time-current"),b.controls.find(".mejs-time-loaded"),e.siblings()),h=g.last(),i=null;if(b.container.is(":visible")&&e.length&&e.is(":visible")){b.options&&!b.options.autosizeProgress&&(d=parseInt(e.css("width"),10)),0!==d&&d||(g.each(function(){var b=a(this);"absolute"!=b.css("position")&&b.is(":visible")&&(c+=a(this).outerWidth(!0))}),d=b.controls.width()-c-(e.outerWidth(!0)-e.width()));do e.width(d),f.width(d-(f.outerWidth(!0)-f.width())),"absolute"!=h.css("position")&&(i=h.length?h.position():null,d--);while(null!==i&&i.top>0&&d>0);b.setProgressRail&&b.setProgressRail(),b.setCurrentRail&&b.setCurrentRail()}},buildposter:function(b,c,d,e){var f=this,g=a('<div class="mejs-poster mejs-layer"></div>').appendTo(d),h=b.$media.attr("poster");""!==b.options.poster&&(h=b.options.poster),h?f.setPoster(h):g.hide(),e.addEventListener("play",function(){g.hide()},!1),b.options.showPosterWhenEnded&&b.options.autoRewind&&e.addEventListener("ended",function(){g.show()},!1)},setPoster:function(b){var c=this,d=c.container.find(".mejs-poster"),e=d.find("img");0===e.length&&(e=a('<img width="100%" height="100%" />').appendTo(d)),e.attr("src",b),d.css({"background-image":"url("+b+")"})},buildoverlays:function(b,c,d,e){var f=this;if(b.isVideo){var g=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(d),h=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(d),i=a('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(d).bind("click",function(){f.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("playing",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("seeking",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("seeked",function(){g.hide(),c.find(".mejs-time-buffering").hide()},!1),e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||i.show()},!1),e.addEventListener("waiting",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("loadeddata",function(){g.show(),c.find(".mejs-time-buffering").show(),mejs.MediaFeatures.isAndroid&&(e.canplayTimeout=window.setTimeout(function(){if(document.createEvent){var a=document.createEvent("HTMLEvents");return a.initEvent("canplay",!0,!0),e.dispatchEvent(a)}},300))},!1),e.addEventListener("canplay",function(){g.hide(),c.find(".mejs-time-buffering").hide(),clearTimeout(e.canplayTimeout)},!1),e.addEventListener("error",function(){g.hide(),c.find(".mejs-time-buffering").hide(),h.show(),h.find(".mejs-overlay-error").html("Error loading this resource")},!1),e.addEventListener("keydown",function(a){f.onkeydown(b,e,a)},!1)}},buildkeyboard:function(b,c,d,e){var f=this;f.container.keydown(function(){f.keyboardAction=!0}),f.globalBind("keydown",function(a){return f.onkeydown(b,e,a)}),f.globalBind("click",function(c){b.hasFocus=0!==a(c.target).closest(".mejs-container").length})},onkeydown:function(a,b,c){if(a.hasFocus&&a.options.enableKeyboard)for(var d=0,e=a.options.keyActions.length;e>d;d++)for(var f=a.options.keyActions[d],g=0,h=f.keys.length;h>g;g++)if(c.keyCode==f.keys[g])return"function"==typeof c.preventDefault&&c.preventDefault(),f.action(a,b,c.keyCode),!1;return!0},findTracks:function(){var b=this,c=b.$media.find("track");b.tracks=[],c.each(function(c,d){d=a(d),b.tracks.push({srclang:d.attr("srclang")?d.attr("srclang").toLowerCase():"",src:d.attr("src"),kind:d.attr("kind"),label:d.attr("label")||"",entries:[],isLoaded:!1})})},changeSkin:function(a){this.container[0].className="mejs-container "+a,this.setPlayerSize(this.width,this.height),this.setControlsSize()},play:function(){this.load(),this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.isLoaded||this.media.load(),this.isLoaded=!0},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b,c=this;for(a in c.options.features)if(b=c.options.features[a],c["clean"+b])try{c["clean"+b](c)}catch(d){}c.isDynamic?c.$node.insertBefore(c.container):(c.$media.prop("controls",!0),c.$node.clone().insertBefore(c.container).show(),c.$node.remove()),"native"!==c.media.pluginType&&c.media.remove(),delete mejs.players[c.id],"object"==typeof c.container&&c.container.remove(),c.globalUnbind(),delete c.node.player},rebuildtracks:function(){var a=this;a.findTracks(),a.buildtracks(a,a.controls,a.layers,a.media)},resetSize:function(){var a=this;setTimeout(function(){a.setPlayerSize(a.width,a.height),a.setControlsSize()},50)}},function(){function b(b,d){var e={d:[],w:[]};return a.each((b||"").split(" "),function(a,b){var f=b+"."+d;0===f.indexOf(".")?(e.d.push(f),e.w.push(f)):e[c.test(b)?"w":"d"].push(f)}),e.d=e.d.join(" "),e.w=e.w.join(" "),e}var c=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,d,e){var f=this;c=b(c,f.id),c.d&&a(document).bind(c.d,d,e),c.w&&a(window).bind(c.w,d,e)},mejs.MediaElementPlayer.prototype.globalUnbind=function(c,d){var e=this;c=b(c,e.id),c.d&&a(document).unbind(c.d,d),c.w&&a(window).unbind(c.w,d)}}(),"undefined"!=typeof a&&(a.fn.mediaelementplayer=function(b){return this.each(b===!1?function(){var b=a(this).data("mediaelementplayer");b&&b.remove(),a(this).removeData("mediaelementplayer")}:function(){a(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,b))}),this},a(document).ready(function(){a(".mejs-player").mediaelementplayer()})),window.MediaElementPlayer=mejs.MediaElementPlayer}(mejs.$),function(a){a.extend(mejs.MepDefaults,{playText:mejs.i18n.t("Play"),pauseText:mejs.i18n.t("Pause")}),a.extend(MediaElementPlayer.prototype,{buildplaypause:function(b,c,d,e){function f(a){"play"===a?(i.removeClass("mejs-play").addClass("mejs-pause"),j.attr({title:h.pauseText,"aria-label":h.pauseText})):(i.removeClass("mejs-pause").addClass("mejs-play"),j.attr({title:h.playText,"aria-label":h.playText}))}var g=this,h=g.options,i=a('<div class="mejs-button mejs-playpause-button mejs-play" ><button type="button" aria-controls="'+g.id+'" title="'+h.playText+'" aria-label="'+h.playText+'"></button></div>').appendTo(c).click(function(a){return a.preventDefault(),e.paused?e.play():e.pause(),!1}),j=i.find("button");f("pse"),e.addEventListener("play",function(){f("play")},!1),e.addEventListener("playing",function(){f("play")},!1),e.addEventListener("pause",function(){f("pse")},!1),e.addEventListener("paused",function(){f("pse")},!1)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{stopText:"Stop"}),a.extend(MediaElementPlayer.prototype,{buildstop:function(b,c,d,e){{var f=this;a('<div class="mejs-button mejs-stop-button mejs-stop"><button type="button" aria-controls="'+f.id+'" title="'+f.options.stopText+'" aria-label="'+f.options.stopText+'"></button></div>').appendTo(c).click(function(){e.paused||e.pause(),e.currentTime>0&&(e.setCurrentTime(0),e.pause(),c.find(".mejs-time-current").width("0px"),c.find(".mejs-time-handle").css("left","0px"),c.find(".mejs-time-float-current").html(mejs.Utility.secondsToTimeCode(0)),c.find(".mejs-currenttime").html(mejs.Utility.secondsToTimeCode(0)),d.find(".mejs-poster").show())})}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{progessHelpText:mejs.i18n.t("Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.")}),a.extend(MediaElementPlayer.prototype,{buildprogress:function(b,c,d,e){a('<div class="mejs-time-rail"><span  class="mejs-time-total mejs-time-slider"><span class="mejs-time-buffering"></span><span class="mejs-time-loaded"></span><span class="mejs-time-current"></span><span class="mejs-time-handle"></span><span class="mejs-time-float"><span class="mejs-time-float-current">00:00</span><span class="mejs-time-float-corner"></span></span></span></div>').appendTo(c),c.find(".mejs-time-buffering").hide();var f=this,g=c.find(".mejs-time-total"),h=c.find(".mejs-time-loaded"),i=c.find(".mejs-time-current"),j=c.find(".mejs-time-handle"),k=c.find(".mejs-time-float"),l=c.find(".mejs-time-float-current"),m=c.find(".mejs-time-slider"),n=function(a){var b,c=g.offset(),d=g.outerWidth(!0),f=0,h=0,i=0;b=a.originalEvent.changedTouches?a.originalEvent.changedTouches[0].pageX:a.pageX,e.duration&&(b<c.left?b=c.left:b>d+c.left&&(b=d+c.left),i=b-c.left,f=i/d,h=.02>=f?0:f*e.duration,o&&h!==e.currentTime&&e.setCurrentTime(h),mejs.MediaFeatures.hasTouch||(k.css("left",i),l.html(mejs.Utility.secondsToTimeCode(h)),k.show()))},o=!1,p=!1,q=0,r=!1,s=b.options.autoRewind,t=function(){var a=e.currentTime,b=mejs.i18n.t("Time Slider"),c=mejs.Utility.secondsToTimeCode(a),d=e.duration;m.attr({"aria-label":b,"aria-valuemin":0,"aria-valuemax":d,"aria-valuenow":a,"aria-valuetext":c,role:"slider",tabindex:0})},u=function(){var a=new Date;a-q>=1e3&&e.play()};m.bind("focus",function(){b.options.autoRewind=!1}),m.bind("blur",function(){b.options.autoRewind=s}),m.bind("keydown",function(a){new Date-q>=1e3&&(r=e.paused);var b=a.keyCode,c=e.duration,d=e.currentTime;switch(b){case 37:d-=1;break;case 39:d+=1;break;case 38:d+=Math.floor(.1*c);break;case 40:d-=Math.floor(.1*c);break;case 36:d=0;break;case 35:d=c;break;case 10:return void(e.paused?e.play():e.pause());case 13:return void(e.paused?e.play():e.pause());default:return}return d=0>d?0:d>=c?c:Math.floor(d),q=new Date,r||e.pause(),d<e.duration&&!r&&setTimeout(u,1100),e.setCurrentTime(d),a.preventDefault(),a.stopPropagation(),!1}),g.bind("mousedown touchstart",function(a){(1===a.which||0===a.which)&&(o=!0,n(a),f.globalBind("mousemove.dur touchmove.dur",function(a){n(a)}),f.globalBind("mouseup.dur touchend.dur",function(){o=!1,k.hide(),f.globalUnbind(".dur")}))}).bind("mouseenter",function(){p=!0,f.globalBind("mousemove.dur",function(a){n(a)}),mejs.MediaFeatures.hasTouch||k.show()}).bind("mouseleave",function(){p=!1,o||(f.globalUnbind(".dur"),k.hide())}),e.addEventListener("progress",function(a){b.setProgressRail(a),b.setCurrentRail(a)},!1),e.addEventListener("timeupdate",function(a){b.setProgressRail(a),b.setCurrentRail(a),t(a)},!1),f.loaded=h,f.total=g,f.current=i,f.handle=j},setProgressRail:function(a){var b=this,c=void 0!==a?a.target:b.media,d=null;c&&c.buffered&&c.buffered.length>0&&c.buffered.end&&c.duration?d=c.buffered.end(0)/c.duration:c&&void 0!==c.bytesTotal&&c.bytesTotal>0&&void 0!==c.bufferedBytes?d=c.bufferedBytes/c.bytesTotal:a&&a.lengthComputable&&0!==a.total&&(d=a.loaded/a.total),null!==d&&(d=Math.min(1,Math.max(0,d)),b.loaded&&b.total&&b.loaded.width(b.total.width()*d))},setCurrentRail:function(){var a=this;if(void 0!==a.media.currentTime&&a.media.duration&&a.total&&a.handle){var b=Math.round(a.total.width()*a.media.currentTime/a.media.duration),c=b-Math.round(a.handle.outerWidth(!0)/2);a.current.width(b),a.handle.css("left",c)}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:"<span> | </span>"}),a.extend(MediaElementPlayer.prototype,{buildcurrent:function(b,c,d,e){var f=this;a('<div class="mejs-time" role="timer" aria-live="off"><span class="mejs-currenttime">'+(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00")+"</span></div>").appendTo(c),f.currenttime=f.controls.find(".mejs-currenttime"),e.addEventListener("timeupdate",function(){b.updateCurrent()},!1)},buildduration:function(b,c,d,e){var f=this;c.children().last().find(".mejs-currenttime").length>0?a(f.options.timeAndDurationSeparator+'<span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span>").appendTo(c.find(".mejs-time")):(c.find(".mejs-currenttime").parent().addClass("mejs-currenttime-container"),a('<div class="mejs-time mejs-duration-container"><span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span></div>").appendTo(c)),f.durationD=f.controls.find(".mejs-duration"),e.addEventListener("timeupdate",function(){b.updateDuration()},!1)},updateCurrent:function(){var a=this;a.currenttime&&a.currenttime.html(mejs.Utility.secondsToTimeCode(a.media.currentTime,a.options.alwaysShowHours||a.media.duration>3600,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))},updateDuration:function(){var a=this;a.container.toggleClass("mejs-long-video",a.media.duration>3600),a.durationD&&(a.options.duration>0||a.media.duration)&&a.durationD.html(mejs.Utility.secondsToTimeCode(a.options.duration>0?a.options.duration:a.media.duration,a.options.alwaysShowHours,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),allyVolumeControlText:mejs.i18n.t("Use Up/Down Arrow keys to increase or decrease volume."),hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical"}),a.extend(MediaElementPlayer.prototype,{buildvolume:function(b,c,d,e){if(!mejs.MediaFeatures.isAndroid&&!mejs.MediaFeatures.isiOS||!this.options.hideVolumeOnTouchDevices){var f=this,g=f.isVideo?f.options.videoVolume:f.options.audioVolume,h="horizontal"==g?a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button></div><a href="javascript:void(0);" class="mejs-horizontal-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-horizontal-volume-total"></div><div class="mejs-horizontal-volume-current"></div><div class="mejs-horizontal-volume-handle"></div></a>').appendTo(c):a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button><a href="javascript:void(0);" class="mejs-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-volume-total"></div><div class="mejs-volume-current"></div><div class="mejs-volume-handle"></div></a></div>').appendTo(c),i=f.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),j=f.container.find(".mejs-volume-total, .mejs-horizontal-volume-total"),k=f.container.find(".mejs-volume-current, .mejs-horizontal-volume-current"),l=f.container.find(".mejs-volume-handle, .mejs-horizontal-volume-handle"),m=function(a,b){if(!i.is(":visible")&&"undefined"==typeof b)return i.show(),m(a,!0),void i.hide();a=Math.max(0,a),a=Math.min(a,1),0===a?(h.removeClass("mejs-mute").addClass("mejs-unmute"),h.children("button").attr("title",mejs.i18n.t("Unmute")).attr("aria-label",mejs.i18n.t("Unmute"))):(h.removeClass("mejs-unmute").addClass("mejs-mute"),h.children("button").attr("title",mejs.i18n.t("Mute")).attr("aria-label",mejs.i18n.t("Mute")));var c=j.position();if("vertical"==g){var d=j.height(),e=d-d*a;l.css("top",Math.round(c.top+e-l.height()/2)),k.height(d-e),k.css("top",c.top+e)}else{var f=j.width(),n=f*a;l.css("left",Math.round(c.left+n-l.width()/2)),k.width(Math.round(n))}},n=function(a){var b=null,c=j.offset();if("vertical"===g){var d=j.height(),f=(parseInt(j.css("top").replace(/px/,""),10),a.pageY-c.top);if(b=(d-f)/d,0===c.top||0===c.left)return}else{var h=j.width(),i=a.pageX-c.left;b=i/h}b=Math.max(0,b),b=Math.min(b,1),m(b),e.setMuted(0===b?!0:!1),e.setVolume(b)},o=!1,p=!1;h.hover(function(){i.show(),p=!0},function(){p=!1,o||"vertical"!=g||i.hide()});var q=function(){var a=Math.floor(100*e.volume);i.attr({"aria-label":mejs.i18n.t("volumeSlider"),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,"aria-valuetext":a+"%",role:"slider",tabindex:0})};i.bind("mouseover",function(){p=!0}).bind("mousedown",function(a){return n(a),f.globalBind("mousemove.vol",function(a){n(a)}),f.globalBind("mouseup.vol",function(){o=!1,f.globalUnbind(".vol"),p||"vertical"!=g||i.hide()}),o=!0,!1}).bind("keydown",function(a){var b=a.keyCode,c=e.volume;switch(b){case 38:c+=.1;break;case 40:c-=.1;break;default:return!0}return o=!1,m(c),e.setVolume(c),!1}).bind("blur",function(){i.hide()}),h.find("button").click(function(){e.setMuted(!e.muted)}),h.find("button").bind("focus",function(){i.show()}),e.addEventListener("volumechange",function(a){o||(e.muted?(m(0),h.removeClass("mejs-mute").addClass("mejs-unmute")):(m(e.volume),h.removeClass("mejs-unmute").addClass("mejs-mute"))),q(a)},!1),f.container.is(":visible")&&(m(b.options.startVolume),0===b.options.startVolume&&e.setMuted(!0),"native"===e.pluginType&&e.setVolume(b.options.startVolume))}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{usePluginFullScreen:!0,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")}),a.extend(MediaElementPlayer.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,buildfullscreen:function(b,c,d,e){if(b.isVideo){if(b.isInIframe=window.location!=window.parent.location,mejs.MediaFeatures.hasTrueNativeFullScreen){var f=function(){b.isFullScreen&&(mejs.MediaFeatures.isFullScreen()?(b.isNativeFullScreen=!0,b.setControlsSize()):(b.isNativeFullScreen=!1,b.exitFullScreen()))};b.globalBind(mejs.MediaFeatures.fullScreenEventName,f)}var g=this,h=(b.container,a('<div class="mejs-button mejs-fullscreen-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.fullscreenText+'" aria-label="'+g.options.fullscreenText+'"></button></div>').appendTo(c));if("native"===g.media.pluginType||!g.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)h.click(function(){var a=mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||b.isFullScreen;a?b.exitFullScreen():b.enterFullScreen()});else{var i=null,j=function(){var a,b=document.createElement("x"),c=document.documentElement,d=window.getComputedStyle;return"pointerEvents"in b.style?(b.style.pointerEvents="auto",b.style.pointerEvents="x",c.appendChild(b),a=d&&"auto"===d(b,"").pointerEvents,c.removeChild(b),!!a):!1}();if(j&&!mejs.MediaFeatures.isOpera){var k,l,m=!1,n=function(){if(m){for(var a in o)o[a].hide();h.css("pointer-events",""),g.controls.css("pointer-events",""),g.media.removeEventListener("click",g.clickToPlayPauseCallback),m=!1}},o={},p=["top","left","right","bottom"],q=function(){var a=h.offset().left-g.container.offset().left,b=h.offset().top-g.container.offset().top,c=h.outerWidth(!0),d=h.outerHeight(!0),e=g.container.width(),f=g.container.height();for(k in o)o[k].css({position:"absolute",top:0,left:0});o.top.width(e).height(b),o.left.width(a).height(d).css({top:b}),o.right.width(e-a-c).height(d).css({top:b,left:a+c}),o.bottom.width(e).height(f-d-b).css({top:b+d})};for(g.globalBind("resize",function(){q()}),k=0,l=p.length;l>k;k++)o[p[k]]=a('<div class="mejs-fullscreen-hover" />').appendTo(g.container).mouseover(n).hide();h.on("mouseover",function(){if(!g.isFullScreen){var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!1),h.css("pointer-events","none"),g.controls.css("pointer-events","none"),g.media.addEventListener("click",g.clickToPlayPauseCallback);for(k in o)o[k].show();
+q(),m=!0}}),e.addEventListener("fullscreenchange",function(){g.isFullScreen=!g.isFullScreen,g.isFullScreen?g.media.removeEventListener("click",g.clickToPlayPauseCallback):g.media.addEventListener("click",g.clickToPlayPauseCallback),n()}),g.globalBind("mousemove",function(a){if(m){var b=h.offset();(a.pageY<b.top||a.pageY>b.top+h.outerHeight(!0)||a.pageX<b.left||a.pageX>b.left+h.outerWidth(!0))&&(h.css("pointer-events",""),g.controls.css("pointer-events",""),m=!1)}})}else h.on("mouseover",function(){null!==i&&(clearTimeout(i),delete i);var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!0)}).on("mouseout",function(){null!==i&&(clearTimeout(i),delete i),i=setTimeout(function(){e.hideFullscreenButton()},1500)})}b.fullscreenBtn=h,g.globalBind("keydown",function(a){(mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||g.isFullScreen)&&27==a.keyCode&&b.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},containerSizeTimeout:null,enterFullScreen:function(){var b=this;if("native"===b.media.pluginType||!mejs.MediaFeatures.isFirefox&&!b.options.usePluginFullScreen){if(a(document.documentElement).addClass("mejs-fullscreen"),normalHeight=b.container.height(),normalWidth=b.container.width(),"native"===b.media.pluginType)if(mejs.MediaFeatures.hasTrueNativeFullScreen)mejs.MediaFeatures.requestFullScreen(b.container[0]),b.isInIframe&&setTimeout(function d(){if(b.isNativeFullScreen){var c=window.devicePixelRatio||1,e=.002,f=c*a(window).width(),g=screen.width,h=Math.abs(g-f),i=g*e;h>i?b.exitFullScreen():setTimeout(d,500)}},500);else if(mejs.MediaFeatures.hasSemiNativeFullScreen)return void b.media.webkitEnterFullscreen();if(b.isInIframe){var c=b.options.newWindowCallback(this);if(""!==c){if(!mejs.MediaFeatures.hasTrueNativeFullScreen)return b.pause(),void window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");setTimeout(function(){b.isNativeFullScreen||(b.pause(),window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no"))},250)}}b.container.addClass("mejs-container-fullscreen").width("100%").height("100%"),b.containerSizeTimeout=setTimeout(function(){b.container.css({width:"100%",height:"100%"}),b.setControlsSize()},500),"native"===b.media.pluginType?b.$media.width("100%").height("100%"):(b.container.find(".mejs-shim").width("100%").height("100%"),b.media.setVideoSize(a(window).width(),a(window).height())),b.layers.children("div").width("100%").height("100%"),b.fullscreenBtn&&b.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen"),b.setControlsSize(),b.isFullScreen=!0,b.container.find(".mejs-captions-text").css("font-size",screen.width/b.width*1*100+"%"),b.container.find(".mejs-captions-position").css("bottom","45px")}},exitFullScreen:function(){var b=this;return clearTimeout(b.containerSizeTimeout),"native"!==b.media.pluginType&&mejs.MediaFeatures.isFirefox?void b.media.setFullscreen(!1):(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||b.isFullScreen)&&mejs.MediaFeatures.cancelFullScreen(),a(document.documentElement).removeClass("mejs-fullscreen"),b.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight),"native"===b.media.pluginType?b.$media.width(normalWidth).height(normalHeight):(b.container.find(".mejs-shim").width(normalWidth).height(normalHeight),b.media.setVideoSize(normalWidth,normalHeight)),b.layers.children("div").width(normalWidth).height(normalHeight),b.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen"),b.setControlsSize(),b.isFullScreen=!1,b.container.find(".mejs-captions-text").css("font-size",""),void b.container.find(".mejs-captions-position").css("bottom",""))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x"}),a.extend(MediaElementPlayer.prototype,{buildspeed:function(b,c,d,e){var f=this;if("native"==f.media.pluginType){var g=null,h=null,i=null,j='<div class="mejs-button mejs-speed-button"><button type="button">'+f.options.defaultSpeed+f.options.speedChar+'</button><div class="mejs-speed-selector"><ul>';-1===a.inArray(f.options.defaultSpeed,f.options.speeds)&&f.options.speeds.push(f.options.defaultSpeed),f.options.speeds.sort(function(a,b){return parseFloat(b)-parseFloat(a)});for(var k=0,l=f.options.speeds.length;l>k;k++)i=f.id+"-speed-"+f.options.speeds[k],j+='<li><input type="radio" name="speed" value="'+f.options.speeds[k]+'" id="'+i+'" '+(f.options.speeds[k]==f.options.defaultSpeed?" checked":"")+' /><label for="'+i+'" '+(f.options.speeds[k]==f.options.defaultSpeed?' class="mejs-speed-selected"':"")+">"+f.options.speeds[k]+f.options.speedChar+"</label></li>";j+="</ul></div></div>",g=a(j).appendTo(c),h=g.find(".mejs-speed-selector"),playbackspeed=f.options.defaultSpeed,h.on("click",'input[type="radio"]',function(){var b=a(this).attr("value");playbackspeed=b,e.playbackRate=parseFloat(b),g.find("button").html(b+f.options.speedChar),g.find(".mejs-speed-selected").removeClass("mejs-speed-selected"),g.find('input[type="radio"]:checked').next().addClass("mejs-speed-selected")}),h.height(g.find(".mejs-speed-selector ul").outerHeight(!0)+g.find(".mejs-speed-translations").outerHeight(!0)).css("top",-1*h.height()+"px")}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),tracksAriaLive:!1,hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),a.extend(MediaElementPlayer.prototype,{hasChapters:!1,cleartracks:function(a){a&&(a.captions&&a.captions.remove(),a.chapters&&a.chapters.remove(),a.captionsText&&a.captionsText.remove(),a.captionsButton&&a.captionsButton.remove())},buildtracks:function(b,c,d,e){if(0!==b.tracks.length){var f,g=this,h=g.options.tracksAriaLive?'role="log" aria-live="assertive" aria-atomic="false"':"";if(g.domNode.textTracks)for(f=g.domNode.textTracks.length-1;f>=0;f--)g.domNode.textTracks[f].mode="hidden";g.cleartracks(b,c,d,e),b.chapters=a('<div class="mejs-chapters mejs-layer"></div>').prependTo(d).hide(),b.captions=a('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover" '+h+'><span class="mejs-captions-text"></span></div></div>').prependTo(d).hide(),b.captionsText=b.captions.find(".mejs-captions-text"),b.captionsButton=a('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.tracksText+'" aria-label="'+g.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+b.id+'_captions" id="'+b.id+'_captions_none" value="none" checked="checked" /><label for="'+b.id+'_captions_none">'+mejs.i18n.t("None")+"</label></li></ul></div></div>").appendTo(c);var i=0;for(f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&i++;for(g.options.toggleCaptionsButtonWhenOnlyOne&&1==i?b.captionsButton.on("click",function(){lang=null===b.selectedTrack?b.tracks[0].srclang:"none",b.setTrack(lang)}):(b.captionsButton.on("mouseenter focusin",function(){a(this).find(".mejs-captions-selector").css("visibility","visible")}).on("click","input[type=radio]",function(){lang=this.value,b.setTrack(lang)}),b.captionsButton.on("mouseleave focusout",function(){a(this).find(".mejs-captions-selector").css("visibility","hidden")})),b.options.alwaysShowControls?b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover"):b.container.bind("controlsshown",function(){b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover")}).bind("controlshidden",function(){e.paused||b.container.find(".mejs-captions-position").removeClass("mejs-captions-position-hover")}),b.trackToLoad=-1,b.selectedTrack=null,b.isLoadingTrack=!1,f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&b.addTrackButton(b.tracks[f].srclang,b.tracks[f].label);b.loadNextTrack(),e.addEventListener("timeupdate",function(){b.displayCaptions()},!1),""!==b.options.slidesSelector&&(b.slidesContainer=a(b.options.slidesSelector),e.addEventListener("timeupdate",function(){b.displaySlides()},!1)),e.addEventListener("loadedmetadata",function(){b.displayChapters()},!1),b.container.hover(function(){b.hasChapters&&(b.chapters.css("visibility","visible"),b.chapters.fadeIn(200).height(b.chapters.find(".mejs-chapter").outerHeight()))},function(){b.hasChapters&&!e.paused&&b.chapters.fadeOut(200,function(){a(this).css("visibility","hidden"),a(this).css("display","block")})}),null!==b.node.getAttribute("autoplay")&&b.chapters.css("visibility","hidden")}},setTrack:function(a){var b,c=this;if("none"==a)c.selectedTrack=null,c.captionsButton.removeClass("mejs-captions-enabled");else for(b=0;b<c.tracks.length;b++)if(c.tracks[b].srclang==a){null===c.selectedTrack&&c.captionsButton.addClass("mejs-captions-enabled"),c.selectedTrack=c.tracks[b],c.captions.attr("lang",c.selectedTrack.srclang),c.displayCaptions();break}},loadNextTrack:function(){var a=this;a.trackToLoad++,a.trackToLoad<a.tracks.length?(a.isLoadingTrack=!0,a.loadTrack(a.trackToLoad)):(a.isLoadingTrack=!1,a.checkForTracks())},loadTrack:function(b){var c=this,d=c.tracks[b],e=function(){d.isLoaded=!0,c.enableTrackButton(d.srclang,d.label),c.loadNextTrack()};a.ajax({url:d.src,dataType:"text",success:function(a){d.entries="string"==typeof a&&/<tt\s+xml/gi.exec(a)?mejs.TrackFormatParser.dfxp.parse(a):mejs.TrackFormatParser.webvtt.parse(a),e(),"chapters"==d.kind&&c.media.addEventListener("play",function(){c.media.duration>0&&c.displayChapters(d)},!1),"slides"==d.kind&&c.setupSlides(d)},error:function(){c.loadNextTrack()}})},enableTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("input[value="+b+"]").prop("disabled",!1).siblings("label").html(c),d.options.startLanguage==b&&a("#"+d.id+"_captions_"+b).prop("checked",!0).trigger("click"),d.adjustLanguageBox()},addTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("ul").append(a('<li><input type="radio" name="'+d.id+'_captions" id="'+d.id+"_captions_"+b+'" value="'+b+'" disabled="disabled" /><label for="'+d.id+"_captions_"+b+'">'+c+" (loading)</label></li>")),d.adjustLanguageBox(),d.container.find(".mejs-captions-translations option[value="+b+"]").remove()},adjustLanguageBox:function(){var a=this;a.captionsButton.find(".mejs-captions-selector").height(a.captionsButton.find(".mejs-captions-selector ul").outerHeight(!0)+a.captionsButton.find(".mejs-captions-translations").outerHeight(!0))},checkForTracks:function(){var a=this,b=!1;if(a.options.hideCaptionsButtonWhenEmpty){for(i=0;i<a.tracks.length;i++)if("subtitles"==a.tracks[i].kind){b=!0;break}b||(a.captionsButton.hide(),a.setControlsSize())}},displayCaptions:function(){if("undefined"!=typeof this.tracks){var a,b=this,c=b.selectedTrack;if(null!==c&&c.isLoaded){for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return b.captionsText.html(c.entries.text[a]).attr("class","mejs-captions-text "+(c.entries.times[a].identifier||"")),void b.captions.show().height(0);b.captions.hide()}else b.captions.hide()}},setupSlides:function(a){var b=this;b.slides=a,b.slides.entries.imgs=[b.slides.entries.text.length],b.showSlide(0)},showSlide:function(b){if("undefined"!=typeof this.tracks&&"undefined"!=typeof this.slidesContainer){var c=this,d=c.slides.entries.text[b],e=c.slides.entries.imgs[b];"undefined"==typeof e||"undefined"==typeof e.fadeIn?c.slides.entries.imgs[b]=e=a('<img src="'+d+'">').on("load",function(){e.appendTo(c.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()}):e.is(":visible")||e.is(":animated")||e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if("undefined"!=typeof this.slides){var a,b=this,c=b.slides;for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return void b.showSlide(a)}},displayChapters:function(){var a,b=this;for(a=0;a<b.tracks.length;a++)if("chapters"==b.tracks[a].kind&&b.tracks[a].isLoaded){b.drawChapters(b.tracks[a]),b.hasChapters=!0;break}},drawChapters:function(b){var c,d,e=this,f=0,g=0;for(e.chapters.empty(),c=0;c<b.entries.times.length;c++)d=b.entries.times[c].stop-b.entries.times[c].start,f=Math.floor(d/e.media.duration*100),(f+g>100||c==b.entries.times.length-1&&100>f+g)&&(f=100-g),e.chapters.append(a('<div class="mejs-chapter" rel="'+b.entries.times[c].start+'" style="left: '+g.toString()+"%;width: "+f.toString()+'%;"><div class="mejs-chapter-block'+(c==b.entries.times.length-1?" mejs-chapter-block-last":"")+'"><span class="ch-title">'+b.entries.text[c]+'</span><span class="ch-time">'+mejs.Utility.secondsToTimeCode(b.entries.times[c].start)+"&ndash;"+mejs.Utility.secondsToTimeCode(b.entries.times[c].stop)+"</span></div></div>")),g+=f;e.chapters.find("div.mejs-chapter").click(function(){e.media.setCurrentTime(parseFloat(a(this).attr("rel"))),e.media.paused&&e.media.play()}),e.chapters.show()}}),mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",fl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}},mejs.TrackFormatParser={webvtt:{pattern_timecode:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(b){for(var c,d,e,f=0,g=mejs.TrackFormatParser.split2(b,/\r?\n/),h={text:[],times:[]};f<g.length;f++){if(c=this.pattern_timecode.exec(g[f]),c&&f<g.length){for(f-1>=0&&""!==g[f-1]&&(e=g[f-1]),f++,d=g[f],f++;""!==g[f]&&f<g.length;)d=d+"\n"+g[f],f++;d=a.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),h.text.push(d),h.times.push({identifier:e,start:0===mejs.Utility.convertSMPTEtoSeconds(c[1])?.2:mejs.Utility.convertSMPTEtoSeconds(c[1]),stop:mejs.Utility.convertSMPTEtoSeconds(c[3]),settings:c[5]})}e=""}return h}},dfxp:{parse:function(b){b=a(b).filter("tt");var c,d,e=0,f=b.children("div").eq(0),g=f.find("p"),h=b.find("#"+f.attr("style")),i={text:[],times:[]};if(h.length){var j=h.removeAttr("id").get(0).attributes;if(j.length)for(c={},e=0;e<j.length;e++)c[j[e].name.split(":")[1]]=j[e].value}for(e=0;e<g.length;e++){var k,l={start:null,stop:null,style:null};if(g.eq(e).attr("begin")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("begin"))),!l.start&&g.eq(e-1).attr("end")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e-1).attr("end"))),g.eq(e).attr("end")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("end"))),!l.stop&&g.eq(e+1).attr("begin")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e+1).attr("begin"))),c){k="";for(var m in c)k+=m+":"+c[m]+";"}k&&(l.style=k),0===l.start&&(l.start=.2),i.times.push(l),d=a.trim(g.eq(e).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),i.text.push(d),0===i.times.start&&(i.times.start=2)}return i}},split2:function(a,b){return a.split(b)}},3!="x\n\ny".split(/\n/gi).length&&(mejs.TrackFormatParser.split2=function(a,b){var c,d=[],e="";for(c=0;c<a.length;c++)e+=a.substring(c,c+1),b.test(e)&&(d.push(e.replace(b,"")),e="");return d.push(e),d})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{contextMenuItems:[{render:function(a){return"undefined"==typeof a.enterFullScreen?null:mejs.i18n.t(a.isFullScreen?"Turn off Fullscreen":"Go Fullscreen")},click:function(a){a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{render:function(a){return mejs.i18n.t(a.media.muted?"Unmute":"Mute")},click:function(a){a.setMuted(a.media.muted?!1:!0)}},{isSeparator:!0},{render:function(){return mejs.i18n.t("Download Video")},click:function(a){window.location.href=a.media.currentSrc}}]}),a.extend(MediaElementPlayer.prototype,{buildcontextmenu:function(b){b.contextMenu=a('<div class="mejs-contextmenu"></div>').appendTo(a("body")).hide(),b.container.bind("contextmenu",function(a){return b.isContextMenuEnabled?(a.preventDefault(),b.renderContextMenu(a.clientX-1,a.clientY-1),!1):void 0}),b.container.bind("click",function(){b.contextMenu.hide()}),b.contextMenu.bind("mouseleave",function(){b.startContextMenuTimer()})},cleancontextmenu:function(a){a.contextMenu.remove()},isContextMenuEnabled:!0,enableContextMenu:function(){this.isContextMenuEnabled=!0},disableContextMenu:function(){this.isContextMenuEnabled=!1},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer(),a.contextMenuTimer=setTimeout(function(){a.hideContextMenu(),a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;null!=a&&(clearTimeout(a),delete a,a=null)},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(b,c){for(var d=this,e="",f=d.options.contextMenuItems,g=0,h=f.length;h>g;g++)if(f[g].isSeparator)e+='<div class="mejs-contextmenu-separator"></div>';else{var i=f[g].render(d);null!=i&&(e+='<div class="mejs-contextmenu-item" data-itemindex="'+g+'" id="element-'+1e6*Math.random()+'">'+i+"</div>")}d.contextMenu.empty().append(a(e)).css({top:c,left:b}).show(),d.contextMenu.find(".mejs-contextmenu-item").each(function(){var b=a(this),c=parseInt(b.data("itemindex"),10),e=d.options.contextMenuItems[c];"undefined"!=typeof e.show&&e.show(b,d),b.click(function(){"undefined"!=typeof e.click&&e.click(d),d.contextMenu.hide()})}),setTimeout(function(){d.killControlsTimer("rev3")},100)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")}),a.extend(MediaElementPlayer.prototype,{buildpostroll:function(b,c,d){var e=this,f=e.container.find('link[rel="postroll"]').attr("href");"undefined"!=typeof f&&(b.postroll=a('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">'+e.options.postrollCloseText+'</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(d).hide(),e.media.addEventListener("ended",function(){a.ajax({dataType:"html",url:f,success:function(a){d.find(".mejs-postroll-layer-content").html(a)}}),b.postroll.show()},!1))}})}(mejs.$);
\ No newline at end of file
index ae90c8ddb837db2ff2c48ed953a536d9d0e34b46..daa659d52bc7324f57dbc5c104d1d22bf5ffbc4b 100644 (file)
 }
 
 .media-embed-details .setting p,
-.media-embed-details .setting a {
+.media-embed-details .setting .remove-setting {
        color: #a00;
        font-size: 10px;
        text-transform: uppercase;
 }
 
+.media-embed-details .setting .remove-setting {
+       padding: 0;
+}
+
 .media-embed-details .setting a:hover {
        color: #f00;
 }
index 9b2f8c8d6645fb6816d3b93cb4f3f0bec6d88829..11f87850593c1103964743486ee23a7e504d2bfe 100644 (file)
@@ -163,7 +163,7 @@ function edButton(id, display, tagStart, tagEnd, access) {
                        id = settings.id,
                        canvas = document.getElementById(id),
                        name = 'qt_' + id,
-                       tb, onclick, toolbar_id;
+                       tb, onclick, toolbar_id, wrap, setActiveEditor;
 
                if ( !id || !canvas ) {
                        return false;
@@ -182,12 +182,13 @@ function edButton(id, display, tagStart, tagEnd, access) {
                        toolbar_id = name + '_toolbar';
                }
 
-               tb = document.createElement('div');
-               tb.id = toolbar_id;
-               tb.className = 'quicktags-toolbar';
-               tb.onclick = function() {
-                       window.wpActiveEditor = id;
-               };
+               tb = document.getElementById( toolbar_id );
+
+               if ( ! tb ) {
+                       tb = document.createElement('div');
+                       tb.id = toolbar_id;
+                       tb.className = 'quicktags-toolbar';
+               }
 
                canvas.parentNode.insertBefore(tb, canvas);
                t.toolbar = tb;
@@ -214,10 +215,24 @@ function edButton(id, display, tagStart, tagEnd, access) {
                        }
                };
 
+               setActiveEditor = function() {
+                       window.wpActiveEditor = id;
+               };
+
+               wrap = document.getElementById( 'wp-' + id + '-wrap' );
+
                if ( tb.addEventListener ) {
-                       tb.addEventListener('click', onclick, false);
+                       tb.addEventListener( 'click', onclick, false );
+                       
+                       if ( wrap ) {
+                               wrap.addEventListener( 'click', setActiveEditor, false );
+                       }
                } else if ( tb.attachEvent ) {
-                       tb.attachEvent('onclick', onclick);
+                       tb.attachEvent( 'onclick', onclick );
+
+                       if ( wrap ) {
+                               wrap.attachEvent( 'onclick', setActiveEditor );
+                       }
                }
 
                t.getButton = function(id) {
@@ -236,6 +251,12 @@ function edButton(id, display, tagStart, tagEnd, access) {
                }
        };
 
+       function _escape( text ) {
+               text = text || '';
+               text = text.replace( /&([^#])(?![a-z1-4]{1,8};)/gi, '&#038;$1' );
+               return text.replace( /</g, '&lt;' ).replace( />/g, '&gt;' ).replace( /"/g, '&quot;' ).replace( /'/g, '&#039;' );
+       }
+
        qt.instances = {};
 
        qt.getInstance = function(id) {
@@ -283,11 +304,6 @@ function edButton(id, display, tagStart, tagEnd, access) {
                                }
                        }
 
-                       if ( use && use.indexOf(',fullscreen,') !== -1 ) {
-                               theButtons.fullscreen = new qt.FullscreenButton();
-                               html += theButtons.fullscreen.html(name + '_');
-                       }
-
                        if ( use && use.indexOf(',dfw,') !== -1 ) {
                                theButtons.dfw = new qt.DFWButton();
                                html += theButtons.dfw.html( name + '_' );
@@ -332,9 +348,10 @@ function edButton(id, display, tagStart, tagEnd, access) {
         * @param string title Optional. Button's title="..."
         * @param int priority Optional. Number representing the desired position of the button in the toolbar. 1 - 9 = first, 11 - 19 = second, 21 - 29 = third, etc.
         * @param string instance Optional. Limit the button to a specific instance of Quicktags, add to all instances if not present.
+        * @param attr object Optional. Used to pass additional attributes. Currently supports `ariaLabel` and `ariaLabelClose` (for "close tag" state)
         * @return mixed null or the button object that is needed for back-compat.
         */
-       qt.addButton = function( id, display, arg1, arg2, access_key, title, priority, instance ) {
+       qt.addButton = function( id, display, arg1, arg2, access_key, title, priority, instance, attr ) {
                var btn;
 
                if ( !id || !display ) {
@@ -343,12 +360,13 @@ function edButton(id, display, tagStart, tagEnd, access) {
 
                priority = priority || 0;
                arg2 = arg2 || '';
+               attr = attr || {};
 
                if ( typeof(arg1) === 'function' ) {
-                       btn = new qt.Button(id, display, access_key, title, instance);
+                       btn = new qt.Button( id, display, access_key, title, instance, attr );
                        btn.callback = arg1;
                } else if ( typeof(arg1) === 'string' ) {
-                       btn = new qt.TagButton(id, display, arg1, arg2, access_key, title, instance);
+                       btn = new qt.TagButton( id, display, arg1, arg2, access_key, title, instance, attr );
                } else {
                        return;
                }
@@ -404,59 +422,69 @@ function edButton(id, display, tagStart, tagEnd, access) {
        };
 
        // a plain, dumb button
-       qt.Button = function(id, display, access, title, instance) {
-               var t = this;
-               t.id = id;
-               t.display = display;
-               t.access = '';
-               t.title = title || '';
-               t.instance = instance || '';
+       qt.Button = function( id, display, access, title, instance, attr ) {
+               this.id = id;
+               this.display = display;
+               this.access = '';
+               this.title = title || '';
+               this.instance = instance || '';
+               this.attr = attr || {};
        };
        qt.Button.prototype.html = function(idPrefix) {
-               var title = this.title ? ' title="' + this.title + '"' : '',
-                       active, on, wp,
+               var active, on, wp,
+                       title = this.title ? ' title="' + _escape( this.title ) + '"' : '',
+                       ariaLabel = this.attr && this.attr.ariaLabel ? ' aria-label="' + _escape( this.attr.ariaLabel ) + '"' : '',
+                       val = this.display ? ' value="' + _escape( this.display ) + '"' : '',
+                       id = this.id ? ' id="' + _escape( idPrefix + this.id ) + '"' : '',
                        dfw = ( wp = window.wp ) && wp.editor && wp.editor.dfw;
 
                if ( this.id === 'fullscreen' ) {
-                       return '<button type="button" id="' + idPrefix + this.id + '" class="ed_button qt-dfw qt-fullscreen"' + title + '></button>';
+                       return '<button type="button"' + id + ' class="ed_button qt-dfw qt-fullscreen"' + title + ariaLabel + '></button>';
                } else if ( this.id === 'dfw' ) {
                        active = dfw && dfw.isActive() ? '' : ' disabled="disabled"';
                        on = dfw && dfw.isOn() ? ' active' : '';
 
-                       return '<button type="button" id="' + idPrefix + this.id + '" class="ed_button qt-dfw' + on + '"' + title + active + '></button>';
+                       return '<button type="button"' + id + ' class="ed_button qt-dfw' + on + '"' + title + ariaLabel + active + '></button>';
                }
 
-               return '<input type="button" id="' + idPrefix + this.id + '" class="ed_button button button-small"' + title + ' value="' + this.display + '" />';
+               return '<input type="button"' + id + ' class="ed_button button button-small"' + title + ariaLabel + val + ' />';
        };
        qt.Button.prototype.callback = function(){};
 
        // a button that inserts HTML tag
-       qt.TagButton = function(id, display, tagStart, tagEnd, access, title, instance) {
+       qt.TagButton = function( id, display, tagStart, tagEnd, access, title, instance, attr ) {
                var t = this;
-               qt.Button.call(t, id, display, access, title, instance);
+               qt.Button.call( t, id, display, access, title, instance, attr );
                t.tagStart = tagStart;
                t.tagEnd = tagEnd;
        };
        qt.TagButton.prototype = new qt.Button();
-       qt.TagButton.prototype.openTag = function(e, ed) {
-               var t = this;
-
+       qt.TagButton.prototype.openTag = function( element, ed ) {
                if ( ! ed.openTags ) {
                        ed.openTags = [];
                }
-               if ( t.tagEnd ) {
-                       ed.openTags.push(t.id);
-                       e.value = '/' + e.value;
+
+               if ( this.tagEnd ) {
+                       ed.openTags.push( this.id );
+                       element.value = '/' + element.value;
+
+                       if ( this.attr.ariaLabelClose ) {
+                               element.setAttribute( 'aria-label', this.attr.ariaLabelClose );
+                       }
                }
        };
-       qt.TagButton.prototype.closeTag = function(e, ed) {
-               var t = this, i = t.isOpen(ed);
+       qt.TagButton.prototype.closeTag = function( element, ed ) {
+               var i = this.isOpen(ed);
 
                if ( i !== false ) {
-                       ed.openTags.splice(i, 1);
+                       ed.openTags.splice( i, 1 );
                }
 
-               e.value = t.display;
+               element.value = this.display;
+
+               if ( this.attr.ariaLabel ) {
+                       element.setAttribute( 'aria-label', this.attr.ariaLabel );
+               }
        };
        // whether a tag is open or not. Returns false if not open, or current open depth of the tag
        qt.TagButton.prototype.isOpen = function (ed) {
@@ -549,7 +577,7 @@ function edButton(id, display, tagStart, tagEnd, access) {
 
        // the close tags button
        qt.CloseButton = function() {
-               qt.Button.call(this, 'close', quicktagsL10n.closeTags, '', quicktagsL10n.closeAllOpenTags);
+               qt.Button.call( this, 'close', quicktagsL10n.closeTags, '', quicktagsL10n.closeAllOpenTags );
        };
 
        qt.CloseButton.prototype = new qt.Button();
@@ -580,7 +608,11 @@ function edButton(id, display, tagStart, tagEnd, access) {
 
        // the link button
        qt.LinkButton = function() {
-               qt.TagButton.call(this, 'link', 'link', '', '</a>');
+               var attr = {
+                       ariaLabel: quicktagsL10n.link
+               };
+
+               qt.TagButton.call( this, 'link', 'link', '', '</a>', '', '', '', attr );
        };
        qt.LinkButton.prototype = new qt.TagButton();
        qt.LinkButton.prototype.callback = function(e, c, ed, defaultValue) {
@@ -596,7 +628,7 @@ function edButton(id, display, tagStart, tagEnd, access) {
                }
 
                if ( t.isOpen(ed) === false ) {
-                       URL = prompt(quicktagsL10n.enterURL, defaultValue);
+                       URL = prompt( quicktagsL10n.enterURL, defaultValue );
                        if ( URL ) {
                                t.tagStart = '<a href="' + URL + '">';
                                qt.TagButton.prototype.callback.call(t, e, c, ed);
@@ -608,7 +640,11 @@ function edButton(id, display, tagStart, tagEnd, access) {
 
        // the img button
        qt.ImgButton = function() {
-               qt.TagButton.call(this, 'img', 'img', '', '');
+               var attr = {
+                       ariaLabel: quicktagsL10n.image
+               };
+
+               qt.TagButton.call( this, 'img', 'img', '', '', '', '', '', attr );
        };
        qt.ImgButton.prototype = new qt.TagButton();
        qt.ImgButton.prototype.callback = function(e, c, ed, defaultValue) {
@@ -623,18 +659,6 @@ function edButton(id, display, tagStart, tagEnd, access) {
                }
        };
 
-       qt.FullscreenButton = function() {
-               qt.Button.call(this, 'fullscreen', quicktagsL10n.fullscreen, 'f', quicktagsL10n.toggleFullscreen);
-       };
-       qt.FullscreenButton.prototype = new qt.Button();
-       qt.FullscreenButton.prototype.callback = function(e, c) {
-               if ( ! c.id || typeof wp === 'undefined' || ! wp.editor || ! wp.editor.fullscreen ) {
-                       return;
-               }
-
-               wp.editor.fullscreen.on();
-       };
-
        qt.DFWButton = function() {
                qt.Button.call( this, 'dfw', '', 'f', quicktagsL10n.dfw );
        };
@@ -650,7 +674,7 @@ function edButton(id, display, tagStart, tagEnd, access) {
        };
 
        qt.TextDirectionButton = function() {
-               qt.Button.call(this, 'textdirection', quicktagsL10n.textdirection, '', quicktagsL10n.toggleTextdirection);
+               qt.Button.call( this, 'textdirection', quicktagsL10n.textdirection, '', quicktagsL10n.toggleTextdirection );
        };
        qt.TextDirectionButton.prototype = new qt.Button();
        qt.TextDirectionButton.prototype.callback = function(e, c) {
@@ -666,18 +690,18 @@ function edButton(id, display, tagStart, tagEnd, access) {
        };
 
        // ensure backward compatibility
-       edButtons[10] = new qt.TagButton('strong','b','<strong>','</strong>');
-       edButtons[20] = new qt.TagButton('em','i','<em>','</em>'),
-       edButtons[30] = new qt.LinkButton(), // special case
-       edButtons[40] = new qt.TagButton('block','b-quote','\n\n<blockquote>','</blockquote>\n\n'),
-       edButtons[50] = new qt.TagButton('del','del','<del datetime="' + _datetime + '">','</del>'),
-       edButtons[60] = new qt.TagButton('ins','ins','<ins datetime="' + _datetime + '">','</ins>'),
-       edButtons[70] = new qt.ImgButton(), // special case
-       edButtons[80] = new qt.TagButton('ul','ul','<ul>\n','</ul>\n\n'),
-       edButtons[90] = new qt.TagButton('ol','ol','<ol>\n','</ol>\n\n'),
-       edButtons[100] = new qt.TagButton('li','li','\t<li>','</li>\n'),
-       edButtons[110] = new qt.TagButton('code','code','<code>','</code>'),
-       edButtons[120] = new qt.TagButton('more','more','<!--more-->\n\n',''),
+       edButtons[10]  = new qt.TagButton( 'strong', 'b', '<strong>', '</strong>', '', '', '', { ariaLabel: quicktagsL10n.strong, ariaLabelClose: quicktagsL10n.strongClose } );
+       edButtons[20]  = new qt.TagButton( 'em', 'i', '<em>', '</em>', '', '', '', { ariaLabel: quicktagsL10n.em, ariaLabelClose: quicktagsL10n.emClose } );
+       edButtons[30]  = new qt.LinkButton(); // special case
+       edButtons[40]  = new qt.TagButton( 'block', 'b-quote', '\n\n<blockquote>', '</blockquote>\n\n', '', '', '', { ariaLabel: quicktagsL10n.blockquote, ariaLabelClose: quicktagsL10n.blockquoteClose } );
+       edButtons[50]  = new qt.TagButton( 'del', 'del', '<del datetime="' + _datetime + '">', '</del>', '', '', '', { ariaLabel: quicktagsL10n.del, ariaLabelClose: quicktagsL10n.delClose } );
+       edButtons[60]  = new qt.TagButton( 'ins', 'ins', '<ins datetime="' + _datetime + '">', '</ins>', '', '', '', { ariaLabel: quicktagsL10n.ins, ariaLabelClose: quicktagsL10n.insClose } );
+       edButtons[70]  = new qt.ImgButton(); // special case
+       edButtons[80]  = new qt.TagButton( 'ul', 'ul', '<ul>\n', '</ul>\n\n', '', '', '', { ariaLabel: quicktagsL10n.ul, ariaLabelClose: quicktagsL10n.ulClose } );
+       edButtons[90]  = new qt.TagButton( 'ol', 'ol', '<ol>\n', '</ol>\n\n', '', '', '', { ariaLabel: quicktagsL10n.ol, ariaLabelClose: quicktagsL10n.olClose } );
+       edButtons[100] = new qt.TagButton( 'li', 'li', '\t<li>', '</li>\n', '', '', '', { ariaLabel: quicktagsL10n.li, ariaLabelClose: quicktagsL10n.liClose } );
+       edButtons[110] = new qt.TagButton( 'code', 'code', '<code>', '</code>', '', '', '', { ariaLabel: quicktagsL10n.code, ariaLabelClose: quicktagsL10n.codeClose } );
+       edButtons[120] = new qt.TagButton( 'more', 'more', '<!--more-->\n\n', '', '', '', '', { ariaLabel: quicktagsL10n.more } );
        edButtons[140] = new qt.CloseButton();
 
 })();
index 5a278a3f4d07d991c327f7d1776c27a581d2c10e..a75c0b1d871a80beaee0b349f6b7a814e285ab2d 100644 (file)
@@ -1 +1 @@
-function quicktags(a){return new QTags(a)}function edInsertContent(a,b){return QTags.insertContent(b)}function edButton(a,b,c,d,e){return QTags.addButton(a,b,c,d,e,"",-1)}var QTags,edCanvas,edButtons=[],edAddTag=function(){},edCheckOpenTags=function(){},edCloseAllTags=function(){},edInsertImage=function(){},edInsertLink=function(){},edInsertTag=function(){},edLink=function(){},edQuickLink=function(){},edRemoveTag=function(){},edShowButton=function(){},edShowLinks=function(){},edSpell=function(){},edToolbar=function(){};!function(){var a,b=function(a){var c,d,e,f;"undefined"!=typeof jQuery?jQuery(document).ready(a):(c=b,c.funcs=[],c.ready=function(){if(!c.isReady)for(c.isReady=!0,d=0;d<c.funcs.length;d++)c.funcs[d]()},c.isReady?a():c.funcs.push(a),c.eventAttached||(document.addEventListener?(e=function(){document.removeEventListener("DOMContentLoaded",e,!1),c.ready()},document.addEventListener("DOMContentLoaded",e,!1),window.addEventListener("load",c.ready,!1)):document.attachEvent&&(e=function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",e),c.ready())},document.attachEvent("onreadystatechange",e),window.attachEvent("onload",c.ready),(f=function(){try{document.documentElement.doScroll("left")}catch(a){return void setTimeout(f,50)}c.ready()})()),c.eventAttached=!0))},c=function(){var a,b=new Date;return a=function(a){var b=a.toString();return b.length<2&&(b="0"+b),b},b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1)+"-"+a(b.getUTCDate())+"T"+a(b.getUTCHours())+":"+a(b.getUTCMinutes())+":"+a(b.getUTCSeconds())+"+00:00"}();a=QTags=function(c){if("string"==typeof c)c={id:c};else if("object"!=typeof c)return!1;var d,e,f,g=this,h=c.id,i=document.getElementById(h),j="qt_"+h;return h&&i?(g.name=j,g.id=h,g.canvas=i,g.settings=c,"content"!==h||"string"!=typeof adminpage||"post-new-php"!==adminpage&&"post-php"!==adminpage?f=j+"_toolbar":(edCanvas=i,f="ed_toolbar"),d=document.createElement("div"),d.id=f,d.className="quicktags-toolbar",d.onclick=function(){window.wpActiveEditor=h},i.parentNode.insertBefore(d,i),g.toolbar=d,e=function(a){a=a||window.event;var b,c=a.target||a.srcElement,d=c.clientWidth||c.offsetWidth;d&&/ ed_button /.test(" "+c.className+" ")&&(g.canvas=i=document.getElementById(h),b=c.id.replace(j+"_",""),g.theButtons[b]&&g.theButtons[b].callback.call(g.theButtons[b],c,i,g))},d.addEventListener?d.addEventListener("click",e,!1):d.attachEvent&&d.attachEvent("onclick",e),g.getButton=function(a){return g.theButtons[a]},g.getButtonElement=function(a){return document.getElementById(j+"_"+a)},a.instances[h]=g,void(a.instances[0]||(a.instances[0]=a.instances[h],b(function(){a._buttonsInit()})))):!1},a.instances={},a.getInstance=function(b){return a.instances[b]},a._buttonsInit=function(){var b,c,d,e,f,g,h,i,j,k,l=this,m=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,";for(g in l.instances)if("0"!==g){h=l.instances[g],b=h.canvas,c=h.name,d=h.settings,f="",e={},k="",d.buttons&&(k=","+d.buttons+",");for(j in edButtons)edButtons[j]&&(i=edButtons[j].id,k&&-1!==m.indexOf(","+i+",")&&-1===k.indexOf(","+i+",")||edButtons[j].instance&&edButtons[j].instance!==g||(e[i]=edButtons[j],edButtons[j].html&&(f+=edButtons[j].html(c+"_"))));k&&-1!==k.indexOf(",fullscreen,")&&(e.fullscreen=new a.FullscreenButton,f+=e.fullscreen.html(c+"_")),k&&-1!==k.indexOf(",dfw,")&&(e.dfw=new a.DFWButton,f+=e.dfw.html(c+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(e.textdirection=new a.TextDirectionButton,f+=e.textdirection.html(c+"_")),h.toolbar.innerHTML=f,h.theButtons=e,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[h])}l.buttonsInitDone=!0},a.addButton=function(b,c,d,e,f,g,h,i){var j;if(b&&c){if(h=h||0,e=e||"","function"==typeof d)j=new a.Button(b,c,f,g,i),j.callback=d;else{if("string"!=typeof d)return;j=new a.TagButton(b,c,d,e,f,g,i)}if(-1===h)return j;if(h>0){for(;"undefined"!=typeof edButtons[h];)h++;edButtons[h]=j}else edButtons[edButtons.length]=j;this.buttonsInitDone&&this._buttonsInit()}},a.insertContent=function(a){var b,c,d,e,f,g=document.getElementById(wpActiveEditor);return g?(document.selection?(g.focus(),b=document.selection.createRange(),b.text=a,g.focus()):g.selectionStart||0===g.selectionStart?(f=g.value,c=g.selectionStart,d=g.selectionEnd,e=g.scrollTop,g.value=f.substring(0,c)+a+f.substring(d,f.length),g.selectionStart=c+a.length,g.selectionEnd=c+a.length,g.scrollTop=e,g.focus()):(g.value+=a,g.focus()),!0):!1},a.Button=function(a,b,c,d,e){var f=this;f.id=a,f.display=b,f.access="",f.title=d||"",f.instance=e||""},a.Button.prototype.html=function(a){var b,c,d,e=this.title?' title="'+this.title+'"':"",f=(d=window.wp)&&d.editor&&d.editor.dfw;return"fullscreen"===this.id?'<button type="button" id="'+a+this.id+'" class="ed_button qt-dfw qt-fullscreen"'+e+"></button>":"dfw"===this.id?(b=f&&f.isActive()?"":' disabled="disabled"',c=f&&f.isOn()?" active":"",'<button type="button" id="'+a+this.id+'" class="ed_button qt-dfw'+c+'"'+e+b+"></button>"):'<input type="button" id="'+a+this.id+'" class="ed_button button button-small"'+e+' value="'+this.display+'" />'},a.Button.prototype.callback=function(){},a.TagButton=function(b,c,d,e,f,g,h){var i=this;a.Button.call(i,b,c,f,g,h),i.tagStart=d,i.tagEnd=e},a.TagButton.prototype=new a.Button,a.TagButton.prototype.openTag=function(a,b){var c=this;b.openTags||(b.openTags=[]),c.tagEnd&&(b.openTags.push(c.id),a.value="/"+a.value)},a.TagButton.prototype.closeTag=function(a,b){var c=this,d=c.isOpen(b);d!==!1&&b.openTags.splice(d,1),a.value=c.display},a.TagButton.prototype.isOpen=function(a){var b=this,c=0,d=!1;if(a.openTags)for(;d===!1&&c<a.openTags.length;)d=a.openTags[c]===b.id?c:!1,c++;else d=!1;return d},a.TagButton.prototype.callback=function(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=b.value,n=m?l.tagEnd:"";document.selection?(b.focus(),k=document.selection.createRange(),k.text.length>0?k.text=l.tagEnd?l.tagStart+k.text+n:k.text+l.tagStart:l.tagEnd?l.isOpen(c)===!1?(k.text=l.tagStart,l.openTag(a,c)):(k.text=n,l.closeTag(a,c)):k.text=l.tagStart,b.focus()):b.selectionStart||0===b.selectionStart?(d=b.selectionStart,e=b.selectionEnd,f=e,g=b.scrollTop,h=m.substring(0,d),i=m.substring(e,m.length),j=m.substring(d,e),d!==e?l.tagEnd?(b.value=h+l.tagStart+j+n+i,f+=l.tagStart.length+n.length):(b.value=h+j+l.tagStart+i,f+=l.tagStart.length):l.tagEnd?l.isOpen(c)===!1?(b.value=h+l.tagStart+i,l.openTag(a,c),f=d+l.tagStart.length):(b.value=h+n+i,f=d+n.length,l.closeTag(a,c)):(b.value=h+l.tagStart+i,f=d+l.tagStart.length),b.selectionStart=f,b.selectionEnd=f,b.scrollTop=g,b.focus()):(n?l.isOpen(c)!==!1?(b.value+=l.tagStart,l.openTag(a,c)):(b.value+=n,l.closeTag(a,c)):b.value+=l.tagStart,b.focus())},a.SpellButton=function(){},a.CloseButton=function(){a.Button.call(this,"close",quicktagsL10n.closeTags,"",quicktagsL10n.closeAllOpenTags)},a.CloseButton.prototype=new a.Button,a._close=function(a,b,c){var d,e,f=c.openTags;if(f)for(;f.length>0;)d=c.getButton(f[f.length-1]),e=document.getElementById(c.name+"_"+d.id),a?d.callback.call(d,e,b,c):d.closeTag(e,c)},a.CloseButton.prototype.callback=a._close,a.closeAllTags=function(b){var c=this.getInstance(b);a._close("",c.canvas,c)},a.LinkButton=function(){a.TagButton.call(this,"link","link","","</a>")},a.LinkButton.prototype=new a.TagButton,a.LinkButton.prototype.callback=function(b,c,d,e){var f,g=this;return"undefined"!=typeof wpLink?void wpLink.open(d.id):(e||(e="http://"),void(g.isOpen(d)===!1?(f=prompt(quicktagsL10n.enterURL,e),f&&(g.tagStart='<a href="'+f+'">',a.TagButton.prototype.callback.call(g,b,c,d))):a.TagButton.prototype.callback.call(g,b,c,d)))},a.ImgButton=function(){a.TagButton.call(this,"img","img","","")},a.ImgButton.prototype=new a.TagButton,a.ImgButton.prototype.callback=function(b,c,d,e){e||(e="http://");var f,g=prompt(quicktagsL10n.enterImageURL,e);g&&(f=prompt(quicktagsL10n.enterImageDescription,""),this.tagStart='<img src="'+g+'" alt="'+f+'" />',a.TagButton.prototype.callback.call(this,b,c,d))},a.FullscreenButton=function(){a.Button.call(this,"fullscreen",quicktagsL10n.fullscreen,"f",quicktagsL10n.toggleFullscreen)},a.FullscreenButton.prototype=new a.Button,a.FullscreenButton.prototype.callback=function(a,b){b.id&&"undefined"!=typeof wp&&wp.editor&&wp.editor.fullscreen&&wp.editor.fullscreen.on()},a.DFWButton=function(){a.Button.call(this,"dfw","","f",quicktagsL10n.dfw)},a.DFWButton.prototype=new a.Button,a.DFWButton.prototype.callback=function(){var a;(a=window.wp)&&a.editor&&a.editor.dfw&&window.wp.editor.dfw.toggle()},a.TextDirectionButton=function(){a.Button.call(this,"textdirection",quicktagsL10n.textdirection,"",quicktagsL10n.toggleTextdirection)},a.TextDirectionButton.prototype=new a.Button,a.TextDirectionButton.prototype.callback=function(a,b){var c="rtl"===document.getElementsByTagName("html")[0].dir,d=b.style.direction;d||(d=c?"rtl":"ltr"),b.style.direction="rtl"===d?"ltr":"rtl",b.focus()},edButtons[10]=new a.TagButton("strong","b","<strong>","</strong>"),edButtons[20]=new a.TagButton("em","i","<em>","</em>"),edButtons[30]=new a.LinkButton,edButtons[40]=new a.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n"),edButtons[50]=new a.TagButton("del","del",'<del datetime="'+c+'">',"</del>"),edButtons[60]=new a.TagButton("ins","ins",'<ins datetime="'+c+'">',"</ins>"),edButtons[70]=new a.ImgButton,edButtons[80]=new a.TagButton("ul","ul","<ul>\n","</ul>\n\n"),edButtons[90]=new a.TagButton("ol","ol","<ol>\n","</ol>\n\n"),edButtons[100]=new a.TagButton("li","li","      <li>","</li>\n"),edButtons[110]=new a.TagButton("code","code","<code>","</code>"),edButtons[120]=new a.TagButton("more","more","<!--more-->\n\n",""),edButtons[140]=new a.CloseButton}();
\ No newline at end of file
+function quicktags(a){return new QTags(a)}function edInsertContent(a,b){return QTags.insertContent(b)}function edButton(a,b,c,d,e){return QTags.addButton(a,b,c,d,e,"",-1)}var QTags,edCanvas,edButtons=[],edAddTag=function(){},edCheckOpenTags=function(){},edCloseAllTags=function(){},edInsertImage=function(){},edInsertLink=function(){},edInsertTag=function(){},edLink=function(){},edQuickLink=function(){},edRemoveTag=function(){},edShowButton=function(){},edShowLinks=function(){},edSpell=function(){},edToolbar=function(){};!function(){function a(a){return a=a||"",a=a.replace(/&([^#])(?![a-z1-4]{1,8};)/gi,"&#038;$1"),a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}var b,c=function(a){var b,d,e,f;"undefined"!=typeof jQuery?jQuery(document).ready(a):(b=c,b.funcs=[],b.ready=function(){if(!b.isReady)for(b.isReady=!0,d=0;d<b.funcs.length;d++)b.funcs[d]()},b.isReady?a():b.funcs.push(a),b.eventAttached||(document.addEventListener?(e=function(){document.removeEventListener("DOMContentLoaded",e,!1),b.ready()},document.addEventListener("DOMContentLoaded",e,!1),window.addEventListener("load",b.ready,!1)):document.attachEvent&&(e=function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",e),b.ready())},document.attachEvent("onreadystatechange",e),window.attachEvent("onload",b.ready),(f=function(){try{document.documentElement.doScroll("left")}catch(a){return void setTimeout(f,50)}b.ready()})()),b.eventAttached=!0))},d=function(){var a,b=new Date;return a=function(a){var b=a.toString();return b.length<2&&(b="0"+b),b},b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1)+"-"+a(b.getUTCDate())+"T"+a(b.getUTCHours())+":"+a(b.getUTCMinutes())+":"+a(b.getUTCSeconds())+"+00:00"}();b=QTags=function(a){if("string"==typeof a)a={id:a};else if("object"!=typeof a)return!1;var d,e,f,g,h,i=this,j=a.id,k=document.getElementById(j),l="qt_"+j;return j&&k?(i.name=l,i.id=j,i.canvas=k,i.settings=a,"content"!==j||"string"!=typeof adminpage||"post-new-php"!==adminpage&&"post-php"!==adminpage?f=l+"_toolbar":(edCanvas=k,f="ed_toolbar"),d=document.getElementById(f),d||(d=document.createElement("div"),d.id=f,d.className="quicktags-toolbar"),k.parentNode.insertBefore(d,k),i.toolbar=d,e=function(a){a=a||window.event;var b,c=a.target||a.srcElement,d=c.clientWidth||c.offsetWidth;d&&/ ed_button /.test(" "+c.className+" ")&&(i.canvas=k=document.getElementById(j),b=c.id.replace(l+"_",""),i.theButtons[b]&&i.theButtons[b].callback.call(i.theButtons[b],c,k,i))},h=function(){window.wpActiveEditor=j},g=document.getElementById("wp-"+j+"-wrap"),d.addEventListener?(d.addEventListener("click",e,!1),g&&g.addEventListener("click",h,!1)):d.attachEvent&&(d.attachEvent("onclick",e),g&&g.attachEvent("onclick",h)),i.getButton=function(a){return i.theButtons[a]},i.getButtonElement=function(a){return document.getElementById(l+"_"+a)},b.instances[j]=i,void(b.instances[0]||(b.instances[0]=b.instances[j],c(function(){b._buttonsInit()})))):!1},b.instances={},b.getInstance=function(a){return b.instances[a]},b._buttonsInit=function(){var a,c,d,e,f,g,h,i,j,k,l=this,m=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,";for(g in l.instances)if("0"!==g){h=l.instances[g],a=h.canvas,c=h.name,d=h.settings,f="",e={},k="",d.buttons&&(k=","+d.buttons+",");for(j in edButtons)edButtons[j]&&(i=edButtons[j].id,k&&-1!==m.indexOf(","+i+",")&&-1===k.indexOf(","+i+",")||edButtons[j].instance&&edButtons[j].instance!==g||(e[i]=edButtons[j],edButtons[j].html&&(f+=edButtons[j].html(c+"_"))));k&&-1!==k.indexOf(",dfw,")&&(e.dfw=new b.DFWButton,f+=e.dfw.html(c+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(e.textdirection=new b.TextDirectionButton,f+=e.textdirection.html(c+"_")),h.toolbar.innerHTML=f,h.theButtons=e,"undefined"!=typeof jQuery&&jQuery(document).triggerHandler("quicktags-init",[h])}l.buttonsInitDone=!0},b.addButton=function(a,c,d,e,f,g,h,i,j){var k;if(a&&c){if(h=h||0,e=e||"",j=j||{},"function"==typeof d)k=new b.Button(a,c,f,g,i,j),k.callback=d;else{if("string"!=typeof d)return;k=new b.TagButton(a,c,d,e,f,g,i,j)}if(-1===h)return k;if(h>0){for(;"undefined"!=typeof edButtons[h];)h++;edButtons[h]=k}else edButtons[edButtons.length]=k;this.buttonsInitDone&&this._buttonsInit()}},b.insertContent=function(a){var b,c,d,e,f,g=document.getElementById(wpActiveEditor);return g?(document.selection?(g.focus(),b=document.selection.createRange(),b.text=a,g.focus()):g.selectionStart||0===g.selectionStart?(f=g.value,c=g.selectionStart,d=g.selectionEnd,e=g.scrollTop,g.value=f.substring(0,c)+a+f.substring(d,f.length),g.selectionStart=c+a.length,g.selectionEnd=c+a.length,g.scrollTop=e,g.focus()):(g.value+=a,g.focus()),!0):!1},b.Button=function(a,b,c,d,e,f){this.id=a,this.display=b,this.access="",this.title=d||"",this.instance=e||"",this.attr=f||{}},b.Button.prototype.html=function(b){var c,d,e,f=this.title?' title="'+a(this.title)+'"':"",g=this.attr&&this.attr.ariaLabel?' aria-label="'+a(this.attr.ariaLabel)+'"':"",h=this.display?' value="'+a(this.display)+'"':"",i=this.id?' id="'+a(b+this.id)+'"':"",j=(e=window.wp)&&e.editor&&e.editor.dfw;return"fullscreen"===this.id?'<button type="button"'+i+' class="ed_button qt-dfw qt-fullscreen"'+f+g+"></button>":"dfw"===this.id?(c=j&&j.isActive()?"":' disabled="disabled"',d=j&&j.isOn()?" active":"",'<button type="button"'+i+' class="ed_button qt-dfw'+d+'"'+f+g+c+"></button>"):'<input type="button"'+i+' class="ed_button button button-small"'+f+g+h+" />"},b.Button.prototype.callback=function(){},b.TagButton=function(a,c,d,e,f,g,h,i){var j=this;b.Button.call(j,a,c,f,g,h,i),j.tagStart=d,j.tagEnd=e},b.TagButton.prototype=new b.Button,b.TagButton.prototype.openTag=function(a,b){b.openTags||(b.openTags=[]),this.tagEnd&&(b.openTags.push(this.id),a.value="/"+a.value,this.attr.ariaLabelClose&&a.setAttribute("aria-label",this.attr.ariaLabelClose))},b.TagButton.prototype.closeTag=function(a,b){var c=this.isOpen(b);c!==!1&&b.openTags.splice(c,1),a.value=this.display,this.attr.ariaLabel&&a.setAttribute("aria-label",this.attr.ariaLabel)},b.TagButton.prototype.isOpen=function(a){var b=this,c=0,d=!1;if(a.openTags)for(;d===!1&&c<a.openTags.length;)d=a.openTags[c]===b.id?c:!1,c++;else d=!1;return d},b.TagButton.prototype.callback=function(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=b.value,n=m?l.tagEnd:"";document.selection?(b.focus(),k=document.selection.createRange(),k.text.length>0?l.tagEnd?k.text=l.tagStart+k.text+n:k.text=k.text+l.tagStart:l.tagEnd?l.isOpen(c)===!1?(k.text=l.tagStart,l.openTag(a,c)):(k.text=n,l.closeTag(a,c)):k.text=l.tagStart,b.focus()):b.selectionStart||0===b.selectionStart?(d=b.selectionStart,e=b.selectionEnd,f=e,g=b.scrollTop,h=m.substring(0,d),i=m.substring(e,m.length),j=m.substring(d,e),d!==e?l.tagEnd?(b.value=h+l.tagStart+j+n+i,f+=l.tagStart.length+n.length):(b.value=h+j+l.tagStart+i,f+=l.tagStart.length):l.tagEnd?l.isOpen(c)===!1?(b.value=h+l.tagStart+i,l.openTag(a,c),f=d+l.tagStart.length):(b.value=h+n+i,f=d+n.length,l.closeTag(a,c)):(b.value=h+l.tagStart+i,f=d+l.tagStart.length),b.selectionStart=f,b.selectionEnd=f,b.scrollTop=g,b.focus()):(n?l.isOpen(c)!==!1?(b.value+=l.tagStart,l.openTag(a,c)):(b.value+=n,l.closeTag(a,c)):b.value+=l.tagStart,b.focus())},b.SpellButton=function(){},b.CloseButton=function(){b.Button.call(this,"close",quicktagsL10n.closeTags,"",quicktagsL10n.closeAllOpenTags)},b.CloseButton.prototype=new b.Button,b._close=function(a,b,c){var d,e,f=c.openTags;if(f)for(;f.length>0;)d=c.getButton(f[f.length-1]),e=document.getElementById(c.name+"_"+d.id),a?d.callback.call(d,e,b,c):d.closeTag(e,c)},b.CloseButton.prototype.callback=b._close,b.closeAllTags=function(a){var c=this.getInstance(a);b._close("",c.canvas,c)},b.LinkButton=function(){var a={ariaLabel:quicktagsL10n.link};b.TagButton.call(this,"link","link","","</a>","","","",a)},b.LinkButton.prototype=new b.TagButton,b.LinkButton.prototype.callback=function(a,c,d,e){var f,g=this;return"undefined"!=typeof wpLink?void wpLink.open(d.id):(e||(e="http://"),void(g.isOpen(d)===!1?(f=prompt(quicktagsL10n.enterURL,e),f&&(g.tagStart='<a href="'+f+'">',b.TagButton.prototype.callback.call(g,a,c,d))):b.TagButton.prototype.callback.call(g,a,c,d)))},b.ImgButton=function(){var a={ariaLabel:quicktagsL10n.image};b.TagButton.call(this,"img","img","","","","","",a)},b.ImgButton.prototype=new b.TagButton,b.ImgButton.prototype.callback=function(a,c,d,e){e||(e="http://");var f,g=prompt(quicktagsL10n.enterImageURL,e);g&&(f=prompt(quicktagsL10n.enterImageDescription,""),this.tagStart='<img src="'+g+'" alt="'+f+'" />',b.TagButton.prototype.callback.call(this,a,c,d))},b.DFWButton=function(){b.Button.call(this,"dfw","","f",quicktagsL10n.dfw)},b.DFWButton.prototype=new b.Button,b.DFWButton.prototype.callback=function(){var a;(a=window.wp)&&a.editor&&a.editor.dfw&&window.wp.editor.dfw.toggle()},b.TextDirectionButton=function(){b.Button.call(this,"textdirection",quicktagsL10n.textdirection,"",quicktagsL10n.toggleTextdirection)},b.TextDirectionButton.prototype=new b.Button,b.TextDirectionButton.prototype.callback=function(a,b){var c="rtl"===document.getElementsByTagName("html")[0].dir,d=b.style.direction;d||(d=c?"rtl":"ltr"),b.style.direction="rtl"===d?"ltr":"rtl",b.focus()},edButtons[10]=new b.TagButton("strong","b","<strong>","</strong>","","","",{ariaLabel:quicktagsL10n.strong,ariaLabelClose:quicktagsL10n.strongClose}),edButtons[20]=new b.TagButton("em","i","<em>","</em>","","","",{ariaLabel:quicktagsL10n.em,ariaLabelClose:quicktagsL10n.emClose}),edButtons[30]=new b.LinkButton,edButtons[40]=new b.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n","","","",{ariaLabel:quicktagsL10n.blockquote,ariaLabelClose:quicktagsL10n.blockquoteClose}),edButtons[50]=new b.TagButton("del","del",'<del datetime="'+d+'">',"</del>","","","",{ariaLabel:quicktagsL10n.del,ariaLabelClose:quicktagsL10n.delClose}),edButtons[60]=new b.TagButton("ins","ins",'<ins datetime="'+d+'">',"</ins>","","","",{ariaLabel:quicktagsL10n.ins,ariaLabelClose:quicktagsL10n.insClose}),edButtons[70]=new b.ImgButton,edButtons[80]=new b.TagButton("ul","ul","<ul>\n","</ul>\n\n","","","",{ariaLabel:quicktagsL10n.ul,ariaLabelClose:quicktagsL10n.ulClose}),edButtons[90]=new b.TagButton("ol","ol","<ol>\n","</ol>\n\n","","","",{ariaLabel:quicktagsL10n.ol,ariaLabelClose:quicktagsL10n.olClose}),edButtons[100]=new b.TagButton("li","li","    <li>","</li>\n","","","",{ariaLabel:quicktagsL10n.li,ariaLabelClose:quicktagsL10n.liClose}),edButtons[110]=new b.TagButton("code","code","<code>","</code>","","","",{ariaLabel:quicktagsL10n.code,ariaLabelClose:quicktagsL10n.codeClose}),edButtons[120]=new b.TagButton("more","more","<!--more-->\n\n","","","","",{ariaLabel:quicktagsL10n.more}),edButtons[140]=new b.CloseButton}();
\ No newline at end of file
index 09c8a993a159241f4f5cf6058677a272ddc4483a..60a9eb77a58a24243dbc86d0ff26d1cbf5aff1a7 100644 (file)
@@ -231,7 +231,9 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
                                        jQuery("#TB_load").remove();
                                        jQuery("#TB_window").css({'visibility':'visible'});
                                }else{
-                                       jQuery("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
+                                       var load_url = url;
+                                       load_url += -1 === url.indexOf('?') ? '?' : '&';
+                                       jQuery("#TB_ajaxContent").load(load_url += "random=" + (new Date().getTime()),function(){//to do a post change this load method
                                                tb_position();
                                                jQuery("#TB_load").remove();
                                                tb_init("#TB_ajaxContent a.thickbox");
index 19f186583a62011e120345b3c63e12e5cce617ed..8d699ba4612935567a14c1ea27d90aa80aa4c2ca 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 11d0af3b2a97e19466d166fb7f67a5a4f8150881..e82daa3b3750a52b9634e6d19a5ba54ec5ff0f87 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 2b8cb13b64729c26e3ed19085e8472d790a1c672..4d1f29ff461c7e34327a72e1e90c034aa27adaf8 100644 (file)
@@ -1,4 +1,4 @@
-@import url(//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=latin-ext,latin);
+@import url("https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=latin-ext,latin");
 
 /* Generic */
 body {
index cc6e32290606e0414c234e72bb75747695d8e3ab..e9957e0a62c6ee5ba3c6215f1d408b44362ec39e 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
        tinymce.addI18n = function(prefix, o) {
                var I18n = tinymce.util.I18n, each = tinymce.each;
 
-               if (typeof(prefix) == "string" && prefix.indexOf('.') === -1) {
+               if (typeof prefix == "string" && prefix.indexOf('.') === -1) {
                        I18n.add(prefix, o);
                        return;
                }
index 3fd0dabc492aa23f3554786b8cf2fb256fd28f30..5925733969ca47f21a2ced8e02b7b06da9501cd4 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 2a3cf20efc0582b1e257ef4ee6fba965f6bfc14d..ad379382dcd699b45fa5cccbae2d2435401e827d 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 915a563cc5d8c49e61241e8212ac46ccb5d59874..29372f6f48825646eb036799804d5cd15fb115d9 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 8d755a5616cd325c8a4dc33d43fd8353668de137..f7d5a2bf7178947a4011784dcb5f3a0239e5d39a 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -23,7 +23,7 @@ tinymce.PluginManager.add('image', function(editor) {
                }
 
                img.onload = function() {
-                       done(img.clientWidth, img.clientHeight);
+                       done(Math.max(img.width, img.clientWidth), Math.max(img.height, img.clientHeight));
                };
 
                img.onerror = function() {
@@ -308,6 +308,7 @@ tinymce.PluginManager.add('image', function(editor) {
                                        win.find('#src').value(e.control.value()).fire('change');
                                },
                                onPostRender: function() {
+                                       /*eslint consistent-this: 0*/
                                        imageListCtrl = this;
                                }
                        };
index afcbb22457711d8ea27a229477a9e0a3c8379fbb..b49a19a2d07c9461d542d20778f76f903db223a1 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("image",function(a){function b(a,b){function c(a,c){d.parentNode&&d.parentNode.removeChild(d),b({width:a,height:c})}var d=document.createElement("img");d.onload=function(){c(d.clientWidth,d.clientHeight)},d.onerror=function(){c()};var e=d.style;e.visibility="hidden",e.position="fixed",e.bottom=e.left=0,e.width=e.height="auto",document.body.appendChild(d),d.src=a}function c(a,b,c){function d(a,c){return c=c||[],tinymce.each(a,function(a){var e={text:a.text||a.title};a.menu?e.menu=d(a.menu):(e.value=a.value,b(e)),c.push(e)}),c}return d(a,c||[])}function d(b){return function(){var c=a.settings.image_list;"string"==typeof c?tinymce.util.XHR.send({url:c,success:function(a){b(tinymce.util.JSON.parse(a))}}):"function"==typeof c?c(b):b(c)}}function e(d){function e(){var a,b,c,d;a=l.find("#width")[0],b=l.find("#height")[0],a&&b&&(c=a.value(),d=b.value(),l.find("#constrain")[0].checked()&&m&&n&&c&&d&&(m!=c?(d=Math.round(c/m*d),isNaN(d)||b.value(d)):(c=Math.round(d/n*c),isNaN(c)||a.value(c))),m=c,n=d)}function f(){function b(b){function c(){b.onload=b.onerror=null,a.selection&&(a.selection.select(b),a.nodeChanged())}b.onload=function(){q.width||q.height||!t||(r.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),a.fire("wpNewImageRefresh",{node:b})),c()},b.onerror=c}j(),e(),q=tinymce.extend(q,l.toJSON());var c=q.caption;q.alt||(q.alt=""),q.title||(q.title=""),""===q.width&&(q.width=null),""===q.height&&(q.height=null),q.style||(q.style=null),q={src:q.src,alt:q.alt,title:q.title,width:q.width,height:q.height,style:q.style,"class":q["class"]},a.undoManager.transact(function(){var d={node:s,data:q,caption:c};return a.fire("wpImageFormSubmit",{imgData:d}),d.cancel?void b(d.node):q.src?(""===q.title&&(q.title=null),s?r.setAttribs(s,q):(q.id="__mcenew",a.focus(),a.selection.setContent(r.createHTML("img",q)),s=r.get("__mcenew"),r.setAttrib(s,"id",null)),void b(s)):void(s&&(r.remove(s),a.focus(),a.nodeChanged()))})}function g(a){return a&&(a=a.replace(/px$/,"")),a}function h(c){var d,e,f,g=c.meta||{};o&&o.value(a.convertURL(this.value(),"src")),tinymce.each(g,function(a,b){l.find("#"+b).value(a)}),g.width||g.height||(d=a.convertURL(this.value(),"src"),e=a.settings.image_prepend_url,f=new RegExp("^(?:[a-z]+:)?//","i"),e&&!f.test(d)&&d.substring(0,e.length)!==e&&(d=e+d),this.value(d),b(a.documentBaseURI.toAbsolute(this.value()),function(a){a.width&&a.height&&t&&(m=a.width,n=a.height,l.find("#width").value(m),l.find("#height").value(n))}))}function i(a){if(a.margin){var b=a.margin.split(" ");switch(b.length){case 1:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[0],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[0];break;case 2:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[1];break;case 3:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[1];break;case 4:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[3]}delete a.margin}return a}function j(){function b(a){return a.length>0&&/^[0-9]+$/.test(a)&&(a+="px"),a}if(a.settings.image_advtab){var c=l.toJSON(),d=r.parseStyle(c.style);d=i(d),c.vspace&&(d["margin-top"]=d["margin-bottom"]=b(c.vspace)),c.hspace&&(d["margin-left"]=d["margin-right"]=b(c.hspace)),c.border&&(d["border-width"]=b(c.border)),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(d))))}}function k(){if(a.settings.image_advtab){var b=l.toJSON(),c=r.parseStyle(b.style);l.find("#vspace").value(""),l.find("#hspace").value(""),c=i(c),(c["margin-top"]&&c["margin-bottom"]||c["margin-right"]&&c["margin-left"])&&(l.find("#vspace").value(c["margin-top"]===c["margin-bottom"]?g(c["margin-top"]):""),l.find("#hspace").value(c["margin-right"]===c["margin-left"]?g(c["margin-right"]):"")),c["border-width"]&&l.find("#border").value(g(c["border-width"])),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(c))))}}var l,m,n,o,p,q={},r=a.dom,s=a.selection.getNode(),t=a.settings.image_dimensions!==!1;m=r.getAttrib(s,"width"),n=r.getAttrib(s,"height"),"IMG"!=s.nodeName||s.getAttribute("data-mce-object")||s.getAttribute("data-mce-placeholder")?s=null:(q={src:r.getAttrib(s,"src"),alt:r.getAttrib(s,"alt"),title:r.getAttrib(s,"title"),"class":r.getAttrib(s,"class"),width:m,height:n},a.fire("wpLoadImageData",{imgData:{data:q,node:s}})),d&&(o={type:"listbox",label:"Image list",values:c(d,function(b){b.value=a.convertURL(b.value||b.url,"src")},[{text:"None",value:""}]),value:q.src&&a.convertURL(q.src,"src"),onselect:function(a){var b=l.find("#alt");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),l.find("#src").value(a.control.value()).fire("change")},onPostRender:function(){o=this}}),a.settings.image_class_list&&(p={name:"class",type:"listbox",label:"Class",values:c(a.settings.image_class_list,function(b){b.value&&(b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})})})});var u=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:h},o];a.settings.image_description!==!1&&u.push({name:"alt",type:"textbox",label:"Image description"}),a.settings.image_title&&u.push({name:"title",type:"textbox",label:"Image Title"}),t&&u.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),u.push(p),a.fire("wpLoadImageForm",{data:u}),a.settings.image_advtab?(s&&(s.style.marginLeft&&s.style.marginRight&&s.style.marginLeft===s.style.marginRight&&(q.hspace=g(s.style.marginLeft)),s.style.marginTop&&s.style.marginBottom&&s.style.marginTop===s.style.marginBottom&&(q.vspace=g(s.style.marginTop)),s.style.borderWidth&&(q.border=g(s.style.borderWidth)),q.style=a.dom.serializeStyle(a.dom.parseStyle(a.dom.getAttrib(s,"style")))),l=a.windowManager.open({title:"Insert/edit image",data:q,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:k},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:j},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:f})):l=a.windowManager.open({title:"Insert/edit image",data:q,body:u,onSubmit:f})}a.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:d(e),stateSelector:"img:not([data-mce-object],[data-mce-placeholder])"}),a.addMenuItem("image",{icon:"image",text:"Insert/edit image",onclick:d(e),context:"insert",prependToContext:!0}),a.addCommand("mceImage",d(e))});
\ No newline at end of file
+tinymce.PluginManager.add("image",function(a){function b(a,b){function c(a,c){d.parentNode&&d.parentNode.removeChild(d),b({width:a,height:c})}var d=document.createElement("img");d.onload=function(){c(Math.max(d.width,d.clientWidth),Math.max(d.height,d.clientHeight))},d.onerror=function(){c()};var e=d.style;e.visibility="hidden",e.position="fixed",e.bottom=e.left=0,e.width=e.height="auto",document.body.appendChild(d),d.src=a}function c(a,b,c){function d(a,c){return c=c||[],tinymce.each(a,function(a){var e={text:a.text||a.title};a.menu?e.menu=d(a.menu):(e.value=a.value,b(e)),c.push(e)}),c}return d(a,c||[])}function d(b){return function(){var c=a.settings.image_list;"string"==typeof c?tinymce.util.XHR.send({url:c,success:function(a){b(tinymce.util.JSON.parse(a))}}):"function"==typeof c?c(b):b(c)}}function e(d){function e(){var a,b,c,d;a=l.find("#width")[0],b=l.find("#height")[0],a&&b&&(c=a.value(),d=b.value(),l.find("#constrain")[0].checked()&&m&&n&&c&&d&&(m!=c?(d=Math.round(c/m*d),isNaN(d)||b.value(d)):(c=Math.round(d/n*c),isNaN(c)||a.value(c))),m=c,n=d)}function f(){function b(b){function c(){b.onload=b.onerror=null,a.selection&&(a.selection.select(b),a.nodeChanged())}b.onload=function(){q.width||q.height||!t||(r.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),a.fire("wpNewImageRefresh",{node:b})),c()},b.onerror=c}j(),e(),q=tinymce.extend(q,l.toJSON());var c=q.caption;q.alt||(q.alt=""),q.title||(q.title=""),""===q.width&&(q.width=null),""===q.height&&(q.height=null),q.style||(q.style=null),q={src:q.src,alt:q.alt,title:q.title,width:q.width,height:q.height,style:q.style,"class":q["class"]},a.undoManager.transact(function(){var d={node:s,data:q,caption:c};return a.fire("wpImageFormSubmit",{imgData:d}),d.cancel?void b(d.node):q.src?(""===q.title&&(q.title=null),s?r.setAttribs(s,q):(q.id="__mcenew",a.focus(),a.selection.setContent(r.createHTML("img",q)),s=r.get("__mcenew"),r.setAttrib(s,"id",null)),void b(s)):void(s&&(r.remove(s),a.focus(),a.nodeChanged()))})}function g(a){return a&&(a=a.replace(/px$/,"")),a}function h(c){var d,e,f,g=c.meta||{};o&&o.value(a.convertURL(this.value(),"src")),tinymce.each(g,function(a,b){l.find("#"+b).value(a)}),g.width||g.height||(d=a.convertURL(this.value(),"src"),e=a.settings.image_prepend_url,f=new RegExp("^(?:[a-z]+:)?//","i"),e&&!f.test(d)&&d.substring(0,e.length)!==e&&(d=e+d),this.value(d),b(a.documentBaseURI.toAbsolute(this.value()),function(a){a.width&&a.height&&t&&(m=a.width,n=a.height,l.find("#width").value(m),l.find("#height").value(n))}))}function i(a){if(a.margin){var b=a.margin.split(" ");switch(b.length){case 1:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[0],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[0];break;case 2:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[1];break;case 3:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[1];break;case 4:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[3]}delete a.margin}return a}function j(){function b(a){return a.length>0&&/^[0-9]+$/.test(a)&&(a+="px"),a}if(a.settings.image_advtab){var c=l.toJSON(),d=r.parseStyle(c.style);d=i(d),c.vspace&&(d["margin-top"]=d["margin-bottom"]=b(c.vspace)),c.hspace&&(d["margin-left"]=d["margin-right"]=b(c.hspace)),c.border&&(d["border-width"]=b(c.border)),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(d))))}}function k(){if(a.settings.image_advtab){var b=l.toJSON(),c=r.parseStyle(b.style);l.find("#vspace").value(""),l.find("#hspace").value(""),c=i(c),(c["margin-top"]&&c["margin-bottom"]||c["margin-right"]&&c["margin-left"])&&(l.find("#vspace").value(c["margin-top"]===c["margin-bottom"]?g(c["margin-top"]):""),l.find("#hspace").value(c["margin-right"]===c["margin-left"]?g(c["margin-right"]):"")),c["border-width"]&&l.find("#border").value(g(c["border-width"])),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(c))))}}var l,m,n,o,p,q={},r=a.dom,s=a.selection.getNode(),t=a.settings.image_dimensions!==!1;m=r.getAttrib(s,"width"),n=r.getAttrib(s,"height"),"IMG"!=s.nodeName||s.getAttribute("data-mce-object")||s.getAttribute("data-mce-placeholder")?s=null:(q={src:r.getAttrib(s,"src"),alt:r.getAttrib(s,"alt"),title:r.getAttrib(s,"title"),"class":r.getAttrib(s,"class"),width:m,height:n},a.fire("wpLoadImageData",{imgData:{data:q,node:s}})),d&&(o={type:"listbox",label:"Image list",values:c(d,function(b){b.value=a.convertURL(b.value||b.url,"src")},[{text:"None",value:""}]),value:q.src&&a.convertURL(q.src,"src"),onselect:function(a){var b=l.find("#alt");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),l.find("#src").value(a.control.value()).fire("change")},onPostRender:function(){o=this}}),a.settings.image_class_list&&(p={name:"class",type:"listbox",label:"Class",values:c(a.settings.image_class_list,function(b){b.value&&(b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})})})});var u=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:h},o];a.settings.image_description!==!1&&u.push({name:"alt",type:"textbox",label:"Image description"}),a.settings.image_title&&u.push({name:"title",type:"textbox",label:"Image Title"}),t&&u.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),u.push(p),a.fire("wpLoadImageForm",{data:u}),a.settings.image_advtab?(s&&(s.style.marginLeft&&s.style.marginRight&&s.style.marginLeft===s.style.marginRight&&(q.hspace=g(s.style.marginLeft)),s.style.marginTop&&s.style.marginBottom&&s.style.marginTop===s.style.marginBottom&&(q.vspace=g(s.style.marginTop)),s.style.borderWidth&&(q.border=g(s.style.borderWidth)),q.style=a.dom.serializeStyle(a.dom.parseStyle(a.dom.getAttrib(s,"style")))),l=a.windowManager.open({title:"Insert/edit image",data:q,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:k},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:j},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:f})):l=a.windowManager.open({title:"Insert/edit image",data:q,body:u,onSubmit:f})}a.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:d(e),stateSelector:"img:not([data-mce-object],[data-mce-placeholder])"}),a.addMenuItem("image",{icon:"image",text:"Insert/edit image",onclick:d(e),context:"insert",prependToContext:!0}),a.addCommand("mceImage",d(e))});
\ No newline at end of file
index a13c8ec54b31113837e78509048ec031d96512a3..f5f32d9f52e66110725f076b7467745c9b00b686 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 4507e6bf81c4d42a1a302fbdfe988c2607d6675f..10d4b0b85422366ad7693cb415b54b3178e576f7 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -175,7 +175,7 @@ tinymce.PluginManager.add('media', function(editor, url) {
 
                                {
                                        title: 'Embed',
-                                       type: "panel",
+                                       type: "container",
                                        layout: 'flex',
                                        direction: 'column',
                                        align: 'stretch',
index 2d5dc7f6ebba71dac6620f118612f999ee41d462..9491d48e3d98ced05ba59048d7e319e5d48248c7 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("media",function(a,b){function c(a){return a=a.toLowerCase(),-1!=a.indexOf(".mp3")?"audio/mpeg":-1!=a.indexOf(".wav")?"audio/wav":-1!=a.indexOf(".mp4")?"video/mp4":-1!=a.indexOf(".webm")?"video/webm":-1!=a.indexOf(".ogg")?"video/ogg":-1!=a.indexOf(".swf")?"application/x-shockwave-flash":""}function d(b){var c=a.settings.media_scripts;if(c)for(var d=0;d<c.length;d++)if(-1!==b.indexOf(c[d].filter))return c[d]}function e(){function b(a){var b,c,f,g;b=d.find("#width")[0],c=d.find("#height")[0],f=b.value(),g=c.value(),d.find("#constrain")[0].checked()&&e&&j&&f&&g&&(a.control==b?(g=Math.round(f/e*g),isNaN(g)||c.value(g)):(f=Math.round(g/j*f),isNaN(f)||b.value(f))),e=f,j=g}function c(){k=h(this.value()),this.parent().parent().fromJSON(k)}var d,e,j,k,l=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onchange:function(a){tinymce.each(a.meta,function(a,b){d.find("#"+b).value(a)})}}];a.settings.media_alt_source!==!1&&l.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),a.settings.media_poster!==!1&&l.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),a.settings.media_dimensions!==!1&&l.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:b,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:b,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),k=i(a.selection.getNode()),e=k.width,j=k.height;var n={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:f(),multiline:!0,label:"Source"};n[m]=c,d=a.windowManager.open({title:"Insert/edit video",data:k,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){k=h(this.next().find("#embed").value()),this.fromJSON(k)},items:l},{title:"Embed",type:"panel",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(g(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},n]}],onSubmit:function(){var b,c,d,e;for(b=a.dom.select("img[data-mce-object]"),a.insertContent(g(this.toJSON())),c=a.dom.select("img[data-mce-object]"),d=0;d<b.length;d++)for(e=c.length-1;e>=0;e--)b[d]==c[e]&&c.splice(e,1);a.selection.select(c[0]),a.nodeChanged()}})}function f(){var b=a.selection.getNode();return b.getAttribute("data-mce-object")?a.selection.getContent():void 0}function g(e){var f="";if(!e.source1&&(tinymce.extend(e,h(e.embed)),!e.source1))return"";if(e.source2||(e.source2=""),e.poster||(e.poster=""),e.source1=a.convertURL(e.source1,"source"),e.source2=a.convertURL(e.source2,"source"),e.source1mime=c(e.source1),e.source2mime=c(e.source2),e.poster=a.convertURL(e.poster,"poster"),e.flashPlayerUrl=a.convertURL(b+"/moxieplayer.swf","movie"),tinymce.each(l,function(a){var b,c,d;if(b=a.regex.exec(e.source1)){for(d=a.url,c=0;b[c];c++)d=d.replace("$"+c,function(){return b[c]});e.source1=d,e.type=a.type,e.width=e.width||a.w,e.height=e.height||a.h}}),e.embed)f=k(e.embed,e,!0);else{var g=d(e.source1);g&&(e.type="script",e.width=g.width,e.height=g.height),e.width=e.width||300,e.height=e.height||150,tinymce.each(e,function(b,c){e[c]=a.dom.encode(b)}),"iframe"==e.type?f+='<iframe src="'+e.source1+'" width="'+e.width+'" height="'+e.height+'"></iframe>':"application/x-shockwave-flash"==e.source1mime?(f+='<object data="'+e.source1+'" width="'+e.width+'" height="'+e.height+'" type="application/x-shockwave-flash">',e.poster&&(f+='<img src="'+e.poster+'" width="'+e.width+'" height="'+e.height+'" />'),f+="</object>"):-1!=e.source1mime.indexOf("audio")?a.settings.audio_template_callback?f=a.settings.audio_template_callback(e):f+='<audio controls="controls" src="'+e.source1+'">'+(e.source2?'\n<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</audio>":"script"==e.type?f+='<script src="'+e.source1+'"></script>':f=a.settings.video_template_callback?a.settings.video_template_callback(e):'<video width="'+e.width+'" height="'+e.height+'"'+(e.poster?' poster="'+e.poster+'"':"")+' controls="controls">\n<source src="'+e.source1+'"'+(e.source1mime?' type="'+e.source1mime+'"':"")+" />\n"+(e.source2?'<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</video>"}return f}function h(a){var b={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(a,c){if(b.source1||"param"!=a||(b.source1=c.map.movie),("iframe"==a||"object"==a||"embed"==a||"video"==a||"audio"==a)&&(b.type||(b.type=a),b=tinymce.extend(c.map,b)),"script"==a){var e=d(c.map.src);if(!e)return;b={type:"script",source1:c.map.src,width:e.width,height:e.height}}"source"==a&&(b.source1?b.source2||(b.source2=c.map.src):b.source1=c.map.src),"img"!=a||b.poster||(b.poster=c.map.src)}}).parse(a),b.source1=b.source1||b.src||b.data,b.source2=b.source2||"",b.poster=b.poster||"",b}function i(b){return b.getAttribute("data-mce-object")?h(a.serializer.serialize(b,{selection:!0})):{}}function j(b){if(a.settings.media_filter_html===!1)return b;var c=new tinymce.html.Writer;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(a){c.comment(a)},cdata:function(a){c.cdata(a)},text:function(a,b){c.text(a,b)},start:function(a,b,d){if("script"!=a&&"noscript"!=a){for(var e=0;e<b.length;e++)if(0===b[e].name.indexOf("on"))return;c.start(a,b,d)}},end:function(a){"script"!=a&&"noscript"!=a&&c.end(a)}},new tinymce.html.Schema({})).parse(b),c.getContent()}function k(a,b,c){function d(a,b){var c,d,e,f;for(c in b)if(e=""+b[c],a.map[c])for(d=a.length;d--;)f=a[d],f.name==c&&(e?(a.map[c]=e,f.value=e):(delete a.map[c],a.splice(d,1)));else e&&(a.push({name:c,value:e}),a.map[c]=e)}var e,f=new tinymce.html.Writer,g=0;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(a){f.comment(a)},cdata:function(a){f.cdata(a)},text:function(a,b){f.text(a,b)},start:function(a,h,i){switch(a){case"video":case"object":case"embed":case"img":case"iframe":d(h,{width:b.width,height:b.height})}if(c)switch(a){case"video":d(h,{poster:b.poster,src:""}),b.source2&&d(h,{src:""});break;case"iframe":d(h,{src:b.source1});break;case"source":if(g++,2>=g&&(d(h,{src:b["source"+g],type:b["source"+g+"mime"]}),!b["source"+g]))return;break;case"img":if(!b.poster)return;e=!0}f.start(a,h,i)},end:function(a){if("video"==a&&c)for(var h=1;2>=h;h++)if(b["source"+h]){var i=[];i.map={},h>g&&(d(i,{src:b["source"+h],type:b["source"+h+"mime"]}),f.start("source",i,!0))}if(b.poster&&"object"==a&&c&&!e){var j=[];j.map={},d(j,{src:b.poster,width:b.width,height:b.height}),f.start("img",j,!0)}f.end(a)}},new tinymce.html.Schema({})).parse(a),f.getContent()}var l=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}],m=tinymce.Env.ie&&tinymce.Env.ie<=8?"onChange":"onInput";a.on("ResolveName",function(a){var b;1==a.target.nodeType&&(b=a.target.getAttribute("data-mce-object"))&&(a.name=b)}),a.on("preInit",function(){var b=a.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(a){b[a]=new RegExp("</"+a+"[^>]*>","gi")});var c=a.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(a){c[a]={}}),a.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(b,c){for(var e,f,g,h,i,j,k,l,m=b.length;m--;)if(f=b[m],f.parent&&("script"!=f.name||(l=d(f.attr("src"))))){for(g=new tinymce.html.Node("img",1),g.shortEnded=!0,l&&(l.width&&f.attr("width",l.width.toString()),l.height&&f.attr("height",l.height.toString())),j=f.attributes,e=j.length;e--;)h=j[e].name,i=j[e].value,"width"!==h&&"height"!==h&&"style"!==h&&(("data"==h||"src"==h)&&(i=a.convertURL(i,h)),g.attr("data-mce-p-"+h,i));k=f.firstChild&&f.firstChild.value,k&&(g.attr("data-mce-html",escape(k)),g.firstChild=null),g.attr({width:f.attr("width")||"300",height:f.attr("height")||("audio"==c?"30":"150"),style:f.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":c,"class":"mce-object mce-object-"+c}),f.replace(g)}}),a.serializer.addAttributeFilter("data-mce-object",function(a,b){for(var c,d,e,f,g,h,i,k=a.length;k--;)if(c=a[k],c.parent){for(i=c.attr(b),d=new tinymce.html.Node(i,1),"audio"!=i&&"script"!=i&&d.attr({width:c.attr("width"),height:c.attr("height")}),d.attr({style:c.attr("style")}),f=c.attributes,e=f.length;e--;){var l=f[e].name;0===l.indexOf("data-mce-p-")&&d.attr(l.substr(11),f[e].value)}"script"==i&&d.attr("type","text/javascript"),g=c.attr("data-mce-html"),g&&(h=new tinymce.html.Node("#text",3),h.raw=!0,h.value=j(unescape(g)),d.append(h)),c.replace(d)}})}),a.on("ObjectSelected",function(a){var b=a.target.getAttribute("data-mce-object");("audio"==b||"script"==b)&&a.preventDefault()}),a.on("objectResized",function(a){var b,c=a.target;c.getAttribute("data-mce-object")&&(b=c.getAttribute("data-mce-html"),b&&(b=unescape(b),c.setAttribute("data-mce-html",escape(k(b,{width:a.width,height:a.height})))))}),a.addButton("media",{tooltip:"Insert/edit video",onclick:e,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]}),a.addMenuItem("media",{icon:"media",text:"Insert/edit video",onclick:e,context:"insert",prependToContext:!0})});
\ No newline at end of file
+tinymce.PluginManager.add("media",function(a,b){function c(a){return a=a.toLowerCase(),-1!=a.indexOf(".mp3")?"audio/mpeg":-1!=a.indexOf(".wav")?"audio/wav":-1!=a.indexOf(".mp4")?"video/mp4":-1!=a.indexOf(".webm")?"video/webm":-1!=a.indexOf(".ogg")?"video/ogg":-1!=a.indexOf(".swf")?"application/x-shockwave-flash":""}function d(b){var c=a.settings.media_scripts;if(c)for(var d=0;d<c.length;d++)if(-1!==b.indexOf(c[d].filter))return c[d]}function e(){function b(a){var b,c,f,g;b=d.find("#width")[0],c=d.find("#height")[0],f=b.value(),g=c.value(),d.find("#constrain")[0].checked()&&e&&j&&f&&g&&(a.control==b?(g=Math.round(f/e*g),isNaN(g)||c.value(g)):(f=Math.round(g/j*f),isNaN(f)||b.value(f))),e=f,j=g}function c(){k=h(this.value()),this.parent().parent().fromJSON(k)}var d,e,j,k,l=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onchange:function(a){tinymce.each(a.meta,function(a,b){d.find("#"+b).value(a)})}}];a.settings.media_alt_source!==!1&&l.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),a.settings.media_poster!==!1&&l.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),a.settings.media_dimensions!==!1&&l.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:b,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:b,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),k=i(a.selection.getNode()),e=k.width,j=k.height;var n={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:f(),multiline:!0,label:"Source"};n[m]=c,d=a.windowManager.open({title:"Insert/edit video",data:k,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){k=h(this.next().find("#embed").value()),this.fromJSON(k)},items:l},{title:"Embed",type:"container",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(g(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},n]}],onSubmit:function(){var b,c,d,e;for(b=a.dom.select("img[data-mce-object]"),a.insertContent(g(this.toJSON())),c=a.dom.select("img[data-mce-object]"),d=0;d<b.length;d++)for(e=c.length-1;e>=0;e--)b[d]==c[e]&&c.splice(e,1);a.selection.select(c[0]),a.nodeChanged()}})}function f(){var b=a.selection.getNode();return b.getAttribute("data-mce-object")?a.selection.getContent():void 0}function g(e){var f="";if(!e.source1&&(tinymce.extend(e,h(e.embed)),!e.source1))return"";if(e.source2||(e.source2=""),e.poster||(e.poster=""),e.source1=a.convertURL(e.source1,"source"),e.source2=a.convertURL(e.source2,"source"),e.source1mime=c(e.source1),e.source2mime=c(e.source2),e.poster=a.convertURL(e.poster,"poster"),e.flashPlayerUrl=a.convertURL(b+"/moxieplayer.swf","movie"),tinymce.each(l,function(a){var b,c,d;if(b=a.regex.exec(e.source1)){for(d=a.url,c=0;b[c];c++)d=d.replace("$"+c,function(){return b[c]});e.source1=d,e.type=a.type,e.width=e.width||a.w,e.height=e.height||a.h}}),e.embed)f=k(e.embed,e,!0);else{var g=d(e.source1);g&&(e.type="script",e.width=g.width,e.height=g.height),e.width=e.width||300,e.height=e.height||150,tinymce.each(e,function(b,c){e[c]=a.dom.encode(b)}),"iframe"==e.type?f+='<iframe src="'+e.source1+'" width="'+e.width+'" height="'+e.height+'"></iframe>':"application/x-shockwave-flash"==e.source1mime?(f+='<object data="'+e.source1+'" width="'+e.width+'" height="'+e.height+'" type="application/x-shockwave-flash">',e.poster&&(f+='<img src="'+e.poster+'" width="'+e.width+'" height="'+e.height+'" />'),f+="</object>"):-1!=e.source1mime.indexOf("audio")?a.settings.audio_template_callback?f=a.settings.audio_template_callback(e):f+='<audio controls="controls" src="'+e.source1+'">'+(e.source2?'\n<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</audio>":"script"==e.type?f+='<script src="'+e.source1+'"></script>':f=a.settings.video_template_callback?a.settings.video_template_callback(e):'<video width="'+e.width+'" height="'+e.height+'"'+(e.poster?' poster="'+e.poster+'"':"")+' controls="controls">\n<source src="'+e.source1+'"'+(e.source1mime?' type="'+e.source1mime+'"':"")+" />\n"+(e.source2?'<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</video>"}return f}function h(a){var b={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(a,c){if(b.source1||"param"!=a||(b.source1=c.map.movie),("iframe"==a||"object"==a||"embed"==a||"video"==a||"audio"==a)&&(b.type||(b.type=a),b=tinymce.extend(c.map,b)),"script"==a){var e=d(c.map.src);if(!e)return;b={type:"script",source1:c.map.src,width:e.width,height:e.height}}"source"==a&&(b.source1?b.source2||(b.source2=c.map.src):b.source1=c.map.src),"img"!=a||b.poster||(b.poster=c.map.src)}}).parse(a),b.source1=b.source1||b.src||b.data,b.source2=b.source2||"",b.poster=b.poster||"",b}function i(b){return b.getAttribute("data-mce-object")?h(a.serializer.serialize(b,{selection:!0})):{}}function j(b){if(a.settings.media_filter_html===!1)return b;var c=new tinymce.html.Writer;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(a){c.comment(a)},cdata:function(a){c.cdata(a)},text:function(a,b){c.text(a,b)},start:function(a,b,d){if("script"!=a&&"noscript"!=a){for(var e=0;e<b.length;e++)if(0===b[e].name.indexOf("on"))return;c.start(a,b,d)}},end:function(a){"script"!=a&&"noscript"!=a&&c.end(a)}},new tinymce.html.Schema({})).parse(b),c.getContent()}function k(a,b,c){function d(a,b){var c,d,e,f;for(c in b)if(e=""+b[c],a.map[c])for(d=a.length;d--;)f=a[d],f.name==c&&(e?(a.map[c]=e,f.value=e):(delete a.map[c],a.splice(d,1)));else e&&(a.push({name:c,value:e}),a.map[c]=e)}var e,f=new tinymce.html.Writer,g=0;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(a){f.comment(a)},cdata:function(a){f.cdata(a)},text:function(a,b){f.text(a,b)},start:function(a,h,i){switch(a){case"video":case"object":case"embed":case"img":case"iframe":d(h,{width:b.width,height:b.height})}if(c)switch(a){case"video":d(h,{poster:b.poster,src:""}),b.source2&&d(h,{src:""});break;case"iframe":d(h,{src:b.source1});break;case"source":if(g++,2>=g&&(d(h,{src:b["source"+g],type:b["source"+g+"mime"]}),!b["source"+g]))return;break;case"img":if(!b.poster)return;e=!0}f.start(a,h,i)},end:function(a){if("video"==a&&c)for(var h=1;2>=h;h++)if(b["source"+h]){var i=[];i.map={},h>g&&(d(i,{src:b["source"+h],type:b["source"+h+"mime"]}),f.start("source",i,!0))}if(b.poster&&"object"==a&&c&&!e){var j=[];j.map={},d(j,{src:b.poster,width:b.width,height:b.height}),f.start("img",j,!0)}f.end(a)}},new tinymce.html.Schema({})).parse(a),f.getContent()}var l=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}],m=tinymce.Env.ie&&tinymce.Env.ie<=8?"onChange":"onInput";a.on("ResolveName",function(a){var b;1==a.target.nodeType&&(b=a.target.getAttribute("data-mce-object"))&&(a.name=b)}),a.on("preInit",function(){var b=a.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(a){b[a]=new RegExp("</"+a+"[^>]*>","gi")});var c=a.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(a){c[a]={}}),a.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(b,c){for(var e,f,g,h,i,j,k,l,m=b.length;m--;)if(f=b[m],f.parent&&("script"!=f.name||(l=d(f.attr("src"))))){for(g=new tinymce.html.Node("img",1),g.shortEnded=!0,l&&(l.width&&f.attr("width",l.width.toString()),l.height&&f.attr("height",l.height.toString())),j=f.attributes,e=j.length;e--;)h=j[e].name,i=j[e].value,"width"!==h&&"height"!==h&&"style"!==h&&(("data"==h||"src"==h)&&(i=a.convertURL(i,h)),g.attr("data-mce-p-"+h,i));k=f.firstChild&&f.firstChild.value,k&&(g.attr("data-mce-html",escape(k)),g.firstChild=null),g.attr({width:f.attr("width")||"300",height:f.attr("height")||("audio"==c?"30":"150"),style:f.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":c,"class":"mce-object mce-object-"+c}),f.replace(g)}}),a.serializer.addAttributeFilter("data-mce-object",function(a,b){for(var c,d,e,f,g,h,i,k=a.length;k--;)if(c=a[k],c.parent){for(i=c.attr(b),d=new tinymce.html.Node(i,1),"audio"!=i&&"script"!=i&&d.attr({width:c.attr("width"),height:c.attr("height")}),d.attr({style:c.attr("style")}),f=c.attributes,e=f.length;e--;){var l=f[e].name;0===l.indexOf("data-mce-p-")&&d.attr(l.substr(11),f[e].value)}"script"==i&&d.attr("type","text/javascript"),g=c.attr("data-mce-html"),g&&(h=new tinymce.html.Node("#text",3),h.raw=!0,h.value=j(unescape(g)),d.append(h)),c.replace(d)}})}),a.on("ObjectSelected",function(a){var b=a.target.getAttribute("data-mce-object");("audio"==b||"script"==b)&&a.preventDefault()}),a.on("objectResized",function(a){var b,c=a.target;c.getAttribute("data-mce-object")&&(b=c.getAttribute("data-mce-html"),b&&(b=unescape(b),c.setAttribute("data-mce-html",escape(k(b,{width:a.width,height:a.height})))))}),a.addButton("media",{tooltip:"Insert/edit video",onclick:e,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]}),a.addMenuItem("media",{icon:"media",text:"Insert/edit video",onclick:e,context:"insert",prependToContext:!0})});
\ No newline at end of file
index 65ed95d2256dd180f72633565e8562b89d95f501..6c1c2b3db8123cf4c3cec70b993e8bb3afd6fbab 100644 (file)
@@ -85,8 +85,8 @@
 /**
  * Utils.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -217,8 +217,8 @@ define("tinymce/pasteplugin/Utils", [
 /**
  * Clipboard.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -281,7 +281,7 @@ define("tinymce/pasteplugin/Clipboard", [
                                }
 
                                if (!args.isDefaultPrevented()) {
-                                       editor.insertContent(html, {merge: editor.settings.paste_merge_formats !== false});
+                                       editor.insertContent(html, {merge: editor.settings.paste_merge_formats !== false, data: {paste: true}});
                                }
                        }
                }
@@ -805,19 +805,40 @@ define("tinymce/pasteplugin/Clipboard", [
 
                        // Remove all data images from paste for example from Gecko
                        // except internal images like video elements
-                       editor.parser.addNodeFilter('img', function(nodes) {
-                               if (!editor.settings.paste_data_images) {
+                       editor.parser.addNodeFilter('img', function(nodes, name, args) {
+                               function isPasteInsert(args) {
+                                       return args.data && args.data.paste === true;
+                               }
+
+                               function remove(node) {
+                                       if (!node.attr('data-mce-object') && src !== Env.transparentSrc) {
+                                               node.remove();
+                                       }
+                               }
+
+                               function isWebKitFakeUrl(src) {
+                                       return src.indexOf("webkit-fake-url") === 0;
+                               }
+
+                               function isDataUri(src) {
+                                       return src.indexOf("data:") === 0;
+                               }
+
+                               if (!editor.settings.paste_data_images && isPasteInsert(args)) {
                                        var i = nodes.length;
 
                                        while (i--) {
                                                var src = nodes[i].attributes.map.src;
 
-                                               // Some browsers automatically produce data uris on paste
+                                               if (!src) {
+                                                       continue;
+                                               }
+
                                                // Safari on Mac produces webkit-fake-url see: https://bugs.webkit.org/show_bug.cgi?id=49141
-                                               if (src && /^(data:image|webkit\-fake\-url)/.test(src)) {
-                                                       if (!nodes[i].attr('data-mce-object') && src !== Env.transparentSrc) {
-                                                               nodes[i].remove();
-                                                       }
+                                               if (isWebKitFakeUrl(src)) {
+                                                       remove(nodes[i]);
+                                               } else if (!editor.settings.allow_html_data_urls && isDataUri(src)) {
+                                                       remove(nodes[i]);
                                                }
                                        }
                                }
@@ -831,8 +852,8 @@ define("tinymce/pasteplugin/Clipboard", [
 /**
  * WordFilter.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -1332,8 +1353,8 @@ define("tinymce/pasteplugin/WordFilter", [
 /**
  * Quirks.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -1494,8 +1515,8 @@ define("tinymce/pasteplugin/Quirks", [
 /**
  * Plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 90d50edfa42c1af0d4223793db0b2a47f90a8b59..607722f89f496db185524bf7c0370368c3e2f881 100644 (file)
@@ -1 +1 @@
-!function(a,b){"use strict";function c(a,b){for(var c,d=[],f=0;f<a.length;++f){if(c=g[a[f]]||e(a[f]),!c)throw"module definition dependecy not found: "+a[f];d.push(c)}b.apply(null,d)}function d(a,d,e){if("string"!=typeof a)throw"invalid module definition, module id must be defined and be a string";if(d===b)throw"invalid module definition, dependencies must be specified";if(e===b)throw"invalid module definition, definition function must be specified";c(d,function(){g[a]=e.apply(null,arguments)})}function e(b){for(var c=a,d=b.split(/[.\/]/),e=0;e<d.length;++e){if(!c[d[e]])return;c=c[d[e]]}return c}function f(c){for(var d=0;d<c.length;d++){for(var e=a,f=c[d],h=f.split(/[.\/]/),i=0;i<h.length-1;++i)e[h[i]]===b&&(e[h[i]]={}),e=e[h[i]];e[h[h.length-1]]=g[f]}}var g={};d("tinymce/pasteplugin/Utils",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema"],function(a,b,c){function d(b,c){return a.each(c,function(a){b=a.constructor==RegExp?b.replace(a,""):b.replace(a[0],a[1])}),b}function e(e){function f(a){var b=a.name,c=a;if("br"===b)return void(i+="\n");if(j[b]&&(i+=" "),k[b])return void(i+=" ");if(3==a.type&&(i+=a.value),!a.shortEnded&&(a=a.firstChild))do f(a);while(a=a.next);l[b]&&c.next&&(i+="\n","p"==b&&(i+="\n"))}var g=new c,h=new b({},g),i="",j=g.getShortEndedElements(),k=a.makeMap("script noscript style textarea video audio iframe object"," "),l=g.getBlockElements();return e=d(e,[/<!\[[^\]]+\]>/g]),f(h.parse(e)),i}function f(a){function b(a,b,c){return b||c?"\xa0":" "}return a=d(a,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,b],/<br>$/i])}return{filter:d,innerText:e,trimHtml:f}}),d("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){var b,c=e.dom;if(b=e.fire("BeforePastePreProcess",{content:a}),b=e.fire("PastePreProcess",b),a=b.content,!b.isDefaultPrevented()){if(e.hasEventListeners("PastePostProcess")&&!b.isDefaultPrevented()){var d=c.add(e.getBody(),"div",{style:"display:none"},a);b=e.fire("PastePostProcess",{node:d}),c.remove(d),a=b.node.innerHTML}b.isDefaultPrevented()||e.insertContent(a,{merge:e.settings.paste_merge_formats!==!1})}}function g(a){a=e.dom.encode(a).replace(/\r\n/g,"\n");var b,c=e.dom.getParent(e.selection.getStart(),e.dom.isBlock),g=e.settings.forced_root_block;g&&(b=e.dom.createHTML(g,e.settings.forced_root_block_attrs),b=b.substr(0,b.length-3)+">"),c&&/^(PRE|DIV)$/.test(c.nodeName)||!g?a=d.filter(a,[[/\n/g,"<br>"]]):(a=d.filter(a,[[/\n\n/g,"</p>"+b],[/^(.*<\/p>)(<p>)$/,b+"$1"],[/\n/g,"<br />"]]),-1!=a.indexOf("<p>")&&(a=b+a)),f(a)}function h(){function b(a){var b,c,e,f=a.startContainer;if(b=a.getClientRects(),b.length)return b[0];if(a.collapsed&&1==f.nodeType){for(e=f.childNodes[t.startOffset];e&&3==e.nodeType&&!e.data.length;)e=e.nextSibling;if(e)return"BR"==e.tagName&&(c=d.doc.createTextNode("\ufeff"),e.parentNode.insertBefore(c,e),a=d.createRng(),a.setStartBefore(c),a.setEndAfter(c),b=a.getClientRects(),d.remove(c)),b.length?b[0]:void 0}}var c,d=e.dom,f=e.getBody(),g=e.dom.getViewPort(e.getWin()),h=g.y,i=20;if(t=e.selection.getRng(),e.inline&&(c=e.selection.getScrollContainer(),c&&c.scrollTop>0&&(h=c.scrollTop)),t.getClientRects){var j=b(t);if(j)i=h+(j.top-d.getPos(f).y);else{i=h;var k=t.startContainer;k&&(3==k.nodeType&&k.parentNode!=f&&(k=k.parentNode),1==k.nodeType&&(i=d.getPos(k,c||f).y))}}s=d.add(e.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+i+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},y),(a.ie||a.gecko)&&d.setStyle(s,"left","rtl"==d.getStyle(f,"direction",!0)?65535:-65535),d.bind(s,"beforedeactivate focusin focusout",function(a){a.stopPropagation()}),s.focus(),e.selection.select(s,!0)}function i(){if(s){for(var a;a=e.dom.get("mcepastebin");)e.dom.remove(a),e.dom.unbind(a);t&&e.selection.setRng(t)}s=t=null}function j(){var a,b,c,d,f="";for(a=e.dom.select("div[id=mcepastebin]"),b=0;b<a.length;b++)c=a[b],c.firstChild&&"mcepastebin"==c.firstChild.id&&(c=c.firstChild),d=c.innerHTML,f!=y&&(f+=d);return f}function k(a){var b={};if(a){if(a.getData){var c=a.getData("Text");c&&c.length>0&&-1==c.indexOf(z)&&(b["text/plain"]=c)}if(a.types)for(var d=0;d<a.types.length;d++){var e=a.types[d];b[e]=a.getData(e)}}return b}function l(a){return k(a.clipboardData||e.getDoc().dataTransfer)}function m(a,b){function c(c){function d(a){b&&(e.selection.setRng(b),b=null),f('<img src="'+a.result+'">')}var g,h,i,j=!1;if(c)for(g=0;g<c.length;g++)h=c[g],/^image\/(jpeg|png|gif|bmp)$/.test(h.type)&&(i=new FileReader,i.onload=d.bind(null,i),i.readAsDataURL(h.getAsFile?h.getAsFile():h),a.preventDefault(),j=!0);return j}var d=a.clipboardData||a.dataTransfer;return e.settings.paste_data_images&&d?c(d.items)||c(d.files):void 0}function n(a){var b=a.clipboardData;return-1!=navigator.userAgent.indexOf("Android")&&b&&b.items&&0===b.items.length}function o(a){return b.getCaretRangeFromPoint(a.clientX,a.clientY,e.getDoc())}function p(a,b){return b in a&&a[b].length>0}function q(a){return c.metaKeyPressed(a)&&86==a.keyCode||a.shiftKey&&45==a.keyCode}function r(){e.on("keydown",function(b){function c(a){q(a)&&!a.isDefaultPrevented()&&i()}if(q(b)&&!b.isDefaultPrevented()){if(u=b.shiftKey&&86==b.keyCode,u&&a.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(b.stopImmediatePropagation(),w=(new Date).getTime(),a.ie&&u)return b.preventDefault(),void e.fire("paste",{ieFake:!0});i(),h(),e.once("keyup",c),e.once("paste",function(){e.off("keyup",c)})}}),e.on("paste",function(b){var c=(new Date).getTime(),k=l(b),o=(new Date).getTime()-c,q=(new Date).getTime()-w-o<1e3,r="text"==v.pasteFormat||u;return u=!1,b.isDefaultPrevented()||n(b)?void i():m(b)?void i():(q||b.preventDefault(),!a.ie||q&&!b.ieFake||(h(),e.dom.bind(s,"paste",function(a){a.stopPropagation()}),e.getDoc().execCommand("Paste",!1,null),k["text/html"]=j()),void setTimeout(function(){var a;return p(k,"text/html")?a=k["text/html"]:(a=j(),a==y&&(r=!0)),a=d.trimHtml(a),s&&s.firstChild&&"mcepastebin"===s.firstChild.id&&(r=!0),i(),a.length||(r=!0),r&&(a=p(k,"text/plain")&&-1==a.indexOf("</p>")?k["text/plain"]:d.innerText(a)),a==y?void(q||e.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(r?g(a):f(a))},0))}),e.on("dragstart dragend",function(a){x="dragstart"==a.type}),e.on("drop",function(a){var b=o(a);if(!a.isDefaultPrevented()&&!x&&!m(a,b)&&b&&e.settings.paste_filter_drop!==!1){var c=k(a.dataTransfer),h=c["mce-internal"]||c["text/html"]||c["text/plain"];h&&(a.preventDefault(),e.undoManager.transact(function(){c["mce-internal"]&&e.execCommand("Delete"),e.selection.setRng(b),h=d.trimHtml(h),c["text/html"]?f(h):g(h)}))}}),e.on("dragover dragend",function(a){e.settings.paste_data_images&&a.preventDefault()})}var s,t,u,v=this,w=0,x=!1,y="%MCEPASTEBIN%",z="data:text/mce-internal,";v.pasteHtml=f,v.pasteText=g,e.on("preInit",function(){r(),e.parser.addNodeFilter("img",function(b){if(!e.settings.paste_data_images)for(var c=b.length;c--;){var d=b[c].attributes.map.src;d&&/^(data:image|webkit\-fake\-url)/.test(d)&&(b[c].attr("data-mce-object")||d===a.transparentSrc||b[c].remove())}})})}}),d("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(a,b,c,d,e,f){function g(a){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(a)||/class="OutlineElement/.test(a)||/id="?docs\-internal\-guid\-/.test(a)}function h(b){var c,d;return d=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],b=b.replace(/^[\u00a0 ]+/,""),a.each(d,function(a){return a.test(b)?(c=!0,!1):void 0}),c}function i(a){return/^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(a)}function j(j){var k=j.settings;j.on("BeforePastePreProcess",function(l){function m(a){function b(a){var c="";if(3===a.type)return a.value;if(a=a.firstChild)do c+=b(a);while(a=a.next);return c}function c(a,b){if(3===a.type&&b.test(a.value))return a.value=a.value.replace(b,""),!1;if(a=a.firstChild)do if(!c(a,b))return!1;while(a=a.next);return!0}function d(a){if(a._listIgnore)return void a.remove();if(a=a.firstChild)do d(a);while(a=a.next)}function f(a,b,f){var h=a._listLevel||k;h!=k&&(k>h?g&&(g=g.parent.parent):(j=g,g=null)),g&&g.name==b?g.append(a):(j=j||g,g=new e(b,1),f>1&&g.attr("start",""+f),a.wrap(g)),a.name="li",h>k&&j&&j.lastChild.append(g),k=h,d(a),c(a,/^\u00a0+/),c(a,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),c(a,/^\u00a0+/)}for(var g,j,k=1,l=[],m=a.firstChild;"undefined"!=typeof m&&null!==m;)if(l.push(m),m=m.walk(),null!==m)for(;"undefined"!=typeof m&&m.parent!==a;)m=m.walk();for(var n=0;n<l.length;n++)if(a=l[n],"p"==a.name&&a.firstChild){var o=b(a);if(i(o)){f(a,"ul");continue}if(h(o)){var p=/([0-9]+)\./.exec(o),q=1;p&&(q=parseInt(p[1],10)),f(a,"ol",q);continue}if(a._listLevel){f(a,"ul",1);continue}g=null}else j=g,g=null}function n(b,c){var d,f={},g=j.dom.parseStyle(c);return a.each(g,function(a,e){switch(e){case"mso-list":d=/\w+ \w+([0-9]+)/i.exec(c),d&&(b._listLevel=parseInt(d[1],10)),/Ignore/i.test(a)&&b.firstChild&&(b._listIgnore=!0,b.firstChild._listIgnore=!0);break;case"horiz-align":e="text-align";break;case"vert-align":e="vertical-align";break;case"font-color":case"mso-foreground":e="color";break;case"mso-background":case"mso-highlight":e="background";break;case"font-weight":case"font-style":return void("normal"!=a&&(f[e]=a));case"mso-element":if(/^(comment|comment-list)$/i.test(a))return void b.remove()}return 0===e.indexOf("mso-comment")?void b.remove():void(0!==e.indexOf("mso-")&&("all"==o||p&&p[e])&&(f[e]=a))}),/(bold)/i.test(f["font-weight"])&&(delete f["font-weight"],b.wrap(new e("b",1))),/(italic)/i.test(f["font-style"])&&(delete f["font-style"],b.wrap(new e("i",1))),f=j.dom.serializeStyle(f,b.name),f?f:null}var o,p,q=l.content;if(q=q.replace(/<b[^>]+id="?docs-internal-[^>]*>/gi,""),q=q.replace(/<br class="?Apple-interchange-newline"?>/gi,""),o=k.paste_retain_style_properties,o&&(p=a.makeMap(o.split(/[, ]/))),k.paste_enable_default_filters!==!1&&g(l.content)){l.wordContent=!0,q=f.filter(q,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(a,b){return b.length>0?b.replace(/./," ").slice(Math.floor(b.length/2)).split("").join("\xa0"):""}]]);var r=k.paste_word_valid_elements;r||(r="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var s=new c({valid_elements:r,valid_children:"-li[p]"});a.each(s.elements,function(a){a.attributes["class"]||(a.attributes["class"]={},a.attributesOrder.push("class")),a.attributes.style||(a.attributes.style={},a.attributesOrder.push("style"))});var t=new b({},s);t.addAttributeFilter("style",function(a){for(var b,c=a.length;c--;)b=a[c],b.attr("style",n(b,b.attr("style"))),"span"==b.name&&b.parent&&!b.attributes.length&&b.unwrap()}),t.addAttributeFilter("class",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(c)&&b.remove(),b.attr("class",null)}),t.addNodeFilter("del",function(a){for(var b=a.length;b--;)a[b].remove()}),t.addNodeFilter("a",function(a){for(var b,c,d,e=a.length;e--;)if(b=a[e],c=b.attr("href"),d=b.attr("name"),c&&-1!=c.indexOf("#_msocom_"))b.remove();else if(c&&0===c.indexOf("file://")&&(c=c.split("#")[1],c&&(c="#"+c)),c||d){if(d&&!/^_?(?:toc|edn|ftn)/i.test(d)){b.unwrap();continue}b.attr({href:c,name:d})}else b.unwrap()});var u=t.parse(q);k.paste_convert_word_fake_lists!==!1&&m(u),l.content=new d({},s).serialize(u)}})}return j.isWordContent=g,j}),d("tinymce/pasteplugin/Quirks",["tinymce/Env","tinymce/util/Tools","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){e.on("BeforePastePreProcess",function(b){b.content=a(b.content)})}function g(a){if(!c.isWordContent(a))return a;var f=[];b.each(e.schema.getBlockElements(),function(a,b){f.push(b)});var g=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+f.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return a=d.filter(a,[[g,"$1"]]),a=d.filter(a,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function h(a){if(c.isWordContent(a))return a;var b=e.settings.paste_webkit_styles;if(e.settings.paste_remove_styles_if_webkit===!1||"all"==b)return a;if(b&&(b=b.split(/[, ]/)),b){var d=e.dom,f=e.selection.getNode();a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(a,c,e,g){var h=d.parseStyle(e,"span"),i={};if("none"===b)return c+g;for(var j=0;j<b.length;j++){var k=h[b[j]],l=d.getStyle(f,b[j],!0);/color/.test(b[j])&&(k=d.toHex(k),l=d.toHex(l)),l!=k&&(i[b[j]]=k)}return i=d.serializeStyle(i,"span"),i?c+' style="'+i+'"'+g:c+g})}else a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return a=a.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(a,b,c,d){return b+' style="'+c+'"'+d})}a.webkit&&f(h),a.ie&&f(g)}}),d("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(a,b,c,d){var e;a.add("paste",function(a){function f(){"text"==g.pasteFormat?(this.active(!1),g.pasteFormat="html"):(g.pasteFormat="text",this.active(!0),e||(a.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),e=!0))}var g,h=this,i=a.settings;h.clipboard=g=new b(a),h.quirks=new d(a),h.wordFilter=new c(a),a.settings.paste_as_text&&(h.clipboard.pasteFormat="text"),i.paste_preprocess&&a.on("PastePreProcess",function(a){i.paste_preprocess.call(h,h,a)}),i.paste_postprocess&&a.on("PastePostProcess",function(a){i.paste_postprocess.call(h,h,a)}),a.addCommand("mceInsertClipboardContent",function(a,b){b.content&&h.clipboard.pasteHtml(b.content),b.text&&h.clipboard.pasteText(b.text)}),a.paste_block_drop&&a.on("dragend dragover draggesture dragdrop drop drag",function(a){a.preventDefault(),a.stopPropagation()}),a.settings.paste_data_images||a.on("drop",function(a){var b=a.dataTransfer;b&&b.files&&b.files.length>0&&a.preventDefault()}),a.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:f,active:"text"==h.clipboard.pasteFormat}),a.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:g.pasteFormat,onclick:f})})}),f(["tinymce/pasteplugin/Utils"])}(this);
\ No newline at end of file
+!function(a,b){"use strict";function c(a,b){for(var c,d=[],f=0;f<a.length;++f){if(c=g[a[f]]||e(a[f]),!c)throw"module definition dependecy not found: "+a[f];d.push(c)}b.apply(null,d)}function d(a,d,e){if("string"!=typeof a)throw"invalid module definition, module id must be defined and be a string";if(d===b)throw"invalid module definition, dependencies must be specified";if(e===b)throw"invalid module definition, definition function must be specified";c(d,function(){g[a]=e.apply(null,arguments)})}function e(b){for(var c=a,d=b.split(/[.\/]/),e=0;e<d.length;++e){if(!c[d[e]])return;c=c[d[e]]}return c}function f(c){for(var d=0;d<c.length;d++){for(var e=a,f=c[d],h=f.split(/[.\/]/),i=0;i<h.length-1;++i)e[h[i]]===b&&(e[h[i]]={}),e=e[h[i]];e[h[h.length-1]]=g[f]}}var g={};d("tinymce/pasteplugin/Utils",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema"],function(a,b,c){function d(b,c){return a.each(c,function(a){b=a.constructor==RegExp?b.replace(a,""):b.replace(a[0],a[1])}),b}function e(e){function f(a){var b=a.name,c=a;if("br"===b)return void(i+="\n");if(j[b]&&(i+=" "),k[b])return void(i+=" ");if(3==a.type&&(i+=a.value),!a.shortEnded&&(a=a.firstChild))do f(a);while(a=a.next);l[b]&&c.next&&(i+="\n","p"==b&&(i+="\n"))}var g=new c,h=new b({},g),i="",j=g.getShortEndedElements(),k=a.makeMap("script noscript style textarea video audio iframe object"," "),l=g.getBlockElements();return e=d(e,[/<!\[[^\]]+\]>/g]),f(h.parse(e)),i}function f(a){function b(a,b,c){return b||c?"\xa0":" "}return a=d(a,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,b],/<br>$/i])}return{filter:d,innerText:e,trimHtml:f}}),d("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){var b,c=e.dom;if(b=e.fire("BeforePastePreProcess",{content:a}),b=e.fire("PastePreProcess",b),a=b.content,!b.isDefaultPrevented()){if(e.hasEventListeners("PastePostProcess")&&!b.isDefaultPrevented()){var d=c.add(e.getBody(),"div",{style:"display:none"},a);b=e.fire("PastePostProcess",{node:d}),c.remove(d),a=b.node.innerHTML}b.isDefaultPrevented()||e.insertContent(a,{merge:e.settings.paste_merge_formats!==!1,data:{paste:!0}})}}function g(a){a=e.dom.encode(a).replace(/\r\n/g,"\n");var b,c=e.dom.getParent(e.selection.getStart(),e.dom.isBlock),g=e.settings.forced_root_block;g&&(b=e.dom.createHTML(g,e.settings.forced_root_block_attrs),b=b.substr(0,b.length-3)+">"),c&&/^(PRE|DIV)$/.test(c.nodeName)||!g?a=d.filter(a,[[/\n/g,"<br>"]]):(a=d.filter(a,[[/\n\n/g,"</p>"+b],[/^(.*<\/p>)(<p>)$/,b+"$1"],[/\n/g,"<br />"]]),-1!=a.indexOf("<p>")&&(a=b+a)),f(a)}function h(){function b(a){var b,c,e,f=a.startContainer;if(b=a.getClientRects(),b.length)return b[0];if(a.collapsed&&1==f.nodeType){for(e=f.childNodes[t.startOffset];e&&3==e.nodeType&&!e.data.length;)e=e.nextSibling;if(e)return"BR"==e.tagName&&(c=d.doc.createTextNode("\ufeff"),e.parentNode.insertBefore(c,e),a=d.createRng(),a.setStartBefore(c),a.setEndAfter(c),b=a.getClientRects(),d.remove(c)),b.length?b[0]:void 0}}var c,d=e.dom,f=e.getBody(),g=e.dom.getViewPort(e.getWin()),h=g.y,i=20;if(t=e.selection.getRng(),e.inline&&(c=e.selection.getScrollContainer(),c&&c.scrollTop>0&&(h=c.scrollTop)),t.getClientRects){var j=b(t);if(j)i=h+(j.top-d.getPos(f).y);else{i=h;var k=t.startContainer;k&&(3==k.nodeType&&k.parentNode!=f&&(k=k.parentNode),1==k.nodeType&&(i=d.getPos(k,c||f).y))}}s=d.add(e.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+i+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},y),(a.ie||a.gecko)&&d.setStyle(s,"left","rtl"==d.getStyle(f,"direction",!0)?65535:-65535),d.bind(s,"beforedeactivate focusin focusout",function(a){a.stopPropagation()}),s.focus(),e.selection.select(s,!0)}function i(){if(s){for(var a;a=e.dom.get("mcepastebin");)e.dom.remove(a),e.dom.unbind(a);t&&e.selection.setRng(t)}s=t=null}function j(){var a,b,c,d,f="";for(a=e.dom.select("div[id=mcepastebin]"),b=0;b<a.length;b++)c=a[b],c.firstChild&&"mcepastebin"==c.firstChild.id&&(c=c.firstChild),d=c.innerHTML,f!=y&&(f+=d);return f}function k(a){var b={};if(a){if(a.getData){var c=a.getData("Text");c&&c.length>0&&-1==c.indexOf(z)&&(b["text/plain"]=c)}if(a.types)for(var d=0;d<a.types.length;d++){var e=a.types[d];b[e]=a.getData(e)}}return b}function l(a){return k(a.clipboardData||e.getDoc().dataTransfer)}function m(a,b){function c(c){function d(a){b&&(e.selection.setRng(b),b=null),f('<img src="'+a.result+'">')}var g,h,i,j=!1;if(c)for(g=0;g<c.length;g++)h=c[g],/^image\/(jpeg|png|gif|bmp)$/.test(h.type)&&(i=new FileReader,i.onload=d.bind(null,i),i.readAsDataURL(h.getAsFile?h.getAsFile():h),a.preventDefault(),j=!0);return j}var d=a.clipboardData||a.dataTransfer;return e.settings.paste_data_images&&d?c(d.items)||c(d.files):void 0}function n(a){var b=a.clipboardData;return-1!=navigator.userAgent.indexOf("Android")&&b&&b.items&&0===b.items.length}function o(a){return b.getCaretRangeFromPoint(a.clientX,a.clientY,e.getDoc())}function p(a,b){return b in a&&a[b].length>0}function q(a){return c.metaKeyPressed(a)&&86==a.keyCode||a.shiftKey&&45==a.keyCode}function r(){e.on("keydown",function(b){function c(a){q(a)&&!a.isDefaultPrevented()&&i()}if(q(b)&&!b.isDefaultPrevented()){if(u=b.shiftKey&&86==b.keyCode,u&&a.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(b.stopImmediatePropagation(),w=(new Date).getTime(),a.ie&&u)return b.preventDefault(),void e.fire("paste",{ieFake:!0});i(),h(),e.once("keyup",c),e.once("paste",function(){e.off("keyup",c)})}}),e.on("paste",function(b){var c=(new Date).getTime(),k=l(b),o=(new Date).getTime()-c,q=(new Date).getTime()-w-o<1e3,r="text"==v.pasteFormat||u;return u=!1,b.isDefaultPrevented()||n(b)?void i():m(b)?void i():(q||b.preventDefault(),!a.ie||q&&!b.ieFake||(h(),e.dom.bind(s,"paste",function(a){a.stopPropagation()}),e.getDoc().execCommand("Paste",!1,null),k["text/html"]=j()),void setTimeout(function(){var a;return p(k,"text/html")?a=k["text/html"]:(a=j(),a==y&&(r=!0)),a=d.trimHtml(a),s&&s.firstChild&&"mcepastebin"===s.firstChild.id&&(r=!0),i(),a.length||(r=!0),r&&(a=p(k,"text/plain")&&-1==a.indexOf("</p>")?k["text/plain"]:d.innerText(a)),a==y?void(q||e.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(r?g(a):f(a))},0))}),e.on("dragstart dragend",function(a){x="dragstart"==a.type}),e.on("drop",function(a){var b=o(a);if(!a.isDefaultPrevented()&&!x&&!m(a,b)&&b&&e.settings.paste_filter_drop!==!1){var c=k(a.dataTransfer),h=c["mce-internal"]||c["text/html"]||c["text/plain"];h&&(a.preventDefault(),e.undoManager.transact(function(){c["mce-internal"]&&e.execCommand("Delete"),e.selection.setRng(b),h=d.trimHtml(h),c["text/html"]?f(h):g(h)}))}}),e.on("dragover dragend",function(a){e.settings.paste_data_images&&a.preventDefault()})}var s,t,u,v=this,w=0,x=!1,y="%MCEPASTEBIN%",z="data:text/mce-internal,";v.pasteHtml=f,v.pasteText=g,e.on("preInit",function(){r(),e.parser.addNodeFilter("img",function(b,c,d){function f(a){return a.data&&a.data.paste===!0}function g(b){b.attr("data-mce-object")||k===a.transparentSrc||b.remove()}function h(a){return 0===a.indexOf("webkit-fake-url")}function i(a){return 0===a.indexOf("data:")}if(!e.settings.paste_data_images&&f(d))for(var j=b.length;j--;){var k=b[j].attributes.map.src;k&&(h(k)?g(b[j]):!e.settings.allow_html_data_urls&&i(k)&&g(b[j]))}})})}}),d("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(a,b,c,d,e,f){function g(a){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(a)||/class="OutlineElement/.test(a)||/id="?docs\-internal\-guid\-/.test(a)}function h(b){var c,d;return d=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],b=b.replace(/^[\u00a0 ]+/,""),a.each(d,function(a){return a.test(b)?(c=!0,!1):void 0}),c}function i(a){return/^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(a)}function j(j){var k=j.settings;j.on("BeforePastePreProcess",function(l){function m(a){function b(a){var c="";if(3===a.type)return a.value;if(a=a.firstChild)do c+=b(a);while(a=a.next);return c}function c(a,b){if(3===a.type&&b.test(a.value))return a.value=a.value.replace(b,""),!1;if(a=a.firstChild)do if(!c(a,b))return!1;while(a=a.next);return!0}function d(a){if(a._listIgnore)return void a.remove();if(a=a.firstChild)do d(a);while(a=a.next)}function f(a,b,f){var h=a._listLevel||k;h!=k&&(k>h?g&&(g=g.parent.parent):(j=g,g=null)),g&&g.name==b?g.append(a):(j=j||g,g=new e(b,1),f>1&&g.attr("start",""+f),a.wrap(g)),a.name="li",h>k&&j&&j.lastChild.append(g),k=h,d(a),c(a,/^\u00a0+/),c(a,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),c(a,/^\u00a0+/)}for(var g,j,k=1,l=[],m=a.firstChild;"undefined"!=typeof m&&null!==m;)if(l.push(m),m=m.walk(),null!==m)for(;"undefined"!=typeof m&&m.parent!==a;)m=m.walk();for(var n=0;n<l.length;n++)if(a=l[n],"p"==a.name&&a.firstChild){var o=b(a);if(i(o)){f(a,"ul");continue}if(h(o)){var p=/([0-9]+)\./.exec(o),q=1;p&&(q=parseInt(p[1],10)),f(a,"ol",q);continue}if(a._listLevel){f(a,"ul",1);continue}g=null}else j=g,g=null}function n(b,c){var d,f={},g=j.dom.parseStyle(c);return a.each(g,function(a,e){switch(e){case"mso-list":d=/\w+ \w+([0-9]+)/i.exec(c),d&&(b._listLevel=parseInt(d[1],10)),/Ignore/i.test(a)&&b.firstChild&&(b._listIgnore=!0,b.firstChild._listIgnore=!0);break;case"horiz-align":e="text-align";break;case"vert-align":e="vertical-align";break;case"font-color":case"mso-foreground":e="color";break;case"mso-background":case"mso-highlight":e="background";break;case"font-weight":case"font-style":return void("normal"!=a&&(f[e]=a));case"mso-element":if(/^(comment|comment-list)$/i.test(a))return void b.remove()}return 0===e.indexOf("mso-comment")?void b.remove():void(0!==e.indexOf("mso-")&&("all"==o||p&&p[e])&&(f[e]=a))}),/(bold)/i.test(f["font-weight"])&&(delete f["font-weight"],b.wrap(new e("b",1))),/(italic)/i.test(f["font-style"])&&(delete f["font-style"],b.wrap(new e("i",1))),f=j.dom.serializeStyle(f,b.name),f?f:null}var o,p,q=l.content;if(q=q.replace(/<b[^>]+id="?docs-internal-[^>]*>/gi,""),q=q.replace(/<br class="?Apple-interchange-newline"?>/gi,""),o=k.paste_retain_style_properties,o&&(p=a.makeMap(o.split(/[, ]/))),k.paste_enable_default_filters!==!1&&g(l.content)){l.wordContent=!0,q=f.filter(q,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(a,b){return b.length>0?b.replace(/./," ").slice(Math.floor(b.length/2)).split("").join("\xa0"):""}]]);var r=k.paste_word_valid_elements;r||(r="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var s=new c({valid_elements:r,valid_children:"-li[p]"});a.each(s.elements,function(a){a.attributes["class"]||(a.attributes["class"]={},a.attributesOrder.push("class")),a.attributes.style||(a.attributes.style={},a.attributesOrder.push("style"))});var t=new b({},s);t.addAttributeFilter("style",function(a){for(var b,c=a.length;c--;)b=a[c],b.attr("style",n(b,b.attr("style"))),"span"==b.name&&b.parent&&!b.attributes.length&&b.unwrap()}),t.addAttributeFilter("class",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(c)&&b.remove(),b.attr("class",null)}),t.addNodeFilter("del",function(a){for(var b=a.length;b--;)a[b].remove()}),t.addNodeFilter("a",function(a){for(var b,c,d,e=a.length;e--;)if(b=a[e],c=b.attr("href"),d=b.attr("name"),c&&-1!=c.indexOf("#_msocom_"))b.remove();else if(c&&0===c.indexOf("file://")&&(c=c.split("#")[1],c&&(c="#"+c)),c||d){if(d&&!/^_?(?:toc|edn|ftn)/i.test(d)){b.unwrap();continue}b.attr({href:c,name:d})}else b.unwrap()});var u=t.parse(q);k.paste_convert_word_fake_lists!==!1&&m(u),l.content=new d({},s).serialize(u)}})}return j.isWordContent=g,j}),d("tinymce/pasteplugin/Quirks",["tinymce/Env","tinymce/util/Tools","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){e.on("BeforePastePreProcess",function(b){b.content=a(b.content)})}function g(a){if(!c.isWordContent(a))return a;var f=[];b.each(e.schema.getBlockElements(),function(a,b){f.push(b)});var g=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+f.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return a=d.filter(a,[[g,"$1"]]),a=d.filter(a,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function h(a){if(c.isWordContent(a))return a;var b=e.settings.paste_webkit_styles;if(e.settings.paste_remove_styles_if_webkit===!1||"all"==b)return a;if(b&&(b=b.split(/[, ]/)),b){var d=e.dom,f=e.selection.getNode();a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(a,c,e,g){var h=d.parseStyle(e,"span"),i={};if("none"===b)return c+g;for(var j=0;j<b.length;j++){var k=h[b[j]],l=d.getStyle(f,b[j],!0);/color/.test(b[j])&&(k=d.toHex(k),l=d.toHex(l)),l!=k&&(i[b[j]]=k)}return i=d.serializeStyle(i,"span"),i?c+' style="'+i+'"'+g:c+g})}else a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return a=a.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(a,b,c,d){return b+' style="'+c+'"'+d})}a.webkit&&f(h),a.ie&&f(g)}}),d("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(a,b,c,d){var e;a.add("paste",function(a){function f(){"text"==g.pasteFormat?(this.active(!1),g.pasteFormat="html"):(g.pasteFormat="text",this.active(!0),e||(a.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),e=!0))}var g,h=this,i=a.settings;h.clipboard=g=new b(a),h.quirks=new d(a),h.wordFilter=new c(a),a.settings.paste_as_text&&(h.clipboard.pasteFormat="text"),i.paste_preprocess&&a.on("PastePreProcess",function(a){i.paste_preprocess.call(h,h,a)}),i.paste_postprocess&&a.on("PastePostProcess",function(a){i.paste_postprocess.call(h,h,a)}),a.addCommand("mceInsertClipboardContent",function(a,b){b.content&&h.clipboard.pasteHtml(b.content),b.text&&h.clipboard.pasteText(b.text)}),a.paste_block_drop&&a.on("dragend dragover draggesture dragdrop drop drag",function(a){a.preventDefault(),a.stopPropagation()}),a.settings.paste_data_images||a.on("drop",function(a){var b=a.dataTransfer;b&&b.files&&b.files.length>0&&a.preventDefault()}),a.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:f,active:"text"==h.clipboard.pasteFormat}),a.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:g.pasteFormat,onclick:f})})}),f(["tinymce/pasteplugin/Utils"])}(this);
\ No newline at end of file
index 9919b822082b1c79421aeb30ebf7ad233e4e9f9a..7a9b5c8ad4ddf2394da83ec7e82e14897279ad50 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 42aaeaadf0d55526374b7df8125b0ec89210b44f..e9a2cf365268ba3e727f3d583dafc943920c4afb 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * plugin.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 57b09a4a8e92dfaad916f4399143e5f4430cdae9..64a80c2684cc6b38cb0705e4bd5873475d604d67 100644 (file)
@@ -1,17 +1,19 @@
-/* global tinymce, getUserSetting, setUserSetting */
-
+/* global getUserSetting, setUserSetting */
+( function( tinymce ) {
 // Set the minimum value for the modals z-index higher than #wpadminbar (100000)
 tinymce.ui.FloatPanel.zIndex = 100100;
 
 tinymce.PluginManager.add( 'wordpress', function( editor ) {
-       var DOM = tinymce.DOM,
+       var wpAdvButton, style,
+               DOM = tinymce.DOM,
                each = tinymce.each,
                __ = editor.editorManager.i18n.translate,
-               wpAdvButton, style,
-               last = 0;
+               $ = window.jQuery,
+               wp = window.wp,
+               hasWpautop = ( wp && wp.editor && wp.editor.autop && editor.getParam( 'wpautop', true ) );
 
-       if ( typeof window.jQuery !== 'undefined' ) {
-               window.jQuery( document ).triggerHandler( 'tinymce-editor-setup', [ editor ] );
+       if ( $ ) {
+               $( document ).triggerHandler( 'tinymce-editor-setup', [ editor ] );
        }
 
        function toggleToolbars( state ) {
@@ -89,26 +91,33 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
     });
 
        // Replace Read More/Next Page tags with images
-       editor.on( 'BeforeSetContent', function( e ) {
+       editor.on( 'BeforeSetContent', function( event ) {
                var title;
 
-               if ( e.content ) {
-                       if ( e.content.indexOf( '<!--more' ) !== -1 ) {
+               if ( event.content ) {
+                       if ( event.content.indexOf( '<!--more' ) !== -1 ) {
                                title = __( 'Read more...' );
 
-                               e.content = e.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
+                               event.content = event.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
                                        return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="more" data-wp-more-text="' + moretext + '" ' +
                                                'class="wp-more-tag mce-wp-more" title="' + title + '" data-mce-resize="false" data-mce-placeholder="1" />';
                                });
                        }
 
-                       if ( e.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
+                       if ( event.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
                                title = __( 'Page break' );
 
-                               e.content = e.content.replace( /<!--nextpage-->/g,
+                               event.content = event.content.replace( /<!--nextpage-->/g,
                                        '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" ' +
                                                'title="' + title + '" data-mce-resize="false" data-mce-placeholder="1" />' );
                        }
+
+                       if ( event.load && event.format !== 'raw' && hasWpautop ) {
+                               event.content = wp.editor.autop( event.content );
+                       }
+
+                       // Remove spaces from empty paragraphs.
+                       event.content = event.content.replace( /<p>(?:&nbsp;|\u00a0|\uFEFF|\s)+<\/p>/gi, '<p><br /></p>' );
                }
        });
 
@@ -191,18 +200,139 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
        });
 
        editor.addCommand( 'WP_Help', function() {
-               editor.windowManager.open({
-                       url: tinymce.baseURL + '/wp-mce-help.php',
+               var access = tinymce.Env.mac ? __( 'Ctrl + Alt + letter:' ) : __( 'Shift + Alt + letter:' ),
+                       meta = tinymce.Env.mac ? __( 'Cmd + letter:' ) : __( 'Ctrl + letter:' ),
+                       table1 = [],
+                       table2 = [],
+                       header, html, dialog, $wrap;
+
+               each( [
+                       { c: 'Copy',      x: 'Cut'              },
+                       { v: 'Paste',     a: 'Select all'       },
+                       { z: 'Undo',      y: 'Redo'             },
+                       { b: 'Bold',      i: 'Italic'           },
+                       { u: 'Underline', k: 'Insert/edit link' }
+               ], function( row ) {
+                       table1.push( tr( row ) );
+               } );
+
+               each( [
+                       { 1: 'Heading 1',             2: 'Heading 2'                     },
+                       { 3: 'Heading 3',             4: 'Heading 4'                     },
+                       { 5: 'Heading 5',             6: 'Heading 6'                     },
+                       { l: 'Align left',            c: 'Align center'                  },
+                       { r: 'Align right',           j: 'Justify'                       },
+                       { d: 'Strikethrough',         q: 'Blockquote'                    },
+                       { u: 'Bullet list',           o: 'Numbered list'                 },
+                       { a: 'Insert/edit link',      s: 'Remove link'                   },
+                       { m: 'Insert/edit image',     t: 'Insert Read More tag'          },
+                       { h: 'Keyboard Shortcuts',    x: 'Code'                          },
+                       { p: 'Insert Page Break tag', w: 'Distraction-free writing mode' }
+               ], function( row ) {
+                       table2.push( tr( row ) );
+               } );
+
+               function tr( row ) {
+                       var out = '<tr>';
+
+                       each( row, function( text, key ) {
+                               if ( ! text ) {
+                                       out += '<td></td><td></td>';
+                               } else {
+                                       out += '<td><kbd>' + key + '</kbd></td><td>' + __( text ) + '</td>';
+                               }
+                       });
+
+                       return out + '</tr>';
+               }
+
+               header = [ __( 'Letter' ), __( 'Action' ), __( 'Letter' ), __( 'Action' ) ];
+               header = '<tr><th>' + header.join( '</th><th>' ) + '</th></tr>';
+
+               html = '<div class="wp-editor-help">';
+
+               // Main section, default and additional shortcuts
+               html = html +
+                       '<h2>' + __( 'Default shortcuts,' ) + ' ' + meta + '</h2>' +
+                       '<table class="wp-help-th-center">' +
+                               header +
+                               table1.join('') +
+                       '</table>' +
+                       '<h2>' + __( 'Additional shortcuts,' ) + ' ' + access + '</h2>' +
+                       '<table class="wp-help-th-center">' +
+                               header +
+                               table2.join('') +
+                       '</table>';
+
+               if ( editor.plugins.wptextpattern ) {
+                       // Text pattern section
+                       html = html +
+                               '<h2>' + __( 'When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.' ) + '</h2>' +
+                               '<table>' +
+                                       tr({ '*':  'Bullet list' }) +
+                                       tr({ '-':  'Bullet list' }) +
+                                       tr({ '1.':  'Numbered list' }) +
+                                       tr({ '1)':  'Numbered list' }) +
+                               '</table>';
+
+                       html = html +
+                               '<h2>' + __( 'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.' ) + '</h2>' +
+                               '<table>' +
+                                       tr({ '>': 'Blockquote' }) +
+                                       tr({ '##': 'Heading 2' }) +
+                                       tr({ '###': 'Heading 3' }) +
+                                       tr({ '####': 'Heading 4' }) +
+                                       tr({ '#####': 'Heading 5' }) +
+                                       tr({ '######': 'Heading 6' }) +
+                               '</table>';
+               }
+
+               // Focus management section
+               html = html +
+                       '<h2>' + __( 'Focus shortcuts:' ) + '</h2>' +
+                       '<table>' +
+                               tr({ 'Alt + F8':  'Inline toolbar (when an image, link or preview is selected)' }) +
+                               tr({ 'Alt + F9':  'Editor menu (when enabled)' }) +
+                               tr({ 'Alt + F10': 'Editor toolbar' }) +
+                               tr({ 'Alt + F11': 'Elements path' }) +
+                       '</table>' +
+                       '<p>' + __( 'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.' ) + '</p>';
+
+               html += '</div>';
+
+               dialog = editor.windowManager.open( {
                        title: 'Keyboard Shortcuts',
-                       width: 450,
-                       height: 420,
-                       classes: 'wp-help',
-                       buttons: { text: 'Close', onclick: 'close' }
-               });
-       });
+                       items: {
+                               type: 'container',
+                               classes: 'wp-help',
+                               html: html
+                       },
+                       buttons: {
+                               text: 'Close',
+                               onclick: 'close'
+                       }
+               } );
+
+               if ( dialog.$el ) {
+                       dialog.$el.find( 'div[role="application"]' ).attr( 'role', 'document' );
+                       $wrap = dialog.$el.find( '.mce-wp-help' );
+
+                       if ( $wrap[0] ) {
+                               $wrap.attr( 'tabindex', '0' );
+                               $wrap[0].focus();
+                               $wrap.on( 'keydown', function( event ) {
+                                       // Prevent use of: page up, page down, end, home, left arrow, up arrow, right arrow, down arrow
+                                       // in the dialog keydown handler.
+                                       if ( event.keyCode >= 33 && event.keyCode <= 40 ) {
+                                               event.stopPropagation();
+                                       }
+                               });
+                       }
+               }
+       } );
 
        editor.addCommand( 'WP_Medialib', function() {
-               if ( typeof wp !== 'undefined' && wp.media && wp.media.editor ) {
+               if ( wp && wp.media && wp.media.editor ) {
                        wp.media.editor.open( editor.id );
                }
        });
@@ -235,7 +365,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
        // Menubar
        // Insert->Add Media
-       if ( typeof wp !== 'undefined' && wp.media && wp.media.editor ) {
+       if ( wp && wp.media && wp.media.editor ) {
                editor.addMenuItem( 'add_media', {
                        text: 'Add Media',
                        icon: 'wp-media-library',
@@ -289,7 +419,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                        doc = editor.getDoc(),
                        dom = editor.dom;
 
-               if ( tinymce.Env.iOS ) {
+               if ( env.iOS ) {
                        dom.addClass( doc.documentElement, 'ios' );
                }
 
@@ -319,23 +449,22 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                });
 
                // Remove invalid parent paragraphs when inserting HTML
-               // TODO: still needed?
-               editor.on( 'BeforeSetContent', function( e ) {
-                       if ( e.content ) {
-                               e.content = e.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi, '<$1$2>');
-                               e.content = e.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi, '</$1>');
+               editor.on( 'BeforeSetContent', function( event ) {
+                       if ( event.content ) {
+                               event.content = event.content.replace( /<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre)( [^>]*)?>/gi, '<$1$2>' )
+                                       .replace( /<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre)>\s*<\/p>/gi, '</$1>' );
                        }
                });
 
-               if ( typeof window.jQuery !== 'undefined' ) {
-                       window.jQuery( document ).triggerHandler( 'tinymce-editor-init', [editor] );
+               if ( $ ) {
+                       $( document ).triggerHandler( 'tinymce-editor-init', [editor] );
                }
 
                if ( window.tinyMCEPreInit && window.tinyMCEPreInit.dragDropUpload ) {
                        dom.bind( doc, 'dragstart dragend dragover drop', function( event ) {
-                               if ( typeof window.jQuery !== 'undefined' ) {
+                               if ( $ ) {
                                        // Trigger the jQuery handlers.
-                                       window.jQuery( document ).trigger( new window.jQuery.Event( event ) );
+                                       $( document ).trigger( new $.Event( event ) );
                                }
                        });
                }
@@ -363,50 +492,29 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                }
        });
 
-       // Word count
-       if ( typeof window.jQuery !== 'undefined' ) {
-               editor.on( 'keyup', function( e ) {
-                       var key = e.keyCode || e.charCode;
-
-                       if ( key === last ) {
-                               return;
-                       }
-
-                       if ( 13 === key || 8 === last || 46 === last ) {
-                               window.jQuery( document ).triggerHandler( 'wpcountwords', [ editor.getContent({ format : 'raw' }) ] );
-                       }
-
-                       last = key;
-               });
-       }
-
-       editor.on( 'SaveContent', function( e ) {
+       editor.on( 'SaveContent', function( event ) {
                // If editor is hidden, we just want the textarea's value to be saved
                if ( ! editor.inline && editor.isHidden() ) {
-                       e.content = e.element.value;
+                       event.content = event.element.value;
                        return;
                }
 
                // Keep empty paragraphs :(
-               e.content = e.content.replace( /<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g, '<p>&nbsp;</p>' );
+               event.content = event.content.replace( /<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g, '<p>&nbsp;</p>' );
 
-               if ( editor.getParam( 'wpautop', true ) && typeof window.switchEditors !== 'undefined' ) {
-                       e.content = window.switchEditors.pre_wpautop( e.content );
-               }
-       });
-
-       // Remove spaces from empty paragraphs.
-       editor.on( 'BeforeSetContent', function( event ) {
-               var paragraph = tinymce.Env.webkit ? '<p><br /></p>' : '<p></p>';
-
-               if ( event.content ) {
-                       event.content = event.content.replace( /<p>(?:&nbsp;|\u00a0|\uFEFF|\s)+<\/p>/gi, paragraph );
+               if ( hasWpautop ) {
+                       event.content = wp.editor.removep( event.content );
                }
        });
 
        editor.on( 'preInit', function() {
-               // Don't replace <i> with <em> and <b> with <strong> and don't remove them when empty
-               editor.schema.addValidElements( '@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b' );
+               var validElementsSetting = '@[id|accesskey|class|dir|lang|style|tabindex|' +
+                       'title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],' + // Global attributes.
+                       'i,' + // Don't replace <i> with <em> and <b> with <strong> and don't remove them when empty.
+                       'b,' +
+                       'script[src|async|defer|type|charset|crossorigin|integrity]'; // Add support for <script>.
+
+               editor.schema.addValidElements( validElementsSetting );
 
                if ( tinymce.Env.iOS ) {
                        editor.settings.height = 300;
@@ -433,7 +541,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                } );
 
                editor.addShortcut( 'meta+s', '', function() {
-                       if ( typeof wp !== 'undefined' && wp.autosave ) {
+                       if ( wp && wp.autosave ) {
                                wp.autosave.server.triggerSave();
                        }
                } );
@@ -443,13 +551,29 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
         * Experimental: create a floating toolbar.
         * This functionality will change in the next releases. Not recommended for use by plugins.
         */
-       ( function() {
+       editor.on( 'preinit', function() {
                var Factory = tinymce.ui.Factory,
                        settings = editor.settings,
-                       currentToolbar,
-                       currentSelection;
+                       activeToolbar,
+                       currentSelection,
+                       timeout,
+                       container = editor.getContainer(),
+                       wpAdminbar = document.getElementById( 'wpadminbar' ),
+                       mceIframe = document.getElementById( editor.id + '_ifr' ),
+                       mceToolbar,
+                       mceStatusbar,
+                       wpStatusbar;
+
+                       if ( container ) {
+                               mceToolbar = tinymce.$( '.mce-toolbar-grp', container )[0];
+                               mceStatusbar = tinymce.$( '.mce-statusbar', container )[0];
+                       }
+
+                       if ( editor.id === 'content' ) {
+                               wpStatusbar = document.getElementById( 'post-status-info' );
+                       }
 
-               function create( buttons ) {
+               function create( buttons, bottom ) {
                        var toolbar,
                                toolbarItems = [],
                                buttonGroup;
@@ -573,120 +697,102 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                                } ]
                        } );
 
-                       function hide() {
-                               toolbar.hide();
-                       }
+                       toolbar.bottom = bottom;
 
                        function reposition() {
-                               var top, left, minTop, className,
-                                       windowPos, adminbar, mceToolbar, boundary,
-                                       boundaryMiddle, boundaryVerticalMiddle, spaceTop,
-                                       spaceBottom, windowWidth, toolbarWidth, toolbarHalf,
-                                       iframe, iframePos, iframeWidth, iframeHeigth,
-                                       toolbarNodeHeight, verticalSpaceNeeded,
-                                       toolbarNode = this.getEl(),
-                                       buffer = 5,
-                                       margin = 8,
-                                       adminbarHeight = 0;
-
                                if ( ! currentSelection ) {
-                                       return;
+                                       return this;
                                }
 
-                               windowPos = window.pageYOffset || document.documentElement.scrollTop;
-                               adminbar = tinymce.$( '#wpadminbar' )[0];
-                               mceToolbar = tinymce.$( '.mce-toolbar-grp', editor.getContainer() )[0];
-                               boundary = currentSelection.getBoundingClientRect();
-                               boundaryMiddle = ( boundary.left + boundary.right ) / 2;
-                               boundaryVerticalMiddle = ( boundary.top + boundary.bottom ) / 2;
-                               spaceTop = boundary.top;
-                               spaceBottom = iframeHeigth - boundary.bottom;
-                               windowWidth = window.innerWidth;
-                               toolbarWidth = toolbarNode.offsetWidth;
-                               toolbarHalf = toolbarWidth / 2;
-                               iframe = document.getElementById( editor.id + '_ifr' );
-                               iframePos = DOM.getPos( iframe );
-                               iframeWidth = iframe.offsetWidth;
-                               iframeHeigth = iframe.offsetHeight;
-                               toolbarNodeHeight = toolbarNode.offsetHeight;
-                               verticalSpaceNeeded = toolbarNodeHeight + margin + buffer;
-
-                               if ( spaceTop >= verticalSpaceNeeded ) {
-                                       className = ' mce-arrow-down';
-                                       top = boundary.top + iframePos.y - toolbarNodeHeight - margin;
-                               } else if ( spaceBottom >= verticalSpaceNeeded ) {
-                                       className = ' mce-arrow-up';
-                                       top = boundary.bottom + iframePos.y;
-                               } else {
-                                       top = buffer;
+                               var scrollX = window.pageXOffset || document.documentElement.scrollLeft,
+                                       scrollY = window.pageYOffset || document.documentElement.scrollTop,
+                                       windowWidth = window.innerWidth,
+                                       windowHeight = window.innerHeight,
+                                       iframeRect = mceIframe ? mceIframe.getBoundingClientRect() : {
+                                               top: 0,
+                                               right: windowWidth,
+                                               bottom: windowHeight,
+                                               left: 0,
+                                               width: windowWidth,
+                                               height: windowHeight
+                                       },
+                                       toolbar = this.getEl(),
+                                       toolbarWidth = toolbar.offsetWidth,
+                                       toolbarHeight = toolbar.offsetHeight,
+                                       selection = currentSelection.getBoundingClientRect(),
+                                       selectionMiddle = ( selection.left + selection.right ) / 2,
+                                       buffer = 5,
+                                       margin = 8,
+                                       spaceNeeded = toolbarHeight + margin + buffer,
+                                       wpAdminbarBottom = wpAdminbar ? wpAdminbar.getBoundingClientRect().bottom : 0,
+                                       mceToolbarBottom = mceToolbar ? mceToolbar.getBoundingClientRect().bottom : 0,
+                                       mceStatusbarTop = mceStatusbar ? windowHeight - mceStatusbar.getBoundingClientRect().top : 0,
+                                       wpStatusbarTop = wpStatusbar ? windowHeight - wpStatusbar.getBoundingClientRect().top : 0,
+                                       blockedTop = Math.max( 0, wpAdminbarBottom, mceToolbarBottom, iframeRect.top ),
+                                       blockedBottom = Math.max( 0, mceStatusbarTop, wpStatusbarTop, windowHeight - iframeRect.bottom ),
+                                       spaceTop = selection.top + iframeRect.top - blockedTop,
+                                       spaceBottom = windowHeight - iframeRect.top - selection.bottom - blockedBottom,
+                                       editorHeight = windowHeight - blockedTop - blockedBottom,
+                                       className = '',
+                                       top, left;
+
+                               if ( spaceTop >= editorHeight || spaceBottom >= editorHeight ) {
+                                       return this.hide();
+                               }
 
-                                       if ( boundaryVerticalMiddle >= verticalSpaceNeeded ) {
-                                               className = ' mce-arrow-down';
-                                       } else {
+                               if ( this.bottom ) {
+                                       if ( spaceBottom >= spaceNeeded ) {
                                                className = ' mce-arrow-up';
+                                               top = selection.bottom + iframeRect.top + scrollY;
+                                       } else if ( spaceTop >= spaceNeeded ) {
+                                               className = ' mce-arrow-down';
+                                               top = selection.top + iframeRect.top + scrollY - toolbarHeight - margin;
                                        }
-                               }
-
-                               // Make sure the image toolbar is below the main toolbar.
-                               if ( mceToolbar ) {
-                                       minTop = DOM.getPos( mceToolbar ).y + mceToolbar.clientHeight;
                                } else {
-                                       minTop = iframePos.y;
-                               }
-
-                               // Make sure the image toolbar is below the adminbar (if visible) or below the top of the window.
-                               if ( windowPos ) {
-                                       if ( adminbar && adminbar.getBoundingClientRect().top === 0 ) {
-                                               adminbarHeight = adminbar.clientHeight;
-                                       }
-
-                                       if ( windowPos + adminbarHeight > minTop ) {
-                                               minTop = windowPos + adminbarHeight;
+                                       if ( spaceTop >= spaceNeeded ) {
+                                               className = ' mce-arrow-down';
+                                               top = selection.top + iframeRect.top + scrollY - toolbarHeight - margin;
+                                       } else if ( spaceBottom >= spaceNeeded && editorHeight / 2 > selection.bottom + iframeRect.top - blockedTop ) {
+                                               className = ' mce-arrow-up';
+                                               top = selection.bottom + iframeRect.top + scrollY;
                                        }
                                }
 
-                               if ( top && minTop && ( minTop + buffer > top ) ) {
-                                       top = minTop + buffer;
-                                       className = '';
+                               if ( typeof top === 'undefined' ) {
+                                       top = scrollY + blockedTop + buffer;
                                }
 
-                               left = boundaryMiddle - toolbarHalf;
-                               left += iframePos.x;
+                               left = selectionMiddle - toolbarWidth / 2 + iframeRect.left + scrollX;
 
-                               if ( boundary.left < 0 || boundary.right > iframeWidth ) {
-                                       left = iframePos.x + ( iframeWidth - toolbarWidth ) / 2;
+                               if ( selection.left < 0 || selection.right > iframeRect.width ) {
+                                       left = iframeRect.left + scrollX + ( iframeRect.width - toolbarWidth ) / 2;
                                } else if ( toolbarWidth >= windowWidth ) {
                                        className += ' mce-arrow-full';
                                        left = 0;
-                               } else if ( ( left < 0 && boundary.left + toolbarWidth > windowWidth ) ||
-                                       ( left + toolbarWidth > windowWidth && boundary.right - toolbarWidth < 0 ) ) {
-
+                               } else if ( ( left < 0 && selection.left + toolbarWidth > windowWidth ) || ( left + toolbarWidth > windowWidth && selection.right - toolbarWidth < 0 ) ) {
                                        left = ( windowWidth - toolbarWidth ) / 2;
-                               } else if ( left < iframePos.x ) {
+                               } else if ( left < iframeRect.left + scrollX ) {
                                        className += ' mce-arrow-left';
-                                       left = boundary.left + iframePos.x;
-                               } else if ( left + toolbarWidth > iframeWidth + iframePos.x ) {
+                                       left = selection.left + iframeRect.left + scrollX;
+                               } else if ( left + toolbarWidth > iframeRect.width + iframeRect.left + scrollX ) {
                                        className += ' mce-arrow-right';
-                                       left = boundary.right - toolbarWidth + iframePos.x;
+                                       left = selection.right - toolbarWidth + iframeRect.left + scrollX;
                                }
 
-                               toolbarNode.className = toolbarNode.className.replace( / ?mce-arrow-[\w]+/g, '' );
-                               toolbarNode.className += className;
+                               toolbar.className = toolbar.className.replace( / ?mce-arrow-[\w]+/g, '' ) + className;
 
-                               DOM.setStyles( toolbarNode, { 'left': left, 'top': top } );
+                               DOM.setStyles( toolbar, {
+                                       'left': left,
+                                       'top': top
+                               } );
 
                                return this;
                        }
 
                        toolbar.on( 'show', function() {
-                               currentToolbar = this;
                                this.reposition();
                        } );
 
-                       toolbar.on( 'hide', function() {
-                               currentToolbar = false;
-                       } );
-
                        toolbar.on( 'keydown', function( event ) {
                                if ( event.keyCode === 27 ) {
                                        this.hide();
@@ -694,16 +800,8 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                                }
                        } );
 
-                       toolbar.on( 'remove', function() {
-                               DOM.unbind( window, 'resize scroll', hide );
-                               editor.dom.unbind( editor.getWin(), 'resize scroll', hide );
-                               editor.off( 'blur hide', hide );
-                       } );
-
-                       editor.once( 'init', function() {
-                               DOM.bind( window, 'resize scroll', hide );
-                               editor.dom.bind( editor.getWin(), 'resize scroll', hide );
-                               editor.on( 'blur hide', hide );
+                       editor.on( 'remove', function() {
+                               toolbar.remove();
                        } );
 
                        toolbar.reposition = reposition;
@@ -715,8 +813,8 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                editor.shortcuts.add( 'alt+119', '', function() {
                        var node;
 
-                       if ( currentToolbar ) {
-                               node = currentToolbar.find( 'toolbar' )[0];
+                       if ( activeToolbar ) {
+                               node = activeToolbar.find( 'toolbar' )[0];
                                node && node.focus( true );
                        }
                } );
@@ -734,13 +832,55 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
                        currentSelection = args.selection || args.element;
 
-                       currentToolbar && currentToolbar.hide();
-                       args.toolbar && args.toolbar.show();
+                       if ( activeToolbar ) {
+                               activeToolbar.hide();
+                       }
+
+                       if ( args.toolbar ) {
+                               activeToolbar = args.toolbar;
+                               activeToolbar.show();
+                       } else {
+                               activeToolbar = false;
+                       }
+               } );
+
+               editor.on( 'focus', function() {
+                       if ( activeToolbar ) {
+                               activeToolbar.show();
+                       }
                } );
 
+               function hide( event ) {
+                       if ( activeToolbar ) {
+                               activeToolbar.hide();
+
+                               if ( event.type === 'hide' ) {
+                                       activeToolbar = false;
+                               } else if ( event.type === 'resize' || event.type === 'scroll' ) {
+                                       clearTimeout( timeout );
+
+                                       timeout = setTimeout( function() {
+                                               if ( activeToolbar && typeof activeToolbar.show === 'function' ) {
+                                                       activeToolbar.show();
+                                               }
+                                       }, 250 );
+                               }
+                       }
+               }
+
+               DOM.bind( window, 'resize scroll', hide );
+               editor.dom.bind( editor.getWin(), 'resize scroll', hide );
+
+               editor.on( 'remove', function() {
+                       DOM.unbind( window, 'resize scroll', hide );
+                       editor.dom.unbind( editor.getWin(), 'resize scroll', hide );
+               } );
+
+               editor.on( 'blur hide', hide );
+
                editor.wp = editor.wp || {};
                editor.wp._createToolbar = create;
-       }());
+       }, true );
 
        function noop() {}
 
@@ -752,3 +892,5 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                _getEmbed: noop
        };
 });
+
+}( window.tinymce ));
index 70f8bde607c42b8e330bad8c4668217efedf8359..92e653d1b60e5dc263d237a24daa7d020ff1183b 100644 (file)
@@ -1 +1 @@
-tinymce.ui.FloatPanel.zIndex=100100,tinymce.PluginManager.add("wordpress",function(a){function b(b){var c,e,h,i=0;e="hide"===b,a.theme.panel&&(h=a.theme.panel.find(".toolbar:not(.menubar)")),!h||h.length<2||"hide"===b&&!h[1].visible()||(!b&&h[1].visible()&&(b="hide"),g(h,function(a,c){c>0&&("hide"===b?(a.hide(),i+=30):(a.show(),i-=30))}),i&&!e&&(tinymce.Env.iOS||(c=a.getContentAreaContainer().firstChild,f.setStyle(c,"height",c.clientHeight+i)),"hide"===b?(setUserSetting("hidetb","0"),d&&d.active(!1)):(setUserSetting("hidetb","1"),d&&d.active(!0))),a.fire("wp-toolbar-toggle"))}function c(){}var d,e,f=tinymce.DOM,g=tinymce.each,h=a.editorManager.i18n.translate,i=0;return"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-setup",[a]),a.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){d=this,d.active("1"===getUserSetting("hidetb")?!0:!1)}}),a.on("PostRender",function(){a.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&b("hide")}),a.addCommand("WP_Adv",function(){b()}),a.on("focus",function(){window.wpActiveEditor=a.id}),a.on("BeforeSetContent",function(a){var b;a.content&&(-1!==a.content.indexOf("<!--more")&&(b=h("Read more..."),a.content=a.content.replace(/<!--more(.*?)-->/g,function(a,c){return'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="more" data-wp-more-text="'+c+'" class="wp-more-tag mce-wp-more" title="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />'})),-1!==a.content.indexOf("<!--nextpage-->")&&(b=h("Page break"),a.content=a.content.replace(/<!--nextpage-->/g,'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" title="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />')))}),a.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/<img[^>]+>/g,function(a){var b,c="";return-1!==a.indexOf('data-wp-more="more"')?((b=a.match(/data-wp-more-text="([^"]+)"/))&&(c=b[1]),a="<!--more"+c+"-->"):-1!==a.indexOf('data-wp-more="nextpage"')&&(a="<!--nextpage-->"),a}))}),a.on("ResolveName",function(b){var c;"IMG"===b.target.nodeName&&(c=a.dom.getAttrib(b.target,"data-wp-more"))&&(b.name=c)}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,i=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"Read more...":"Next page",e=h(e),d='<img src="'+tinymce.Env.transparentSrc+'" title="'+e+'" class="'+f+'" data-wp-more="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />',"BODY"===i.nodeName||"P"===i.nodeName&&"BODY"===i.parentNode.nodeName?void a.insertContent(d):(c=g.getParent(i,function(a){return a.parentNode&&"BODY"===a.parentNode.nodeName?!0:!1},a.getBody()),void(c&&("P"===c.nodeName?c.appendChild(g.create("p",null,d).firstChild):g.insertAfter(g.create("p",null,d),c),a.nodeChanged())))}),a.addCommand("WP_Code",function(){a.formatter.toggle("code")}),a.addCommand("WP_Page",function(){a.execCommand("WP_More","nextpage")}),a.addCommand("WP_Help",function(){a.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",title:"Keyboard Shortcuts",width:450,height:420,classes:"wp-help",buttons:{text:"Close",onclick:"close"}})}),a.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(a.id)}),a.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){a.execCommand("WP_More","more")}}),a.addButton("wp_page",{tooltip:"Page break",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),a.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),"undefined"!=typeof wp&&wp.media&&wp.media.editor&&a.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),a.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){a.execCommand("WP_More","more")}}),a.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.on("BeforeExecCommand",function(b){!tinymce.Env.webkit||"InsertUnorderedList"!==b.command&&"InsertOrderedList"!==b.command||(e||(e=a.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")),a.getDoc().head.appendChild(e))}),a.on("ExecCommand",function(b){tinymce.Env.webkit&&e&&("InsertUnorderedList"===b.command||"InsertOrderedList"===b.command)&&a.dom.remove(e)}),a.on("init",function(){var b=tinymce.Env,c=["mceContentBody"],d=a.getDoc(),e=a.dom;tinymce.Env.iOS&&e.addClass(d.documentElement,"ios"),"rtl"===a.getParam("directionality")&&(c.push("rtl"),e.setAttrib(d.documentElement,"dir","rtl")),b.ie?9===parseInt(b.ie,10)?c.push("ie9"):8===parseInt(b.ie,10)?c.push("ie8"):b.ie<8&&c.push("ie7"):b.webkit&&c.push("webkit"),c.push("wp-editor"),g(c,function(a){a&&e.addClass(d.body,a)}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>"),a.content=a.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>"))}),"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-init",[a]),window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&e.bind(d,"dragstart dragend dragover drop",function(a){"undefined"!=typeof window.jQuery&&window.jQuery(document).trigger(new window.jQuery.Event(a))}),a.getParam("wp_paste_filters",!0)&&(tinymce.Env.webkit||a.on("PastePreProcess",function(a){a.content=a.content.replace(/(<[^>]+) style="[^"]*"([^>]*>)/gi,"$1$2"),a.content=a.content.replace(/(<[^>]+) data-mce-style=([^>]+>)/gi,"$1 style=$2")}),a.on("PastePostProcess",function(a){g(e.select("p",a.node),function(a){e.isEmpty(a)&&e.remove(a)})}))}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==i&&((13===c||8===i||46===i)&&window.jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),i=c)}),a.on("SaveContent",function(b){return!a.inline&&a.isHidden()?void(b.content=b.element.value):(b.content=b.content.replace(/<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g,"<p>&nbsp;</p>"),void(a.getParam("wpautop",!0)&&"undefined"!=typeof window.switchEditors&&(b.content=window.switchEditors.pre_wpautop(b.content))))}),a.on("BeforeSetContent",function(a){var b=tinymce.Env.webkit?"<p><br /></p>":"<p></p>";a.content&&(a.content=a.content.replace(/<p>(?:&nbsp;|\u00a0|\uFEFF|\s)+<\/p>/gi,b))}),a.on("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b"),tinymce.Env.iOS&&(a.settings.height=300),g({c:"JustifyCenter",r:"JustifyRight",l:"JustifyLeft",j:"JustifyFull",q:"mceBlockQuote",u:"InsertUnorderedList",o:"InsertOrderedList",s:"unlink",m:"WP_Medialib",z:"WP_Adv",t:"WP_More",d:"Strikethrough",h:"WP_Help",p:"WP_Page",x:"WP_Code"},function(b,c){a.shortcuts.add("access+"+c,"",b)}),a.addShortcut("meta+s","",function(){"undefined"!=typeof wp&&wp.autosave&&wp.autosave.server.triggerSave()})}),function(){function b(b){function i(){k.hide()}function j(){var b,c,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=this.getEl(),z=5,A=8,B=0;if(d)return h=window.pageYOffset||document.documentElement.scrollTop,i=tinymce.$("#wpadminbar")[0],j=tinymce.$(".mce-toolbar-grp",a.getContainer())[0],k=d.getBoundingClientRect(),l=(k.left+k.right)/2,m=(k.top+k.bottom)/2,n=k.top,o=v-k.bottom,p=window.innerWidth,q=y.offsetWidth,r=q/2,s=document.getElementById(a.id+"_ifr"),t=f.getPos(s),u=s.offsetWidth,v=s.offsetHeight,w=y.offsetHeight,x=w+A+z,n>=x?(g=" mce-arrow-down",b=k.top+t.y-w-A):o>=x?(g=" mce-arrow-up",b=k.bottom+t.y):(b=z,g=m>=x?" mce-arrow-down":" mce-arrow-up"),e=j?f.getPos(j).y+j.clientHeight:t.y,h&&(i&&0===i.getBoundingClientRect().top&&(B=i.clientHeight),h+B>e&&(e=h+B)),b&&e&&e+z>b&&(b=e+z,g=""),c=l-r,c+=t.x,k.left<0||k.right>u?c=t.x+(u-q)/2:q>=p?(g+=" mce-arrow-full",c=0):0>c&&k.left+q>p||c+q>p&&k.right-q<0?c=(p-q)/2:c<t.x?(g+=" mce-arrow-left",c=k.left+t.x):c+q>u+t.x&&(g+=" mce-arrow-right",c=k.right-q+t.x),y.className=y.className.replace(/ ?mce-arrow-[\w]+/g,""),y.className+=g,f.setStyles(y,{left:c,top:b}),this}var k,l,m=[];return g(b,function(b){function c(){var c=a.selection;"bullist"===d&&c.selectorChanged("ul > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!==d&&"UL"!=d););b.active(a&&"UL"===d)}),"numlist"===d&&c.selectorChanged("ol > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!==d&&"UL"!==d););b.active(a&&"OL"===d)}),b.settings.stateSelector&&c.selectorChanged(b.settings.stateSelector,function(a){b.active(a)},!0),b.settings.disabledStateSelector&&c.selectorChanged(b.settings.disabledStateSelector,function(a){b.disabled(a)})}var d;"|"===b?l=null:e.has(b)?(b={type:b},h.toolbar_items_size&&(b.size=h.toolbar_items_size),m.push(b),l=null):(l||(l={type:"buttongroup",items:[]},m.push(l)),a.buttons[b]&&(d=b,b=a.buttons[d],"function"==typeof b&&(b=b()),b.type=b.type||"button",h.toolbar_items_size&&(b.size=h.toolbar_items_size),b=e.create(b),l.items.push(b),a.initialized?c():a.on("init",c)))}),k=e.create({type:"panel",layout:"stack",classes:"toolbar-grp inline-toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:[{type:"toolbar",layout:"flow",items:m}]}),k.on("show",function(){c=this,this.reposition()}),k.on("hide",function(){c=!1}),k.on("keydown",function(b){27===b.keyCode&&(this.hide(),a.focus())}),k.on("remove",function(){f.unbind(window,"resize scroll",i),a.dom.unbind(a.getWin(),"resize scroll",i),a.off("blur hide",i)}),a.once("init",function(){f.bind(window,"resize scroll",i),a.dom.bind(a.getWin(),"resize scroll",i),a.on("blur hide",i)}),k.reposition=j,k.hide().renderTo(document.body),k}var c,d,e=tinymce.ui.Factory,h=a.settings;a.shortcuts.add("alt+119","",function(){var a;c&&(a=c.find("toolbar")[0],a&&a.focus(!0))}),a.on("nodechange",function(b){var e=a.selection.isCollapsed(),f={element:b.element,parents:b.parents,collapsed:e};a.fire("wptoolbar",f),d=f.selection||f.element,c&&c.hide(),f.toolbar&&f.toolbar.show()}),a.wp=a.wp||{},a.wp._createToolbar=b}(),{_showButtons:c,_hideButtons:c,_setEmbed:c,_getEmbed:c}});
\ No newline at end of file
+!function(a){a.ui.FloatPanel.zIndex=100100,a.PluginManager.add("wordpress",function(b){function c(c){var d,f,i,j=0;f="hide"===c,b.theme.panel&&(i=b.theme.panel.find(".toolbar:not(.menubar)")),!i||i.length<2||"hide"===c&&!i[1].visible()||(!c&&i[1].visible()&&(c="hide"),h(i,function(a,b){b>0&&("hide"===c?(a.hide(),j+=30):(a.show(),j-=30))}),j&&!f&&(a.Env.iOS||(d=b.getContentAreaContainer().firstChild,g.setStyle(d,"height",d.clientHeight+j)),"hide"===c?(setUserSetting("hidetb","0"),e&&e.active(!1)):(setUserSetting("hidetb","1"),e&&e.active(!0))),b.fire("wp-toolbar-toggle"))}function d(){}var e,f,g=a.DOM,h=a.each,i=b.editorManager.i18n.translate,j=window.jQuery,k=window.wp,l=k&&k.editor&&k.editor.autop&&b.getParam("wpautop",!0);return j&&j(document).triggerHandler("tinymce-editor-setup",[b]),b.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){e=this,e.active("1"===getUserSetting("hidetb")?!0:!1)}}),b.on("PostRender",function(){b.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&c("hide")}),b.addCommand("WP_Adv",function(){c()}),b.on("focus",function(){window.wpActiveEditor=b.id}),b.on("BeforeSetContent",function(b){var c;b.content&&(-1!==b.content.indexOf("<!--more")&&(c=i("Read more..."),b.content=b.content.replace(/<!--more(.*?)-->/g,function(b,d){return'<img src="'+a.Env.transparentSrc+'" data-wp-more="more" data-wp-more-text="'+d+'" class="wp-more-tag mce-wp-more" title="'+c+'" data-mce-resize="false" data-mce-placeholder="1" />'})),-1!==b.content.indexOf("<!--nextpage-->")&&(c=i("Page break"),b.content=b.content.replace(/<!--nextpage-->/g,'<img src="'+a.Env.transparentSrc+'" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" title="'+c+'" data-mce-resize="false" data-mce-placeholder="1" />')),b.load&&"raw"!==b.format&&l&&(b.content=k.editor.autop(b.content)),b.content=b.content.replace(/<p>(?:&nbsp;|\u00a0|\uFEFF|\s)+<\/p>/gi,"<p><br /></p>"))}),b.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/<img[^>]+>/g,function(a){var b,c="";return-1!==a.indexOf('data-wp-more="more"')?((b=a.match(/data-wp-more-text="([^"]+)"/))&&(c=b[1]),a="<!--more"+c+"-->"):-1!==a.indexOf('data-wp-more="nextpage"')&&(a="<!--nextpage-->"),a}))}),b.on("ResolveName",function(a){var c;"IMG"===a.target.nodeName&&(c=b.dom.getAttrib(a.target,"data-wp-more"))&&(a.name=c)}),b.addCommand("WP_More",function(c){var d,e,f,g="wp-more-tag",h=b.dom,j=b.selection.getNode();return c=c||"more",g+=" mce-wp-"+c,f="more"===c?"Read more...":"Next page",f=i(f),e='<img src="'+a.Env.transparentSrc+'" title="'+f+'" class="'+g+'" data-wp-more="'+c+'" data-mce-resize="false" data-mce-placeholder="1" />',"BODY"===j.nodeName||"P"===j.nodeName&&"BODY"===j.parentNode.nodeName?void b.insertContent(e):(d=h.getParent(j,function(a){return a.parentNode&&"BODY"===a.parentNode.nodeName?!0:!1},b.getBody()),void(d&&("P"===d.nodeName?d.appendChild(h.create("p",null,e).firstChild):h.insertAfter(h.create("p",null,e),d),b.nodeChanged())))}),b.addCommand("WP_Code",function(){b.formatter.toggle("code")}),b.addCommand("WP_Page",function(){b.execCommand("WP_More","nextpage")}),b.addCommand("WP_Help",function(){function c(a){var b="<tr>";return h(a,function(a,c){b+=a?"<td><kbd>"+c+"</kbd></td><td>"+i(a)+"</td>":"<td></td><td></td>"}),b+"</tr>"}var d,e,f,g,j=i(a.Env.mac?"Ctrl + Alt + letter:":"Shift + Alt + letter:"),k=i(a.Env.mac?"Cmd + letter:":"Ctrl + letter:"),l=[],m=[];h([{c:"Copy",x:"Cut"},{v:"Paste",a:"Select all"},{z:"Undo",y:"Redo"},{b:"Bold",i:"Italic"},{u:"Underline",k:"Insert/edit link"}],function(a){l.push(c(a))}),h([{1:"Heading 1",2:"Heading 2"},{3:"Heading 3",4:"Heading 4"},{5:"Heading 5",6:"Heading 6"},{l:"Align left",c:"Align center"},{r:"Align right",j:"Justify"},{d:"Strikethrough",q:"Blockquote"},{u:"Bullet list",o:"Numbered list"},{a:"Insert/edit link",s:"Remove link"},{m:"Insert/edit image",t:"Insert Read More tag"},{h:"Keyboard Shortcuts",x:"Code"},{p:"Insert Page Break tag",w:"Distraction-free writing mode"}],function(a){m.push(c(a))}),d=[i("Letter"),i("Action"),i("Letter"),i("Action")],d="<tr><th>"+d.join("</th><th>")+"</th></tr>",e='<div class="wp-editor-help">',e=e+"<h2>"+i("Default shortcuts,")+" "+k+'</h2><table class="wp-help-th-center">'+d+l.join("")+"</table><h2>"+i("Additional shortcuts,")+" "+j+'</h2><table class="wp-help-th-center">'+d+m.join("")+"</table>",b.plugins.wptextpattern&&(e=e+"<h2>"+i("When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.")+"</h2><table>"+c({"*":"Bullet list"})+c({"-":"Bullet list"})+c({"1.":"Numbered list"})+c({"1)":"Numbered list"})+"</table>",e=e+"<h2>"+i("The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.")+"</h2><table>"+c({">":"Blockquote"})+c({"##":"Heading 2"})+c({"###":"Heading 3"})+c({"####":"Heading 4"})+c({"#####":"Heading 5"})+c({"######":"Heading 6"})+"</table>"),e=e+"<h2>"+i("Focus shortcuts:")+"</h2><table>"+c({"Alt + F8":"Inline toolbar (when an image, link or preview is selected)"})+c({"Alt + F9":"Editor menu (when enabled)"})+c({"Alt + F10":"Editor toolbar"})+c({"Alt + F11":"Elements path"})+"</table><p>"+i("To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.")+"</p>",e+="</div>",f=b.windowManager.open({title:"Keyboard Shortcuts",items:{type:"container",classes:"wp-help",html:e},buttons:{text:"Close",onclick:"close"}}),f.$el&&(f.$el.find('div[role="application"]').attr("role","document"),g=f.$el.find(".mce-wp-help"),g[0]&&(g.attr("tabindex","0"),g[0].focus(),g.on("keydown",function(a){a.keyCode>=33&&a.keyCode<=40&&a.stopPropagation()})))}),b.addCommand("WP_Medialib",function(){k&&k.media&&k.media.editor&&k.media.editor.open(b.id)}),b.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){b.execCommand("WP_More","more")}}),b.addButton("wp_page",{tooltip:"Page break",onclick:function(){b.execCommand("WP_More","nextpage")}}),b.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),b.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),k&&k.media&&k.media.editor&&b.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),b.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){b.execCommand("WP_More","more")}}),b.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){b.execCommand("WP_More","nextpage")}}),b.on("BeforeExecCommand",function(c){!a.Env.webkit||"InsertUnorderedList"!==c.command&&"InsertOrderedList"!==c.command||(f||(f=b.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")),b.getDoc().head.appendChild(f))}),b.on("ExecCommand",function(c){a.Env.webkit&&f&&("InsertUnorderedList"===c.command||"InsertOrderedList"===c.command)&&b.dom.remove(f)}),b.on("init",function(){var c=a.Env,d=["mceContentBody"],e=b.getDoc(),f=b.dom;c.iOS&&f.addClass(e.documentElement,"ios"),"rtl"===b.getParam("directionality")&&(d.push("rtl"),f.setAttrib(e.documentElement,"dir","rtl")),c.ie?9===parseInt(c.ie,10)?d.push("ie9"):8===parseInt(c.ie,10)?d.push("ie8"):c.ie<8&&d.push("ie7"):c.webkit&&d.push("webkit"),d.push("wp-editor"),h(d,function(a){a&&f.addClass(e.body,a)}),b.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre)( [^>]*)?>/gi,"<$1$2>").replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre)>\s*<\/p>/gi,"</$1>"))}),j&&j(document).triggerHandler("tinymce-editor-init",[b]),window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&f.bind(e,"dragstart dragend dragover drop",function(a){j&&j(document).trigger(new j.Event(a))}),b.getParam("wp_paste_filters",!0)&&(a.Env.webkit||b.on("PastePreProcess",function(a){a.content=a.content.replace(/(<[^>]+) style="[^"]*"([^>]*>)/gi,"$1$2"),a.content=a.content.replace(/(<[^>]+) data-mce-style=([^>]+>)/gi,"$1 style=$2")}),b.on("PastePostProcess",function(a){h(f.select("p",a.node),function(a){f.isEmpty(a)&&f.remove(a)})}))}),b.on("SaveContent",function(a){return!b.inline&&b.isHidden()?void(a.content=a.element.value):(a.content=a.content.replace(/<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g,"<p>&nbsp;</p>"),void(l&&(a.content=k.editor.removep(a.content))))}),b.on("preInit",function(){var c="@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b,script[src|async|defer|type|charset|crossorigin|integrity]";b.schema.addValidElements(c),a.Env.iOS&&(b.settings.height=300),h({c:"JustifyCenter",r:"JustifyRight",l:"JustifyLeft",j:"JustifyFull",q:"mceBlockQuote",u:"InsertUnorderedList",o:"InsertOrderedList",s:"unlink",m:"WP_Medialib",z:"WP_Adv",t:"WP_More",d:"Strikethrough",h:"WP_Help",p:"WP_Page",x:"WP_Code"},function(a,c){b.shortcuts.add("access+"+c,"",a)}),b.addShortcut("meta+s","",function(){k&&k.autosave&&k.autosave.server.triggerSave()})}),b.on("preinit",function(){function c(a,c){function d(){if(!f)return this;var a,b,c=window.pageXOffset||document.documentElement.scrollLeft,d=window.pageYOffset||document.documentElement.scrollTop,e=window.innerWidth,h=window.innerHeight,i=q?q.getBoundingClientRect():{top:0,right:e,bottom:h,left:0,width:e,height:h},m=this.getEl(),n=m.offsetWidth,o=m.offsetHeight,r=f.getBoundingClientRect(),s=(r.left+r.right)/2,t=5,u=8,v=o+u+t,w=p?p.getBoundingClientRect().bottom:0,x=j?j.getBoundingClientRect().bottom:0,y=k?h-k.getBoundingClientRect().top:0,z=l?h-l.getBoundingClientRect().top:0,A=Math.max(0,w,x,i.top),B=Math.max(0,y,z,h-i.bottom),C=r.top+i.top-A,D=h-i.top-r.bottom-B,E=h-A-B,F="";return C>=E||D>=E?this.hide():(this.bottom?D>=v?(F=" mce-arrow-up",a=r.bottom+i.top+d):C>=v&&(F=" mce-arrow-down",a=r.top+i.top+d-o-u):C>=v?(F=" mce-arrow-down",a=r.top+i.top+d-o-u):D>=v&&E/2>r.bottom+i.top-A&&(F=" mce-arrow-up",a=r.bottom+i.top+d),"undefined"==typeof a&&(a=d+A+t),b=s-n/2+i.left+c,r.left<0||r.right>i.width?b=i.left+c+(i.width-n)/2:n>=e?(F+=" mce-arrow-full",b=0):0>b&&r.left+n>e||b+n>e&&r.right-n<0?b=(e-n)/2:b<i.left+c?(F+=" mce-arrow-left",b=r.left+i.left+c):b+n>i.width+i.left+c&&(F+=" mce-arrow-right",b=r.right-n+i.left+c),m.className=m.className.replace(/ ?mce-arrow-[\w]+/g,"")+F,g.setStyles(m,{left:b,top:a}),this)}var e,i,o=[];return h(a,function(a){function c(){var c=b.selection;"bullist"===d&&c.selectorChanged("ul > li",function(b,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!==d&&"UL"!=d););a.active(b&&"UL"===d)}),"numlist"===d&&c.selectorChanged("ol > li",function(b,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!==d&&"UL"!==d););a.active(b&&"OL"===d)}),a.settings.stateSelector&&c.selectorChanged(a.settings.stateSelector,function(b){a.active(b)},!0),a.settings.disabledStateSelector&&c.selectorChanged(a.settings.disabledStateSelector,function(b){a.disabled(b)})}var d;"|"===a?i=null:m.has(a)?(a={type:a},n.toolbar_items_size&&(a.size=n.toolbar_items_size),o.push(a),i=null):(i||(i={type:"buttongroup",items:[]},o.push(i)),b.buttons[a]&&(d=a,a=b.buttons[d],"function"==typeof a&&(a=a()),a.type=a.type||"button",n.toolbar_items_size&&(a.size=n.toolbar_items_size),a=m.create(a),i.items.push(a),b.initialized?c():b.on("init",c)))}),e=m.create({type:"panel",layout:"stack",classes:"toolbar-grp inline-toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:[{type:"toolbar",layout:"flow",items:o}]}),e.bottom=c,e.on("show",function(){this.reposition()}),e.on("keydown",function(a){27===a.keyCode&&(this.hide(),b.focus())}),b.on("remove",function(){e.remove()}),e.reposition=d,e.hide().renderTo(document.body),e}function d(a){e&&(e.hide(),"hide"===a.type?e=!1:("resize"===a.type||"scroll"===a.type)&&(clearTimeout(i),i=setTimeout(function(){e&&"function"==typeof e.show&&e.show()},250)))}var e,f,i,j,k,l,m=a.ui.Factory,n=b.settings,o=b.getContainer(),p=document.getElementById("wpadminbar"),q=document.getElementById(b.id+"_ifr");o&&(j=a.$(".mce-toolbar-grp",o)[0],k=a.$(".mce-statusbar",o)[0]),"content"===b.id&&(l=document.getElementById("post-status-info")),b.shortcuts.add("alt+119","",function(){var a;e&&(a=e.find("toolbar")[0],a&&a.focus(!0))}),b.on("nodechange",function(a){var c=b.selection.isCollapsed(),d={element:a.element,parents:a.parents,collapsed:c};b.fire("wptoolbar",d),f=d.selection||d.element,e&&e.hide(),d.toolbar?(e=d.toolbar,e.show()):e=!1}),b.on("focus",function(){e&&e.show()}),g.bind(window,"resize scroll",d),b.dom.bind(b.getWin(),"resize scroll",d),b.on("remove",function(){g.unbind(window,"resize scroll",d),b.dom.unbind(b.getWin(),"resize scroll",d)}),b.on("blur hide",d),b.wp=b.wp||{},b.wp._createToolbar=c},!0),{_showButtons:d,_hideButtons:d,_setEmbed:d,_getEmbed:d}})}(window.tinymce);
\ No newline at end of file
index 025603b41ef91a4842669b90338ed49ff85c7fe7..662a92a1edfc202c60e45921ae75be0dcc597ac3 100644 (file)
@@ -2,6 +2,7 @@
 tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
        var toolbar, serializer,
                each = tinymce.each,
+               trim = tinymce.trim,
                iOS = tinymce.Env.iOS;
 
        function isPlaceholder( node ) {
@@ -95,8 +96,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 
        function parseShortcode( content ) {
                return content.replace( /(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function( a, b, c ) {
-                       var id, align, classes, caption, img, width,
-                               trim = tinymce.trim;
+                       var id, align, classes, caption, img, width;
 
                        id = b.match( /id=['"]([^'"]*)['"] ?/ );
                        if ( id ) {
@@ -525,12 +525,10 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
        }
 
        function removeImage( node ) {
-               var wrap;
+               var wrap = editor.dom.getParent( node, 'div.mceTemp' );
 
-               if ( node.nodeName === 'DIV' && editor.dom.hasClass( node, 'mceTemp' ) ) {
-                       wrap = node;
-               } else if ( node.nodeName === 'IMG' || node.nodeName === 'DT' || node.nodeName === 'A' ) {
-                       wrap = editor.dom.getParent( node, 'div.mceTemp' );
+               if ( ! wrap && node.nodeName === 'IMG' ) {
+                       wrap = editor.dom.getParent( node, 'a' );
                }
 
                if ( wrap ) {
@@ -865,7 +863,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
                                replacement = ' ' + align;
                        }
 
-                       node.className = node.className.replace( / ?align(left|center|right|none)/g, '' ) + replacement;
+                       node.className = trim( node.className.replace( / ?align(left|center|right|none)/g, '' ) + replacement );
 
                        editor.nodeChanged();
                        event.preventDefault();
index 806b8e389c73a95bcf2838a35e690868cf908437..5ffd43b7c129c8c6517e09dc48bddfebfa0741c2 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return!(!a.dom.getAttrib(b,"data-mce-placeholder")&&!a.dom.getAttrib(b,"data-mce-object"))}function c(b){return b.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j,k=tinymce.trim;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/class=['"]([^'"]*)['"] ?/),g&&(c=c.replace(g[0],"")),j=c.match(/width=['"]([0-9]*)['"] ?/),j&&(c=c.replace(j[0],"")),d=k(d),i=d.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=k(i[2]),i=k(i[1])):(h=k(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1].replace(/[<>&]+/g,""):"",f=f&&f[1]?f[1]:"alignnone",g=g&&g[1]?" "+g[1].replace(/[<>&]+/g,""):"",!j&&i&&(j=i.match(/width=['"]([0-9]*)['"]/)),j&&j[1]&&(j=j[1]),j&&h?(j=parseInt(j,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+g+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function d(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c="";return-1===b.indexOf("<img ")?(c=b.match(/<dd [^>]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"<p>"+c[1]+"</p>":""):(c=b.replace(/\s*<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(a,b,c,d){var e,f,g,h;return h=c.match(/width="([0-9]*)"/),h=h&&h[1]?h[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",g=f.match(/align[a-z]+/i)||"alignnone",h&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=f.replace(/wp-caption ?|align[a-z]+ ?/gi,""),f&&(f=' class="'+f+'"'),d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"<br />"),'[caption id="'+e+'" align="'+g+'" width="'+h+'"'+f+"]"+c+" "+d+"[/caption]"):("alignnone"!==g[0]&&(c=c.replace(/><img/,' class="'+g[0]+'"><img')),c)}),-1===c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function e(b){var c,d,e,f,g,h,i,j,k=[],l=a.dom,m=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=l.getAttrib(b,"src"),e.alt=l.getAttrib(b,"alt"),e.title=l.getAttrib(b,"title"),i=l.getAttrib(b,"width"),j=l.getAttrib(b,"height"),(!m.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!m.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=l.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)?e.align=a.replace("align",""):a&&"wp-caption"!==a&&k.push(a)}),e.captionClassName=k.join(" "),g=l.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=l.getAttrib(h,"href"),e.linkTargetBlank="_blank"===l.getAttrib(h,"target")?!0:!1,e.linkRel=l.getAttrib(h,"rel"),e.linkClassName=h.className),e}function f(a){return a&&!(!a.textContent&&!a.innerText)}function g(b){return!b||-1===b.indexOf("<")&&-1===b.indexOf(">")?b:(l||(l=new tinymce.html.Serializer({},a.schema)),l.serialize(a.parser.parse(b,{forced_root_block:!1})))}function h(b,c){var d,e,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},v.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?c.linkUrl?v.setAttribs(b.parentNode,r):v.remove(b.parentNode,!0):c.linkUrl&&((l=v.getParent(b,"a"))&&v.insertAfter(b,l),l=v.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),h=b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?b.parentNode:b,c.caption?(c.caption=g(c.caption),p=c.attachment_id?"attachment_"+c.attachment_id:null,u="align"+(c.align||"none"),e="wp-caption "+u,c.captionClassName&&(e+=" "+c.captionClassName.replace(/[<>&]+/g,"")),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=v.select("dl.wp-caption",m),o.length&&v.setAttribs(o,{id:p,"class":e,style:"width: "+s+"px"}),n=v.select(".wp-caption-dd",m),n.length&&v.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",i="<dl "+p+'class="'+e+'" style="width: '+s+'px"><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",k=v.create("div",{"class":"mceTemp"},i),(j=v.getParent(h,"p"))?j.parentNode.insertBefore(k,j):h.parentNode.insertBefore(k,h),a.$(k).find("dt.wp-caption-dt").append(h),j&&v.isEmpty(j)&&v.remove(j))):m&&(j=v.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(h),v.remove(m)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged()}function i(b){var c,d,f;return"undefined"!=typeof wp&&wp.media?(f=e(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:f,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:f}),wp.media.events.trigger("editor:frame-create",{frame:c}),d=function(d){a.focus(),a.undoManager.transact(function(){h(b,d)}),c.detach()},c.state("image-details").on("update",d),c.state("replace-image").on("replace",d),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function j(b){var c;"DIV"===b.nodeName&&a.dom.hasClass(b,"mceTemp")?c=b:("IMG"===b.nodeName||"DT"===b.nodeName||"A"===b.nodeName)&&(c=a.dom.getParent(b,"div.mceTemp")),c?(a.selection.select(c.nextSibling?c.nextSibling:c.previousSibling?c.previousSibling:c.parentNode),a.selection.collapse(!0),a.dom.remove(c)):a.dom.remove(b),a.nodeChanged(),a.undoManager.add()}var k,l,m=tinymce.each,n=tinymce.Env.iOS;return a.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){j(a.selection.getNode())}}),a.addButton("wp_img_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){i(a.selection.getNode())}}),m({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(b,c){var d=c.slice(5);a.addButton("wp_img_"+c,{tooltip:b,icon:"dashicon dashicons-align-"+d,cmd:"alignnone"===c?"wpAlignNone":"Justify"+d.slice(0,1).toUpperCase()+d.slice(1),onPostRender:function(){var b=this;a.on("NodeChange",function(d){var e;"IMG"===d.element.nodeName&&(e=a.dom.getParent(d.element,".wp-caption")||d.element,b.active("alignnone"===c?!/\balign(left|center|right)\b/.test(e.className):a.dom.hasClass(e,c)))})}})}),a.once("preinit",function(){k=a.wp._createToolbar(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"])}),a.on("wptoolbar",function(a){"IMG"!==a.element.nodeName||b(a.element)||(a.toolbar=k)}),n&&a.on("click",function(b){if("IMG"===b.target.nodeName){var c=b.target;window.setTimeout(function(){a.selection.select(c),a.nodeChanged()},200)}else k.hide()}),a.on("init",function(){var b=a.dom,c=a.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";b.addClass(a.getBody(),c),a.on("wpLoadImageForm",function(b){if(!a.getParam("wpeditimage_disable_captions")){var c={type:"textbox",flex:1,name:"caption",minHeight:60,multiline:!0,scroll:!0,label:"Image caption"};b.data.splice(b.data.length-1,0,c)}}),a.on("wpNewImageRefresh",function(a){var c,d;(c=b.getParent(a.node,"dl.wp-caption"))&&(c.style.width||(d=parseInt(a.node.clientWidth,10)+10,d=d?d+"px":"50%",b.setStyle(c,"width",d)))}),a.on("wpImageFormSubmit",function(c){var d,e,f,h,i,j=c.imgData.data,k=c.imgData.node,l=c.imgData.caption,m="",n="",o="";return j.id="__wp-temp-img-id",c.imgData.cancel=!0,j.style||(j.style=null),j.src?(l&&(l=l.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),l=l.replace(/(<br[^>]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"<br />"),l=g(l)),k?(i=k.id||null,b.setAttribs(k,j),d=b.getParent(k,"dl.wp-caption"),l?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=l):(k.className&&(m=k.className.match(/wp-image-([0-9]+)/),n=k.className.match(/align(left|right|center|none)/)),n?(n=n[0],k.className=k.className.replace(/align(left|right|center|none)/g,"")):n="alignnone",n=' class="wp-caption '+n+'"',m&&(m=' id="attachment_'+m[1]+'"'),o=j.width||k.clientWidth,o&&(o=parseInt(o,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),f=k.parentNode&&"A"===k.parentNode.nodeName?k.parentNode:k,h="<dl "+m+n+o+'><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+l+"</dd></dl>",d=b.create("div",{"class":"mceTemp"},h),(e=b.getParent(f,"p"))?e.parentNode.insertBefore(d,e):f.parentNode.insertBefore(d,f),a.$(d).find("dt.wp-caption-dt").append(f),e&&b.isEmpty(e)&&b.remove(e)):d&&(h=b.getOuterHTML("A"===k.parentNode.nodeName?k.parentNode:k),e=b.create("p",{},h),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(h=b.createHTML("img",j),l?(f=a.selection.getNode(),j.width&&(o=parseInt(j.width,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),h='<dl class="wp-caption alignnone"'+o+'><dt class="wp-caption-dt">'+h+'</dt><dd class="wp-caption-dd">'+l+"</dd></dl>",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},h),e.parentNode.insertBefore(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+h+"</div>")):a.selection.setContent(h)),k=b.get("__wp-temp-img-id"),b.setAttrib(k,"id",i),void(c.imgData.node=k)):void(k&&(b.remove((d=b.getParent(k,"div.mceTemp"))?d:"A"===k.parentNode.nodeName?k.parentNode:k),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.caption=a.serializer.serialize(d).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,"")))}),b.bind(a.getDoc(),"dragstart",function(c){var d=a.selection.getNode();"IMG"===d.nodeName&&b.getParent(d,".wp-caption")&&c.preventDefault()}),tinymce.Env.ie&&tinymce.Env.ie>10&&b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()})}),a.on("ObjectResized",function(b){var c=b.target;"IMG"===c.nodeName&&a.undoManager.transact(function(){var d,e,f=a.dom;c.className=c.className.replace(/\bsize-[^ ]+/,""),(d=f.getParent(c,".wp-caption"))&&(e=b.width||f.getAttrib(c,"width"),e&&(e=parseInt(e,10),a.getParam("wpeditimage_html5_captions")||(e+=10),f.setStyle(d,"width",e+"px")))})}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g,h=b.command,i=a.dom;if("mceInsertContent"===h)(c=i.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=i.create("p"),i.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged());else if("JustifyLeft"===h||"JustifyRight"===h||"JustifyCenter"===h||"wpAlignNone"===h){if(c=a.selection.getNode(),f="align"+h.slice(7).toLowerCase(),e=a.dom.getParent(c,".wp-caption"),"IMG"!==c.nodeName&&!e)return;c=e||c,g=a.dom.hasClass(c,f)?" alignnone":" "+f,c.className=c.className.replace(/ ?align(left|center|right|none)/g,"")+g,a.nodeChanged(),b.preventDefault(),k&&k.reposition(),a.fire("ExecCommand",{command:h,ui:b.ui,value:b.value})}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,h=b.keyCode,i=a.dom,k=tinymce.util.VK;if(h===k.ENTER)c=g.getNode(),d=i.getParent(c,"div.mceTemp"),d&&(i.events.cancel(b),tinymce.each(i.select("dt, dd",d),function(a){i.isEmpty(a)&&i.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />',e=i.create("p",null,f),"DD"===c.nodeName?i.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if((h===k.DELETE||h===k.BACKSPACE)&&(c=g.getNode(),"DIV"===c.nodeName&&i.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=i.getParent(c,"div.mceTemp")),d))return i.events.cancel(b),j(c),!1}),tinymce.Env.gecko&&a.on("undo redo",function(){"IMG"===a.selection.getNode().nodeName&&a.selection.collapse()}),a.wpSetImgCaption=function(a){return c(a)},a.wpGetImgCaption=function(a){return d(a)},a.on("BeforeSetContent",function(b){"raw"!==b.format&&(b.content=a.wpSetImgCaption(b.content))}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),a.wp=a.wp||{},a.wp.isPlaceholder=b,{_do_shcode:c,_get_shcode:d}});
\ No newline at end of file
+tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return!(!a.dom.getAttrib(b,"data-mce-placeholder")&&!a.dom.getAttrib(b,"data-mce-object"))}function c(b){return b.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/class=['"]([^'"]*)['"] ?/),g&&(c=c.replace(g[0],"")),j=c.match(/width=['"]([0-9]*)['"] ?/),j&&(c=c.replace(j[0],"")),d=n(d),i=d.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=n(i[2]),i=n(i[1])):(h=n(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1].replace(/[<>&]+/g,""):"",f=f&&f[1]?f[1]:"alignnone",g=g&&g[1]?" "+g[1].replace(/[<>&]+/g,""):"",!j&&i&&(j=i.match(/width=['"]([0-9]*)['"]/)),j&&j[1]&&(j=j[1]),j&&h?(j=parseInt(j,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+g+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function d(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c="";return-1===b.indexOf("<img ")?(c=b.match(/<dd [^>]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"<p>"+c[1]+"</p>":""):(c=b.replace(/\s*<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(a,b,c,d){var e,f,g,h;return h=c.match(/width="([0-9]*)"/),h=h&&h[1]?h[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",g=f.match(/align[a-z]+/i)||"alignnone",h&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=f.replace(/wp-caption ?|align[a-z]+ ?/gi,""),f&&(f=' class="'+f+'"'),d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"<br />"),'[caption id="'+e+'" align="'+g+'" width="'+h+'"'+f+"]"+c+" "+d+"[/caption]"):("alignnone"!==g[0]&&(c=c.replace(/><img/,' class="'+g[0]+'"><img')),c)}),-1===c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function e(b){var c,d,e,f,g,h,i,j,k=[],l=a.dom,m=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=l.getAttrib(b,"src"),e.alt=l.getAttrib(b,"alt"),e.title=l.getAttrib(b,"title"),i=l.getAttrib(b,"width"),j=l.getAttrib(b,"height"),(!m.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!m.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=l.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)?e.align=a.replace("align",""):a&&"wp-caption"!==a&&k.push(a)}),e.captionClassName=k.join(" "),g=l.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=l.getAttrib(h,"href"),e.linkTargetBlank="_blank"===l.getAttrib(h,"target")?!0:!1,e.linkRel=l.getAttrib(h,"rel"),e.linkClassName=h.className),e}function f(a){return a&&!(!a.textContent&&!a.innerText)}function g(b){return!b||-1===b.indexOf("<")&&-1===b.indexOf(">")?b:(l||(l=new tinymce.html.Serializer({},a.schema)),l.serialize(a.parser.parse(b,{forced_root_block:!1})))}function h(b,c){var d,e,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},v.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?c.linkUrl?v.setAttribs(b.parentNode,r):v.remove(b.parentNode,!0):c.linkUrl&&((l=v.getParent(b,"a"))&&v.insertAfter(b,l),l=v.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),h=b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?b.parentNode:b,c.caption?(c.caption=g(c.caption),p=c.attachment_id?"attachment_"+c.attachment_id:null,u="align"+(c.align||"none"),e="wp-caption "+u,c.captionClassName&&(e+=" "+c.captionClassName.replace(/[<>&]+/g,"")),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=v.select("dl.wp-caption",m),o.length&&v.setAttribs(o,{id:p,"class":e,style:"width: "+s+"px"}),n=v.select(".wp-caption-dd",m),n.length&&v.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",i="<dl "+p+'class="'+e+'" style="width: '+s+'px"><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",k=v.create("div",{"class":"mceTemp"},i),(j=v.getParent(h,"p"))?j.parentNode.insertBefore(k,j):h.parentNode.insertBefore(k,h),a.$(k).find("dt.wp-caption-dt").append(h),j&&v.isEmpty(j)&&v.remove(j))):m&&(j=v.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(h),v.remove(m)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged()}function i(b){var c,d,f;return"undefined"!=typeof wp&&wp.media?(f=e(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:f,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:f}),wp.media.events.trigger("editor:frame-create",{frame:c}),d=function(d){a.focus(),a.undoManager.transact(function(){h(b,d)}),c.detach()},c.state("image-details").on("update",d),c.state("replace-image").on("replace",d),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function j(b){var c=a.dom.getParent(b,"div.mceTemp");c||"IMG"!==b.nodeName||(c=a.dom.getParent(b,"a")),c?(c.nextSibling?a.selection.select(c.nextSibling):c.previousSibling?a.selection.select(c.previousSibling):a.selection.select(c.parentNode),a.selection.collapse(!0),a.dom.remove(c)):a.dom.remove(b),a.nodeChanged(),a.undoManager.add()}var k,l,m=tinymce.each,n=tinymce.trim,o=tinymce.Env.iOS;return a.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){j(a.selection.getNode())}}),a.addButton("wp_img_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){i(a.selection.getNode())}}),m({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(b,c){var d=c.slice(5);a.addButton("wp_img_"+c,{tooltip:b,icon:"dashicon dashicons-align-"+d,cmd:"alignnone"===c?"wpAlignNone":"Justify"+d.slice(0,1).toUpperCase()+d.slice(1),onPostRender:function(){var b=this;a.on("NodeChange",function(d){var e;"IMG"===d.element.nodeName&&(e=a.dom.getParent(d.element,".wp-caption")||d.element,"alignnone"===c?b.active(!/\balign(left|center|right)\b/.test(e.className)):b.active(a.dom.hasClass(e,c)))})}})}),a.once("preinit",function(){k=a.wp._createToolbar(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"])}),a.on("wptoolbar",function(a){"IMG"!==a.element.nodeName||b(a.element)||(a.toolbar=k)}),o&&a.on("click",function(b){if("IMG"===b.target.nodeName){var c=b.target;window.setTimeout(function(){a.selection.select(c),a.nodeChanged()},200)}else k.hide()}),a.on("init",function(){var b=a.dom,c=a.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";b.addClass(a.getBody(),c),a.on("wpLoadImageForm",function(b){if(!a.getParam("wpeditimage_disable_captions")){var c={type:"textbox",flex:1,name:"caption",minHeight:60,multiline:!0,scroll:!0,label:"Image caption"};b.data.splice(b.data.length-1,0,c)}}),a.on("wpNewImageRefresh",function(a){var c,d;(c=b.getParent(a.node,"dl.wp-caption"))&&(c.style.width||(d=parseInt(a.node.clientWidth,10)+10,d=d?d+"px":"50%",b.setStyle(c,"width",d)))}),a.on("wpImageFormSubmit",function(c){var d,e,f,h,i,j=c.imgData.data,k=c.imgData.node,l=c.imgData.caption,m="",n="",o="";return j.id="__wp-temp-img-id",c.imgData.cancel=!0,j.style||(j.style=null),j.src?(l&&(l=l.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),l=l.replace(/(<br[^>]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"<br />"),l=g(l)),k?(i=k.id||null,b.setAttribs(k,j),d=b.getParent(k,"dl.wp-caption"),l?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=l):(k.className&&(m=k.className.match(/wp-image-([0-9]+)/),n=k.className.match(/align(left|right|center|none)/)),n?(n=n[0],k.className=k.className.replace(/align(left|right|center|none)/g,"")):n="alignnone",n=' class="wp-caption '+n+'"',m&&(m=' id="attachment_'+m[1]+'"'),o=j.width||k.clientWidth,o&&(o=parseInt(o,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),f=k.parentNode&&"A"===k.parentNode.nodeName?k.parentNode:k,h="<dl "+m+n+o+'><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+l+"</dd></dl>",d=b.create("div",{"class":"mceTemp"},h),(e=b.getParent(f,"p"))?e.parentNode.insertBefore(d,e):f.parentNode.insertBefore(d,f),a.$(d).find("dt.wp-caption-dt").append(f),e&&b.isEmpty(e)&&b.remove(e)):d&&(h="A"===k.parentNode.nodeName?b.getOuterHTML(k.parentNode):b.getOuterHTML(k),e=b.create("p",{},h),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(h=b.createHTML("img",j),l?(f=a.selection.getNode(),j.width&&(o=parseInt(j.width,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),h='<dl class="wp-caption alignnone"'+o+'><dt class="wp-caption-dt">'+h+'</dt><dd class="wp-caption-dd">'+l+"</dd></dl>",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},h),e.parentNode.insertBefore(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+h+"</div>")):a.selection.setContent(h)),k=b.get("__wp-temp-img-id"),b.setAttrib(k,"id",i),void(c.imgData.node=k)):void(k&&((d=b.getParent(k,"div.mceTemp"))?b.remove(d):"A"===k.parentNode.nodeName?b.remove(k.parentNode):b.remove(k),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.caption=a.serializer.serialize(d).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,"")))}),b.bind(a.getDoc(),"dragstart",function(c){var d=a.selection.getNode();"IMG"===d.nodeName&&b.getParent(d,".wp-caption")&&c.preventDefault()}),tinymce.Env.ie&&tinymce.Env.ie>10&&b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()})}),a.on("ObjectResized",function(b){var c=b.target;"IMG"===c.nodeName&&a.undoManager.transact(function(){var d,e,f=a.dom;c.className=c.className.replace(/\bsize-[^ ]+/,""),(d=f.getParent(c,".wp-caption"))&&(e=b.width||f.getAttrib(c,"width"),e&&(e=parseInt(e,10),a.getParam("wpeditimage_html5_captions")||(e+=10),f.setStyle(d,"width",e+"px")))})}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g,h=b.command,i=a.dom;if("mceInsertContent"===h)(c=i.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=i.create("p"),i.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged());else if("JustifyLeft"===h||"JustifyRight"===h||"JustifyCenter"===h||"wpAlignNone"===h){if(c=a.selection.getNode(),f="align"+h.slice(7).toLowerCase(),e=a.dom.getParent(c,".wp-caption"),"IMG"!==c.nodeName&&!e)return;c=e||c,g=a.dom.hasClass(c,f)?" alignnone":" "+f,c.className=n(c.className.replace(/ ?align(left|center|right|none)/g,"")+g),a.nodeChanged(),b.preventDefault(),k&&k.reposition(),a.fire("ExecCommand",{command:h,ui:b.ui,value:b.value})}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,h=b.keyCode,i=a.dom,k=tinymce.util.VK;if(h===k.ENTER)c=g.getNode(),d=i.getParent(c,"div.mceTemp"),d&&(i.events.cancel(b),tinymce.each(i.select("dt, dd",d),function(a){i.isEmpty(a)&&i.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />',e=i.create("p",null,f),"DD"===c.nodeName?i.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if((h===k.DELETE||h===k.BACKSPACE)&&(c=g.getNode(),"DIV"===c.nodeName&&i.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=i.getParent(c,"div.mceTemp")),d))return i.events.cancel(b),j(c),!1}),tinymce.Env.gecko&&a.on("undo redo",function(){"IMG"===a.selection.getNode().nodeName&&a.selection.collapse()}),a.wpSetImgCaption=function(a){return c(a)},a.wpGetImgCaption=function(a){return d(a)},a.on("BeforeSetContent",function(b){"raw"!==b.format&&(b.content=a.wpSetImgCaption(b.content))}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),a.wp=a.wp||{},a.wp.isPlaceholder=b,{_do_shcode:c,_get_shcode:d}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js b/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
deleted file mode 100644 (file)
index b06bcb9..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* global tinymce */
-/**
- * WP Fullscreen (Distraction-Free Writing) TinyMCE plugin
- */
-tinymce.PluginManager.add( 'wpfullscreen', function( editor ) {
-       var settings = editor.settings;
-
-       function fullscreenOn() {
-               settings.wp_fullscreen = true;
-               editor.dom.addClass( editor.getDoc().documentElement, 'wp-fullscreen' );
-               // Start auto-resizing
-               editor.execCommand( 'wpAutoResizeOn' );
-       }
-
-       function fullscreenOff() {
-               settings.wp_fullscreen = false;
-               editor.dom.removeClass( editor.getDoc().documentElement, 'wp-fullscreen' );
-               // Stop auto-resizing
-               editor.execCommand( 'wpAutoResizeOff' );
-       }
-
-       // For use from outside the editor.
-       editor.addCommand( 'wpFullScreenOn', fullscreenOn );
-       editor.addCommand( 'wpFullScreenOff', fullscreenOff );
-
-       function getExtAPI() {
-               return ( typeof wp !== 'undefined' && wp.editor && wp.editor.fullscreen );
-       }
-
-       // Toggle DFW mode. For use from inside the editor.
-       function toggleFullscreen() {
-               var fullscreen = getExtAPI();
-
-               if ( fullscreen ) {
-                       if ( editor.getParam('wp_fullscreen') ) {
-                               fullscreen.off();
-                       } else {
-                               fullscreen.on();
-                       }
-               }
-       }
-
-       editor.addCommand( 'wpFullScreen', toggleFullscreen );
-
-       editor.on( 'keydown', function( event ) {
-               var fullscreen;
-
-               // Turn fullscreen off when Esc is pressed.
-               if ( event.keyCode === 27 && ( fullscreen = getExtAPI() ) && fullscreen.settings.visible ) {
-                       fullscreen.off();
-               }
-       });
-
-       editor.on( 'init', function() {
-               // Set the editor when initializing from whitin DFW
-               if ( editor.getParam('wp_fullscreen') ) {
-                       fullscreenOn();
-               }
-       });
-
-       // Register buttons
-       editor.addButton( 'wp_fullscreen', {
-               tooltip: 'Distraction-free writing mode',
-               shortcut: 'Alt+Shift+W',
-               onclick: toggleFullscreen,
-               classes: 'wp-fullscreen btn widget' // This overwrites all classes on the container!
-       });
-
-       editor.addMenuItem( 'wp_fullscreen', {
-               text: 'Distraction-free writing mode',
-               icon: 'wp_fullscreen',
-               shortcut: 'Alt+Shift+W',
-               context: 'view',
-               onclick: toggleFullscreen
-       });
-});
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js b/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js
deleted file mode 100644 (file)
index a0db9c7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-tinymce.PluginManager.add("wpfullscreen",function(a){function b(){f.wp_fullscreen=!0,a.dom.addClass(a.getDoc().documentElement,"wp-fullscreen"),a.execCommand("wpAutoResizeOn")}function c(){f.wp_fullscreen=!1,a.dom.removeClass(a.getDoc().documentElement,"wp-fullscreen"),a.execCommand("wpAutoResizeOff")}function d(){return"undefined"!=typeof wp&&wp.editor&&wp.editor.fullscreen}function e(){var b=d();b&&(a.getParam("wp_fullscreen")?b.off():b.on())}var f=a.settings;a.addCommand("wpFullScreenOn",b),a.addCommand("wpFullScreenOff",c),a.addCommand("wpFullScreen",e),a.on("keydown",function(a){var b;27===a.keyCode&&(b=d())&&b.settings.visible&&b.off()}),a.on("init",function(){a.getParam("wp_fullscreen")&&b()}),a.addButton("wp_fullscreen",{tooltip:"Distraction-free writing mode",shortcut:"Alt+Shift+W",onclick:e,classes:"wp-fullscreen btn widget"}),a.addMenuItem("wp_fullscreen",{text:"Distraction-free writing mode",icon:"wp_fullscreen",shortcut:"Alt+Shift+W",context:"view",onclick:e})});
\ No newline at end of file
index f4b2747ac53a0637ba1db63b92c05df6c9c2d90f..17d40a23bf0cea78379aedea1552e96f149cb8ac 100644 (file)
-/* global tinymce */
-tinymce.PluginManager.add( 'wplink', function( editor ) {
-       editor.addCommand( 'WP_Link', function() {
-               window.wpLink && window.wpLink.open( editor.id );
-       });
-
-       // WP default shortcut
-       editor.addShortcut( 'Alt+Shift+A', '', 'WP_Link' );
-       // The "de-facto standard" shortcut, see #27305
-       editor.addShortcut( 'Meta+K', '', 'WP_Link' );
-
-       editor.addButton( 'link', {
-               icon: 'link',
-               tooltip: 'Insert/edit link',
-               cmd: 'WP_Link',
-               stateSelector: 'a[href]'
-       });
-
-       editor.addButton( 'unlink', {
-               icon: 'unlink',
-               tooltip: 'Remove link',
-               cmd: 'unlink'
-       });
-
-       editor.addMenuItem( 'link', {
-               icon: 'link',
-               text: 'Insert/edit link',
-               cmd: 'WP_Link',
-               stateSelector: 'a[href]',
-               context: 'insert',
-               prependToContext: true
-       });
-
-       editor.on( 'pastepreprocess', function( event ) {
-               var pastedStr = event.content;
-
-               if ( ! editor.selection.isCollapsed() ) {
-                       pastedStr = pastedStr.replace( /<[^>]+>/g, '' );
-                       pastedStr = tinymce.trim( pastedStr );
-
-                       if ( /^(?:https?:)?\/\/\S+$/i.test( pastedStr ) ) {
-                               editor.execCommand( 'mceInsertLink', false, {
-                                       href: editor.dom.decode( pastedStr )
-                               } );
+( function( tinymce ) {
+       tinymce.ui.WPLinkPreview = tinymce.ui.Control.extend( {
+               url: '#',
+               renderHtml: function() {
+                       return (
+                               '<div id="' + this._id + '" class="wp-link-preview">' +
+                                       '<a href="' + this.url + '" target="_blank" tabindex="-1">' + this.url + '</a>' +
+                               '</div>'
+                       );
+               },
+               setURL: function( url ) {
+                       var index, lastIndex;
+
+                       if ( this.url !== url ) {
+                               this.url = url;
+
+                               url = window.decodeURIComponent( url );
+
+                               url = url.replace( /^(?:https?:)?\/\/(?:www\.)?/, '' );
+
+                               if ( ( index = url.indexOf( '?' ) ) !== -1 ) {
+                                       url = url.slice( 0, index );
+                               }
+
+                               if ( ( index = url.indexOf( '#' ) ) !== -1 ) {
+                                       url = url.slice( 0, index );
+                               }
+
+                               url = url.replace( /(?:index)?\.html$/, '' );
+
+                               if ( url.charAt( url.length - 1 ) === '/' ) {
+                                       url = url.slice( 0, -1 );
+                               }
 
-                               event.preventDefault();
+                               // If the URL is longer that 40 chars, concatenate the beginning (after the domain) and ending with ...
+                               if ( url.length > 40 && ( index = url.indexOf( '/' ) ) !== -1 && ( lastIndex = url.lastIndexOf( '/' ) ) !== -1 && lastIndex !== index ) {
+                                       // If the beginning + ending are shorter that 40 chars, show more of the ending
+                                       if ( index + url.length - lastIndex < 40 ) {
+                                               lastIndex =  -( 40 - ( index + 1 ) );
+                                       }
+
+                                       url = url.slice( 0, index + 1 ) + '\u2026' + url.slice( lastIndex );
+                               }
+
+                               tinymce.$( this.getEl().firstChild ).attr( 'href', this.url ).text( url );
                        }
                }
        } );
-});
+
+       tinymce.PluginManager.add( 'wplink', function( editor ) {
+               var toolbar;
+
+               editor.addCommand( 'WP_Link', function() {
+                       window.wpLink && window.wpLink.open( editor.id );
+               });
+
+               // WP default shortcut
+               editor.addShortcut( 'Alt+Shift+A', '', 'WP_Link' );
+               // The "de-facto standard" shortcut, see #27305
+               editor.addShortcut( 'Meta+K', '', 'WP_Link' );
+
+               editor.addButton( 'link', {
+                       icon: 'link',
+                       tooltip: 'Insert/edit link',
+                       cmd: 'WP_Link',
+                       stateSelector: 'a[href]'
+               });
+
+               editor.addButton( 'unlink', {
+                       icon: 'unlink',
+                       tooltip: 'Remove link',
+                       cmd: 'unlink'
+               });
+
+               editor.addMenuItem( 'link', {
+                       icon: 'link',
+                       text: 'Insert/edit link',
+                       cmd: 'WP_Link',
+                       stateSelector: 'a[href]',
+                       context: 'insert',
+                       prependToContext: true
+               });
+
+               editor.on( 'pastepreprocess', function( event ) {
+                       var pastedStr = event.content,
+                               regExp = /^(?:https?:)?\/\/\S+$/i;
+
+                       if ( ! editor.selection.isCollapsed() && ! regExp.test( editor.selection.getContent() ) ) {
+                               pastedStr = pastedStr.replace( /<[^>]+>/g, '' );
+                               pastedStr = tinymce.trim( pastedStr );
+
+                               if ( regExp.test( pastedStr ) ) {
+                                       editor.execCommand( 'mceInsertLink', false, {
+                                               href: editor.dom.decode( pastedStr )
+                                       } );
+
+                                       event.preventDefault();
+                               }
+                       }
+               } );
+
+               editor.addButton( 'wp_link_preview', {
+                       type: 'WPLinkPreview',
+                       onPostRender: function() {
+                               var self = this;
+
+                               editor.on( 'wptoolbar', function( event ) {
+                                       var anchor = editor.dom.getParent( event.element, 'a' ),
+                                               $anchor,
+                                               href;
+
+                                       if ( anchor ) {
+                                               $anchor = editor.$( anchor );
+                                               href = $anchor.attr( 'href' );
+
+                                               if ( href && ! $anchor.find( 'img' ).length ) {
+                                                       self.setURL( href );
+                                                       event.element = anchor;
+                                                       event.toolbar = toolbar;
+                                               }
+                                       }
+                               } );
+                       }
+               } );
+
+               editor.addButton( 'wp_link_edit', {
+                       tooltip: 'Edit ', // trailing space is needed, used for context
+                       icon: 'dashicon dashicons-edit',
+                       cmd: 'WP_Link'
+               } );
+
+               editor.addButton( 'wp_link_remove', {
+                       tooltip: 'Remove',
+                       icon: 'dashicon dashicons-no',
+                       cmd: 'unlink'
+               } );
+
+               editor.on( 'preinit', function() {
+                       toolbar = editor.wp._createToolbar( [
+                               'wp_link_preview',
+                               'wp_link_edit',
+                               'wp_link_remove'
+                       ], true );
+               } );
+       } );
+} )( window.tinymce );
index 35868b9d52efa8a7ed6ecc9077f81f768242fc8d..0915a08801a69e4bbed20a2bb16192a1d5086433 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("wplink",function(a){a.addCommand("WP_Link",function(){window.wpLink&&window.wpLink.open(a.id)}),a.addShortcut("Alt+Shift+A","","WP_Link"),a.addShortcut("Meta+K","","WP_Link"),a.addButton("link",{icon:"link",tooltip:"Insert/edit link",cmd:"WP_Link",stateSelector:"a[href]"}),a.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink"}),a.addMenuItem("link",{icon:"link",text:"Insert/edit link",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0}),a.on("pastepreprocess",function(b){var c=b.content;a.selection.isCollapsed()||(c=c.replace(/<[^>]+>/g,""),c=tinymce.trim(c),/^(?:https?:)?\/\/\S+$/i.test(c)&&(a.execCommand("mceInsertLink",!1,{href:a.dom.decode(c)}),b.preventDefault()))})});
\ No newline at end of file
+!function(a){a.ui.WPLinkPreview=a.ui.Control.extend({url:"#",renderHtml:function(){return'<div id="'+this._id+'" class="wp-link-preview"><a href="'+this.url+'" target="_blank" tabindex="-1">'+this.url+"</a></div>"},setURL:function(b){var c,d;this.url!==b&&(this.url=b,b=window.decodeURIComponent(b),b=b.replace(/^(?:https?:)?\/\/(?:www\.)?/,""),-1!==(c=b.indexOf("?"))&&(b=b.slice(0,c)),-1!==(c=b.indexOf("#"))&&(b=b.slice(0,c)),b=b.replace(/(?:index)?\.html$/,""),"/"===b.charAt(b.length-1)&&(b=b.slice(0,-1)),b.length>40&&-1!==(c=b.indexOf("/"))&&-1!==(d=b.lastIndexOf("/"))&&d!==c&&(c+b.length-d<40&&(d=-(40-(c+1))),b=b.slice(0,c+1)+"\u2026"+b.slice(d)),a.$(this.getEl().firstChild).attr("href",this.url).text(b))}}),a.PluginManager.add("wplink",function(b){var c;b.addCommand("WP_Link",function(){window.wpLink&&window.wpLink.open(b.id)}),b.addShortcut("Alt+Shift+A","","WP_Link"),b.addShortcut("Meta+K","","WP_Link"),b.addButton("link",{icon:"link",tooltip:"Insert/edit link",cmd:"WP_Link",stateSelector:"a[href]"}),b.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink"}),b.addMenuItem("link",{icon:"link",text:"Insert/edit link",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0}),b.on("pastepreprocess",function(c){var d=c.content,e=/^(?:https?:)?\/\/\S+$/i;b.selection.isCollapsed()||e.test(b.selection.getContent())||(d=d.replace(/<[^>]+>/g,""),d=a.trim(d),e.test(d)&&(b.execCommand("mceInsertLink",!1,{href:b.dom.decode(d)}),c.preventDefault()))}),b.addButton("wp_link_preview",{type:"WPLinkPreview",onPostRender:function(){var a=this;b.on("wptoolbar",function(d){var e,f,g=b.dom.getParent(d.element,"a");g&&(e=b.$(g),f=e.attr("href"),f&&!e.find("img").length&&(a.setURL(f),d.element=g,d.toolbar=c))})}}),b.addButton("wp_link_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",cmd:"WP_Link"}),b.addButton("wp_link_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",cmd:"unlink"}),b.on("preinit",function(){c=b.wp._createToolbar(["wp_link_preview","wp_link_edit","wp_link_remove"],!0)})})}(window.tinymce);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js
new file mode 100644 (file)
index 0000000..6c89423
--- /dev/null
@@ -0,0 +1,178 @@
+/**
+ * Text pattern plugin for TinyMCE
+ *
+ * @since 4.3.0
+ *
+ * This plugin can automatically format text patterns as you type. It includes two patterns:
+ *  - Unordered list (`* ` and `- `).
+ *  - Ordered list (`1. ` and `1) `).
+ *
+ * If the transformation in unwanted, the user can undo the change by pressing backspace,
+ * using the undo shortcut, or the undo button in the toolbar.
+ */
+( function( tinymce, setTimeout ) {
+       tinymce.PluginManager.add( 'wptextpattern', function( editor ) {
+               var VK = tinymce.util.VK,
+                       spacePatterns = [
+                               { regExp: /^[*-]\s/, cmd: 'InsertUnorderedList' },
+                               { regExp: /^1[.)]\s/, cmd: 'InsertOrderedList' }
+                       ],
+                       enterPatterns = [
+                               { start: '##', format: 'h2' },
+                               { start: '###', format: 'h3' },
+                               { start: '####', format: 'h4' },
+                               { start: '#####', format: 'h5' },
+                               { start: '######', format: 'h6' },
+                               { start: '>', format: 'blockquote' }
+                       ],
+                       canUndo, refNode, refPattern;
+
+               editor.on( 'selectionchange', function() {
+                       canUndo = null;
+               } );
+
+               editor.on( 'keydown', function( event ) {
+                       if ( ( canUndo && event.keyCode === 27 /* ESCAPE */ ) || ( canUndo === 'space' && event.keyCode === VK.BACKSPACE ) ) {
+                               editor.undoManager.undo();
+                               event.preventDefault();
+                               event.stopImmediatePropagation();
+                       }
+
+                       if ( event.keyCode === VK.ENTER && ! VK.modifierPressed( event ) ) {
+                               watchEnter();
+                       }
+               }, true );
+
+               editor.on( 'keyup', function( event ) {
+                       if ( event.keyCode === VK.SPACEBAR && ! event.ctrlKey && ! event.metaKey && ! event.altKey ) {
+                               space();
+                       } else if ( event.keyCode === VK.ENTER && ! VK.modifierPressed( event ) ) {
+                               enter();
+                       }
+               } );
+
+               function firstTextNode( node ) {
+                       var parent = editor.dom.getParent( node, 'p' ),
+                               child;
+
+                       if ( ! parent ) {
+                               return;
+                       }
+
+                       while ( child = parent.firstChild ) {
+                               if ( child.nodeType !== 3 ) {
+                                       parent = child;
+                               } else {
+                                       break;
+                               }
+                       }
+
+                       if ( ! child ) {
+                               return;
+                       }
+
+                       if ( ! child.data ) {
+                               if ( child.nextSibling && child.nextSibling.nodeType === 3 ) {
+                                       child = child.nextSibling;
+                               } else {
+                                       child = null;
+                               }
+                       }
+
+                       return child;
+               }
+
+               function space() {
+                       var rng = editor.selection.getRng(),
+                               node = rng.startContainer,
+                               parent,
+                               text;
+
+                       if ( ! node || firstTextNode( node ) !== node ) {
+                               return;
+                       }
+
+                       parent = node.parentNode;
+                       text = node.data;
+
+                       tinymce.each( spacePatterns, function( pattern ) {
+                               var match = text.match( pattern.regExp );
+
+                               if ( ! match || rng.startOffset !== match[0].length ) {
+                                       return;
+                               }
+
+                               editor.undoManager.add();
+
+                               editor.undoManager.transact( function() {
+                                       node.deleteData( 0, match[0].length );
+
+                                       if ( ! parent.innerHTML ) {
+                                               parent.appendChild( document.createElement( 'br' ) );
+                                       }
+
+                                       editor.selection.setCursorLocation( parent );
+                                       editor.execCommand( pattern.cmd );
+                               } );
+
+                               // We need to wait for native events to be triggered.
+                               setTimeout( function() {
+                                       canUndo = 'space';
+                               } );
+
+                               return false;
+                       } );
+               }
+
+               function watchEnter() {
+                       var rng = editor.selection.getRng(),
+                               start = rng.startContainer,
+                               node = firstTextNode( start ),
+                               i = enterPatterns.length,
+                               text, pattern;
+
+                       if ( ! node ) {
+                               return;
+                       }
+
+                       text = node.data;
+
+                       while ( i-- ) {
+                                if ( text.indexOf( enterPatterns[ i ].start ) === 0 ) {
+                                       pattern = enterPatterns[ i ];
+                                       break;
+                                }
+                       }
+
+                       if ( ! pattern ) {
+                               return;
+                       }
+
+                       if ( node === start && tinymce.trim( text ) === pattern.start ) {
+                               return;
+                       }
+
+                       refNode = node;
+                       refPattern = pattern;
+               }
+
+               function enter() {
+                       if ( refNode ) {
+                               editor.undoManager.add();
+
+                               editor.undoManager.transact( function() {
+                                       editor.formatter.apply( refPattern.format, {}, refNode );
+                                       refNode.replaceData( 0, refNode.data.length, tinymce.trim( refNode.data.slice( refPattern.start.length ) ) );
+                               } );
+
+                               // We need to wait for native events to be triggered.
+                               setTimeout( function() {
+                                       canUndo = 'enter';
+                               } );
+                       }
+
+                       refNode = null;
+                       refPattern = null;
+               }
+       } );
+} )( window.tinymce, window.setTimeout );
diff --git a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js
new file mode 100644 (file)
index 0000000..d376e54
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b){a.PluginManager.add("wptextpattern",function(c){function d(a){var b,d=c.dom.getParent(a,"p");if(d){for(;(b=d.firstChild)&&3!==b.nodeType;)d=b;if(b)return b.data||(b=b.nextSibling&&3===b.nextSibling.nodeType?b.nextSibling:null),b}}function e(){var e,f,g=c.selection.getRng(),i=g.startContainer;i&&d(i)===i&&(e=i.parentNode,f=i.data,a.each(l,function(a){var d=f.match(a.regExp);if(d&&g.startOffset===d[0].length)return c.undoManager.add(),c.undoManager.transact(function(){i.deleteData(0,d[0].length),e.innerHTML||e.appendChild(document.createElement("br")),c.selection.setCursorLocation(e),c.execCommand(a.cmd)}),b(function(){h="space"}),!1}))}function f(){var b,e,f=c.selection.getRng(),g=f.startContainer,h=d(g),k=m.length;if(h){for(b=h.data;k--;)if(0===b.indexOf(m[k].start)){e=m[k];break}e&&(h!==g||a.trim(b)!==e.start)&&(i=h,j=e)}}function g(){i&&(c.undoManager.add(),c.undoManager.transact(function(){c.formatter.apply(j.format,{},i),i.replaceData(0,i.data.length,a.trim(i.data.slice(j.start.length)))}),b(function(){h="enter"})),i=null,j=null}var h,i,j,k=a.util.VK,l=[{regExp:/^[*-]\s/,cmd:"InsertUnorderedList"},{regExp:/^1[.)]\s/,cmd:"InsertOrderedList"}],m=[{start:"##",format:"h2"},{start:"###",format:"h3"},{start:"####",format:"h4"},{start:"#####",format:"h5"},{start:"######",format:"h6"},{start:">",format:"blockquote"}];c.on("selectionchange",function(){h=null}),c.on("keydown",function(a){(h&&27===a.keyCode||"space"===h&&a.keyCode===k.BACKSPACE)&&(c.undoManager.undo(),a.preventDefault(),a.stopImmediatePropagation()),a.keyCode!==k.ENTER||k.modifierPressed(a)||f()},!0),c.on("keyup",function(a){a.keyCode!==k.SPACEBAR||a.ctrlKey||a.metaKey||a.altKey?a.keyCode!==k.ENTER||k.modifierPressed(a)||g():e()})})}(window.tinymce,window.setTimeout);
\ No newline at end of file
index 104006a175e9d7c436e0219323693ed96dac4491..44481941ae1eec55e35f2a88bbea2a6b314cde1b 100644 (file)
@@ -729,6 +729,7 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
        // Add to editor.wp
        editor.wp = editor.wp || {};
        editor.wp.getView = getView;
+       editor.wp.setViewCursor = setViewCursor;
 
        // Keep for back-compat.
        return {
index 86a58af7bb4f99751044138ae788b09034800d7c..86bdc6e3128b40f2a2dfffd4a419dbabd6d777d8 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("wpview",function(a){function b(a){return c(a,"wpview-wrap")}function c(a,b){for(;a&&a.parentNode;){if(a.className&&-1!==(" "+a.className+" ").indexOf(" "+b+" "))return a;a=a.parentNode}return!1}function d(a){a.stopPropagation()}function e(b,c){var d=b?"before":"after",e=b?0:1;i(),a.selection.setCursorLocation(a.dom.select(".wpview-selection-"+d,c)[0],e),a.nodeChanged()}function f(b,c,d){var f=a.dom,g=f.create("p");w.ie&&w.ie<11||(g.innerHTML='<br data-mce-bogus="1">'),c?b.parentNode.insertBefore(g,b):f.insertAfter(g,b),i(),c&&d===x.ENTER?e(c,b):a.selection.setCursorLocation(g,0),a.nodeChanged()}function g(b){a.undoManager.transact(function(){f(b),wp.mce.views.remove(a,b)})}function h(b){var c,e=a.dom;b&&(b!==n&&(a.getBody().focus(),i(),n=b,e.setAttrib(b,"data-mce-selected",1),c=e.create("div",{"class":"wpview-clipboard",contenteditable:"true"},wp.mce.views.getText(b)),a.dom.select(".wpview-body",b)[0].appendChild(c),e.bind(c,"beforedeactivate focusin focusout",d),e.bind(n,"beforedeactivate focusin focusout",d),C?a.selection.select(c):a.selection.select(c,!0)),a.nodeChanged(),a.fire("wpview-selected",b))}function i(){var b,c=a.dom;n&&(b=a.dom.select(".wpview-clipboard",n)[0],c.unbind(b),c.remove(b),c.unbind(n,"beforedeactivate focusin focusout click mouseup",d),c.setAttrib(n,"data-mce-selected",null)),n=null}function j(a,b){return"<p>"+window.decodeURIComponent(b)+"</p>"}function k(a){return a.replace(/<div[^>]+data-wpview-text="([^"]+)"[^>]*>(?:[\s\S]+?wpview-selection-after[^>]+>[^<>]*<\/p>\s*|\.)<\/div>/g,j).replace(/<p [^>]*?data-wpview-marker="([^"]+)"[^>]*>[\s\S]*?<\/p>/g,j)}function l(a){v("div[data-wpview-text], p[data-wpview-marker]",a).each(function(a,b){b.innerHTML="."})}function m(a){return 47>=a&&a!==x.SPACEBAR&&a!==x.ENTER&&a!==x.DELETE&&a!==x.BACKSPACE&&(37>a||a>40)||a>=224||a>=144&&150>=a||a>=91&&93>=a||a>=112&&135>=a}var n,o,p,q,r,s,t,u,v=a.$,w=tinymce.Env,x=tinymce.util.VK,y=tinymce.dom.TreeWalker,z=!1,A=!0,B=function(){return!1},C=/iPad|iPod|iPhone/.test(navigator.userAgent);return"undefined"!=typeof wp&&wp.mce?(a.on("BeforeAddUndo",function(a){a.level.content&&(a.level.content=k(a.level.content))}),a.on("BeforeSetContent",function(b){var c;if(b.selection||wp.mce.views.unbind(),b.content){if(!b.load&&(n&&g(n),c=a.selection.getNode(),c&&c!==a.getBody()&&/^\s*https?:\/\/\S+\s*$/i.test(b.content))){if(c=a.dom.getParent(c,"p"),!c||!/^[\s\uFEFF\u00A0]*$/.test(v(c).text()||""))return;c.innerHTML=""}b.content=wp.mce.views.setMarkers(b.content)}}),a.on("pastePreProcess",function(a){var b=a.content;b&&(b=tinymce.trim(b.replace(/<[^>]+>/g,"")),/^https?:\/\/\S+$/i.test(b)&&(a.content=b))}),a.on("SetContent",function(){wp.mce.views.render()}),a.on("click",function(c){var d,f,g,h=c.clientX,i=c.clientY,j=a.getBody(),k=j.getBoundingClientRect(),l=j.firstChild,m=j.lastChild;l&&m&&(d=l.getBoundingClientRect(),f=m.getBoundingClientRect(),i<d.top&&(g=b(l))?(e(!0,g),c.preventDefault()):i>f.bottom&&(g=b(m))?(e(!1,g),c.preventDefault()):(h<k.left||h>k.right)&&tinymce.each(a.dom.select(".wpview-wrap"),function(a){var b=a.getBoundingClientRect();return i<b.top?!1:i>=b.top&&i<=b.bottom?(h<k.left?(e(!0,a),c.preventDefault()):h>k.right&&(e(!1,a),c.preventDefault()),!1):void 0}))}),a.on("init",function(){var c=!1,d=a.selection,e=window.MutationObserver||window.WebKitMutationObserver;a.on("BeforeSetContent",function(){var c,e,f=b(d.getNode());f&&(!f.nextSibling||b(f.nextSibling)?(e=a.getDoc().createTextNode(""),a.dom.insertAfter(e,f)):(c=new y(f.nextSibling,f.nextSibling),e=c.next()),d.select(e),d.collapse(!0))}),a.dom.bind(a.getDoc(),"touchmove",function(){c=!0}),a.on("mousedown mouseup click touchend",function(a){var d=b(a.target);return A=!1,d?(a.stopImmediatePropagation(),a.preventDefault(),"touchend"===a.type&&c?c=!1:h(d),!1):(("touchend"===a.type||"mousedown"===a.type)&&i(),void("touchend"===a.type&&c&&(c=!1)))},!0),e&&new e(function(){a.fire("wp-body-class-change")}).observe(a.getBody(),{attributes:!0,attributeFilter:["class"]})}),a.on("PreProcess",function(a){l(a.node)},!0),a.on("hide",function(){wp.mce.views.unbind(),i(),l()}),a.on("PostProcess",function(a){a.content&&(a.content=a.content.replace(/<div [^>]*?data-wpview-text="([^"]+)"[^>]*>[\s\S]*?<\/div>/g,j).replace(/<p [^>]*?data-wpview-marker="([^"]+)"[^>]*>[\s\S]*?<\/p>/g,j))}),a.on("keydown",function(c){var d,j,k,l,o,q,r,s=c.keyCode,t=a.dom,u=a.selection;if(n){if((c.metaKey||c.ctrlKey)&&s!==x.BACKSPACE&&86!==s||s>=112&&123>=s)return void((c.metaKey||c.ctrlKey)&&88===s&&(z=n));if(j=b(u.getNode()),j!==n)return void i();s===x.LEFT?(e(!0,j),c.preventDefault()):s===x.UP?(j.previousSibling?b(j.previousSibling)?e(!0,j.previousSibling):(i(),u.select(j.previousSibling,!0),u.collapse()):e(!0,j),c.preventDefault()):s===x.RIGHT?(e(!1,j),c.preventDefault()):s===x.DOWN?(j.nextSibling?b(j.nextSibling)?e(!1,j.nextSibling):(i(),u.setCursorLocation(j.nextSibling,0)):e(!1,j),c.preventDefault()):m(s)||(g(n),(s===x.ENTER||s===x.DELETE||s===x.BACKSPACE)&&c.preventDefault())}else{if(c.metaKey||c.ctrlKey||s>=112&&123>=s)return;if(d=u.getNode(),p=d,j=b(d),u.isCollapsed()||(o=u.getRng(),(j=b(o.endContainer))?(q=o.cloneRange(),u.select(j.previousSibling,!0),u.collapse(),r=u.getRng(),q.setEnd(r.endContainer,r.endOffset),u.setRng(q)):(j=b(o.startContainer))&&(q=o.cloneRange(),q.setStart(j.nextSibling,0),u.setRng(q))),!j)return void(c.keyCode===x.BACKSPACE&&(a.dom.isEmpty(d)?(j=b(d.previousSibling))&&(e(!1,j),a.dom.remove(d),c.preventDefault()):(o=u.getRng())&&0===o.startOffset&&0===o.endOffset&&(j=b(d.previousSibling))&&(e(!1,j),c.preventDefault())));if(!(k=t.hasClass(j,"wpview-selection-before"))&&!(l=t.hasClass(j,"wpview-selection-after")))return;if(m(s))return;l&&s===x.UP||k&&s===x.BACKSPACE?(j.previousSibling?b(j.previousSibling)?e(!1,j.previousSibling):t.isEmpty(j.previousSibling)&&s===x.BACKSPACE?t.remove(j.previousSibling):(u.select(j.previousSibling,!0),u.collapse()):e(!0,j),c.preventDefault()):!l||s!==x.DOWN&&s!==x.RIGHT?!k||s!==x.UP&&s!==x.LEFT?k&&s===x.DOWN?(j.nextSibling?b(j.nextSibling)?e(!0,j.nextSibling):u.setCursorLocation(j.nextSibling,0):e(!1,j),c.preventDefault()):l&&s===x.LEFT||k&&s===x.RIGHT?(h(j),c.preventDefault()):l&&s===x.BACKSPACE?(g(j),c.preventDefault()):l?f(j):k&&f(j,!0,s):(j.previousSibling&&(b(j.previousSibling)?e(s===x.UP,j.previousSibling):(u.select(j.previousSibling,!0),u.collapse())),c.preventDefault()):(j.nextSibling&&(b(j.nextSibling)?e(s===x.RIGHT,j.nextSibling):u.setCursorLocation(j.nextSibling,0)),c.preventDefault()),s===x.ENTER&&c.preventDefault()}}),a.on("keyup",function(){z&&(g(z),z=!1)}),a.on("focus",function(){var c;r=!0,a.dom.addClass(a.getBody(),"has-focus"),A&&(c=b(a.getBody().firstChild))&&e(!0,c),A=!1}),a.on("blur",function(){r=!1,a.dom.removeClass(a.getBody(),"has-focus")}),a.on("NodeChange",function(d){var f=a.dom,g=a.dom.select(".wpview-wrap"),h=d.element.className,j=b(d.element),k=p;if(p=!1,clearInterval(o),tinymce.each(g,function(a){a.className&&(a.className=a.className.replace(/ ?\bwpview-(?:selection-before|selection-after|cursor-hide)\b/g,""))}),r&&j)if("wpview-selection-before"!==h&&"wpview-selection-after"!==h||!a.selection.isCollapsed())c(d.element,"wpview-clipboard")||q||(i(),q++,e(!0,j));else{if(q=0,i(),k===j.previousSibling)return void e(!0,j);if(k===j.nextSibling)return void e(!1,j);f.addClass(j,h),o=setInterval(function(){f.hasClass(j,"wpview-cursor-hide")?f.removeClass(j,"wpview-cursor-hide"):f.addClass(j,"wpview-cursor-hide")},500)}}),a.on("BeforeExecCommand",function(){var c,d=a.selection.getNode();d&&((t="wpview-selection-before"===d.className)||"wpview-selection-after"===d.className)&&(c=b(d))&&(f(c,t),s=c)}),a.on("ExecCommand",function(){var b,c;n&&(b=n,i(),h(b)),s&&(c=s[t?"previousSibling":"nextSibling"],c&&"P"===c.nodeName&&a.dom.isEmpty(c)&&(a.dom.remove(c),e(t,s)),s=!1)}),a.on("ResolveName",function(c){a.dom.hasClass(c.target,"wpview-wrap")?(c.name=a.dom.getAttrib(c.target,"data-wpview-type")||"wpview",c.stopPropagation()):b(c.target)&&(c.preventDefault(),c.stopPropagation())}),a.addButton("wp_view_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){n&&wp.mce.views.edit(a,n)}}),a.addButton("wp_view_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){n&&g(n)}}),a.once("preinit",function(){u=a.wp._createToolbar(["wp_view_edit","wp_view_remove"])}),a.on("wptoolbar",function(a){n&&(a.element=n,a.toolbar=u)}),a.wp=a.wp||{},a.wp.getView=b,{getView:b}):{getView:B}});
\ No newline at end of file
+tinymce.PluginManager.add("wpview",function(a){function b(a){return c(a,"wpview-wrap")}function c(a,b){for(;a&&a.parentNode;){if(a.className&&-1!==(" "+a.className+" ").indexOf(" "+b+" "))return a;a=a.parentNode}return!1}function d(a){a.stopPropagation()}function e(b,c){var d=b?"before":"after",e=b?0:1;i(),a.selection.setCursorLocation(a.dom.select(".wpview-selection-"+d,c)[0],e),a.nodeChanged()}function f(b,c,d){var f=a.dom,g=f.create("p");w.ie&&w.ie<11||(g.innerHTML='<br data-mce-bogus="1">'),c?b.parentNode.insertBefore(g,b):f.insertAfter(g,b),i(),c&&d===x.ENTER?e(c,b):a.selection.setCursorLocation(g,0),a.nodeChanged()}function g(b){a.undoManager.transact(function(){f(b),wp.mce.views.remove(a,b)})}function h(b){var c,e=a.dom;b&&(b!==n&&(a.getBody().focus(),i(),n=b,e.setAttrib(b,"data-mce-selected",1),c=e.create("div",{"class":"wpview-clipboard",contenteditable:"true"},wp.mce.views.getText(b)),a.dom.select(".wpview-body",b)[0].appendChild(c),e.bind(c,"beforedeactivate focusin focusout",d),e.bind(n,"beforedeactivate focusin focusout",d),C?a.selection.select(c):a.selection.select(c,!0)),a.nodeChanged(),a.fire("wpview-selected",b))}function i(){var b,c=a.dom;n&&(b=a.dom.select(".wpview-clipboard",n)[0],c.unbind(b),c.remove(b),c.unbind(n,"beforedeactivate focusin focusout click mouseup",d),c.setAttrib(n,"data-mce-selected",null)),n=null}function j(a,b){return"<p>"+window.decodeURIComponent(b)+"</p>"}function k(a){return a.replace(/<div[^>]+data-wpview-text="([^"]+)"[^>]*>(?:[\s\S]+?wpview-selection-after[^>]+>[^<>]*<\/p>\s*|\.)<\/div>/g,j).replace(/<p [^>]*?data-wpview-marker="([^"]+)"[^>]*>[\s\S]*?<\/p>/g,j)}function l(a){v("div[data-wpview-text], p[data-wpview-marker]",a).each(function(a,b){b.innerHTML="."})}function m(a){return 47>=a&&a!==x.SPACEBAR&&a!==x.ENTER&&a!==x.DELETE&&a!==x.BACKSPACE&&(37>a||a>40)||a>=224||a>=144&&150>=a||a>=91&&93>=a||a>=112&&135>=a}var n,o,p,q,r,s,t,u,v=a.$,w=tinymce.Env,x=tinymce.util.VK,y=tinymce.dom.TreeWalker,z=!1,A=!0,B=function(){return!1},C=/iPad|iPod|iPhone/.test(navigator.userAgent);return"undefined"!=typeof wp&&wp.mce?(a.on("BeforeAddUndo",function(a){a.level.content&&(a.level.content=k(a.level.content))}),a.on("BeforeSetContent",function(b){var c;if(b.selection||wp.mce.views.unbind(),b.content){if(!b.load&&(n&&g(n),c=a.selection.getNode(),c&&c!==a.getBody()&&/^\s*https?:\/\/\S+\s*$/i.test(b.content))){if(c=a.dom.getParent(c,"p"),!c||!/^[\s\uFEFF\u00A0]*$/.test(v(c).text()||""))return;c.innerHTML=""}b.content=wp.mce.views.setMarkers(b.content)}}),a.on("pastePreProcess",function(a){var b=a.content;b&&(b=tinymce.trim(b.replace(/<[^>]+>/g,"")),/^https?:\/\/\S+$/i.test(b)&&(a.content=b))}),a.on("SetContent",function(){wp.mce.views.render()}),a.on("click",function(c){var d,f,g,h=c.clientX,i=c.clientY,j=a.getBody(),k=j.getBoundingClientRect(),l=j.firstChild,m=j.lastChild;l&&m&&(d=l.getBoundingClientRect(),f=m.getBoundingClientRect(),i<d.top&&(g=b(l))?(e(!0,g),c.preventDefault()):i>f.bottom&&(g=b(m))?(e(!1,g),c.preventDefault()):(h<k.left||h>k.right)&&tinymce.each(a.dom.select(".wpview-wrap"),function(a){var b=a.getBoundingClientRect();return i<b.top?!1:i>=b.top&&i<=b.bottom?(h<k.left?(e(!0,a),c.preventDefault()):h>k.right&&(e(!1,a),c.preventDefault()),!1):void 0}))}),a.on("init",function(){var c=!1,d=a.selection,e=window.MutationObserver||window.WebKitMutationObserver;a.on("BeforeSetContent",function(){var c,e,f=b(d.getNode());f&&(!f.nextSibling||b(f.nextSibling)?(e=a.getDoc().createTextNode(""),a.dom.insertAfter(e,f)):(c=new y(f.nextSibling,f.nextSibling),e=c.next()),d.select(e),d.collapse(!0))}),a.dom.bind(a.getDoc(),"touchmove",function(){c=!0}),a.on("mousedown mouseup click touchend",function(a){var d=b(a.target);return A=!1,d?(a.stopImmediatePropagation(),a.preventDefault(),"touchend"===a.type&&c?c=!1:h(d),!1):(("touchend"===a.type||"mousedown"===a.type)&&i(),void("touchend"===a.type&&c&&(c=!1)))},!0),e&&new e(function(){a.fire("wp-body-class-change")}).observe(a.getBody(),{attributes:!0,attributeFilter:["class"]})}),a.on("PreProcess",function(a){l(a.node)},!0),a.on("hide",function(){wp.mce.views.unbind(),i(),l()}),a.on("PostProcess",function(a){a.content&&(a.content=a.content.replace(/<div [^>]*?data-wpview-text="([^"]+)"[^>]*>[\s\S]*?<\/div>/g,j).replace(/<p [^>]*?data-wpview-marker="([^"]+)"[^>]*>[\s\S]*?<\/p>/g,j))}),a.on("keydown",function(c){var d,j,k,l,o,q,r,s=c.keyCode,t=a.dom,u=a.selection;if(n){if((c.metaKey||c.ctrlKey)&&s!==x.BACKSPACE&&86!==s||s>=112&&123>=s)return void((c.metaKey||c.ctrlKey)&&88===s&&(z=n));if(j=b(u.getNode()),j!==n)return void i();s===x.LEFT?(e(!0,j),c.preventDefault()):s===x.UP?(j.previousSibling?b(j.previousSibling)?e(!0,j.previousSibling):(i(),u.select(j.previousSibling,!0),u.collapse()):e(!0,j),c.preventDefault()):s===x.RIGHT?(e(!1,j),c.preventDefault()):s===x.DOWN?(j.nextSibling?b(j.nextSibling)?e(!1,j.nextSibling):(i(),u.setCursorLocation(j.nextSibling,0)):e(!1,j),c.preventDefault()):m(s)||(g(n),(s===x.ENTER||s===x.DELETE||s===x.BACKSPACE)&&c.preventDefault())}else{if(c.metaKey||c.ctrlKey||s>=112&&123>=s)return;if(d=u.getNode(),p=d,j=b(d),u.isCollapsed()||(o=u.getRng(),(j=b(o.endContainer))?(q=o.cloneRange(),u.select(j.previousSibling,!0),u.collapse(),r=u.getRng(),q.setEnd(r.endContainer,r.endOffset),u.setRng(q)):(j=b(o.startContainer))&&(q=o.cloneRange(),q.setStart(j.nextSibling,0),u.setRng(q))),!j)return void(c.keyCode===x.BACKSPACE&&(a.dom.isEmpty(d)?(j=b(d.previousSibling))&&(e(!1,j),a.dom.remove(d),c.preventDefault()):(o=u.getRng())&&0===o.startOffset&&0===o.endOffset&&(j=b(d.previousSibling))&&(e(!1,j),c.preventDefault())));if(!(k=t.hasClass(j,"wpview-selection-before"))&&!(l=t.hasClass(j,"wpview-selection-after")))return;if(m(s))return;l&&s===x.UP||k&&s===x.BACKSPACE?(j.previousSibling?b(j.previousSibling)?e(!1,j.previousSibling):t.isEmpty(j.previousSibling)&&s===x.BACKSPACE?t.remove(j.previousSibling):(u.select(j.previousSibling,!0),u.collapse()):e(!0,j),c.preventDefault()):!l||s!==x.DOWN&&s!==x.RIGHT?!k||s!==x.UP&&s!==x.LEFT?k&&s===x.DOWN?(j.nextSibling?b(j.nextSibling)?e(!0,j.nextSibling):u.setCursorLocation(j.nextSibling,0):e(!1,j),c.preventDefault()):l&&s===x.LEFT||k&&s===x.RIGHT?(h(j),c.preventDefault()):l&&s===x.BACKSPACE?(g(j),c.preventDefault()):l?f(j):k&&f(j,!0,s):(j.previousSibling&&(b(j.previousSibling)?e(s===x.UP,j.previousSibling):(u.select(j.previousSibling,!0),u.collapse())),c.preventDefault()):(j.nextSibling&&(b(j.nextSibling)?e(s===x.RIGHT,j.nextSibling):u.setCursorLocation(j.nextSibling,0)),c.preventDefault()),s===x.ENTER&&c.preventDefault()}}),a.on("keyup",function(){z&&(g(z),z=!1)}),a.on("focus",function(){var c;r=!0,a.dom.addClass(a.getBody(),"has-focus"),A&&(c=b(a.getBody().firstChild))&&e(!0,c),A=!1}),a.on("blur",function(){r=!1,a.dom.removeClass(a.getBody(),"has-focus")}),a.on("NodeChange",function(d){var f=a.dom,g=a.dom.select(".wpview-wrap"),h=d.element.className,j=b(d.element),k=p;if(p=!1,clearInterval(o),tinymce.each(g,function(a){a.className&&(a.className=a.className.replace(/ ?\bwpview-(?:selection-before|selection-after|cursor-hide)\b/g,""))}),r&&j)if("wpview-selection-before"!==h&&"wpview-selection-after"!==h||!a.selection.isCollapsed())c(d.element,"wpview-clipboard")||q||(i(),q++,e(!0,j));else{if(q=0,i(),k===j.previousSibling)return void e(!0,j);if(k===j.nextSibling)return void e(!1,j);f.addClass(j,h),o=setInterval(function(){f.hasClass(j,"wpview-cursor-hide")?f.removeClass(j,"wpview-cursor-hide"):f.addClass(j,"wpview-cursor-hide")},500)}}),a.on("BeforeExecCommand",function(){var c,d=a.selection.getNode();d&&((t="wpview-selection-before"===d.className)||"wpview-selection-after"===d.className)&&(c=b(d))&&(f(c,t),s=c)}),a.on("ExecCommand",function(){var b,c;n&&(b=n,i(),h(b)),s&&(c=s[t?"previousSibling":"nextSibling"],c&&"P"===c.nodeName&&a.dom.isEmpty(c)&&(a.dom.remove(c),e(t,s)),s=!1)}),a.on("ResolveName",function(c){a.dom.hasClass(c.target,"wpview-wrap")?(c.name=a.dom.getAttrib(c.target,"data-wpview-type")||"wpview",c.stopPropagation()):b(c.target)&&(c.preventDefault(),c.stopPropagation())}),a.addButton("wp_view_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){n&&wp.mce.views.edit(a,n)}}),a.addButton("wp_view_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){n&&g(n)}}),a.once("preinit",function(){u=a.wp._createToolbar(["wp_view_edit","wp_view_remove"])}),a.on("wptoolbar",function(a){n&&(a.element=n,a.toolbar=u)}),a.wp=a.wp||{},a.wp.getView=b,a.wp.setViewCursor=e,{getView:b}):{getView:B}});
\ No newline at end of file
index f24c3eea16d20d8e75540e1f0967a5f1660fca48..e1162423413c249a4937910b2415ba70a29fd11a 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot differ
index 7096cf9f281727191ce09e33e76a347014615c27..a4c92e0b592b3b37ead1c6e5bb283f68f99f19c8 100644 (file)
 <glyph unicode="&#xe033;" d="M128 416l288-288 480 480-128 128-352-352-160 160z" />
 <glyph unicode="&#xe034;" d="M928 832h-416l-32 64h-352l-64-128h896zM904.34 256h74.86l44.8 448h-1024l64-640h484.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM1002.996 46.25l-198.496 174.692c17.454 28.92 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l174.692-198.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM640 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
 <glyph unicode="&#xe035;" d="M512 448v-128h32l32 64h64v-256h-48v-64h224v64h-48v256h64l32-64h32v128zM832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h640v704h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM960 0h-512v576h512v-576z" />
+<glyph unicode="&#xe600;" d="M483.2 320l-147.2 336c-9.6 25.6-19.2 44.8-25.6 54.4s-16 12.8-25.6 12.8c-16 0-25.6-3.2-28.8-3.2v70.4c9.6 6.4 25.6 6.4 38.4 9.6 32 0 57.6-6.4 73.6-22.4 6.4-6.4 12.8-16 19.2-25.6 6.4-12.8 12.8-25.6 16-41.6l121.6-291.2 150.4 371.2h92.8l-198.4-470.4v-224h-86.4v224zM0 960v-1024h1024v1024h-1024zM960 0h-896v896h896v-896z" />
+<glyph unicode="&#xe601;" d="M627.2 80h-579.2v396.8h579.2v-396.8zM553.6 406.4h-435.2v-256h435.2v256zM259.2 732.8c176 176 457.6 176 633.6 0s176-457.6 0-633.6c-121.6-121.6-297.6-160-454.4-108.8 121.6-28.8 262.4 9.6 361.6 108.8 150.4 150.4 160 384 22.4 521.6-121.6 121.6-320 128-470.4 19.2l86.4-86.4-294.4-22.4 22.4 294.4 92.8-92.8z" />
+<glyph unicode="&#xe602;" d="M892.8-22.4l-89.6 89.6c-70.4-80-172.8-131.2-288-131.2-208 0-380.8 166.4-384 377.6 0 0 0 0 0 0 0 3.2 0 3.2 0 6.4s0 3.2 0 6.4v0c0 0 0 0 0 3.2 0 0 0 3.2 0 3.2 3.2 105.6 48 211.2 105.6 304l-192 192 44.8 44.8 182.4-182.4c0 0 0 0 0 0l569.6-569.6c0 0 0 0 0 0l99.2-99.2-48-44.8zM896 326.4c0 0 0 0 0 0 0 3.2 0 6.4 0 6.4-9.6 316.8-384 627.2-384 627.2s-108.8-89.6-208-220.8l70.4-70.4c6.4 9.6 16 22.4 22.4 32 41.6 51.2 83.2 96 115.2 128v0c32-32 73.6-76.8 115.2-128 108.8-137.6 169.6-265.6 172.8-371.2 0 0 0-3.2 0-3.2v0 0c0-3.2 0-3.2 0-6.4s0-3.2 0-3.2v0 0c0-22.4-3.2-41.6-9.6-64l76.8-76.8c16 41.6 28.8 89.6 28.8 137.6 0 0 0 0 0 0 0 3.2 0 3.2 0 6.4s0 3.2 0 6.4z" />
+<glyph unicode="&#xe914;" d="M768 416v-352h-640v640h352l128 128h-512c-52.8 0-96-43.2-96-96v-704c0-52.8 43.2-96 96-96h704c52.798 0 96 43.2 96 96v512l-128-128zM864 960l-608-608v-160h160l608 608c0 96-64 160-160 160zM416 320l-48 48 480 480 48-48-480-480z" />
+<glyph unicode="&#xe934;" d="M864.626 486.838c-65.754 183.44-205.11 348.15-352.626 473.162-147.516-125.012-286.87-289.722-352.626-473.162-40.664-113.436-44.682-236.562 12.584-345.4 65.846-125.14 198.632-205.438 340.042-205.438s274.196 80.298 340.040 205.44c57.27 108.838 53.25 231.962 12.586 345.398zM738.764 201.044c-43.802-83.252-132.812-137.044-226.764-137.044-55.12 0-108.524 18.536-152.112 50.652 13.242-1.724 26.632-2.652 40.112-2.652 117.426 0 228.668 67.214 283.402 171.242 44.878 85.292 40.978 173.848 23.882 244.338 14.558-28.15 26.906-56.198 36.848-83.932 22.606-63.062 40.024-156.34-5.368-242.604z" />
+<glyph unicode="&#xeaa8;" d="M704 896c-247.424 0-448-200.576-448-448h-224l288-288 288 288h-224c0 176.73 143.27 320 320 320 176.732 0 320-143.27 320-320 0-176.732-143.268-320-320-320v-128c247.424 0 448 200.576 448 448s-200.576 448-448 448z" horiz-adv-x="1152" />
+<glyph unicode="&#xeaa9;" d="M448 896c247.424 0 448-200.576 448-448h224l-288-288-288 288h224c0 176.73-143.27 320-320 320-176.732 0-320-143.27-320-320 0-176.732 143.268-320 320-320v-128c-247.424 0-448 200.576-448 448s200.576 448 448 448z" horiz-adv-x="1152" />
+<glyph unicode="&#xeaaa;" d="M0 576h1024v384zM1024 0v384h-1024z" />
+<glyph unicode="&#xeaac;" d="M576 960v-1024h384zM0-64h384v1024z" />
+<glyph unicode="&#xeb35;" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM448 768h-128v-128h-128v-128h128v-128h128v128h128v128h-128z" />
+<glyph unicode="&#xeb36;" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM192 640h384v-128h-384z" />
+<glyph unicode="&#xeba7;" d="M768 832h-512l-256-256 512-576 512 576-256 256zM512 181.334v2.666h-2.37l-14.222 16h16.592v16h-30.814l-14.222 16h45.036v16h-59.258l-14.222 16h73.48v16h-87.704l-14.222 16h101.926v16h-116.148l-14.222 16h130.37v16h-144.592l-14.222 16h158.814v16h-173.038l-14.222 16h187.26v16h-201.482l-14.222 16h215.704v16h-229.926l-14.222 16h244.148v16h-258.372l-14.222 16h272.594v16h-286.816l-14.222 16h301.038v16h-315.26l-14.222 16h329.482v16h-343.706l-7.344 8.262 139.072 139.072h211.978v-3.334h215.314l16-16h-231.314v-16h247.314l16-16h-263.314v-16h279.314l16-16h-295.314v-16h311.314l16-16h-327.314v-16h343.312l7.738-7.738-351.050-394.928z" />
+<glyph unicode="&#xec6a;" d="M64 768h896v-192h-896zM64 512h896v-192h-896zM64 256h896v-192h-896z" />
+<glyph unicode="&#xeccc;" d="M512 128c35.346 0 64-28.654 64-64v-64c0-35.346-28.654-64-64-64s-64 28.654-64 64v64c0 35.346 28.654 64 64 64zM512 768c-35.346 0-64 28.654-64 64v64c0 35.346 28.654 64 64 64s64-28.654 64-64v-64c0-35.346-28.654-64-64-64zM960 512c35.346 0 64-28.654 64-64s-28.654-64-64-64h-64c-35.348 0-64 28.654-64 64s28.652 64 64 64h64zM192 448c0-35.346-28.654-64-64-64h-64c-35.346 0-64 28.654-64 64s28.654 64 64 64h64c35.346 0 64-28.654 64-64zM828.784 221.726l45.256-45.258c24.992-24.99 24.992-65.516 0-90.508-24.994-24.992-65.518-24.992-90.51 0l-45.256 45.256c-24.992 24.99-24.992 65.516 0 90.51 24.994 24.992 65.518 24.992 90.51 0zM195.216 674.274l-45.256 45.256c-24.994 24.994-24.994 65.516 0 90.51s65.516 24.994 90.51 0l45.256-45.256c24.994-24.994 24.994-65.516 0-90.51s-65.516-24.994-90.51 0zM828.784 674.274c-24.992-24.992-65.516-24.992-90.51 0-24.992 24.994-24.992 65.516 0 90.51l45.256 45.254c24.992 24.994 65.516 24.994 90.51 0 24.992-24.994 24.992-65.516 0-90.51l-45.256-45.254zM195.216 221.726c24.992 24.992 65.518 24.992 90.508 0 24.994-24.994 24.994-65.52 0-90.51l-45.254-45.256c-24.994-24.992-65.516-24.992-90.51 0s-24.994 65.518 0 90.508l45.256 45.258zM512 704c-141.384 0-256-114.616-256-256 0-141.382 114.616-256 256-256 141.382 0 256 114.618 256 256 0 141.384-114.616 256-256 256zM512 288c-88.366 0-160 71.634-160 160s71.634 160 160 160 160-71.634 160-160-71.634-160-160-160z" />
+<glyph unicode="&#xeccd;" d="M715.812 895.52c-60.25 34.784-124.618 55.904-189.572 64.48 122.936-160.082 144.768-384.762 37.574-570.42-107.2-185.67-312.688-279.112-512.788-252.68 39.898-51.958 90.376-97.146 150.628-131.934 245.908-141.974 560.37-57.72 702.344 188.198 141.988 245.924 57.732 560.372-188.186 702.356z" />
+<glyph unicode="&#xecd4;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM128 448c0 212.078 171.922 384 384 384v-768c-212.078 0-384 171.922-384 384z" />
+<glyph unicode="&#xed6a;" d="M893.254 738.746l-90.508 90.508-290.746-290.744-290.746 290.744-90.508-90.506 290.746-290.748-290.746-290.746 90.508-90.508 290.746 290.746 290.746-290.746 90.508 90.51-290.744 290.744z" />
+<glyph unicode="&#xedc0;" d="M672-64l192 192-320 320 320 320-192 192-512-512z" />
+<glyph unicode="&#xedf9;" d="M0 896v-384c0-35.346 28.654-64 64-64s64 28.654 64 64v229.488l677.488-677.488h-229.488c-35.346 0-64-28.652-64-64 0-35.346 28.654-64 64-64h384c35.346 0 64 28.654 64 64v384c0 35.348-28.654 64-64 64s-64-28.652-64-64v-229.488l-677.488 677.488h229.488c35.346 0 64 28.654 64 64s-28.652 64-64 64h-384c-35.346 0-64-28.654-64-64z" />
+<glyph unicode="&#xee78;" d="M832 704l192 192-64 64-192-192h-448v192h-128v-192h-192v-128h192v-512h512v-192h128v192h192v128h-192v448zM320 640h320l-320-320v320zM384 256l320 320v-320h-320z" />
 </font></defs></svg>
\ No newline at end of file
index fc66830d271873583f4f6376d2fe246ae088a41c..422ff56f8dfccf59c8dd9b2feda517d730d2428a 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf differ
index 1ba38ad9f4de9562a818843dcc278a3fd4a9e8cf..bb780bdce6e22afcfc0680718b9f5c577d4ac952 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff differ
index f2ca5b92711279f9c6d1b965973469ab491b1dff..d57e513d9524d90b771c0c96c8e23d3107f02c99 100644 (file)
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0px;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#a1a1a1}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#c8def4}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fdfdfd, #ddd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fdfdfd), to(#ddd));background-image:-webkit-linear-gradient(top, #fdfdfd, #ddd);background-image:-o-linear-gradient(top, #fdfdfd, #ddd);background-image:linear-gradient(to bottom, #fdfdfd, #ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd', endColorstr='#ffdddddd', GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#fff;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000000;-moz-box-shadow:0 0 5px #000000;box-shadow:0 0 5px #000000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;background-image:-moz-linear-gradient(top, #f2f2f2, #ccc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#ccc));background-image:-webkit-linear-gradient(top, #f2f2f2, #ccc);background-image:-o-linear-gradient(top, #f2f2f2, #ccc);background-image:linear-gradient(to bottom, #f2f2f2, #ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffcccccc', GradientType=0);zoom:1}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn:active{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{min-width:50px;color:#fff;border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #08c, #04c);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c));background-image:-webkit-linear-gradient(top, #08c, #04c);background-image:-o-linear-gradient(top, #08c, #04c);background-image:linear-gradient(to bottom, #08c, #04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);zoom:1}.mce-primary:hover,.mce-primary:focus{background-color:#005fb3;background-image:-moz-linear-gradient(top, #0077b3, #003cb3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0077b3), to(#003cb3));background-image:-webkit-linear-gradient(top, #0077b3, #003cb3);background-image:-o-linear-gradient(top, #0077b3, #003cb3);background-image:linear-gradient(to bottom, #0077b3, #003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3', endColorstr='#ff003cb3', GradientType=0);zoom:1}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#005299;background-image:-moz-linear-gradient(top, #069, #039);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#069), to(#039));background-image:-webkit-linear-gradient(top, #069, #039);background-image:-o-linear-gradient(top, #069, #039);background-image:linear-gradient(to bottom, #069, #039);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff006699', endColorstr='#ff003399', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-first{border-left:1px solid #b1b1b1;border-left:1px solid rgba(0,0,0,0.25);-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #b1b1b1;border-right:1px solid rgba(0,0,0,0.1);-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-14px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;border-left:1px solid transparent;border-right:1px solid transparent}.mce-colorbutton:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:4px;margin-right:-14px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;margin-right:-17px;padding-left:0}.mce-rtl .mce-colorbutton button{padding-right:10px;padding-left:10px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #c4c4c4}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:transparent;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;*line-height:16px}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#c8def4}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#333}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #08c, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3));background-image:-webkit-linear-gradient(top, #08c, #0077b3);background-image:-o-linear-gradient(top, #08c, #0077b3);background-image:linear-gradient(to bottom, #08c, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);zoom:1}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:10px;padding-left:10px}.mce-rtl .mce-splitbtn .mce-open{padding-left:4px;padding-right:4px}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce';font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333;-ie7-icon:' '}.mce-btn-small .mce-ico{font-family:'tinymce-small'}.mce-ico,i.mce-i-checkbox{zoom:expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = this.currentStyle['-ie7-icon'].substr(1, 1) + '&nbsp;')}.mce-i-save{-ie7-icon:"\e000"}.mce-i-newdocument{-ie7-icon:"\e001"}.mce-i-fullpage{-ie7-icon:"\e002"}.mce-i-alignleft{-ie7-icon:"\e003"}.mce-i-aligncenter{-ie7-icon:"\e004"}.mce-i-alignright{-ie7-icon:"\e005"}.mce-i-alignjustify{-ie7-icon:"\e006"}.mce-i-cut{-ie7-icon:"\e007"}.mce-i-paste{-ie7-icon:"\e008"}.mce-i-searchreplace{-ie7-icon:"\e009"}.mce-i-bullist{-ie7-icon:"\e00a"}.mce-i-numlist{-ie7-icon:"\e00b"}.mce-i-indent{-ie7-icon:"\e00c"}.mce-i-outdent{-ie7-icon:"\e00d"}.mce-i-blockquote{-ie7-icon:"\e00e"}.mce-i-undo{-ie7-icon:"\e00f"}.mce-i-redo{-ie7-icon:"\e010"}.mce-i-link{-ie7-icon:"\e011"}.mce-i-unlink{-ie7-icon:"\e012"}.mce-i-anchor{-ie7-icon:"\e013"}.mce-i-image{-ie7-icon:"\e014"}.mce-i-media{-ie7-icon:"\e015"}.mce-i-help{-ie7-icon:"\e016"}.mce-i-code{-ie7-icon:"\e017"}.mce-i-insertdatetime{-ie7-icon:"\e018"}.mce-i-preview{-ie7-icon:"\e019"}.mce-i-forecolor{-ie7-icon:"\e01a"}.mce-i-backcolor{-ie7-icon:"\e01a"}.mce-i-table{-ie7-icon:"\e01b"}.mce-i-hr{-ie7-icon:"\e01c"}.mce-i-removeformat{-ie7-icon:"\e01d"}.mce-i-subscript{-ie7-icon:"\e01e"}.mce-i-superscript{-ie7-icon:"\e01f"}.mce-i-charmap{-ie7-icon:"\e020"}.mce-i-emoticons{-ie7-icon:"\e021"}.mce-i-print{-ie7-icon:"\e022"}.mce-i-fullscreen{-ie7-icon:"\e023"}.mce-i-spellchecker{-ie7-icon:"\e024"}.mce-i-nonbreaking{-ie7-icon:"\e025"}.mce-i-template{-ie7-icon:"\e026"}.mce-i-pagebreak{-ie7-icon:"\e027"}.mce-i-restoredraft{-ie7-icon:"\e028"}.mce-i-untitled{-ie7-icon:"\e029"}.mce-i-bold{-ie7-icon:"\e02a"}.mce-i-italic{-ie7-icon:"\e02b"}.mce-i-underline{-ie7-icon:"\e02c"}.mce-i-strikethrough{-ie7-icon:"\e02d"}.mce-i-visualchars{-ie7-icon:"\e02e"}.mce-i-ltr{-ie7-icon:"\e02f"}.mce-i-rtl{-ie7-icon:"\e030"}.mce-i-copy{-ie7-icon:"\e031"}.mce-i-resize{-ie7-icon:"\e032"}.mce-i-browse{-ie7-icon:"\e034"}.mce-i-pastetext{-ie7-icon:"\e035"}.mce-i-checkbox,.mce-i-selected{-ie7-icon:"\e033"}.mce-i-selected{visibility:hidden}.mce-i-backcolor{background:#BBB}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid rgba(0,0,0,0.2);width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0px;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#3498db}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#3498db}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#3498db;background:#3498db}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-toolbar-grp{padding:2px 0}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #cacaca;border:0 solid rgba(0,0,0,0.2);background-color:#f0f0f0}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;top:0;left:0;background:#fff;border:1px solid rgba(0,0,0,0.2);border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#ccc}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;background-color:#f0f0f0}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;border-color:#ccc}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#dbdbdb;border-color:#ccc}.mce-btn:active{background-color:#e0e0e0;border-color:#ccc}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary{min-width:50px;color:#fff;border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-primary:hover,.mce-primary:focus{background-color:#257cb6;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#206ea1}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px none}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:3px;margin-left:3px}.mce-btn-group .mce-first{margin-left:0}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;background-color:#f0f0f0;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#ccc}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid rgba(0,0,0,0.2);width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;filter:none}.mce-menubar{border:1px solid rgba(217,217,217,0.52)}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#ccc;background:#fff;filter:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;*line-height:16px}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#3498db}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#fff}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#2d8ac7}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-slider{border:1px solid #aaa;background:#eee;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #bbb;background:#ddd;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#ccc}.mce-splitbtn button{padding-right:6px;padding-left:6px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#dbdbdb;outline:1px solid #ccc}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#3498db}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce';font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333;-ie7-icon:' '}.mce-btn-small .mce-ico{font-family:'tinymce-small'}.mce-ico,i.mce-i-checkbox{zoom:expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = this.currentStyle['-ie7-icon'].substr(1, 1) + '&nbsp;')}.mce-i-save{-ie7-icon:"\e000"}.mce-i-newdocument{-ie7-icon:"\e001"}.mce-i-fullpage{-ie7-icon:"\e002"}.mce-i-alignleft{-ie7-icon:"\e003"}.mce-i-aligncenter{-ie7-icon:"\e004"}.mce-i-alignright{-ie7-icon:"\e005"}.mce-i-alignjustify{-ie7-icon:"\e006"}.mce-i-alignnone{-ie7-icon:"\e003"}.mce-i-cut{-ie7-icon:"\e007"}.mce-i-paste{-ie7-icon:"\e008"}.mce-i-searchreplace{-ie7-icon:"\e009"}.mce-i-bullist{-ie7-icon:"\e00a"}.mce-i-numlist{-ie7-icon:"\e00b"}.mce-i-indent{-ie7-icon:"\e00c"}.mce-i-outdent{-ie7-icon:"\e00d"}.mce-i-blockquote{-ie7-icon:"\e00e"}.mce-i-undo{-ie7-icon:"\e00f"}.mce-i-redo{-ie7-icon:"\e010"}.mce-i-link{-ie7-icon:"\e011"}.mce-i-unlink{-ie7-icon:"\e012"}.mce-i-anchor{-ie7-icon:"\e013"}.mce-i-image{-ie7-icon:"\e014"}.mce-i-media{-ie7-icon:"\e015"}.mce-i-help{-ie7-icon:"\e016"}.mce-i-code{-ie7-icon:"\e017"}.mce-i-insertdatetime{-ie7-icon:"\e018"}.mce-i-preview{-ie7-icon:"\e019"}.mce-i-forecolor{-ie7-icon:"\e01a"}.mce-i-backcolor{-ie7-icon:"\e01a"}.mce-i-table{-ie7-icon:"\e01b"}.mce-i-hr{-ie7-icon:"\e01c"}.mce-i-removeformat{-ie7-icon:"\e01d"}.mce-i-subscript{-ie7-icon:"\e01e"}.mce-i-superscript{-ie7-icon:"\e01f"}.mce-i-charmap{-ie7-icon:"\e020"}.mce-i-emoticons{-ie7-icon:"\e021"}.mce-i-print{-ie7-icon:"\e022"}.mce-i-fullscreen{-ie7-icon:"\e023"}.mce-i-spellchecker{-ie7-icon:"\e024"}.mce-i-nonbreaking{-ie7-icon:"\e025"}.mce-i-template{-ie7-icon:"\e026"}.mce-i-pagebreak{-ie7-icon:"\e027"}.mce-i-restoredraft{-ie7-icon:"\e028"}.mce-i-untitled{-ie7-icon:"\e029"}.mce-i-bold{-ie7-icon:"\e02a"}.mce-i-italic{-ie7-icon:"\e02b"}.mce-i-underline{-ie7-icon:"\e02c"}.mce-i-strikethrough{-ie7-icon:"\e02d"}.mce-i-visualchars{-ie7-icon:"\e02e"}.mce-i-ltr{-ie7-icon:"\e02f"}.mce-i-rtl{-ie7-icon:"\e030"}.mce-i-copy{-ie7-icon:"\e031"}.mce-i-resize{-ie7-icon:"\e032"}.mce-i-browse{-ie7-icon:"\e034"}.mce-i-pastetext{-ie7-icon:"\e035"}.mce-i-rotateleft{-ie7-icon:"\eaa8"}.mce-i-rotateright{-ie7-icon:"\eaa9"}.mce-i-crop{-ie7-icon:"\ee78"}.mce-i-editimage{-ie7-icon:"\e914"}.mce-i-options{-ie7-icon:"\ec6a"}.mce-i-flipv{-ie7-icon:"\eaaa"}.mce-i-fliph{-ie7-icon:"\eaac"}.mce-i-zoomin{-ie7-icon:"\eb35"}.mce-i-zoomout{-ie7-icon:"\eb36"}.mce-i-sun{-ie7-icon:"\eccc"}.mce-i-moon{-ie7-icon:"\eccd"}.mce-i-arrowleft{-ie7-icon:"\edc0"}.mce-i-arrowright{-ie7-icon:"\edb8"}.mce-i-drop{-ie7-icon:"\e934"}.mce-i-contrast{-ie7-icon:"\ecd4"}.mce-i-sharpen{-ie7-icon:"\eba7"}.mce-i-palette{-ie7-icon:"\e92a"}.mce-i-resize2{-ie7-icon:"\edf9"}.mce-i-orientation{-ie7-icon:"\e601"}.mce-i-invert{-ie7-icon:"\e602"}.mce-i-gamma{-ie7-icon:"\e600"}.mce-i-remove{-ie7-icon:"\ed6a"}.mce-i-checkbox,.mce-i-selected{-ie7-icon:"\e033"}.mce-i-selected{visibility:hidden}.mce-i-backcolor{background:#BBB}
\ No newline at end of file
index 4f6e16700a1cf4c87961f147d31696a9e7478bab..4b82afca69975597f4d6b4bb8d0372121161907e 100644 (file)
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:0 0;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:400;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container [unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit!important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#a1a1a1}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#c8def4}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:700;font-size:20px;line-height:16px;color:#707070}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fdfdfd,#ddd);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdfdfd),to(#ddd));background-image:-webkit-linear-gradient(top,#fdfdfd,#ddd);background-image:-o-linear-gradient(top,#fdfdfd,#ddd);background-image:linear-gradient(to bottom,#fdfdfd,#ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd', endColorstr='#ffdddddd', GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background:0 0;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#fff;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,.3);box-shadow:0 3px 7px rgba(0,0,0,.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background:0 0;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:700;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:700;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000;-moz-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25) rgba(0,0,0,.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,.75);display:inline-block;;;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fff,#d9d9d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#d9d9d9));background-image:-webkit-linear-gradient(top,#fff,#d9d9d9);background-image:-o-linear-gradient(top,#fff,#d9d9d9);background-image:linear-gradient(to bottom,#fff,#d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;background-image:-moz-linear-gradient(top,#f2f2f2,#ccc);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#ccc));background-image:-webkit-linear-gradient(top,#f2f2f2,#ccc);background-image:-o-linear-gradient(top,#f2f2f2,#ccc);background-image:linear-gradient(to bottom,#f2f2f2,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffcccccc', GradientType=0);zoom:1}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#d6d6d6;background-image:-moz-linear-gradient(top,#e6e6e6,silver);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e6e6e6),to(silver));background-image:-webkit-linear-gradient(top,#e6e6e6,silver);background-image:-o-linear-gradient(top,#e6e6e6,silver);background-image:linear-gradient(to bottom,#e6e6e6,silver);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.mce-btn:active{background-color:#d6d6d6;background-image:-moz-linear-gradient(top,#e6e6e6,silver);background-image:-webkit-gradient(linear,0 0,0 100%,from(#e6e6e6),to(silver));background-image:-webkit-linear-gradient(top,#e6e6e6,silver);background-image:-o-linear-gradient(top,#e6e6e6,silver);background-image:linear-gradient(to bottom,#e6e6e6,silver);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{min-width:50px;color:#fff;border:1px solid #b1b1b1;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25) rgba(0,0,0,.25);background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);zoom:1}.mce-primary:hover,.mce-primary:focus{background-color:#005fb3;background-image:-moz-linear-gradient(top,#0077b3,#003cb3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#0077b3),to(#003cb3));background-image:-webkit-linear-gradient(top,#0077b3,#003cb3);background-image:-o-linear-gradient(top,#0077b3,#003cb3);background-image:linear-gradient(to bottom,#0077b3,#003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3', endColorstr='#ff003cb3', GradientType=0);zoom:1}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#005299;background-image:-moz-linear-gradient(top,#069,#039);background-image:-webkit-gradient(linear,0 0,0 100%,from(#069),to(#039));background-image:-webkit-linear-gradient(top,#069,#039);background-image:-o-linear-gradient(top,#069,#039);background-image:linear-gradient(to bottom,#069,#039);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff006699', endColorstr='#ff003399', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;}.mce-btn-small i{line-height:20px;vertical-align:top;}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;;;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:0 0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-first{border-left:1px solid #b1b1b1;border-left:1px solid rgba(0,0,0,.25);-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #b1b1b1;border-right:1px solid rgba(0,0,0,.1);-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top,#fff,#d9d9d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#d9d9d9));background-image:-webkit-linear-gradient(top,#fff,#d9d9d9);background-image:-o-linear-gradient(top,#fff,#d9d9d9);background-image:linear-gradient(to bottom,#fff,#d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1;text-indent:-10em;;;;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.65);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.65);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.65)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;;;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-14px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;border-left:1px solid transparent;border-right:1px solid transparent}.mce-colorbutton:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:4px;margin-right:-14px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;margin-right:-17px;padding-left:0}.mce-rtl .mce-colorbutton button{padding-right:10px;padding-left:10px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom,rgba(0,0,0,0),#000)}.mce-colorpicker-selector1{background:0 0;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid #000;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid #fff;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;;;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;;;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;;}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;;}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;;;text-shadow:0 1px 1px rgba(255,255,255,.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:0 0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #c4c4c4}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:transparent;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:400;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;;;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#c8def4}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#333}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);zoom:1}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background:0 0;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:10px;padding-left:10px}.mce-rtl .mce-splitbtn .mce-open{padding-left:4px;padding-right:4px}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tab{display:inline-block;;;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);display:inline-block;-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:rgba(82,168,236,.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.65);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.65);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.65)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url(img/loader.gif) no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:tinymce;src:url(fonts/tinymce.eot);src:url(fonts/tinymce.eot?#iefix) format('embedded-opentype'),url(fonts/tinymce.woff) format('woff'),url(fonts/tinymce.ttf) format('truetype'),url(fonts/tinymce.svg#tinymce) format('svg');font-weight:400;font-style:normal}@font-face{font-family:tinymce-small;src:url(fonts/tinymce-small.eot);src:url(fonts/tinymce-small.eot?#iefix) format('embedded-opentype'),url(fonts/tinymce-small.woff) format('woff'),url(fonts/tinymce-small.ttf) format('truetype'),url(fonts/tinymce-small.svg#tinymce) format('svg');font-weight:400;font-style:normal}.mce-ico{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#333}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-untitled:before{content:"\e029"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#bbb}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:0 0;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:400;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container [unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit!important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid rgba(0,0,0,.2);width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#3498db}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#3498db}.mce-grid-border{margin:0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#3498db;background:#3498db}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:700;font-size:20px;line-height:16px;color:#707070}.mce-toolbar-grp{padding:2px 0}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid #fff}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:#000}.mce-imagepanel{overflow:auto;background:#000}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #cacaca;border:0 solid rgba(0,0,0,.2);background-color:#f0f0f0}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background:0 0;top:0;left:0;background:#fff;border:1px solid rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background:0 0;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:700;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:700;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#ccc}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px;text-align:center;white-space:normal}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,.75);display:inline-block;*display:inline;*zoom:1;background-color:#f0f0f0}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;border-color:#ccc}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#dbdbdb;border-color:#ccc}.mce-btn:active{background-color:#e0e0e0;border-color:#ccc}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary{min-width:50px;color:#fff;border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-primary:hover,.mce-primary:focus{background-color:#257cb6;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#206ea1}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px none}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:0 0;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:3px;margin-left:3px}.mce-btn-group .mce-first{margin-left:0}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;background-color:#f0f0f0;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,.8)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#ccc}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom,rgba(0,0,0,0),#000)}.mce-colorpicker-selector1{background:0 0;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid #000;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid #fff;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid rgba(0,0,0,.2);width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:0 0;filter:none}.mce-menubar{border:1px solid rgba(217,217,217,.52)}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#ccc;background:#fff;filter:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;*line-height:16px}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:400;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#3498db}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#fff}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#2d8ac7}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:0 0;border-bottom:1px solid rgba(0,0,0,.1);cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background:0 0;z-index:1000;padding:5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,.2);z-index:1002;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-slider{border:1px solid #aaa;background:#eee;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #bbb;background:#ddd;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#ccc}.mce-splitbtn button{padding-right:6px;padding-left:6px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#dbdbdb;outline:1px solid #ccc}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;display:inline-block;-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;height:28px;resize:none;padding:0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#3498db}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url(img/loader.gif) no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:tinymce;src:url(fonts/tinymce.eot);src:url(fonts/tinymce.eot?#iefix) format('embedded-opentype'),url(fonts/tinymce.woff) format('woff'),url(fonts/tinymce.ttf) format('truetype'),url(fonts/tinymce.svg#tinymce) format('svg');font-weight:400;font-style:normal}@font-face{font-family:tinymce-small;src:url(fonts/tinymce-small.eot);src:url(fonts/tinymce-small.eot?#iefix) format('embedded-opentype'),url(fonts/tinymce-small.woff) format('woff'),url(fonts/tinymce-small.ttf) format('truetype'),url(fonts/tinymce-small.svg#tinymce) format('svg');font-weight:400;font-style:normal}.mce-ico{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#333}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-untitled:before{content:"\e029"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e914"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\edb8"}.mce-i-drop:before{content:"\e934"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-palette:before{content:"\e92a"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#bbb}
\ No newline at end of file
index dd7b5c48db49161d653ffc76b5eb26b527bd175c..863cbf9fa319f20729a0b1188d6d757f1d2147f1 100644 (file)
@@ -21,6 +21,9 @@ body {
        margin: 9px 10px;
        max-width: 100%;
        -webkit-font-smoothing: antialiased !important;
+       overflow-wrap: break-word;
+       word-wrap: break-word; /* Old syntax */
+       word-break: break-word; /* iOS */
 }
 
 body.rtl {
@@ -71,56 +74,27 @@ img.emoji {
        box-shadow: none !important;
 }
 
-/* DFW mode */
-html.wp-fullscreen,
-html.wp-fullscreen body#tinymce {
-       width: auto;
-       max-width: none;
-       min-height: 0;
-       overflow: hidden;
-       color: #333;
-       background: transparent;
-}
-
-.aligncenter,
-dl.aligncenter,
-.html5-captions .wp-caption.aligncenter {
-       display: block;
-       margin-left: auto;
-       margin-right: auto;
-}
-
-.alignleft {
-       float: left;
+.mceIEcenter {
+       text-align: center;
 }
 
-.alignright {
-       float: right;
+img {
+       height: auto;
+       max-width: 100%;
 }
 
 .wp-caption {
-       border: 1px solid #ddd;
-       text-align: center;
-       background-color: #f3f3f3;
-       padding-top: 4px;
-       margin: 10px 0;
-}
-
-.html5-captions .wp-caption {
-       border: none;
-       background-color: transparent;
-       margin: 0;
-       padding: 0;
+       margin: 0; /* browser reset */
+       max-width: 100%;
 }
 
-.mceIEcenter {
-       text-align: center;
+/* iOS does not obey max-width if width is set. */
+.ios .wp-caption {
+       width: auto !important;
 }
 
 .wp-caption img {
-       margin: 0;
-       padding: 0;
-       border: 0 none;
+       display: block;
 }
 
 div.mceTemp {
@@ -133,10 +107,25 @@ dl.wp-caption * {
 }
 
 .wp-caption-dd {
-       font-size: 11px;
-       line-height: 17px;
-       padding: 0 4px 5px;
-       margin: 0;
+       font-size: 14px;
+       padding-top: 0.5em;
+       margin: 0; /* browser reset */
+}
+
+.aligncenter {
+       display: block;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.alignleft {
+       float: left;
+       margin: 0.5em 1em 0.5em 0;
+}
+
+.alignright {
+       float: right;
+       margin: 0.5em 0 0.5em 1em;
 }
 
 /* Remove blue highlighting of selected images in WebKit */
index 251182ecee2dfe4ee0d8322fa362beb5d18d1e56..47739f8547e59ed007f774ba82b725d757117b4f 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * theme.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -11,7 +11,8 @@
 /*global tinymce:true */
 
 tinymce.ThemeManager.add('modern', function(editor) {
-       var self = this, settings = editor.settings, Factory = tinymce.ui.Factory, each = tinymce.each, DOM = tinymce.DOM;
+       var self = this, settings = editor.settings, Factory = tinymce.ui.Factory,
+               each = tinymce.each, DOM = tinymce.DOM, Rect = tinymce.ui.Rect, FloatPanel = tinymce.ui.FloatPanel;
 
        // Default menus
        var defaultMenus = {
@@ -27,119 +28,128 @@ tinymce.ThemeManager.add('modern', function(editor) {
        var defaultToolbar = "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | " +
                "bullist numlist outdent indent | link image";
 
-       /**
-        * Creates the toolbars from config and returns a toolbar array.
-        *
-        * @return {Array} Array with toolbars.
-        */
-       function createToolbars() {
-               var toolbars = [];
-
-               function addToolbar(items) {
-                       var toolbarItems = [], buttonGroup;
+       function createToolbar(items) {
+               var toolbarItems = [], buttonGroup;
 
-                       if (!items) {
-                               return;
-                       }
+               if (!items) {
+                       return;
+               }
 
-                       each(items.split(/[ ,]/), function(item) {
-                               var itemName;
+               each(items.split(/[ ,]/), function(item) {
+                       var itemName;
 
-                               function bindSelectorChanged() {
-                                       var selection = editor.selection;
+                       function bindSelectorChanged() {
+                               var selection = editor.selection;
 
-                                       if (itemName == "bullist") {
-                                               selection.selectorChanged('ul > li', function(state, args) {
-                                                       var nodeName, i = args.parents.length;
+                               if (itemName == "bullist") {
+                                       selection.selectorChanged('ul > li', function(state, args) {
+                                               var nodeName, i = args.parents.length;
 
-                                                       while (i--) {
-                                                               nodeName = args.parents[i].nodeName;
-                                                               if (nodeName == "OL" || nodeName == "UL") {
-                                                                       break;
-                                                               }
+                                               while (i--) {
+                                                       nodeName = args.parents[i].nodeName;
+                                                       if (nodeName == "OL" || nodeName == "UL") {
+                                                               break;
                                                        }
+                                               }
 
-                                                       item.active(state && nodeName == "UL");
-                                               });
-                                       }
+                                               item.active(state && nodeName == "UL");
+                                       });
+                               }
 
-                                       if (itemName == "numlist") {
-                                               selection.selectorChanged('ol > li', function(state, args) {
-                                                       var nodeName, i = args.parents.length;
+                               if (itemName == "numlist") {
+                                       selection.selectorChanged('ol > li', function(state, args) {
+                                               var nodeName, i = args.parents.length;
 
-                                                       while (i--) {
-                                                               nodeName = args.parents[i].nodeName;
-                                                               if (nodeName == "OL" || nodeName == "UL") {
-                                                                       break;
-                                                               }
+                                               while (i--) {
+                                                       nodeName = args.parents[i].nodeName;
+                                                       if (nodeName == "OL" || nodeName == "UL") {
+                                                               break;
                                                        }
+                                               }
 
-                                                       item.active(state && nodeName == "OL");
-                                               });
-                                       }
+                                               item.active(state && nodeName == "OL");
+                                       });
+                               }
 
-                                       if (item.settings.stateSelector) {
-                                               selection.selectorChanged(item.settings.stateSelector, function(state) {
-                                                       item.active(state);
-                                               }, true);
-                                       }
+                               if (item.settings.stateSelector) {
+                                       selection.selectorChanged(item.settings.stateSelector, function(state) {
+                                               item.active(state);
+                                       }, true);
+                               }
 
-                                       if (item.settings.disabledStateSelector) {
-                                               selection.selectorChanged(item.settings.disabledStateSelector, function(state) {
-                                                       item.disabled(state);
-                                               });
-                                       }
+                               if (item.settings.disabledStateSelector) {
+                                       selection.selectorChanged(item.settings.disabledStateSelector, function(state) {
+                                               item.disabled(state);
+                                       });
                                }
+                       }
+
+                       if (item == "|") {
+                               buttonGroup = null;
+                       } else {
+                               if (Factory.has(item)) {
+                                       item = {type: item};
 
-                               if (item == "|") {
+                                       if (settings.toolbar_items_size) {
+                                               item.size = settings.toolbar_items_size;
+                                       }
+
+                                       toolbarItems.push(item);
                                        buttonGroup = null;
                                } else {
-                                       if (Factory.has(item)) {
-                                               item = {type: item};
+                                       if (!buttonGroup) {
+                                               buttonGroup = {type: 'buttongroup', items: []};
+                                               toolbarItems.push(buttonGroup);
+                                       }
 
-                                               if (settings.toolbar_items_size) {
-                                                       item.size = settings.toolbar_items_size;
-                                               }
+                                       if (editor.buttons[item]) {
+                                               // TODO: Move control creation to some UI class
+                                               itemName = item;
+                                               item = editor.buttons[itemName];
 
-                                               toolbarItems.push(item);
-                                               buttonGroup = null;
-                                       } else {
-                                               if (!buttonGroup) {
-                                                       buttonGroup = {type: 'buttongroup', items: []};
-                                                       toolbarItems.push(buttonGroup);
+                                               if (typeof item == "function") {
+                                                       item = item();
                                                }
 
-                                               if (editor.buttons[item]) {
-                                                       // TODO: Move control creation to some UI class
-                                                       itemName = item;
-                                                       item = editor.buttons[itemName];
-
-                                                       if (typeof item == "function") {
-                                                               item = item();
-                                                       }
-
-                                                       item.type = item.type || 'button';
+                                               item.type = item.type || 'button';
 
-                                                       if (settings.toolbar_items_size) {
-                                                               item.size = settings.toolbar_items_size;
-                                                       }
+                                               if (settings.toolbar_items_size) {
+                                                       item.size = settings.toolbar_items_size;
+                                               }
 
-                                                       item = Factory.create(item);
-                                                       buttonGroup.items.push(item);
+                                               item = Factory.create(item);
+                                               buttonGroup.items.push(item);
 
-                                                       if (editor.initialized) {
-                                                               bindSelectorChanged();
-                                                       } else {
-                                                               editor.on('init', bindSelectorChanged);
-                                                       }
+                                               if (editor.initialized) {
+                                                       bindSelectorChanged();
+                                               } else {
+                                                       editor.on('init', bindSelectorChanged);
                                                }
                                        }
                                }
-                       });
+                       }
+               });
 
-                       toolbars.push({type: 'toolbar', layout: 'flow', items: toolbarItems});
+               return {
+                       type: 'toolbar',
+                       layout: 'flow',
+                       items: toolbarItems
+               };
+       }
 
-                       return true;
+       /**
+        * Creates the toolbars from config and returns a toolbar array.
+        *
+        * @return {Array} Array with toolbars.
+        */
+       function createToolbars() {
+               var toolbars = [];
+
+               function addToolbar(items) {
+                       if (items) {
+                               toolbars.push(createToolbar(items));
+                               return true;
+                       }
                }
 
                // Convert toolbar array to multiple options
@@ -358,6 +368,236 @@ tinymce.ThemeManager.add('modern', function(editor) {
                self.resizeTo(elm.clientWidth + dw, elm.clientHeight + dh);
        }
 
+       /**
+        * Handles contextual toolbars.
+        */
+       function addContextualToolbars() {
+               var scrollContainer;
+
+               function getContextToolbars() {
+                       return editor.contextToolbars || [];
+               }
+
+               function getElementRect(elm) {
+                       var pos, targetRect, root;
+
+                       pos = tinymce.DOM.getPos(editor.getContentAreaContainer());
+                       targetRect = editor.dom.getRect(elm);
+                       root = editor.dom.getRoot();
+
+                       // Adjust targetPos for scrolling in the editor
+                       if (root.nodeName == 'BODY') {
+                               targetRect.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft;
+                               targetRect.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop;
+                       }
+
+                       targetRect.x += pos.x;
+                       targetRect.y += pos.y;
+
+                       return targetRect;
+               }
+
+               function hideAllFloatingPanels() {
+                       each(editor.contextToolbars, function(toolbar) {
+                               if (toolbar.panel) {
+                                       toolbar.panel.hide();
+                               }
+                       });
+               }
+
+               function reposition(match) {
+                       var relPos, panelRect, elementRect, contentAreaRect, panel, relRect, testPositions;
+
+                       if (editor.removed) {
+                               return;
+                       }
+
+                       if (!match || !match.toolbar.panel) {
+                               hideAllFloatingPanels();
+                               return;
+                       }
+
+                       testPositions = [
+                               'tc-bc', 'bc-tc',
+                               'tl-bl', 'bl-tl',
+                               'tr-br', 'br-tr'
+                       ];
+
+                       panel = match.toolbar.panel;
+                       panel.show();
+
+                       elementRect = getElementRect(match.element);
+                       panelRect = tinymce.DOM.getRect(panel.getEl());
+                       contentAreaRect = tinymce.DOM.getRect(editor.getContentAreaContainer() || editor.getBody());
+
+                       if (!editor.inline) {
+                               contentAreaRect.w = editor.getDoc().documentElement.offsetWidth;
+                       }
+
+                       // Inflate the elementRect so it doesn't get placed above resize handles
+                       if (editor.selection.controlSelection.isResizable(match.element)) {
+                               elementRect = Rect.inflate(elementRect, 0, 7);
+                       }
+
+                       relPos = Rect.findBestRelativePosition(panelRect, elementRect, contentAreaRect, testPositions);
+
+                       if (relPos) {
+                               each(testPositions.concat('inside'), function(pos) {
+                                       panel.classes.toggle('tinymce-inline-' + pos, pos == relPos);
+                               });
+
+                               relRect = Rect.relativePosition(panelRect, elementRect, relPos);
+                               panel.moveTo(relRect.x, relRect.y);
+                       } else {
+                               each(testPositions, function(pos) {
+                                       panel.classes.toggle('tinymce-inline-' + pos, false);
+                               });
+
+                               panel.classes.toggle('tinymce-inline-inside', true);
+
+                               elementRect = Rect.intersect(contentAreaRect, elementRect);
+
+                               if (elementRect) {
+                                       relPos = Rect.findBestRelativePosition(panelRect, elementRect, contentAreaRect, [
+                                               'tc-tc', 'tl-tl', 'tr-tr'
+                                       ]);
+
+                                       if (relPos) {
+                                               relRect = Rect.relativePosition(panelRect, elementRect, relPos);
+                                               panel.moveTo(relRect.x, relRect.y);
+                                       } else {
+                                               panel.moveTo(elementRect.x, elementRect.y);
+                                       }
+                               } else {
+                                       panel.hide();
+                               }
+                       }
+
+                       //drawRect(contentAreaRect, 'blue');
+                       //drawRect(elementRect, 'red');
+                       //drawRect(panelRect, 'green');
+               }
+
+               function repositionHandler() {
+                       function execute() {
+                               if (editor.selection) {
+                                       reposition(findFrontMostMatch(editor.selection.getNode()));
+                               }
+                       }
+
+                       if (window.requestAnimationFrame) {
+                               window.requestAnimationFrame(execute);
+                       } else {
+                               execute();
+                       }
+               }
+
+               function bindScrollEvent() {
+                       if (!scrollContainer) {
+                               scrollContainer = editor.selection.getScrollContainer() || editor.getWin();
+                               tinymce.$(scrollContainer).on('scroll', repositionHandler);
+
+                               editor.on('remove', function() {
+                                       tinymce.$(scrollContainer).off('scroll');
+                               });
+                       }
+               }
+
+               function showContextToolbar(match) {
+                       var panel;
+
+                       if (match.toolbar.panel) {
+                               match.toolbar.panel.show();
+                               reposition(match);
+                               return;
+                       }
+
+                       bindScrollEvent();
+
+                       panel = Factory.create({
+                               type: 'floatpanel',
+                               role: 'application',
+                               classes: 'tinymce tinymce-inline',
+                               layout: 'flex',
+                               direction: 'column',
+                               align: 'stretch',
+                               autohide: false,
+                               autofix: true,
+                               fixed: true,
+                               border: 1,
+                               items: createToolbar(match.toolbar.items)
+                       });
+
+                       match.toolbar.panel = panel;
+                       panel.renderTo(document.body).reflow();
+                       reposition(match);
+               }
+
+               function hideAllContextToolbars() {
+                       tinymce.each(getContextToolbars(), function(toolbar) {
+                               if (toolbar.panel) {
+                                       toolbar.panel.hide();
+                               }
+                       });
+               }
+
+               function findFrontMostMatch(targetElm) {
+                       var i, y, parentsAndSelf, toolbars = getContextToolbars();
+
+                       parentsAndSelf = editor.$(targetElm).parents().add(targetElm);
+                       for (i = parentsAndSelf.length - 1; i >= 0; i--) {
+                               for (y = toolbars.length - 1; y >= 0; y--) {
+                                       if (toolbars[y].predicate(parentsAndSelf[i])) {
+                                               return {
+                                                       toolbar: toolbars[y],
+                                                       element: parentsAndSelf[i]
+                                               };
+                                       }
+                               }
+                       }
+
+                       return null;
+               }
+
+               editor.on('click keyup blur', function() {
+                       // Needs to be delayed to avoid Chrome img focus out bug
+                       window.setTimeout(function() {
+                               var match;
+
+                               if (editor.removed) {
+                                       return;
+                               }
+
+                               match = findFrontMostMatch(editor.selection.getNode());
+                               if (match) {
+                                       showContextToolbar(match);
+                               } else {
+                                       hideAllContextToolbars();
+                               }
+                       }, 0);
+               });
+
+               editor.on('ObjectResizeStart', function() {
+                       var match = findFrontMostMatch(editor.selection.getNode());
+
+                       if (match && match.toolbar.panel) {
+                               match.toolbar.panel.hide();
+                       }
+               });
+
+               editor.on('nodeChange ResizeEditor ResizeWindow', repositionHandler);
+
+               editor.on('remove', function() {
+                       tinymce.each(getContextToolbars(), function(toolbar) {
+                               if (toolbar.panel) {
+                                       toolbar.panel.remove();
+                               }
+                       });
+
+                       editor.contextToolbars = {};
+               });
+       }
+
        /**
         * Renders the inline editor UI.
         *
@@ -397,7 +637,12 @@ tinymce.ThemeManager.add('modern', function(editor) {
 
                function hide() {
                        if (panel) {
+                               // We require two events as the inline float panel based toolbar does not have autohide=true
                                panel.hide();
+
+                               // All other autohidden float panels will be closed below.
+                               FloatPanel.hideAll();
+
                                DOM.removeClass(editor.getBody(), 'mce-edit-focus');
                        }
                }
@@ -441,6 +686,7 @@ tinymce.ThemeManager.add('modern', function(editor) {
 
                        addAccessibilityKeys(panel);
                        show();
+                       addContextualToolbars();
 
                        editor.on('nodeChange', reposition);
                        editor.on('activate', show);
@@ -555,8 +801,9 @@ tinymce.ThemeManager.add('modern', function(editor) {
                        panel = null;
                });
 
-               // Add accesibility shortkuts
+               // Add accesibility shortcuts
                addAccessibilityKeys(panel);
+               addContextualToolbars();
 
                return {
                        iframeContainer: panel.find('#iframe')[0].getEl(),
index c132ad5323ae1ed1f9bd2dfb80471b71aebfa587..b9ffa708df5eb07c5c9c69c9f0e7f92267f9381d 100644 (file)
@@ -1 +1 @@
-tinymce.ThemeManager.add("modern",function(a){function b(){function b(b){var d,e=[];if(b)return l(b.split(/[ ,]/),function(b){function c(){var c=a.selection;"bullist"==f&&c.selectorChanged("ul > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!=d&&"UL"!=d););b.active(a&&"UL"==d)}),"numlist"==f&&c.selectorChanged("ol > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!=d&&"UL"!=d););b.active(a&&"OL"==d)}),b.settings.stateSelector&&c.selectorChanged(b.settings.stateSelector,function(a){b.active(a)},!0),b.settings.disabledStateSelector&&c.selectorChanged(b.settings.disabledStateSelector,function(a){b.disabled(a)})}var f;"|"==b?d=null:k.has(b)?(b={type:b},j.toolbar_items_size&&(b.size=j.toolbar_items_size),e.push(b),d=null):(d||(d={type:"buttongroup",items:[]},e.push(d)),a.buttons[b]&&(f=b,b=a.buttons[f],"function"==typeof b&&(b=b()),b.type=b.type||"button",j.toolbar_items_size&&(b.size=j.toolbar_items_size),b=k.create(b),d.items.push(b),a.initialized?c():a.on("init",c)))}),c.push({type:"toolbar",layout:"flow",items:e}),!0}var c=[];if(tinymce.isArray(j.toolbar)){if(0===j.toolbar.length)return;tinymce.each(j.toolbar,function(a,b){j["toolbar"+(b+1)]=a}),delete j.toolbar}for(var d=1;10>d&&b(j["toolbar"+d]);d++);return c.length||j.toolbar===!1||b(j.toolbar||o),c.length?{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:c}:void 0}function c(){function b(b){var c;return"|"==b?{text:"|"}:c=a.menuItems[b]}function c(c){var d,e,f,g,h;if(h=tinymce.makeMap((j.removed_menuitems||"").split(/[ ,]/)),j.menu?(e=j.menu[c],g=!0):e=n[c],e){d={text:e.title},f=[],l((e.items||"").split(/[ ,]/),function(a){var c=b(a);c&&!h[a]&&f.push(b(a))}),g||l(a.menuItems,function(a){a.context==c&&("before"==a.separator&&f.push({text:"|"}),a.prependToContext?f.unshift(a):f.push(a),"after"==a.separator&&f.push({text:"|"}))});for(var i=0;i<f.length;i++)"|"==f[i].text&&(0===i||i==f.length-1)&&f.splice(i,1);if(d.menu=f,!d.menu.length)return null}return d}var d,e=[],f=[];if(j.menu)for(d in j.menu)f.push(d);else for(d in n)f.push(d);for(var g="string"==typeof j.menubar?j.menubar.split(/[ ,]/):f,h=0;h<g.length;h++){var i=g[h];i=c(i),i&&e.push(i)}return e}function d(b){function c(a){var c=b.find(a)[0];c&&c.focus(!0)}a.shortcuts.add("Alt+F9","",function(){c("menubar")}),a.shortcuts.add("Alt+F10","",function(){c("toolbar")}),a.shortcuts.add("Alt+F11","",function(){c("elementpath")}),b.on("cancel",function(){a.focus()})}function e(b,c){function d(a){return{width:a.clientWidth,height:a.clientHeight}}var e,f,g,h;e=a.getContainer(),f=a.getContentAreaContainer().firstChild,g=d(e),h=d(f),null!==b&&(b=Math.max(j.min_width||100,b),b=Math.min(j.max_width||65535,b),m.setStyle(e,"width",b+(g.width-h.width)),m.setStyle(f,"width",b)),c=Math.max(j.min_height||100,c),c=Math.min(j.max_height||65535,c),m.setStyle(f,"height",c),a.fire("ResizeEditor")}function f(b,c){var d=a.getContentAreaContainer();i.resizeTo(d.clientWidth+b,d.clientHeight+c)}function g(e){function f(){if(n&&n.moveRel&&n.visible()&&!n._fixed){var b=a.selection.getScrollContainer(),c=a.getBody(),d=0,e=0;if(b){var f=m.getPos(c),g=m.getPos(b);d=Math.max(0,g.x-f.x),e=Math.max(0,g.y-f.y)}n.fixed(!1).moveRel(c,a.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(d,e)}}function g(){n&&(n.show(),f(),m.addClass(a.getBody(),"mce-edit-focus"))}function h(){n&&(n.hide(),m.removeClass(a.getBody(),"mce-edit-focus"))}function l(){return n?void(n.visible()||g()):(n=i.panel=k.create({type:o?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!o,border:1,items:[j.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:c()},b()]}),a.fire("BeforeRenderUI"),n.renderTo(o||document.body).reflow(),d(n),g(),a.on("nodeChange",f),a.on("activate",g),a.on("deactivate",h),void a.nodeChanged())}var n,o;return j.fixed_toolbar_container&&(o=m.select(j.fixed_toolbar_container)[0]),j.content_editable=!0,a.on("focus",function(){e.skinUiCss?tinymce.DOM.styleSheetLoader.load(e.skinUiCss,l,l):l()}),a.on("blur hide",h),a.on("remove",function(){n&&(n.remove(),n=null)}),e.skinUiCss&&tinymce.DOM.styleSheetLoader.load(e.skinUiCss),{}}function h(f){var g,h,l;return f.skinUiCss&&tinymce.DOM.loadCSS(f.skinUiCss),g=i.panel=k.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[j.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:c()},b(),{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",html:"",border:"1 0 0 0"}]}),j.resize!==!1&&(h={type:"resizehandle",direction:j.resize,onResizeStart:function(){var b=a.getContentAreaContainer().firstChild;l={width:b.clientWidth,height:b.clientHeight}},onResize:function(a){"both"==j.resize?e(l.width+a.deltaX,l.height+a.deltaY):e(null,l.height+a.deltaY)}}),j.statusbar!==!1&&g.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath"},h]}),j.readonly&&g.find("*").disabled(!0),a.fire("BeforeRenderUI"),g.renderBefore(f.targetNode).reflow(),j.width&&tinymce.DOM.setStyle(g.getEl(),"width",j.width),a.on("remove",function(){g.remove(),g=null}),d(g),{iframeContainer:g.find("#iframe")[0].getEl(),editorContainer:g.getEl()}}var i=this,j=a.settings,k=tinymce.ui.Factory,l=tinymce.each,m=tinymce.DOM,n={file:{title:"File",items:"newdocument"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},insert:{title:"Insert",items:"|"},view:{title:"View",items:"visualaid |"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript | formats | removeformat"},table:{title:"Table"},tools:{title:"Tools"}},o="undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image";i.renderUI=function(b){var c=j.skin!==!1?j.skin||"lightgray":!1;if(c){var d=j.skin_url;d=d?a.documentBaseURI.toAbsolute(d):tinymce.baseURL+"/skins/"+c,b.skinUiCss=tinymce.Env.documentMode<=7?d+"/skin.ie7.min.css":d+"/skin.min.css",a.contentCSS.push(d+"/content"+(a.inline?".inline":"")+".min.css")}return a.on("ProgressState",function(a){i.throbber=i.throbber||new tinymce.ui.Throbber(i.panel.getEl("body")),a.state?i.throbber.show(a.time):i.throbber.hide()}),j.inline?g(b):h(b)},i.resizeTo=e,i.resizeBy=f});
\ No newline at end of file
+tinymce.ThemeManager.add("modern",function(a){function b(b){var c,d=[];if(b)return n(b.split(/[ ,]/),function(b){function e(){var c=a.selection;"bullist"==f&&c.selectorChanged("ul > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!=d&&"UL"!=d););b.active(a&&"UL"==d)}),"numlist"==f&&c.selectorChanged("ol > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!=d&&"UL"!=d););b.active(a&&"OL"==d)}),b.settings.stateSelector&&c.selectorChanged(b.settings.stateSelector,function(a){b.active(a)},!0),b.settings.disabledStateSelector&&c.selectorChanged(b.settings.disabledStateSelector,function(a){b.disabled(a)})}var f;"|"==b?c=null:m.has(b)?(b={type:b},l.toolbar_items_size&&(b.size=l.toolbar_items_size),d.push(b),c=null):(c||(c={type:"buttongroup",items:[]},d.push(c)),a.buttons[b]&&(f=b,b=a.buttons[f],"function"==typeof b&&(b=b()),b.type=b.type||"button",l.toolbar_items_size&&(b.size=l.toolbar_items_size),b=m.create(b),c.items.push(b),a.initialized?e():a.on("init",e)))}),{type:"toolbar",layout:"flow",items:d}}function c(){function a(a){return a?(c.push(b(a)),!0):void 0}var c=[];if(tinymce.isArray(l.toolbar)){if(0===l.toolbar.length)return;tinymce.each(l.toolbar,function(a,b){l["toolbar"+(b+1)]=a}),delete l.toolbar}for(var d=1;10>d&&a(l["toolbar"+d]);d++);return c.length||l.toolbar===!1||a(l.toolbar||s),c.length?{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:c}:void 0}function d(){function b(b){var c;return"|"==b?{text:"|"}:c=a.menuItems[b]}function c(c){var d,e,f,g,h;if(h=tinymce.makeMap((l.removed_menuitems||"").split(/[ ,]/)),l.menu?(e=l.menu[c],g=!0):e=r[c],e){d={text:e.title},f=[],n((e.items||"").split(/[ ,]/),function(a){var c=b(a);c&&!h[a]&&f.push(b(a))}),g||n(a.menuItems,function(a){a.context==c&&("before"==a.separator&&f.push({text:"|"}),a.prependToContext?f.unshift(a):f.push(a),"after"==a.separator&&f.push({text:"|"}))});for(var i=0;i<f.length;i++)"|"==f[i].text&&(0===i||i==f.length-1)&&f.splice(i,1);if(d.menu=f,!d.menu.length)return null}return d}var d,e=[],f=[];if(l.menu)for(d in l.menu)f.push(d);else for(d in r)f.push(d);for(var g="string"==typeof l.menubar?l.menubar.split(/[ ,]/):f,h=0;h<g.length;h++){var i=g[h];i=c(i),i&&e.push(i)}return e}function e(b){function c(a){var c=b.find(a)[0];c&&c.focus(!0)}a.shortcuts.add("Alt+F9","",function(){c("menubar")}),a.shortcuts.add("Alt+F10","",function(){c("toolbar")}),a.shortcuts.add("Alt+F11","",function(){c("elementpath")}),b.on("cancel",function(){a.focus()})}function f(b,c){function d(a){return{width:a.clientWidth,height:a.clientHeight}}var e,f,g,h;e=a.getContainer(),f=a.getContentAreaContainer().firstChild,g=d(e),h=d(f),null!==b&&(b=Math.max(l.min_width||100,b),b=Math.min(l.max_width||65535,b),o.setStyle(e,"width",b+(g.width-h.width)),o.setStyle(f,"width",b)),c=Math.max(l.min_height||100,c),c=Math.min(l.max_height||65535,c),o.setStyle(f,"height",c),a.fire("ResizeEditor")}function g(b,c){var d=a.getContentAreaContainer();k.resizeTo(d.clientWidth+b,d.clientHeight+c)}function h(){function c(){return a.contextToolbars||[]}function d(b){var c,d,e;return c=tinymce.DOM.getPos(a.getContentAreaContainer()),d=a.dom.getRect(b),e=a.dom.getRoot(),"BODY"==e.nodeName&&(d.x-=e.ownerDocument.documentElement.scrollLeft||e.scrollLeft,d.y-=e.ownerDocument.documentElement.scrollTop||e.scrollTop),d.x+=c.x,d.y+=c.y,d}function e(){n(a.contextToolbars,function(a){a.panel&&a.panel.hide()})}function f(b){var c,f,g,h,i,j,k;if(!a.removed){if(!b||!b.toolbar.panel)return void e();k=["tc-bc","bc-tc","tl-bl","bl-tl","tr-br","br-tr"],i=b.toolbar.panel,i.show(),g=d(b.element),f=tinymce.DOM.getRect(i.getEl()),h=tinymce.DOM.getRect(a.getContentAreaContainer()||a.getBody()),a.inline||(h.w=a.getDoc().documentElement.offsetWidth),a.selection.controlSelection.isResizable(b.element)&&(g=p.inflate(g,0,7)),c=p.findBestRelativePosition(f,g,h,k),c?(n(k.concat("inside"),function(a){i.classes.toggle("tinymce-inline-"+a,a==c)}),j=p.relativePosition(f,g,c),i.moveTo(j.x,j.y)):(n(k,function(a){i.classes.toggle("tinymce-inline-"+a,!1)}),i.classes.toggle("tinymce-inline-inside",!0),g=p.intersect(h,g),g?(c=p.findBestRelativePosition(f,g,h,["tc-tc","tl-tl","tr-tr"]),c?(j=p.relativePosition(f,g,c),i.moveTo(j.x,j.y)):i.moveTo(g.x,g.y)):i.hide())}}function g(){function b(){a.selection&&f(k(a.selection.getNode()))}window.requestAnimationFrame?window.requestAnimationFrame(b):b()}function h(){l||(l=a.selection.getScrollContainer()||a.getWin(),tinymce.$(l).on("scroll",g),a.on("remove",function(){tinymce.$(l).off("scroll")}))}function i(a){var c;return a.toolbar.panel?(a.toolbar.panel.show(),void f(a)):(h(),c=m.create({type:"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!0,border:1,items:b(a.toolbar.items)}),a.toolbar.panel=c,c.renderTo(document.body).reflow(),void f(a))}function j(){tinymce.each(c(),function(a){a.panel&&a.panel.hide()})}function k(b){var d,e,f,g=c();for(f=a.$(b).parents().add(b),d=f.length-1;d>=0;d--)for(e=g.length-1;e>=0;e--)if(g[e].predicate(f[d]))return{toolbar:g[e],element:f[d]};return null}var l;a.on("click keyup blur",function(){window.setTimeout(function(){var b;a.removed||(b=k(a.selection.getNode()),b?i(b):j())},0)}),a.on("ObjectResizeStart",function(){var b=k(a.selection.getNode());b&&b.toolbar.panel&&b.toolbar.panel.hide()}),a.on("nodeChange ResizeEditor ResizeWindow",g),a.on("remove",function(){tinymce.each(c(),function(a){a.panel&&a.panel.remove()}),a.contextToolbars={}})}function i(b){function f(){if(n&&n.moveRel&&n.visible()&&!n._fixed){var b=a.selection.getScrollContainer(),c=a.getBody(),d=0,e=0;if(b){var f=o.getPos(c),g=o.getPos(b);d=Math.max(0,g.x-f.x),e=Math.max(0,g.y-f.y)}n.fixed(!1).moveRel(c,a.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(d,e)}}function g(){n&&(n.show(),f(),o.addClass(a.getBody(),"mce-edit-focus"))}function i(){n&&(n.hide(),q.hideAll(),o.removeClass(a.getBody(),"mce-edit-focus"))}function j(){return n?void(n.visible()||g()):(n=k.panel=m.create({type:p?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!p,border:1,items:[l.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:d()},c()]}),a.fire("BeforeRenderUI"),n.renderTo(p||document.body).reflow(),e(n),g(),h(),a.on("nodeChange",f),a.on("activate",g),a.on("deactivate",i),void a.nodeChanged())}var n,p;return l.fixed_toolbar_container&&(p=o.select(l.fixed_toolbar_container)[0]),l.content_editable=!0,a.on("focus",function(){b.skinUiCss?tinymce.DOM.styleSheetLoader.load(b.skinUiCss,j,j):j()}),a.on("blur hide",i),a.on("remove",function(){n&&(n.remove(),n=null)}),b.skinUiCss&&tinymce.DOM.styleSheetLoader.load(b.skinUiCss),{}}function j(b){var g,i,j;return b.skinUiCss&&tinymce.DOM.loadCSS(b.skinUiCss),g=k.panel=m.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[l.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:d()},c(),{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",html:"",border:"1 0 0 0"}]}),l.resize!==!1&&(i={type:"resizehandle",direction:l.resize,onResizeStart:function(){var b=a.getContentAreaContainer().firstChild;j={width:b.clientWidth,height:b.clientHeight}},onResize:function(a){"both"==l.resize?f(j.width+a.deltaX,j.height+a.deltaY):f(null,j.height+a.deltaY)}}),l.statusbar!==!1&&g.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath"},i]}),l.readonly&&g.find("*").disabled(!0),a.fire("BeforeRenderUI"),g.renderBefore(b.targetNode).reflow(),l.width&&tinymce.DOM.setStyle(g.getEl(),"width",l.width),a.on("remove",function(){g.remove(),g=null}),e(g),h(),{iframeContainer:g.find("#iframe")[0].getEl(),editorContainer:g.getEl()}}var k=this,l=a.settings,m=tinymce.ui.Factory,n=tinymce.each,o=tinymce.DOM,p=tinymce.ui.Rect,q=tinymce.ui.FloatPanel,r={file:{title:"File",items:"newdocument"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},insert:{title:"Insert",items:"|"},view:{title:"View",items:"visualaid |"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript | formats | removeformat"},table:{title:"Table"},tools:{title:"Tools"}},s="undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image";k.renderUI=function(b){var c=l.skin!==!1?l.skin||"lightgray":!1;if(c){var d=l.skin_url;d=d?a.documentBaseURI.toAbsolute(d):tinymce.baseURL+"/skins/"+c,b.skinUiCss=tinymce.Env.documentMode<=7?d+"/skin.ie7.min.css":d+"/skin.min.css",a.contentCSS.push(d+"/content"+(a.inline?".inline":"")+".min.css")}return a.on("ProgressState",function(a){k.throbber=k.throbber||new tinymce.ui.Throbber(k.panel.getEl("body")),a.state?k.throbber.show(a.time):k.throbber.hide()}),l.inline?i(b):j(b)},k.resizeTo=f,k.resizeBy=g});
\ No newline at end of file
index 94880878ec28d315c1cd1fe00050202e3b3a9b37..cf516a4a0349798b5a7445636cdc8841d00e7c56 100644 (file)
@@ -1,8 +1,8 @@
 /**
- * Popup.js
+ * tinymce_mce_popup.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index c0c7f34fd4d3623d10255cc49b8302259e8285a7..ccd5dfbd4fd7b2b7a964a0c4ae9fdcc2bee4c1cf 100644 (file)
@@ -1,11 +1,12 @@
-// 4.1.9 (2015-05-05)
-!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i]),!n)throw"module definition dependecy not found: "+e[i];r.push(n)}t.apply(null,r)}function r(e,r,i){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(r===t)throw"invalid module definition, dependencies must be specified";if(i===t)throw"invalid module definition, definition function must be specified";n(r,function(){s[e]=i.apply(null,arguments)})}function i(e){return!!s[e]}function o(t){for(var n=e,r=t.split(/[.\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function a(n){for(var r=0;r<n.length;r++){for(var i=e,o=n[r],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)i[a[l]]===t&&(i[a[l]]={}),i=i[a[l]];i[a[a.length-1]]=s[o]}}var s={},l="tinymce/dom/EventUtils",c="tinymce/dom/Sizzle",u="tinymce/Env",d="tinymce/util/Tools",f="tinymce/dom/DomQuery",p="tinymce/html/Styles",h="tinymce/dom/TreeWalker",m="tinymce/dom/Range",g="tinymce/html/Entities",v="tinymce/dom/StyleSheetLoader",y="tinymce/dom/DOMUtils",b="tinymce/dom/ScriptLoader",C="tinymce/AddOnManager",x="tinymce/dom/RangeUtils",w="tinymce/NodeChange",_="tinymce/html/Node",E="tinymce/html/Schema",N="tinymce/html/SaxParser",k="tinymce/html/DomParser",S="tinymce/html/Writer",T="tinymce/html/Serializer",R="tinymce/dom/Serializer",A="tinymce/dom/TridentSelection",B="tinymce/util/VK",D="tinymce/dom/ControlSelection",L="tinymce/dom/BookmarkManager",M="tinymce/dom/Selection",H="tinymce/dom/ElementUtils",P="tinymce/fmt/Preview",O="tinymce/Formatter",I="tinymce/UndoManager",F="tinymce/EnterKey",z="tinymce/ForceBlocks",W="tinymce/EditorCommands",V="tinymce/util/URI",U="tinymce/util/Class",$="tinymce/util/EventDispatcher",q="tinymce/ui/Selector",j="tinymce/ui/Collection",Y="tinymce/ui/DomUtils",K="tinymce/ui/Control",G="tinymce/ui/Factory",X="tinymce/ui/KeyboardNavigation",J="tinymce/ui/Container",Q="tinymce/ui/DragHelper",Z="tinymce/ui/Scrollable",ee="tinymce/ui/Panel",te="tinymce/ui/Movable",ne="tinymce/ui/Resizable",re="tinymce/ui/FloatPanel",ie="tinymce/ui/Window",oe="tinymce/ui/MessageBox",ae="tinymce/WindowManager",se="tinymce/util/Quirks",le="tinymce/util/Observable",ce="tinymce/EditorObservable",ue="tinymce/Shortcuts",de="tinymce/Editor",fe="tinymce/util/I18n",pe="tinymce/FocusManager",he="tinymce/EditorManager",me="tinymce/LegacyInput",ge="tinymce/util/XHR",ve="tinymce/util/JSON",ye="tinymce/util/JSONRequest",be="tinymce/util/JSONP",Ce="tinymce/util/LocalStorage",xe="tinymce/Compat",we="tinymce/ui/Layout",_e="tinymce/ui/AbsoluteLayout",Ee="tinymce/ui/Tooltip",Ne="tinymce/ui/Widget",ke="tinymce/ui/Button",Se="tinymce/ui/ButtonGroup",Te="tinymce/ui/Checkbox",Re="tinymce/ui/ComboBox",Ae="tinymce/ui/ColorBox",Be="tinymce/ui/PanelButton",De="tinymce/ui/ColorButton",Le="tinymce/util/Color",Me="tinymce/ui/ColorPicker",He="tinymce/ui/Path",Pe="tinymce/ui/ElementPath",Oe="tinymce/ui/FormItem",Ie="tinymce/ui/Form",Fe="tinymce/ui/FieldSet",ze="tinymce/ui/FilePicker",We="tinymce/ui/FitLayout",Ve="tinymce/ui/FlexLayout",Ue="tinymce/ui/FlowLayout",$e="tinymce/ui/FormatControls",qe="tinymce/ui/GridLayout",je="tinymce/ui/Iframe",Ye="tinymce/ui/Label",Ke="tinymce/ui/Toolbar",Ge="tinymce/ui/MenuBar",Xe="tinymce/ui/MenuButton",Je="tinymce/ui/ListBox",Qe="tinymce/ui/MenuItem",Ze="tinymce/ui/Menu",et="tinymce/ui/Radio",tt="tinymce/ui/ResizeHandle",nt="tinymce/ui/Spacer",rt="tinymce/ui/SplitButton",it="tinymce/ui/StackLayout",ot="tinymce/ui/TabPanel",at="tinymce/ui/TextBox",st="tinymce/ui/Throbber";r(l,[],function(){function e(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function n(e,t){function n(){return!1}function r(){return!0}var i,o=t||{},l;for(i in e)s[i]||(o[i]=e[i]);if(o.target||(o.target=o.srcElement||document),e&&a.test(e.type)&&e.pageX===l&&e.clientX!==l){var c=o.target.ownerDocument||document,u=c.documentElement,d=c.body;o.pageX=e.clientX+(u&&u.scrollLeft||d&&d.scrollLeft||0)-(u&&u.clientLeft||d&&d.clientLeft||0),o.pageY=e.clientY+(u&&u.scrollTop||d&&d.scrollTop||0)-(u&&u.clientTop||d&&d.clientTop||0)}return o.preventDefault=function(){o.isDefaultPrevented=r,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},o.stopPropagation=function(){o.isPropagationStopped=r,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},o.stopImmediatePropagation=function(){o.isImmediatePropagationStopped=r,o.stopPropagation()},o.isDefaultPrevented||(o.isDefaultPrevented=n,o.isPropagationStopped=n,o.isImmediatePropagationStopped=n),o}function r(n,r,i){function o(){i.domLoaded||(i.domLoaded=!0,r(c))}function a(){("complete"===l.readyState||"interactive"===l.readyState&&l.body)&&(t(l,"readystatechange",a),o())}function s(){try{l.documentElement.doScroll("left")}catch(e){return void setTimeout(s,0)}o()}var l=n.document,c={type:"ready"};return i.domLoaded?void r(c):(l.addEventListener?"complete"===l.readyState?o():e(n,"DOMContentLoaded",o):(e(l,"readystatechange",a),l.documentElement.doScroll&&n.self===n.top&&s()),void e(n,"load",o))}function i(){function i(e,t){var n,r,i,o,a=s[t];if(n=a&&a[e.type])for(r=0,i=n.length;i>r;r++)if(o=n[r],o&&o.func.call(o.scope,e)===!1&&e.preventDefault(),e.isImmediatePropagationStopped())return}var a=this,s={},l,c,u,d,f;c=o+(+new Date).toString(32),d="onmouseenter"in document.documentElement,u="onfocusin"in document.documentElement,f={mouseenter:"mouseover",mouseleave:"mouseout"},l=1,a.domLoaded=!1,a.events=s,a.bind=function(t,o,p,h){function m(e){i(n(e||_.event),g)}var g,v,y,b,C,x,w,_=window;if(t&&3!==t.nodeType&&8!==t.nodeType){for(t[c]?g=t[c]:(g=l++,t[c]=g,s[g]={}),h=h||t,o=o.split(" "),y=o.length;y--;)b=o[y],x=m,C=w=!1,"DOMContentLoaded"===b&&(b="ready"),a.domLoaded&&"ready"===b&&"complete"==t.readyState?p.call(h,n({type:b})):(d||(C=f[b],C&&(x=function(e){var t,r;if(t=e.currentTarget,r=e.relatedTarget,r&&t.contains)r=t.contains(r);else for(;r&&r!==t;)r=r.parentNode;r||(e=n(e||_.event),e.type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,i(e,g))})),u||"focusin"!==b&&"focusout"!==b||(w=!0,C="focusin"===b?"focus":"blur",x=function(e){e=n(e||_.event),e.type="focus"===e.type?"focusin":"focusout",i(e,g)}),v=s[g][b],v?"ready"===b&&a.domLoaded?p({type:b}):v.push({func:p,scope:h}):(s[g][b]=v=[{func:p,scope:h}],v.fakeName=C,v.capture=w,v.nativeHandler=x,"ready"===b?r(t,x,a):e(t,C||b,x,w)));return t=v=0,p}},a.unbind=function(e,n,r){var i,o,l,u,d,f;if(!e||3===e.nodeType||8===e.nodeType)return a;if(i=e[c]){if(f=s[i],n){for(n=n.split(" "),l=n.length;l--;)if(d=n[l],o=f[d]){if(r)for(u=o.length;u--;)if(o[u].func===r){var p=o.nativeHandler,h=o.fakeName,m=o.capture;o=o.slice(0,u).concat(o.slice(u+1)),o.nativeHandler=p,o.fakeName=h,o.capture=m,f[d]=o}r&&0!==o.length||(delete f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture))}}else{for(d in f)o=f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture);f={}}for(d in f)return a;delete s[i];try{delete e[c]}catch(g){e[c]=null}}return a},a.fire=function(e,t,r){var o;if(!e||3===e.nodeType||8===e.nodeType)return a;r=n(null,r),r.type=t,r.target=e;do o=e[c],o&&i(r,o),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow;while(e&&!r.isPropagationStopped());return a},a.clean=function(e){var t,n,r=a.unbind;if(!e||3===e.nodeType||8===e.nodeType)return a;if(e[c]&&r(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(r(e),n=e.getElementsByTagName("*"),t=n.length;t--;)e=n[t],e[c]&&r(e);return a},a.destroy=function(){s={}},a.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}}var o="mce-data-",a=/^(?:mouse|contextmenu)|click/,s={keyLocation:1,layerX:1,layerY:1,returnValue:1};return i.Event=new i,i.Event.bind(window,"ready",function(){}),i}),r(c,[],function(){function e(e,t,n,r){var i,o,a,s,l,c,d,p,h,m;if((t?t.ownerDocument||t:z)!==D&&B(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(M&&!r){if(i=ve.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&I(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&x.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(x.qsa&&(!H||!H.test(e))){if(p=d=F,h=t,m=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=N(e),(d=t.getAttribute("id"))?p=d.replace(be,"\\$&"):t.setAttribute("id",p),p="[id='"+p+"'] ",l=c.length;l--;)c[l]=p+f(c[l]);h=ye.test(e)&&u(t.parentNode)||t,m=c.join(",")}if(m)try{return Z.apply(n,h.querySelectorAll(m)),n}catch(g){}finally{d||t.removeAttribute("id")}}}return S(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=V++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[F]||(t[F]={}),(s=l[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(l[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;o>i;i++)e(t,n[i],r);return r}function g(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),c&&t.push(s));return a}function v(e,t,n,i,o,a){return i&&!i[F]&&(i=v(i)),o&&!o[F]&&(o=v(o,a)),r(function(r,a,s,l){var c,u,d,f=[],p=[],h=a.length,v=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?v:g(v,f,e,s,l),b=n?o||(r?e:h||i)?[]:a:y;if(n&&n(y,b,s,l),i)for(c=g(b,p),i(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[p[u]]=!(y[p[u]]=d));if(r){if(o||e){if(o){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(y[u]=d);o(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=o?te.call(r,d):f[u])>-1&&(r[c]=!(a[c]=d))}}else b=g(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),c=p(function(e){return te.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];i>s;s++)if(n=w.relative[e[s].type])u=[p(h(u),n)];else{if(n=w.filter[e[s].type].apply(null,e[s].matches),n[F]){for(r=++s;i>r&&!w.relative[e[r].type];r++);return v(s>1&&h(u),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,r>s&&y(e.slice(s,r)),i>r&&y(e=e.slice(r)),i>r&&f(e))}u.push(n)}return h(u)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,l,c){var u,d,f,p=0,h="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",c),C=W+=null==y?1:Math.random()||.1,x=b.length;for(c&&(T=a!==D&&a);h!==x&&null!=(u=b[h]);h++){if(o&&u){for(d=0;f=t[d++];)if(f(u,a,s)){l.push(u);break}c&&(W=C)}i&&((u=!f&&u)&&p--,r&&m.push(u))}if(p+=h,i&&h!==p){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(p>0)for(;h--;)m[h]||v[h]||(v[h]=J.call(l));v=g(v)}Z.apply(l,v),c&&!r&&v.length>0&&p+n.length>1&&e.uniqueSort(l)}return c&&(W=C,T=y),m};return i?r(a):a}var C,x,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I,F="sizzle"+-new Date,z=window.document,W=0,V=0,U=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,K=1<<31,G={}.hasOwnProperty,X=[],J=X.pop,Q=X.push,Z=X.push,ee=X.slice,te=X.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},ne="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",re="[\\x20\\t\\r\\n\\f]",ie="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",oe="\\["+re+"*("+ie+")(?:"+re+"*([*^$|!~]?=)"+re+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+re+"*\\]",ae=":("+ie+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",se=new RegExp("^"+re+"+|((?:^|[^\\\\])(?:\\\\.)*)"+re+"+$","g"),le=new RegExp("^"+re+"*,"+re+"*"),ce=new RegExp("^"+re+"*([>+~]|"+re+")"+re+"*"),ue=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(ae),fe=new RegExp("^"+ie+"$"),pe={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=/'|\\/g,Ce=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(X=ee.call(z.childNodes),z.childNodes),X[z.childNodes.length].nodeType}catch(we){Z={apply:X.length?function(e,t){Q.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=e.support={},E=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},B=e.setDocument=function(e){var t,n=e?e.ownerDocument||e:z,r=n.defaultView;return n!==D&&9===n.nodeType&&n.documentElement?(D=n,L=n.documentElement,M=!E(n),r&&r!==r.top&&(r.addEventListener?r.addEventListener("unload",function(){B()},!1):r.attachEvent&&r.attachEvent("onunload",function(){B()})),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ge.test(n.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==Y?t.getElementsByTagName(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){return M?t.getElementsByClassName(e):void 0},P=[],H=[],(x.qsa=ge.test(n.querySelectorAll))&&(i(function(e){e.innerHTML="<select msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&H.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||H.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll(":checked").length||H.push(":checked")}),i(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&H.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||H.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),H.push(",.*:")})),(x.matchesSelector=ge.test(O=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),P.push("!=",ae)}),H=H.length&&new RegExp(H.join("|")),P=P.length&&new RegExp(P.join("|")),t=ge.test(L.compareDocumentPosition),I=t||ge.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return A=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!x.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===z&&I(z,e)?-1:t===n||t.ownerDocument===z&&I(z,t)?1:R?te.call(R,e)-te.call(R,t):0:4&r?-1:1)}:function(e,t){if(e===t)return A=!0,0;var r,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(!o||!s)return e===n?-1:t===n?1:o?-1:s?1:R?te.call(R,e)-te.call(R,t):0;if(o===s)return a(e,t);for(r=e;r=r.parentNode;)l.unshift(r);for(r=t;r=r.parentNode;)c.unshift(r);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===z?-1:c[i]===z?1:0},n):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ue,"='$1']"),!(!x.matchesSelector||!M||P&&P.test(n)||H&&H.test(n)))try{var r=O.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&G.call(w.attrHandle,n.toLowerCase())?r(e,n,!M):t;return i!==t?i:x.attributes||!M?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},_=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=_(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ce,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(Ce,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ce,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,h,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(u=g[F]||(g[F]={}),c=u[e]||[],p=c[0]===W&&c[1],f=c[0]===W&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[W,p,f];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===W)f=c[1];else for(;(d=++p&&d&&d[m]||(f=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[W,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=te.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ce,xe),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:r(function(t){return fe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Ce,xe).toLowerCase(),function(e){var n;do if(n=M?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(C in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[C]=s(C);for(C in{submit:!0,reset:!0})w.pseudos[C]=l(C);return d.prototype=w.filters=w.pseudos,w.setFilters=new d,N=e.tokenize=function(t,n){var r,i,o,a,s,l,c,u=$[t+" "];if(u)return n?0:u.slice(0);for(s=t,l=[],c=w.preFilter;s;){(!r||(i=le.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ce.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),s=s.slice(r.length));for(a in w.filter)!(i=pe[a].exec(s))||c[a]&&!(i=c[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):$(t,l).slice(0)},k=e.compile=function(e,t){var n,r=[],i=[],o=q[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=y(t[n]),o[F]?r.push(o):i.push(o);o=q(e,b(i,r)),o.selector=e}return o},S=e.select=function(e,t,n,r){var i,o,a,s,l,c="function"==typeof e&&e,d=!r&&N(e=c.selector||e);if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&x.getById&&9===t.nodeType&&M&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ce,xe),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ce,xe),ye.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(c||k(e,d))(r,t,!M,n,ye.test(e)&&u(t.parentNode)||t),n},x.sortStable=F.split("").sort(j).join("")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ne,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(u,[],function(){var e=navigator,t=e.userAgent,n,r,i,o,a,s,l,c,u;n=window.opera&&window.opera.buildNumber,u=/Android/.test(t),r=/WebKit/.test(t),i=!r&&!n&&/MSIE/gi.test(t)&&/Explorer/gi.test(e.appName),i=i&&/MSIE (\w+)\./.exec(t)[1],o=-1==t.indexOf("Trident/")||-1==t.indexOf("rv:")&&-1==e.appName.indexOf("Netscape")?!1:11,a=!document.msElementsFromPoint||i||o?!1:12,i=i||o||a,s=!r&&!o&&/Gecko/.test(t),l=-1!=t.indexOf("Mac"),c=/(iPad|iPhone)/.test(t),a&&(r=!1);var d=!c||t.match(/AppleWebKit\/(\d*)/)[1]>=534;return{opera:n,webkit:r,ie:i,gecko:s,mac:l,iOS:c,android:u,contentEditable:d,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=i,range:window.getSelection&&"Range"in window,documentMode:i&&!a?document.documentMode||7:10}}),r(d,[u],function(e){function n(e){return null===e||e===t?"":(""+e).replace(v,"")}function r(e,n){return n?"array"==n&&y(e)?!0:typeof e==n:e!==t}function i(e){var t=e,n,r;if(!y(e))for(t=[],n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function o(e,t,n){var r;for(e=e||[],t=t||",","string"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n}function a(e,n,r){var i,o;if(!e)return 0;if(r=r||e,e.length!==t){for(i=0,o=e.length;o>i;i++)if(n.call(r,e[i],i,e)===!1)return 0}else for(i in e)if(e.hasOwnProperty(i)&&n.call(r,e[i],i,e)===!1)return 0;return 1}function s(e,t){var n=[];return a(e,function(e){n.push(t(e))}),n}function l(e,t){var n=[];return a(e,function(e){(!t||t(e))&&n.push(e)}),n}function c(e,t,n){var r=this,i,o,a,s,l,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),a=e[3].match(/(^|\.)(\w+)$/i)[2],o=r.createNS(e[3].replace(/\.\w+$/,""),n),!o[a]){if("static"==e[2])return o[a]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[a]));t[a]||(t[a]=function(){},c=1),o[a]=t[a],r.extend(o[a].prototype,t),e[5]&&(i=r.resolve(e[5]).prototype,s=e[5].match(/\.(\w+)$/i)[1],l=o[a],c?o[a]=function(){return i[s].apply(this,arguments)}:o[a]=function(){return this.parent=i[s],l.apply(this,arguments)},o[a].prototype[a]=o[a],r.each(i,function(e,t){o[a].prototype[t]=i[t]}),r.each(t,function(e,t){i[t]?o[a].prototype[t]=function(){return this.parent=i[t],e.apply(this,arguments)}:t!=a&&(o[a].prototype[t]=e)})),r.each(t["static"],function(e,t){o[a][t]=e})}}function u(e,t){var n,r;if(e)for(n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function d(e,n){var r,i,o,a=arguments,s;for(r=1,i=a.length;i>r;r++){n=a[r];for(o in n)n.hasOwnProperty(o)&&(s=n[o],s!==t&&(e[o]=s))}return e}function f(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),a(e,function(e,i){return t.call(r,e,i,n)===!1?!1:void f(e,t,n,r)}))}function p(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)r=e[n],t[r]||(t[r]={}),t=t[r];return t}function h(e,t){var n,r;for(t=t||window,e=e.split("."),n=0,r=e.length;r>n&&(t=t[e[n]],t);n++);return t}function m(e,t){return!e||r(e,"array")?e:s(e.split(t||","),n)}function g(t){var n=e.cacheSuffix;return n&&(t+=(-1===t.indexOf("?")?"?":"&")+n),t}var v=/^\s*|\s*$/g,y=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return{trim:n,isArray:y,is:r,toArray:i,makeMap:o,each:a,map:s,grep:l,inArray:u,extend:d,create:c,walk:f,createNS:p,resolve:h,explode:m,_addCacheSuffix:g}}),r(f,[l,c,d,u],function(e,n,r,i){function o(e){return"undefined"!=typeof e}function a(e){return"string"==typeof e}function s(e){return e&&e==e.window}function l(e,t){var n,r,i;for(t=t||w,i=t.createElement("div"),n=t.createDocumentFragment(),i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return n}function c(e,t,n,r){var i;if(a(t))t=l(t,v(e[0]));else if(t.length&&!t.nodeType){if(t=f.makeArray(t),r)for(i=t.length-1;i>=0;i--)c(e,t[i],n,r);else for(i=0;i<t.length;i++)c(e,t[i],n,r);return e}if(t.nodeType)for(i=e.length;i--;)n.call(e[i],t);return e}function u(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function d(e,t,n){var r,i;return t=f(t)[0],e.each(function(){var e=this;n&&r==e.parentNode?i.appendChild(e):(r=e.parentNode,i=t.cloneNode(!1),e.parentNode.insertBefore(i,e),i.appendChild(e))}),e}function f(e,t){return new f.fn.init(e,t)}function p(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1}function h(e){return null===e||e===S?"":(""+e).replace(M,"")}function m(e,t){var n,r,i,o,a;if(e)if(n=e.length,n===o){for(r in e)if(e.hasOwnProperty(r)&&(a=e[r],t.call(a,r,a)===!1))break}else for(i=0;n>i&&(a=e[i],t.call(a,i,a)!==!1);i++);return e}function g(e,t){var n=[];return m(e,function(e,r){t(r,e)&&n.push(r)}),n}function v(e){return e?9==e.nodeType?e:e.ownerDocument:w}function y(e,n,r){var i=[],o=e[n];for("string"!=typeof r&&r instanceof f&&(r=r[0]);o&&9!==o.nodeType;){if(r!==t){if(o===r)break;if("string"==typeof r&&f(o).is(r))break}1===o.nodeType&&i.push(o),o=o[n]}return i}function b(e,n,r,i){var o=[];for(i instanceof f&&(i=i[0]);e;e=e[n])if(!r||e.nodeType===r){if(i!==t){if(e===i)break;if("string"==typeof i&&f(e).is(i))break}o.push(e)}return o}function C(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType==n)return e;return null}function x(e,t,n){m(n,function(n,r){e[n]=e[n]||{},e[n][t]=r})}var w=document,_=Array.prototype.push,E=Array.prototype.slice,N=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,k=e.Event,S,T=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),R=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),A={"for":"htmlFor","class":"className",readonly:"readOnly"},B={"float":"cssFloat"},D={},L={},M=/^\s*|\s*$/g;return f.fn=f.prototype={constructor:f,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)_.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){
-return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i<r.length;i++)n[i]=r[i];else _.apply(n,f.makeArray(e));return n},attr:function(e,t){var n=this,r;if("object"==typeof e)m(e,function(e,t){n.attr(e,t)});else{if(!o(t)){if(n[0]&&1===n[0].nodeType){if(r=D[e],r&&r.get)return r.get(n[0],e);if(R[e])return n.prop(e)?e:S;t=n[0].getAttribute(e,2),null===t&&(t=S)}return t}this.each(function(){var n;if(1===this.nodeType){if(n=D[e],n&&n.set)return void n.set(this,t);null===t?this.removeAttribute(e,2):this.setAttribute(e,t,2)}})}return n},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if(e=A[e]||e,"object"==typeof e)m(e,function(e,t){n.prop(e,t)});else{if(!o(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1==this.nodeType&&(this[e]=t)})}return n},css:function(e,t){function n(e){return e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()})}function r(e){return e.replace(/[A-Z]/g,function(e){return"-"+e})}var i=this,a,s;if("object"==typeof e)m(e,function(e,t){i.css(e,t)});else if(o(t))e=n(e),"number"!=typeof t||T[e]||(t+="px"),i.each(function(){var n=this.style;if(s=L[e],s&&s.set)return void s.set(this,t);try{this.style[B[e]||e]=t}catch(i){}(null===t||""===t)&&(n.removeProperty?n.removeProperty(r(e)):n.removeAttribute(e))});else{if(a=i[0],s=L[e],s&&s.get)return s.get(a);if(a.ownerDocument.defaultView)try{return a.ownerDocument.defaultView.getComputedStyle(a,null).getPropertyValue(r(e))}catch(l){return S}else if(a.currentStyle)return a.currentStyle[n(e)]}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],k.clean(t),t.parentNode&&t.parentNode.removeChild(t);return this},empty:function(){for(var e=this,t,n=this.length;n--;)for(t=e[n];t.firstChild;)t.removeChild(t.firstChild);return this},html:function(e){var t=this,n;if(o(e)){n=t.length;try{for(;n--;)t[n].innerHTML=e}catch(r){f(t[n]).empty().append(e)}return t}return t[0]?t[0].innerHTML:""},text:function(e){var t=this,n;if(o(e)){for(n=t.length;n--;)"innerText"in t[n]?t[n].innerText=e:t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:""},append:function(){return c(this,arguments,function(e){1===this.nodeType&&this.appendChild(e)})},prepend:function(){return c(this,arguments,function(e){1===this.nodeType&&this.insertBefore(e,this.firstChild)},!0)},before:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):e},appendTo:function(e){return f(e).append(this),this},prependTo:function(e){return f(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return d(this,e)},wrapAll:function(e){return d(this,e,!0)},wrapInner:function(e){return this.each(function(){f(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){f(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),f(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return"string"!=typeof e?n:(-1!==e.indexOf(" ")?m(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n,r){var i,o;o=u(r,e),o!==t&&(i=r.className,o?r.className=h((" "+i+" ").replace(" "+e+" "," ")):r.className+=i?" "+e:e)}),n)},hasClass:function(e){return u(this[0],e)},each:function(e){return m(this,e)},on:function(e,t){return this.each(function(){k.bind(this,e,t)})},off:function(e,t){return this.each(function(){k.unbind(this,e,t)})},trigger:function(e){return this.each(function(){"object"==typeof e?k.fire(this,e.type,e):k.fire(this,e)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new f(E.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;n>t;t++)f.find(e,this[t],r);return f(r)},filter:function(e){return f("function"==typeof e?g(this.toArray(),function(t,n){return e(n,t)}):f.filter(e,this.toArray()))},closest:function(e){var t=[];return e instanceof f&&(e=e[0]),this.each(function(n,r){for(;r;){if("string"==typeof e&&f(r).is(e)){t.push(r);break}if(r==e){t.push(r);break}r=r.parentNode}}),f(t)},offset:function(e){var t,n,r,i=0,o=0,a;return e?this.css(e):(t=this[0],t&&(n=t.ownerDocument,r=n.documentElement,t.getBoundingClientRect&&(a=t.getBoundingClientRect(),i=a.left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,o=a.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:o})},push:_,sort:[].sort,splice:[].splice},r.extend(f,{extend:r.extend,makeArray:function(e){return s(e)||e.nodeType?[e]:r.toArray(e)},inArray:p,isArray:r.isArray,each:m,trim:h,grep:g,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,contains:n.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=":not("+e+")");r--;)1!=t[r].nodeType&&t.splice(r,1);return t=1===t.length?f.find.matchesSelector(t[0],e)?[t[0]]:[]:f.find.matches(e,t)}}),m({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return y(e,"parentNode")},next:function(e){return C(e,"nextSibling",1)},prev:function(e){return C(e,"previousSibling",1)},children:function(e){return b(e.firstChild,"nextSibling",1)},contents:function(e){return r.toArray(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){f.fn[e]=function(n){var r=this,i=[];return r.each(function(){var e=t.call(i,this,n,i);e&&(f.isArray(e)?i.push.apply(i,e):i.push(e))}),this.length>1&&(i=f.unique(i),0===e.indexOf("parents")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,"parentNode",t)},nextUntil:function(e,t){return b(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return b(e,"previousSibling",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),(0===e.indexOf("parents")||"prevUntil"===e)&&(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(x(D,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?S:t},size:function(e){var t=e.size;return 20===t?S:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?S:t}}),x(D,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(B["float"]="styleFloat",x(L,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),f.attrHooks=D,f.cssHooks=L,f}),r(p,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l,c={},u,d,f,p="\ufeff";for(e=e||{},t&&(d=t.getValidStyles(),f=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+p).split(" "),l=0;l<u.length;l++)c[u[l]]=p+l,c[p+l]=u[l];return{toHex:function(e){return e.replace(r,n)},parse:function(t){function s(e,t,n){var r,i,o,a;if(r=m[e+"-top"+t],r&&(i=m[e+"-right"+t],i&&(o=m[e+"-bottom"+t],o&&(a=m[e+"-left"+t])))){var s=[r,i,o,a];for(l=s.length-1;l--&&s[l]===s[l+1];);l>-1&&n||(m[e+t]=-1==l?s[0]:s.join(" "),delete m[e+"-top"+t],delete m[e+"-right"+t],delete m[e+"-bottom"+t],delete m[e+"-left"+t])}}function u(e){var t=m[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return m[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(m[e]=m[t]+" "+m[n]+" "+m[r],delete m[t],delete m[n],delete m[r])}function f(e){return b=!0,c[e]}function p(e,t){return b&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return c[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function h(t,n,r,i,o,a){if(o=o||a)return o=p(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=p(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return C&&(n=C.call(x,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var m={},g,v,y,b,C=e.url_converter,x=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,f).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,f)});g=o.exec(t);){if(v=g[1].replace(a,"").toLowerCase(),y=g[2].replace(a,""),y=y.replace(/\\[0-9a-f]+/g,function(e){return String.fromCharCode(parseInt(e.substr(1),16))}),v&&y.length>0){if(!e.allow_script_urls&&("behavior"==v||/expression\s*\(|\/\*|\*\//.test(y)))continue;"font-weight"===v&&"700"===y?y="bold":("color"===v||"background-color"===v)&&(y=y.toLowerCase()),y=y.replace(r,n),y=y.replace(i,h),m[v]=b?p(y,!0):y}o.lastIndex=g.index+g[0].length}s("border","",!0),s("border","-width"),s("border","-color"),s("border","-style"),s("padding",""),s("margin",""),d("border","border-width","border-style","border-color"),"medium none"===m.border&&delete m.border,"none"===m["border-image"]&&delete m["border-image"]}return m},serialize:function(e,t){function n(t){var n,r,o,a;if(n=d[t])for(r=0,o=n.length;o>r;r++)t=n[r],a=e[t],a!==s&&a.length>0&&(i+=(i.length>0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=f["*"],n&&n[e]?!1:(n=f[t],n&&n[e]?!1:!0)}var i="",o,a;if(t&&d)n("*"),n(t);else for(o in e)a=e[o],a!==s&&a.length>0&&(!f||r(o,t))&&(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(h,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}var r=e;this.current=function(){return r},this.next=function(e){return r=n(r,"firstChild","nextSibling",e)},this.prev=function(e){return r=n(r,"lastChild","previousSibling",e)}}}),r(m,[d],function(e){function t(n){function r(){return H.createDocumentFragment()}function i(e,t){_(F,e,t)}function o(e,t){_(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function c(e){o(e.parentNode,j(e)+1)}function u(e){e?(M[U]=M[V],M[$]=M[W]):(M[V]=M[U],M[W]=M[$]),M.collapsed=F}function d(e){a(e),c(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function p(e,t){var n=M[V],r=M[W],i=M[U],o=M[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,c=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,c):3===e?w(n,r,l,c):void 0}function h(){E(I)}function m(){return E(P)}function g(){return E(O)}function v(e){var t=this[V],r=this[W],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return q(new t(n),{startContainer:M[V],startOffset:M[W],endContainer:M[U],endOffset:M[$],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(0>t)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return M[V]==M[U]&&M[W]==M[$]}function w(e,t,r,i){var o,a,s,l,c,u;if(e==r)return t==i?0:i>t?-1:1;for(o=r;o&&o.parentNode!=e;)o=o.parentNode;if(o){for(a=0,s=e.firstChild;s!=o&&t>a;)a++,s=s.nextSibling;return a>=t?-1:1}for(o=e;o&&o.parentNode!=r;)o=o.parentNode;if(o){for(a=0,s=r.firstChild;s!=o&&i>a;)a++,s=s.nextSibling;return i>a?-1:1}for(l=n.findCommonAncestor(e,r),c=e;c&&c.parentNode!=l;)c=c.parentNode;for(c||(c=l),u=r;u&&u.parentNode!=l;)u=u.parentNode;if(u||(u=l),c==u)return 0;for(s=l.firstChild;s;){if(s==c)return-1;if(s==u)return 1;s=s.nextSibling}}function _(e,t,r){var i,o;for(e?(M[V]=t,M[W]=r):(M[U]=t,M[$]=r),i=M[U];i.parentNode;)i=i.parentNode;for(o=M[V];o.parentNode;)o=o.parentNode;o==i?w(M[V],M[W],M[U],M[$])>0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[V],M[U])}function E(e){var t,n=0,r=0,i,o,a,s,l,c;if(M[V]==M[U])return N(e);for(t=M[U],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return k(t,e);++n}for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[U])return S(t,e);++r}for(o=r-n,a=M[V];o>0;)a=a.parentNode,o--;for(s=M[U];0>o;)s=s.parentNode,o++;for(l=a.parentNode,c=s.parentNode;l!=c;l=l.parentNode,c=c.parentNode)a=l,s=c;return T(a,s,e)}function N(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),M[W]==M[$])return t;if(3==M[V].nodeType){if(n=M[V].nodeValue,i=n.substring(M[W],M[$]),e!=O&&(o=M[V],c=M[W],u=M[$]-M[W],0===c&&u>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(c,u),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(H.createTextNode(i)),t}for(o=C(M[V],M[W]),a=M[$]-M[W];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=O&&M.collapse(F),t}function k(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[W],0>=a)return t!=O&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=O&&(M.setEndBefore(e),M.collapse(z)),n}function S(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=O&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,c,u;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,c=e.nextSibling;l>0;)u=c.nextSibling,i=D(c,n),o&&o.appendChild(i),c=u,--l;return i=R(t,n),o&&o.appendChild(i),n!=O&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=C(M[U],M[$]-1),r,i,o,a,s,l=n!=M[U];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(M[V],M[W]),r=n!=M[V],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,c;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[W],a=o.substring(l),s=o.substring(0,l)):(l=M[$],a=o.substring(0,l),s=o.substring(l)),i!=O&&(e.nodeValue=s),i==I)return;return c=n.clone(e,z),c.nodeValue=a,c}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==O?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var M=this,H=n.doc,P=0,O=1,I=2,F=!0,z=!1,W="startOffset",V="startContainer",U="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(M,{startContainer:H,startOffset:0,endContainer:H,endOffset:0,collapsed:F,commonAncestorContainer:H,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:c,collapse:u,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:h,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(g,[d],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),o[r]||(i="&"+e[n+1]+";",a[r]=i,a[i]=r);return a}}var r=e.makeMap,i,o,a,s=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,d={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};o={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;","`":"&#96;"},a={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(c,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function c(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?c:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(u,function(e,n){return n?(n="x"===n.charAt(0).toLowerCase()?parseInt(n.substr(1),16):parseInt(n,10),n>65535?(n-=65536,String.fromCharCode(55296+(n>>10),56320+(1023&n))):d[n]||String.fromCharCode(n)):a[e]||i[e]||t(e)})}};return f}),r(v,[d],function(e){return function(t,n){function r(e){t.getElementsByTagName("head")[0].appendChild(e)}function i(n,i,l){function c(){for(var e=y.passed,t=e.length;t--;)e[t]();y.status=2,y.passed=[],y.failed=[]}function u(){for(var e=y.failed,t=e.length;t--;)e[t]();y.status=3,y.passed=[],y.failed=[]}function d(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function f(e,t){e()||((new Date).getTime()-v<s?window.setTimeout(t,0):u())}function p(){f(function(){for(var e=t.styleSheets,n,r=e.length,i;r--;)if(n=e[r],i=n.ownerNode?n.ownerNode:n.owningElement,i&&i.id===m.id)return c(),!0},p)}function h(){f(function(){try{var e=g.sheet.cssRules;return c(),!!e}catch(t){}},h)}var m,g,v,y;if(n=e._addCacheSuffix(n),a[n]?y=a[n]:(y={passed:[],failed:[]},a[n]=y),i&&y.passed.push(i),l&&y.failed.push(l),1!=y.status){if(2==y.status)return void c();if(3==y.status)return void u();if(y.status=1,m=t.createElement("link"),m.rel="stylesheet",m.type="text/css",m.id="u"+o++,m.async=!1,m.defer=!1,v=(new Date).getTime(),"onload"in m&&!d())m.onload=p,m.onerror=u;else{if(navigator.userAgent.indexOf("Firefox")>0)return g=t.createElement("style"),g.textContent='@import "'+n+'"',h(),void r(g);p()}r(m),m.href=n}}var o=0,a={},s;n=n||{},s=n.maxLoadTime||5e3,this.load=i}}),r(y,[c,f,p,l,h,m,g,u,d,v],function(e,n,r,i,o,a,s,l,c,u){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!v||e.documentMode>=8,o.boxModel=!v||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new u(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var p=c.each,h=c.is,m=c.grep,g=c.trim,v=l.ie,y=/^([a-z0-9],?)+$/i,b=/^[ \t\r\n]*$/;return f.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(v&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!v||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),-1===n.indexOf("px")&&(n=0),-1===r.indexOf("px")&&(r=0),{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),h(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(y.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=h(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"</"+e+">":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&e.attr("data-mce-style",null)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=v?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&e.attr("data-mce-style",null)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){p(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,c;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return c=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=c.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=c.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==f.DOM&&n===document){var o=f.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,f.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==f.DOM&&n===document?void f.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void p(e.split(","),function(e){var i;e=c._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),v&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),v?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="<br>"+t,r.removeChild(r.firstChild)}catch(i){n("<div>").html("<br>"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType&&"outerHTML"in e?e.outerHTML:n("<div>").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}r.remove(n(this).html(t),!0)})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return h(t,"array")&&(e=e.cloneNode(!0)),n&&p(m(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(c.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),e?(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],p(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i)):!1},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(v){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,c=0;if(e=e.firstChild){s=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null);do{if(a=e.nodeType,1===a){if(e.getAttribute("data-mce-bogus"))continue;if(l=e.nodeName.toLowerCase(),t&&t[l]){if("br"===l){c++;continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(l=i[r].nodeName,"name"===l||"data-mce-bookmark"===l)return!1}if(8==a)return!1;if(3===a&&!b.test(e.nodeValue))return!1}while(e=s.next())}return 1>=c},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:function(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n},split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;
-return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=g(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;return e&&t?(o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.replaceChild(n,t):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t):void 0},bind:function(e,t,n,r){var i=this;if(c.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(c.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},f.DOM=new f(document),f}),r(b,[y,d],function(e,t){function n(){function e(e,n){function i(){a.remove(l),s&&(s.onreadystatechange=s.onload=s=null),n()}function o(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var a=r,s,l;l=a.uniqueId(),s=document.createElement("script"),s.id=l,s.type="text/javascript",s.src=t._addCacheSuffix(e),"onreadystatechange"in s?s.onreadystatechange=function(){/loaded|complete/.test(s.readyState)&&i()}:s.onload=i,s.onerror=o,(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}var n=0,a=1,s=2,l={},c=[],u={},d=[],f=0,p;this.isDone=function(e){return l[e]==s},this.markDone=function(e){l[e]=s},this.add=this.load=function(e,t,r){var i=l[e];i==p&&(c.push(e),l[e]=n),t&&(u[e]||(u[e]=[]),u[e].push({func:t,scope:r||this}))},this.loadQueue=function(e,t){this.loadScripts(c,e,t)},this.loadScripts=function(t,n,r){function c(e){i(u[e],function(e){e.func.call(e.scope)}),u[e]=p}var h;d.push({func:n,scope:r||this}),(h=function(){var n=o(t);t.length=0,i(n,function(t){return l[t]==s?void c(t):void(l[t]!=a&&(l[t]=a,f++,e(t,function(){l[t]=s,f--,c(t),h()})))}),f||(i(d,function(e){e.func.call(e.scope)}),d.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(C,[b,d],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",-1!=n.indexOf(","+i.substr(0,2)+","))i=i.substr(0,2);else if(-1==n.indexOf(","+i+","))return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s){function l(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&a.call(s?s:e)}var c=this,u=o;c.urls[n]||("object"==typeof o&&(u=o.prefix+o.resource+o.suffix),0!==u.indexOf("/")&&-1==u.indexOf("://")&&(u=r.baseURL+"/"+u),c.urls[n]=u.substring(0,u.lastIndexOf("/")),c.lookup[n]?l():e.ScriptLoader.add(u,l,s))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(x,[d,h],function(e,t){function n(e,t){var n=e.childNodes;return t--,t>n.length-1?t=n.length-1:0>t&&(t=0),n[t]||e}function r(e){this.walk=function(t,r){function o(e){var t;return t=e[0],3===t.nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===f&&e.length>0&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e}function a(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function s(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function l(e,t,n){var i=n?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=a(g==e?g:g[i],i),y.length&&(n||y.reverse(),r(o(y)))}var c=t.startContainer,u=t.startOffset,d=t.endContainer,f=t.endOffset,p,h,m,g,v,y,b;if(b=e.select("td.mce-item-selected,th.mce-item-selected"),b.length>0)return void i(b,function(e){r([e])});if(1==c.nodeType&&c.hasChildNodes()&&(c=c.childNodes[u]),1==d.nodeType&&d.hasChildNodes()&&(d=n(d,f)),c==d)return r(o([c]));for(p=e.findCommonAncestor(c,d),g=c;g;g=g.parentNode){if(g===d)return l(c,p,!0);if(g===p)break}for(g=d;g;g=g.parentNode){if(g===c)return l(d,p);if(g===p)break}h=s(c,p)||c,m=s(d,p)||d,l(c,h,!0),y=a(h==c?h:h.nextSibling,"nextSibling",m==d?m.nextSibling:m),y.length&&r(o(y)),l(d,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&r<n.nodeValue.length&&(i=t(n,r),n=i.previousSibling,o>r?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r<n.nodeValue.length&&(n=t(n,r),r=0),3==i.nodeType&&o>0&&o<i.nodeValue.length&&(i=t(i,o).previousSibling,o=i.nodeValue.length)),{startContainer:n,startOffset:r,endContainer:i,endOffset:o}},this.normalize=function(n){function r(r){function a(n,r){for(var i=new t(n,e.getParent(n.parentNode,e.isBlock)||f);n=i[r?"prev":"next"]();)if("BR"===n.nodeName)return!0}function s(e,t){return e.previousSibling&&e.previousSibling.nodeName==t}function l(n,r){var a,s,l;if(r=r||c,l=e.getParent(r.parentNode,e.isBlock)||f,n&&"BR"==r.nodeName&&g&&e.isEmpty(l))return c=r.parentNode,u=e.nodeIndex(r),void(i=!0);for(a=new t(r,l);p=a[n?"prev":"next"]();){if("false"===e.getContentEditableParent(p))return;if(3===p.nodeType&&p.nodeValue.length>0)return c=p,u=n?p.nodeValue.length:0,void(i=!0);if(e.isBlock(p)||h[p.nodeName.toLowerCase()])return;s=p}o&&s&&(c=s,i=!0,u=0)}var c,u,d,f=e.getRoot(),p,h,m,g;if(c=n[(r?"start":"end")+"Container"],u=n[(r?"start":"end")+"Offset"],g=1==c.nodeType&&u===c.childNodes.length,h=e.schema.getNonEmptyElements(),m=r,1==c.nodeType&&u>c.childNodes.length-1&&(m=!1),9===c.nodeType&&(c=e.getRoot(),u=0),c===f){if(m&&(p=c.childNodes[u>0?u-1:0],p&&(h[p.nodeName]||"TABLE"==p.nodeName)))return;if(c.hasChildNodes()&&(u=Math.min(!m&&u>0?u-1:u,c.childNodes.length-1),c=c.childNodes[u],u=0,c.hasChildNodes()&&!/TABLE/.test(c.nodeName))){p=c,d=new t(c,f);do{if(3===p.nodeType&&p.nodeValue.length>0){u=m?0:p.nodeValue.length,c=p,i=!0;break}if(h[p.nodeName.toLowerCase()]){u=e.nodeIndex(p),c=p.parentNode,"IMG"!=p.nodeName||m||u++,i=!0;break}}while(p=m?d.next():d.prev())}}o&&(3===c.nodeType&&0===u&&l(!0),1===c.nodeType&&(p=c.childNodes[u],p||(p=c.childNodes[u-1]),!p||"BR"!==p.nodeName||s(p,"A")||a(p)||a(p,!0)||l(!0,p))),m&&!o&&3===c.nodeType&&u===c.nodeValue.length&&l(!1),i&&n["set"+(r?"Start":"End")](c,u)}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}var i=e.each;return r.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},r.getCaretRangeFromPoint=function(e,t,n){var r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}return r},r.getNode=function(e,t){return 1==e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},r}),r(w,[x,u],function(e,t){return function(n){function r(e){var t,r;if(r=n.$(e).parentsUntil(n.getBody()).add(e),r.length===o.length){for(t=r.length;t>=0&&r[t]===o[t];t--);if(-1===t)return o=r,!0}return o=r,!1}var i,o=[];"onselectionchange"in n.getDoc()||n.on("NodeChange Click MouseUp KeyUp Focus",function(t){var r,o;r=n.selection.getRng(),o={startContainer:r.startContainer,startOffset:r.startOffset,endContainer:r.endContainer,endOffset:r.endOffset},"nodechange"!=t.type&&e.compareRanges(o,i)||n.fire("SelectionChange"),i=o}),n.on("contextmenu",function(){n.fire("SelectionChange")}),n.on("SelectionChange",function(){var e=n.selection.getStart(!0);(t.range||!n.selection.isCollapsed())&&!r(e)&&n.dom.isChildOf(e,n.getBody())&&n.nodeChanged({selectionChange:!0})}),n.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==n.selection.getNode().nodeName?setTimeout(function(){n.nodeChanged()},0):n.nodeChanged())}),this.nodeChanged=function(e){var t=n.selection,r,i,o;n.initialized&&t&&!n.settings.disable_nodechange&&!n.settings.readonly&&(o=n.getBody(),r=t.getStart()||o,r=r.ownerDocument!=n.getDoc()?n.getBody():r,"IMG"==r.nodeName&&t.isCollapsed()&&(r=r.parentNode),i=[],n.dom.getParent(r,function(e){return e===o?!0:void i.push(e)}),e=e||{},e.element=r,e.parents=i,n.fire("NodeChange",e))}}}),r(_,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;i>r;r++)a=o[r],"id"!==a.name&&(s[s.length]={name:a.name,value:a.value},s.map[a.name]=a.value);n.attributes=s}return n.value=e.value,n.shortEnded=e.shortEnded,n},wrap:function(e){var t=this;return t.parent.insert(e,t),e.append(t),t},unwrap:function(){var e=this,t,n;for(t=e.firstChild;t;)n=t.next,e.insert(t,e,!0),t=n;e.remove()},remove:function(){var e=this,t=e.parent,n=e.next,r=e.prev;return t&&(t.firstChild===e?(t.firstChild=n,n&&(n.prev=null)):r.next=n,t.lastChild===e?(t.lastChild=r,r&&(r.next=null)):n.prev=r,e.parent=e.next=e.prev=null),e},append:function(e){var t=this,n;return e.parent&&e.remove(),n=t.lastChild,n?(n.next=e,e.prev=n,t.lastChild=e):t.lastChild=t.firstChild=e,e.parent=t,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(t){var n=this,r,i=[];for(r=n.firstChild;r;r=e(r,n))r.name===t&&i.push(r);return i},empty:function(){var t=this,n,r,i;if(t.firstChild){for(n=[],i=t.firstChild;i;i=e(i,t))n.push(i);for(r=n.length;r--;)i=n[r],i.parent=i.firstChild=i.lastChild=i.next=i.prev=null}return t.firstChild=t.lastChild=null,t},isEmpty:function(t){var r=this,i=r.firstChild,o,a;if(i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(t[i.name])return!1;for(o=i.attributes.length;o--;)if(a=i.attributes[o].name,"name"===a||0===a.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!n.test(i.value))return!1}while(i=e(i,r));return!0},walk:function(t){return e(this,null,t)}},t.create=function(e,n){var i,o;if(i=new t(e,r[e]||1),n)for(o in n)i.attr(o,n[o]);return i},t}),r(E,[d],function(e){function t(e,t){return e?e.split(t||" "):[]}function n(e){function n(e,n,r){function i(e,t){var n={},r,i;for(r=0,i=e.length;i>r;r++)n[e[r]]=t||{};return n}var s,c,u,d=arguments;for(r=r||[],n=n||"","string"==typeof r&&(r=t(r)),c=3;c<d.length;c++)"string"==typeof d[c]&&(d[c]=t(d[c])),r.push.apply(r,d[c]);for(e=t(e),s=e.length;s--;)u=[].concat(l,t(n)),a[e[s]]={attributes:i(u),attributesOrder:u,children:i(r,o)}}function r(e,n){var r,i,o,s;for(e=t(e),r=e.length,n=t(n);r--;)for(i=a[e[r]],o=0,s=n.length;s>o;o++)i.attributes[n[o]]={},i.attributesOrder.push(n[o])}var a={},l,c,u,d,f,p;return i[e]?i[e]:(l=t("id accesskey class dir lang style tabindex title"),c=t("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),u=t("a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment"),"html4"!=e&&(l.push.apply(l,t("contenteditable contextmenu draggable dropzone hidden spellcheck translate")),c.push.apply(c,t("article aside details dialog figure header footer hgroup section nav")),u.push.apply(u,t("audio canvas command datalist mark meter output progress time wbr video ruby bdi keygen"))),"html5-strict"!=e&&(l.push("xml:lang"),p=t("acronym applet basefont big font strike tt"),u.push.apply(u,p),s(p,function(e){n(e,"",u)}),f=t("center dir isindex noframes"),c.push.apply(c,f),d=[].concat(c,u),s(f,function(e){n(e,"",d)})),d=d||[].concat(c,u),n("html","manifest","head body"),n("head","","base command link meta noscript script style title"),n("title hr noscript br"),n("base","href target"),n("link","href rel media hreflang type sizes hreflang"),n("meta","name http-equiv content charset"),n("style","media type scoped"),n("script","src async defer type charset"),n("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",d),n("address dt dd div caption","",d),n("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",u),n("blockquote","cite",d),n("ol","reversed start type","li"),n("ul","","li"),n("li","value",d),n("dl","","dt dd"),n("a","href target rel media hreflang type",u),n("q","cite",u),n("ins del","cite datetime",d),n("img","src sizes srcset alt usemap ismap width height"),n("iframe","src name width height",d),n("embed","src type width height"),n("object","data type typemustmatch name usemap form width height",d,"param"),n("param","name value"),n("map","name",d,"area"),n("area","alt coords shape href target rel media hreflang type"),n("table","border","caption colgroup thead tfoot tbody tr"+("html4"==e?" col":"")),n("colgroup","span","col"),n("col","span"),n("tbody thead tfoot","","tr"),n("tr","","td th"),n("td","colspan rowspan headers",d),n("th","colspan rowspan headers scope abbr",d),n("form","accept-charset action autocomplete enctype method name novalidate target",d),n("fieldset","disabled form name",d,"legend"),n("label","form for",u),n("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),n("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"==e?d:u),n("select","disabled form multiple name required size","option optgroup"),n("optgroup","disabled label","option"),n("option","disabled label selected value"),n("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),n("menu","type label",d,"li"),n("noscript","",d),"html4"!=e&&(n("wbr"),n("ruby","",u,"rt rp"),n("figcaption","",d),n("mark rt rp summary bdi","",u),n("canvas","width height",d),n("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",d,"track source"),n("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",d,"track source"),n("picture","","img source"),n("source","src srcset type media sizes"),n("track","kind src srclang label default"),n("datalist","",u,"option"),n("article section nav aside header footer","",d),n("hgroup","","h1 h2 h3 h4 h5 h6"),n("figure","",d,"figcaption"),n("time","datetime",u),n("dialog","open",d),n("command","type label icon disabled checked radiogroup command"),n("output","for form name",u),n("progress","value max",u),n("meter","value min max low high optimum",u),n("details","open",d,"summary"),n("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!=e&&(r("script","language xml:space"),r("style","xml:space"),r("object","declare classid code codebase codetype archive standby align border hspace vspace"),r("embed","align name hspace vspace"),r("param","valuetype type"),r("a","charset name rev shape coords"),r("br","clear"),r("applet","codebase archive code object alt name width height align hspace vspace"),r("img","name longdesc align border hspace vspace"),r("iframe","longdesc frameborder marginwidth marginheight scrolling align"),r("font basefont","size color face"),r("input","usemap align"),r("select","onchange"),r("textarea"),r("h1 h2 h3 h4 h5 h6 div p legend caption","align"),r("ul","type compact"),r("li","type"),r("ol dl menu dir","compact"),r("pre","width xml:space"),r("hr","align noshade size width"),r("isindex","prompt"),r("table","summary width frame rules cellspacing cellpadding align bgcolor"),r("col","width align char charoff valign"),r("colgroup","width align char charoff valign"),r("thead","align char charoff valign"),r("tr","align char charoff valign bgcolor"),r("th","axis align char charoff valign nowrap bgcolor width height"),r("form","accept"),r("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),r("tfoot","align char charoff valign"),r("tbody","align char charoff valign"),r("area","nohref"),r("body","background bgcolor text link vlink alink")),"html4"!=e&&(r("input button select textarea","autofocus"),r("input textarea","placeholder"),r("a","download"),r("link script img","crossorigin"),r("iframe","sandbox seamless allowfullscreen")),s(t("a form meter progress dfn"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,i[e]=a,a)}function r(e,t){var n;return e&&(n={},"string"==typeof e&&(e={"*":e}),s(e,function(e,r){n[r]=n[r.toUpperCase()]="map"==t?a(e,/[, ]/):c(e,/[, ]/)})),n}var i={},o={},a=e.makeMap,s=e.each,l=e.extend,c=e.explode,u=e.inArray;return function(e){function o(t,n,r){var o=e[t];return o?o=a(o,/[, ]/,a(o.toUpperCase(),/[, ]/)):(o=i[t],o||(o=a(n," ",a(n.toUpperCase()," ")),o=l(o,r),i[t]=o)),o}function d(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")}function f(e){var n,r,i,o,s,l,c,f,p,h,m,g,v,b,x,w,_,E,N,k=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,S=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,","),y["@"]&&(w=y["@"].attributes,_=y["@"].attributesOrder),n=0,r=e.length;r>n;n++)if(s=k.exec(e[n])){if(b=s[1],p=s[2],x=s[3],f=s[5],g={},v=[],l={attributes:g,attributesOrder:v},"#"===b&&(l.paddEmpty=!0),"-"===b&&(l.removeEmpty=!0),"!"===s[4]&&(l.removeEmptyAttrs=!0),w){for(E in w)g[E]=w[E];v.push.apply(v,_)}if(f)for(f=t(f,"|"),i=0,o=f.length;o>i;i++)if(s=S.exec(f[i])){if(c={},m=s[1],h=s[2].replace(/::/g,":"),b=s[3],N=s[4],"!"===m&&(l.attributesRequired=l.attributesRequired||[],l.attributesRequired.push(h),c.required=!0),"-"===m){delete g[h],v.splice(u(v,h),1);continue}b&&("="===b&&(l.attributesDefault=l.attributesDefault||[],l.attributesDefault.push({name:h,value:N}),c.defaultValue=N),":"===b&&(l.attributesForced=l.attributesForced||[],l.attributesForced.push({name:h,value:N}),c.forcedValue=N),"<"===b&&(c.validValues=a(N,"?"))),T.test(h)?(l.attributePatterns=l.attributePatterns||[],c.pattern=d(h),l.attributePatterns.push(c)):(g[h]||v.push(h),g[h]=c)}w||"@"!=p||(w=g,_=v),x&&(l.outputName=p,y[x]=l),T.test(p)?(l.pattern=d(p),C.push(l)):y[p]=l}}function p(e){y={},C=[],f(e),s(_,function(e,t){b[t]=e.children})}function h(e){var n=/^(~)?(.+)$/;e&&(i.text_block_elements=i.block_elements=null,s(t(e,","),function(e){var t=n.exec(e),r="~"===t[1],i=r?"span":"div",o=t[2];if(b[o]=b[i],M[o]=i,r||(R[o.toUpperCase()]={},R[o]={}),!y[o]){var a=y[i];a=l({},a),delete a.removeEmptyAttrs,delete a.removeEmpty,y[o]=a}s(b,function(e,t){e[i]&&(b[t]=e=l({},b[t]),e[o]=e[i])})}))}function m(e){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e&&s(t(e,","),function(e){var r=n.exec(e),i,o;r&&(o=r[1],i=o?b[r[2]]:b[r[2]]={"#comment":{}},i=b[r[2]],s(t(r[3],"|"),function(e){"-"===o?(b[r[2]]=i=l({},b[r[2]]),delete i[e]):i[e]={}}))})}function g(e){var t=y[e],n;if(t)return t;for(n=C.length;n--;)if(t=C[n],t.pattern.test(e))return t}var v=this,y={},b={},C=[],x,w,_,E,N,k,S,T,R,A,B,D,L,M={},H={};e=e||{},_=n(e.schema),e.verify_html===!1&&(e.valid_elements="*[*]"),x=r(e.valid_styles),w=r(e.invalid_styles,"map"),T=r(e.valid_classes,"map"),E=o("whitespace_elements","pre script noscript style textarea video audio iframe object"),N=o("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),k=o("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),S=o("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),A=o("non_empty_elements","td th iframe video audio object script",k),B=o("move_caret_before_on_enter_elements","table",A),D=o("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),R=o("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup",D),L=o("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),s((e.special||"script noscript style textarea").split(" "),function(e){H[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.valid_elements?p(e.valid_elements):(s(_,function(e,t){y[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},b[t]=e.children}),"html5"!=e.schema&&s(t("strong/b em/i"),function(e){e=t(e,"/"),y[e[1]].outputName=e[0]}),y.img.attributesDefault=[{name:"alt",value:""}],s(t("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){y[e]&&(y[e].removeEmpty=!0)}),s(t("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(e){y[e].paddEmpty=!0}),s(t("span"),function(e){y[e].removeEmptyAttrs=!0})),h(e.custom_elements),m(e.valid_children),f(e.extended_valid_elements),m("+ol[ul|ol],+ul[ul|ol]"),e.invalid_elements&&s(c(e.invalid_elements),function(e){y[e]&&delete y[e]}),g("span")||f("span[!data-mce-type|*]"),v.children=b,v.getValidStyles=function(){return x},v.getInvalidStyles=function(){return w},v.getValidClasses=function(){return T},v.getBoolAttrs=function(){return S},v.getBlockElements=function(){return R},v.getTextBlockElements=function(){return D},v.getTextInlineElements=function(){return L},v.getShortEndedElements=function(){return k},v.getSelfClosingElements=function(){return N},v.getNonEmptyElements=function(){return A},v.getMoveCaretBeforeOnEnterElements=function(){return B},v.getWhiteSpaceElements=function(){return E},v.getSpecialElements=function(){return H},v.isValidChild=function(e,t){var n=b[e];return!(!n||!n[t])},v.isValid=function(e,t){var n,r,i=g(e);if(i){if(!t)return!0;if(i.attributes[t])return!0;if(n=i.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},v.getElementRule=g,v.getCustomElements=function(){return M},v.addValidElements=f,v.setValidElements=p,v.addCustomElements=h,v.addValidChildren=m,v.elements=y}}),r(N,[E,g,d],function(e,t,n){function r(e,t,n){var r=1,i,o,a,s;for(s=e.getShortEndedElements(),a=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g,a.lastIndex=i=n;o=a.exec(t);){if(i=a.lastIndex,"/"===o[1])r--;else if(!o[1]){if(o[2]in s)continue;r++}if(0===r)break}return i}function i(i,a){function s(){}var l=this;i=i||{},l.schema=a=a||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),o("comment cdata text start end pi doctype".split(" "),function(e){e&&(l[e]=i[e]||s)}),l.parse=function(e){function o(e){var t,n;for(t=p.length;t--&&p[t].name!==e;);if(t>=0){for(n=p.length-1;n>=t;n--)e=p[n],e.valid&&l.end(e.name);p.length=t}}function s(e,t,n,r,o){var a,s,l=/[\s\u0000-\u001F]+/g;if(t=t.toLowerCase(),n=t in x?t:z(n||r||o||""),_&&!y&&0!==t.indexOf("data-")){if(a=T[t],!a&&R){for(s=R.length;s--&&(a=R[s],!a.pattern.test(t)););-1===s&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(V[t]&&!i.allow_script_urls){var c=n.replace(l,"");try{c=decodeURIComponent(c)}catch(u){c=unescape(c)}if(U.test(c))return;if(!i.allow_html_data_urls&&$.test(c)&&!/^data:image\//i.test(c))return}h.map[t]=n,h.push({name:t,value:n})}var l=this,c,u=0,d,f,p=[],h,m,g,v,y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I,F=0,z=t.decode,W,V=n.makeMap("src,href,data,background,formaction,poster"),U=/((java|vb)script|mhtml):/i,$=/^data:/i;for(H=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-_\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),P=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,C=a.getShortEndedElements(),M=i.self_closing_elements||a.getSelfClosingElements(),x=a.getBoolAttrs(),_=i.validate,b=i.remove_internals,W=i.fix_self_closing,O=a.getSpecialElements();c=H.exec(e);){if(u<c.index&&l.text(z(e.substr(u,c.index-u))),d=c[6])d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),o(d);else if(d=c[7]){if(d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),w=d in C,W&&M[d]&&p.length>0&&p[p.length-1].name===d&&o(d),!_||(E=a.getElementRule(d))){if(N=!0,_&&(T=E.attributes,R=E.attributePatterns),(S=c[8])?(y=-1!==S.indexOf("data-mce-type"),y&&b&&(N=!1),h=[],h.map={},S.replace(P,s)):(h=[],h.map={}),_&&!y){if(A=E.attributesRequired,B=E.attributesDefault,D=E.attributesForced,L=E.removeEmptyAttrs,L&&!h.length&&(N=!1),D)for(m=D.length;m--;)k=D[m],v=k.name,I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I});if(B)for(m=B.length;m--;)k=B[m],v=k.name,v in h.map||(I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I}));if(A){for(m=A.length;m--&&!(A[m]in h.map););-1===m&&(N=!1)}if(k=h.map["data-mce-bogus"]){if("all"===k){u=r(a,e,H.lastIndex),H.lastIndex=u;continue}N=!1}}N&&l.start(d,h,w)}else N=!1;if(f=O[d]){f.lastIndex=u=c.index+c[0].length,(c=f.exec(e))?(N&&(g=e.substr(u,c.index-u)),u=c.index+c[0].length):(g=e.substr(u),u=e.length),N&&(g.length>0&&l.text(g,!0),l.end(d)),H.lastIndex=u;continue}w||(S&&S.indexOf("/")==S.length-1?N&&l.end(d):p.push({name:d,valid:N}))}else(d=c[1])?(">"===d.charAt(0)&&(d=" "+d),i.allow_conditional_comments||"[if"!==d.substr(0,3)||(d=" "+d),l.comment(d)):(d=c[2])?l.cdata(d):(d=c[3])?l.doctype(d):(d=c[4])&&l.pi(d,c[5]);u=c.index+c[0].length}for(u<e.length&&l.text(z(e.substr(u))),m=p.length-1;m>=0;m--)d=p[m],d.valid&&l.end(d.name)}}var o=n.each;return i.findEndTag=r,i}),r(k,[_,E,N,d],function(e,t,n,r){var i=r.makeMap,o=r.each,a=r.explode,s=r.extend;return function(r,l){function c(t){var n,r,o,a,s,c,d,f,p,h,m,g,v,y;for(m=i("tr,td,th,tbody,thead,tfoot,table"),h=l.getNonEmptyElements(),g=l.getTextBlockElements(),n=0;n<t.length;n++)if(r=t[n],r.parent&&!r.fixed)if(g[r.name]&&"li"==r.parent.name){for(v=r.next;v&&g[v.name];)v.name="li",v.fixed=!0,r.parent.insert(v,r.parent),v=v.next;r.unwrap(r)}else{for(a=[r],o=r.parent;o&&!l.isValidChild(o.name,r.name)&&!m[o.name];o=o.parent)a.push(o);if(o&&a.length>1){for(a.reverse(),s=c=u.filterNode(a[0].clone()),p=0;p<a.length-1;p++){for(l.isValidChild(c.name,a[p].name)?(d=u.filterNode(a[p].clone()),c.append(d)):d=c,f=a[p].firstChild;f&&f!=a[p+1];)y=f.next,d.append(f),f=y;c=d}s.isEmpty(h)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(h)||o.firstChild===o.lastChild&&"br"===o.firstChild.name)&&o.empty().remove()}else if(r.parent){if("li"===r.name){if(v=r.prev,v&&("ul"===v.name||"ul"===v.name)){v.append(r);continue}if(v=r.next,v&&("ul"===v.name||"ul"===v.name)){v.insert(r,v.firstChild,!0);continue}r.wrap(u.filterNode(new e("ul",1)));continue}l.isValidChild(r.parent.name,"div")&&l.isValidChild("div",r.name)?r.wrap(u.filterNode(new e("div",1))):"style"===r.name||"script"===r.name?r.empty().remove():r.unwrap()}}}var u=this,d={},f=[],p={},h={};r=r||{},r.validate="validate"in r?r.validate:!0,r.root_name=r.root_name||"body",u.schema=l=l||new t,u.filterNode=function(e){var t,n,r;n in d&&(r=p[n],r?r.push(e):p[n]=[e]),t=f.length;for(;t--;)n=f[t].name,n in e.attributes.map&&(r=h[n],r?r.push(e):h[n]=[e]);return e},u.addNodeFilter=function(e,t){o(a(e),function(e){var n=d[e];n||(d[e]=n=[]),n.push(t)})},u.addAttributeFilter=function(e,t){o(a(e),function(e){var n;for(n=0;n<f.length;n++)if(f[n].name===e)return void f[n].callbacks.push(t);f.push({name:e,callbacks:[t]})})},u.parse=function(t,o){function a(){function e(e){e&&(t=e.firstChild,t&&3==t.type&&(t.value=t.value.replace(R,"")),t=e.lastChild,t&&3==t.type&&(t.value=t.value.replace(D,"")))}var t=y.firstChild,n,i;if(l.isValidChild(y.name,I.toLowerCase())){for(;t;)n=t.next,3==t.type||1==t.type&&"p"!==t.name&&!T[t.name]&&!t.attr("data-mce-type")?i?i.append(t):(i=u(I,1),i.attr(r.forced_root_block_attrs),y.insert(i,t),i.append(t)):(e(i),i=null),t=n;e(i)}}function u(t,n){var r=new e(t,n),i;return t in d&&(i=p[t],i?i.push(r):p[t]=[r]),r}function m(e){var t,n,r;for(t=e.prev;t&&3===t.type;)n=t.value.replace(D,""),n.length>0?(t.value=n,t=t.prev):(r=t.prev,t.remove(),t=r)}function g(e){var t,n={};for(t in e)"li"!==t&&"p"!=t&&(n[t]=e[t]);return n}var v,y,b,C,x,w,_,E,N,k,S,T,R,A=[],B,D,L,M,H,P,O,I;if(o=o||{},p={},h={},T=s(i("script,style,head,html,body,title,meta,param"),l.getBlockElements()),O=l.getNonEmptyElements(),P=l.children,S=r.validate,I="forced_root_block"in o?o.forced_root_block:r.forced_root_block,H=l.getWhiteSpaceElements(),R=/^[ \t\r\n]+/,D=/[ \t\r\n]+$/,L=/[ \t\r\n]+/g,M=/^[ \t\r\n]+$/,v=new n({validate:S,allow_script_urls:r.allow_script_urls,allow_conditional_comments:r.allow_conditional_comments,self_closing_elements:g(l.getSelfClosingElements()),cdata:function(e){b.append(u("#cdata",4)).value=e},text:function(e,t){var n;B||(e=e.replace(L," "),b.lastChild&&T[b.lastChild.name]&&(e=e.replace(R,""))),0!==e.length&&(n=u("#text",3),n.raw=!!t,b.append(n).value=e)},comment:function(e){b.append(u("#comment",8)).value=e},pi:function(e,t){b.append(u(e,7)).value=t,m(b)},doctype:function(e){var t;t=b.append(u("#doctype",10)),t.value=e,m(b)},start:function(e,t,n){
-var r,i,o,a,s;if(o=S?l.getElementRule(e):{}){for(r=u(o.outputName||e,1),r.attributes=t,r.shortEnded=n,b.append(r),s=P[b.name],s&&P[r.name]&&!s[r.name]&&A.push(r),i=f.length;i--;)a=f[i].name,a in t.map&&(N=h[a],N?N.push(r):h[a]=[r]);T[e]&&m(r),n||(b=r),!B&&H[e]&&(B=!0)}},end:function(t){var n,r,i,o,a;if(r=S?l.getElementRule(t):{}){if(T[t]&&!B){if(n=b.firstChild,n&&3===n.type)if(i=n.value.replace(R,""),i.length>0)n.value=i,n=n.next;else for(o=n.next,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.next,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o;if(n=b.lastChild,n&&3===n.type)if(i=n.value.replace(D,""),i.length>0)n.value=i,n=n.prev;else for(o=n.prev,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.prev,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o}if(B&&H[t]&&(B=!1),(r.removeEmpty||r.paddEmpty)&&b.isEmpty(O))if(r.paddEmpty)b.empty().append(new e("#text","3")).value="\xa0";else if(!b.attributes.map.name&&!b.attributes.map.id)return a=b.parent,T[b.name]?b.empty().remove():b.unwrap(),void(b=a);b=b.parent}}},l),y=b=new e(o.context||r.root_name,11),v.parse(t),S&&A.length&&(o.context?o.invalid=!0:c(A)),I&&("body"==y.name||o.isRootContent)&&a(),!o.invalid){for(k in p){for(N=d[k],C=p[k],_=C.length;_--;)C[_].parent||C.splice(_,1);for(x=0,w=N.length;w>x;x++)N[x](C,k,o)}for(x=0,w=f.length;w>x;x++)if(N=f[x],N.name in h){for(C=h[N.name],_=C.length;_--;)C[_].parent||C.splice(_,1);for(_=0,E=N.callbacks.length;E>_;_++)N.callbacks[_](C,N.name,o)}}return y},r.remove_trailing_brs&&u.addNodeFilter("br",function(t){var n,r=t.length,i,o=s({},l.getBlockElements()),a=l.getNonEmptyElements(),c,u,d,f,p,h;for(o.body=1,n=0;r>n;n++)if(i=t[n],c=i.parent,o[i.parent.name]&&i===c.lastChild){for(d=i.prev;d;){if(f=d.name,"span"!==f||"bookmark"!==d.attr("data-mce-type")){if("br"!==f)break;if("br"===f){i=null;break}}d=d.prev}i&&(i.remove(),c.isEmpty(a)&&(p=l.getElementRule(c.name),p&&(p.removeEmpty?c.remove():p.paddEmpty&&(c.empty().append(new e("#text",3)).value="\xa0"))))}else{for(u=i;c&&c.firstChild===u&&c.lastChild===u&&(u=c,!o[c.name]);)c=c.parent;u===c&&(h=new e("#text",3),h.value="\xa0",i.replace(h))}}),r.allow_html_in_named_anchor||u.addAttributeFilter("id,name",function(e){for(var t=e.length,n,r,i,o;t--;)if(o=e[t],"a"===o.name&&o.firstChild&&!o.attr("href")){i=o.parent,n=o.lastChild;do r=n.prev,i.insert(n,o),n=r;while(n)}}),r.validate&&l.getValidClasses()&&u.addAttributeFilter("class",function(e){for(var t=e.length,n,r,i,o,a,s=l.getValidClasses(),c,u;t--;){for(n=e[t],r=n.attr("class").split(" "),a="",i=0;i<r.length;i++)o=r[i],u=!1,c=s["*"],c&&c[o]&&(u=!0),c=s[n.name],!u&&c&&c[o]&&(u=!0),u&&(a&&(a+=" "),a+=o);a.length||(a=null),n.attr("class",a)}})}}),r(S,[g,d],function(e,t){var n=t.makeMap;return function(t){var r=[],i,o,a,s,l;return t=t||{},i=t.indent,o=n(t.indent_before||""),a=n(t.indent_after||""),s=e.getEncodeFunc(t.entity_encoding||"raw",t.entities),l="html"==t.element_format,{start:function(e,t,n){var c,u,d,f;if(i&&o[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n")),r.push("<",e),t)for(c=0,u=t.length;u>c;c++)d=t[c],r.push(" ",d.name,'="',s(d.value,!0),'"');!n||l?r[r.length]=">":r[r.length]=" />",n&&i&&a[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n"))},end:function(e){var t;r.push("</",e,">"),i&&a[e]&&r.length>0&&(t=r[r.length-1],t.length>0&&"\n"!==t&&r.push("\n"))},text:function(e,t){e.length>0&&(r[r.length]=t?e:s(e))},cdata:function(e){r.push("<![CDATA[",e,"]]>")},comment:function(e){r.push("<!--",e,"-->")},pi:function(e,t){t?r.push("<?",e," ",s(t),"?>"):r.push("<?",e,"?>"),i&&r.push("\n")},doctype:function(e){r.push("<!DOCTYPE",e,">",i?"\n":"")},reset:function(){r.length=0},getContent:function(){return r.join("").replace(/\n$/,"")}}}}),r(T,[S,E],function(e,t){return function(n,r){var i=this,o=new e(n);n=n||{},n.validate="validate"in n?n.validate:!0,i.schema=r=r||new t,i.writer=o,i.serialize=function(e){function t(e){var n=i[e.type],s,l,c,u,d,f,p,h,m;if(n)n(e);else{if(s=e.name,l=e.shortEnded,c=e.attributes,a&&c&&c.length>1){for(f=[],f.map={},m=r.getElementRule(e.name),p=0,h=m.attributesOrder.length;h>p;p++)u=m.attributesOrder[p],u in c.map&&(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));for(p=0,h=c.length;h>p;p++)u=c[p].name,u in f.map||(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));c=f}if(o.start(e.name,c,l),!l){if(e=e.firstChild)do t(e);while(e=e.next);o.end(s)}}}var i,a;return a=n.validate,i={3:function(e){o.text(e.value,e.raw)},8:function(e){o.comment(e.value)},7:function(e){o.pi(e.name,e.value)},10:function(e){o.doctype(e.value)},4:function(e){o.cdata(e.value)},11:function(e){if(e=e.firstChild)do t(e);while(e=e.next)}},o.reset(),1!=e.type||n.inner?i[11](e):t(e),o.getContent()}}}),r(R,[y,k,g,T,_,E,u,d],function(e,t,n,r,i,o,a,s){var l=s.each,c=s.trim,u=e.DOM;return function(e,i){var s,d,f;return i&&(s=i.dom,d=i.schema),s=s||u,d=d||new o(e),e.entity_encoding=e.entity_encoding||"named",e.remove_trailing_brs="remove_trailing_brs"in e?e.remove_trailing_brs:!0,f=new t(e,d),f.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n=e.length,r;n--;)r=e[n],r.attr("tabindex",r.attributes.map["data-mce-tabindex"]),r.attr(t,null)}),f.addAttributeFilter("src,href,style",function(t,n){for(var r=t.length,i,o,a="data-mce-"+n,l=e.url_converter,c=e.url_converter_scope,u;r--;)i=t[r],o=i.attributes.map[a],o!==u?(i.attr(n,o.length>0?o:null),i.attr(a,null)):(o=i.attributes.map[n],"style"===n?o=s.serializeStyle(s.parseStyle(o),i.name):l&&(o=l.call(c,o,n,i.name)),i.attr(n,o.length>0?o:null))}),f.addAttributeFilter("class",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("class"),r&&(r=n.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),n.attr("class",r.length>0?r:null))}),f.addAttributeFilter("data-mce-type",function(e,t,n){for(var r=e.length,i;r--;)i=e[r],"bookmark"!==i.attributes.map["data-mce-type"]||n.cleanup||i.remove()}),f.addNodeFilter("noscript",function(e){for(var t=e.length,r;t--;)r=e[t].firstChild,r&&(r.value=n.decode(r.value))}),f.addNodeFilter("script,style",function(e,t){function n(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}for(var r=e.length,i,o,a;r--;)i=e[r],o=i.firstChild?i.firstChild.value:"","script"===t?(a=i.attr("type"),a&&i.attr("type","mce-no/type"==a?null:a.replace(/^mce\-/,"")),o.length>0&&(i.firstChild.value="// <![CDATA[\n"+n(o)+"\n// ]]>")):o.length>0&&(i.firstChild.value="<!--\n"+n(o)+"\n-->")}),f.addNodeFilter("#comment",function(e){for(var t=e.length,n;t--;)n=e[t],0===n.value.indexOf("[CDATA[")?(n.name="#cdata",n.type=4,n.value=n.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===n.value.indexOf("mce:protected ")&&(n.name="#text",n.type=3,n.raw=!0,n.value=unescape(n.value).substr(14))}),f.addNodeFilter("xml:namespace,input",function(e,t){for(var n=e.length,r;n--;)r=e[n],7===r.type?r.remove():1===r.type&&("input"!==t||"type"in r.attributes.map||r.attr("type","text"))}),e.fix_list_elements&&f.addNodeFilter("ul,ol",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.parent,("ul"===r.name||"ol"===r.name)&&n.prev&&"li"===n.prev.name&&n.prev.append(n)}),f.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),{schema:d,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:function(t,n){var i=this,o,u,p,h,m;return a.ie&&s.select("script,style,select,map").length>0?(m=t.innerHTML,t=t.cloneNode(!1),s.setHTML(t,m)):t=t.cloneNode(!0),o=t.ownerDocument.implementation,o.createHTMLDocument&&(u=o.createHTMLDocument(""),l("BODY"==t.nodeName?t.childNodes:[t],function(e){u.body.appendChild(u.importNode(e,!0))}),t="BODY"!=t.nodeName?u.body.firstChild:u.body,p=s.doc,s.doc=u),n=n||{},n.format=n.format||"html",n.selection&&(n.forced_root_block=""),n.no_events||(n.node=t,i.onPreProcess(n)),h=new r(e,d),n.content=h.serialize(f.parse(c(n.getInner?t.innerHTML:s.getOuterHTML(t)),n)),n.cleanup||(n.content=n.content.replace(/\uFEFF/g,"")),n.no_events||i.onPostProcess(n),p&&(s.doc=p),n.node=null,n.content},addRules:function(e){d.addValidElements(e)},setRules:function(e){d.setValidElements(e)},onPreProcess:function(e){i&&i.fire("PreProcess",e)},onPostProcess:function(e){i&&i.fire("PostProcess",e)}}}}),r(A,[],function(){function e(e){function t(t,n){var r,i=0,o,a,s,l,c,u,d=-1,f;if(r=t.duplicate(),r.collapse(n),f=r.parentElement(),f.ownerDocument===e.dom.doc){for(;"false"===f.contentEditable;)f=f.parentNode;if(!f.hasChildNodes())return{node:f,inside:1};for(s=f.children,o=s.length-1;o>=i;)if(u=Math.floor((i+o)/2),l=s[u],r.moveToElementText(l),d=r.compareEndPoints(n?"StartToStart":"EndToEnd",t),d>0)o=u-1;else{if(!(0>d))return{node:l};i=u+1}if(0>d)for(l?r.collapse(!1):(r.moveToElementText(f),r.collapse(!0),l=f,a=!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",1)&&f==r.parentElement();)c++;else for(r.collapse(!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",-1)&&f==r.parentElement();)c++;return{node:l,position:d,offset:c,inside:a}}}function n(){function n(e){var n=t(o,e),r,i,s=0,l,c,u;if(r=n.node,i=n.offset,n.inside&&!r.hasChildNodes())return void a[e?"setStart":"setEnd"](r,0);if(i===c)return void a[e?"setStartBefore":"setEndAfter"](r);if(n.position<0){if(l=n.inside?r.firstChild:r.nextSibling,!l)return void a[e?"setStartAfter":"setEndAfter"](r);if(!i)return void(3==l.nodeType?a[e?"setStart":"setEnd"](l,0):a[e?"setStartBefore":"setEndBefore"](l));for(;l;){if(3==l.nodeType&&(u=l.nodeValue,s+=u.length,s>=i)){r=l,s-=i,s=u.length-s;break}l=l.nextSibling}}else{if(l=r.previousSibling,!l)return a[e?"setStartBefore":"setEndBefore"](r);if(!i)return void(3==r.nodeType?a[e?"setStart":"setEnd"](l,r.nodeValue.length):a[e?"setStartAfter":"setEndAfter"](l));for(;l;){if(3==l.nodeType&&(s+=l.nodeValue.length,s>=i)){r=l,s-=i;break}l=l.previousSibling}}a[e?"setStart":"setEnd"](r,s)}var o=e.getRng(),a=i.createRng(),s,l,c,u,d;if(s=o.item?o.item(0):o.parentElement(),s.ownerDocument!=i.doc)return a;if(l=e.isCollapsed(),o.item)return a.setStart(s.parentNode,i.nodeIndex(s)),a.setEnd(a.startContainer,a.startOffset+1),a;try{n(!0),l||n()}catch(f){if(-2147024809!=f.number)throw f;d=r.getBookmark(2),c=o.duplicate(),c.collapse(!0),s=c.parentElement(),l||(c=o.duplicate(),c.collapse(!1),u=c.parentElement(),u.innerHTML=u.innerHTML),s.innerHTML=s.innerHTML,r.moveToBookmark(d),o=e.getRng(),n(!0),l||n()}return a}var r=this,i=e.dom,o=!1;this.getBookmark=function(n){function r(e){var t,n,r,o,a=[];for(t=e.parentNode,n=i.getRoot().parentNode;t!=n&&9!==t.nodeType;){for(r=t.children,o=r.length;o--;)if(e===r[o]){a.push(o);break}e=t,t=t.parentNode}return a}function o(e){var n;return n=t(a,e),n?{position:n.position,offset:n.offset,indexes:r(n.node),inside:n.inside}:void 0}var a=e.getRng(),s={};return 2===n&&(a.item?s.start={ctrl:!0,indexes:r(a.item(0))}:(s.start=o(!0),e.isCollapsed()||(s.end=o()))),s},this.moveToBookmark=function(e){function t(e){var t,n,r,o;for(t=i.getRoot(),n=e.length-1;n>=0;n--)o=t.children,r=e[n],r<=o.length-1&&(t=o[r]);return t}function n(n){var i=e[n?"start":"end"],a,s,l,c;i&&(a=i.position>0,s=o.createTextRange(),s.moveToElementText(t(i.indexes)),c=i.offset,c!==l?(s.collapse(i.inside||a),s.moveStart("character",a?-c:c)):s.collapse(n),r.setEndPoint(n?"StartToStart":"EndToStart",s),n&&r.collapse(!0))}var r,o=i.doc.body;e.start&&(e.start.ctrl?(r=o.createControlRange(),r.addElement(t(e.start.indexes)),r.select()):(r=o.createTextRange(),n(!0),n(),r.select()))},this.addRange=function(t){function n(e){var t,n,a,d,h;a=i.create("a"),t=e?s:c,n=e?l:u,d=r.duplicate(),(t==f||t==f.documentElement)&&(t=p,n=0),3==t.nodeType?(t.parentNode.insertBefore(a,t),d.moveToElementText(a),d.moveStart("character",n),i.remove(a),r.setEndPoint(e?"StartToStart":"EndToEnd",d)):(h=t.childNodes,h.length?(n>=h.length?i.insertAfter(a,h[h.length-1]):t.insertBefore(a,h[n]),d.moveToElementText(a)):t.canHaveHTML&&(t.innerHTML="<span>&#xFEFF;</span>",a=t.firstChild,d.moveToElementText(a),d.collapse(o)),r.setEndPoint(e?"StartToStart":"EndToEnd",d),i.remove(a))}var r,a,s,l,c,u,d,f=e.dom.doc,p=f.body,h,m;if(s=t.startContainer,l=t.startOffset,c=t.endContainer,u=t.endOffset,r=p.createTextRange(),s==c&&1==s.nodeType){if(l==u&&!s.hasChildNodes()){if(s.canHaveHTML)return d=s.previousSibling,d&&!d.hasChildNodes()&&i.isBlock(d)?d.innerHTML="&#xFEFF;":d=null,s.innerHTML="<span>&#xFEFF;</span><span>&#xFEFF;</span>",r.moveToElementText(s.lastChild),r.select(),i.doc.selection.clear(),s.innerHTML="",void(d&&(d.innerHTML=""));l=i.nodeIndex(s),s=s.parentNode}if(l==u-1)try{if(m=s.childNodes[l],a=p.createControlRange(),a.addElement(m),a.select(),h=e.getRng(),h.item&&m===h.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(B,[u],function(e){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey||this.metaKeyPressed(e)},metaKeyPressed:function(t){return e.mac?t.metaKey:t.ctrlKey&&!t.altKey}}}),r(D,[B,d,u],function(e,t,n){return function(r,i){function o(e){var t=i.settings.object_resizing;return t===!1||n.iOS?!1:("string"!=typeof t&&(t="table,img,div"),"false"===e.getAttribute("data-mce-resize")?!1:i.dom.is(e,t))}function a(t){var n,r,o,a,s;n=t.screenX-T,r=t.screenY-R,P=n*k[2]+D,O=r*k[3]+L,P=5>P?5:P,O=5>O?5:O,o="IMG"==w.nodeName&&i.settings.resize_img_proportional!==!1?!e.modifierPressed(t):e.modifierPressed(t)||"IMG"==w.nodeName&&k[2]*k[3]!==0,o&&(W(n)>W(r)?(O=V(P*M),P=V(O/M)):(P=V(O/M),O=V(P*M))),C.setStyles(_,{width:P,height:O}),a=k.startPos.x+n,s=k.startPos.y+r,a=a>0?a:0,s=s>0?s:0,C.setStyles(E,{left:a,top:s,display:"block"}),E.innerHTML=P+" &times; "+O,k[2]<0&&_.clientWidth<=P&&C.setStyle(_,"left",A+(D-P)),k[3]<0&&_.clientHeight<=O&&C.setStyle(_,"top",B+(L-O)),n=U.scrollWidth-$,r=U.scrollHeight-q,n+r!==0&&C.setStyles(E,{left:a-n,top:s-r}),H||(i.fire("ObjectResizeStart",{target:w,width:D,height:L}),H=!0)}function s(){function e(e,t){t&&(w.style[e]||!i.schema.isValid(w.nodeName.toLowerCase(),e)?C.setStyle(w,e,t):C.setAttrib(w,e,t))}H=!1,e("width",P),e("height",O),C.unbind(I,"mousemove",a),C.unbind(I,"mouseup",s),F!=I&&(C.unbind(F,"mousemove",a),C.unbind(F,"mouseup",s)),C.remove(_),C.remove(E),z&&"TABLE"!=w.nodeName||l(w),i.fire("ObjectResized",{target:w,width:P,height:O}),C.setAttrib(w,"style",C.getAttrib(w,"style")),i.nodeChanged()}function l(e,t,r){var l,u,d,f,p;g(),l=C.getPos(e,U),A=l.x,B=l.y,p=e.getBoundingClientRect(),u=p.width||p.right-p.left,d=p.height||p.bottom-p.top,w!=e&&(m(),w=e,P=O=0),f=i.fire("ObjectSelected",{target:e}),o(e)&&!f.isDefaultPrevented()?x(N,function(e,i){function o(t){T=t.screenX,R=t.screenY,D=w.clientWidth,L=w.clientHeight,M=L/D,k=e,e.startPos={x:u*e[0]+A,y:d*e[1]+B},$=U.scrollWidth,q=U.scrollHeight,_=w.cloneNode(!0),C.addClass(_,"mce-clonedresizable"),C.setAttrib(_,"data-mce-bogus","all"),_.contentEditable=!1,_.unSelectabe=!0,C.setStyles(_,{left:A,top:B,margin:0}),_.removeAttribute("data-mce-selected"),U.appendChild(_),C.bind(I,"mousemove",a),C.bind(I,"mouseup",s),F!=I&&(C.bind(F,"mousemove",a),C.bind(F,"mouseup",s)),E=C.add(U,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},D+" &times; "+L)}var l,c;return t?void(i==t&&o(r)):(l=C.get("mceResizeHandle"+i),l?C.show(l):(c=U,l=C.add(c,"div",{id:"mceResizeHandle"+i,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+i+"-resize; margin:0; padding:0"}),n.ie&&(l.contentEditable=!1)),e.elm||(C.bind(l,"mousedown",function(e){e.stopImmediatePropagation(),e.preventDefault(),o(e)}),e.elm=l),void C.setStyles(l,{left:u*e[0]+A-l.offsetWidth/2,top:d*e[1]+B-l.offsetHeight/2}))}):c(),w.setAttribute("data-mce-selected","1")}function c(){var e,t;g(),w&&w.removeAttribute("data-mce-selected");for(e in N)t=C.get("mceResizeHandle"+e),t&&(C.unbind(t),C.remove(t))}function u(e){function t(e,t){if(e)do if(e===t)return!0;while(e=e.parentNode)}var n,i;if(!H)return x(C.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),i="mousedown"==e.type?e.target:r.getNode(),i=C.$(i).closest(z?"table":"table,img,hr")[0],t(i,U)&&(v(),n=r.getStart(!0),t(n,i)&&t(r.getEnd(!0),i)&&(!z||i!=n&&"IMG"!==n.nodeName))?void l(i):void c()}function d(e,t,n){e&&e.attachEvent&&e.attachEvent("on"+t,n)}function f(e,t,n){e&&e.detachEvent&&e.detachEvent("on"+t,n)}function p(e){var t=e.srcElement,n,r,o,a,s,c,u;n=t.getBoundingClientRect(),c=S.clientX-n.left,u=S.clientY-n.top;for(r in N)if(o=N[r],a=t.offsetWidth*o[0],s=t.offsetHeight*o[1],W(a-c)<8&&W(s-u)<8){k=o;break}H=!0,i.fire("ObjectResizeStart",{target:w,width:w.clientWidth,height:w.clientHeight}),i.getDoc().selection.empty(),l(t,r,S)}function h(e){var t=e.srcElement;if(t!=w){if(i.fire("ObjectSelected",{target:t}),m(),0===t.id.indexOf("mceResizeHandle"))return void(e.returnValue=!1);("IMG"==t.nodeName||"TABLE"==t.nodeName)&&(c(),w=t,d(t,"resizestart",p))}}function m(){f(w,"resizestart",p)}function g(){for(var e in N){var t=N[e];t.elm&&(C.unbind(t.elm),delete t.elm)}}function v(){try{i.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}}function y(e){var t;if(z){t=I.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function b(){w=_=null,z&&(m(),f(U,"controlselect",h))}var C=i.dom,x=t.each,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I=i.getDoc(),F=document,z=n.ie&&n.ie<11,W=Math.abs,V=Math.round,U=i.getBody(),$,q;N={n:[.5,0,0,-1],e:[1,.5,1,0],s:[.5,1,0,1],w:[0,.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var j=".mce-content-body";return i.contentStyles.push(j+" div.mce-resizehandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}"+j+" .mce-resizehandle:hover {background: #000}"+j+" img[data-mce-selected], hr[data-mce-selected] {outline: 1px solid black;resize: none}"+j+" .mce-clonedresizable {position: absolute;"+(n.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+j+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}"),i.on("init",function(){z?(i.on("ObjectResized",function(e){"TABLE"!=e.target.nodeName&&(c(),y(e.target))}),d(U,"controlselect",h),i.on("mousedown",function(e){S=e})):(v(),n.ie>=11&&(i.on("mouseup",function(e){var t=e.target.nodeName;!H&&/^(TABLE|IMG|HR)$/.test(t)&&(i.selection.select(e.target,"TABLE"==t),i.nodeChanged())}),i.dom.bind(U,"mscontrolselect",function(e){/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"==e.target.tagName&&window.setTimeout(function(){i.selection.select(e.target)},0))}))),i.on("nodechange ResizeEditor",u),i.on("keydown keyup",function(e){w&&"TABLE"==w.nodeName&&u(e)}),i.on("hide",c)}),i.on("remove",g),{isResizable:o,showResizeRect:l,hideResizeRect:c,updateResizeRect:u,controlSelect:y,destroy:b}}}),r(L,[u,d],function(e,t){function n(n){var r=n.dom;this.getBookmark=function(e,i){function o(e,n){var i=0;return t.each(r.select(e),function(e,t){e==n&&(i=t)}),i}function a(e){function t(t){var n,r,i,o=t?"start":"end";n=e[o+"Container"],r=e[o+"Offset"],1==n.nodeType&&"TR"==n.nodeName&&(i=n.childNodes,n=i[Math.min(t?r:r-1,i.length-1)],n&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r)))}return t(!0),t(),e}function s(){function e(e,t){var n=e[t?"startContainer":"endContainer"],a=e[t?"startOffset":"endOffset"],s=[],l,c,u=0;if(3==n.nodeType){if(i)for(l=n.previousSibling;l&&3==l.nodeType;l=l.previousSibling)a+=l.nodeValue.length;s.push(a)}else c=n.childNodes,a>=c.length&&c.length&&(u=1,a=Math.max(0,c.length-1)),s.push(r.nodeIndex(c[a],i)+u);for(;n&&n!=o;n=n.parentNode)s.push(r.nodeIndex(n,i));return s}var t=n.getRng(!0),o=r.getRoot(),a={};return a.start=e(t,!0),n.isCollapsed()||(a.end=e(t)),a}var l,c,u,d,f,p,h="&#xFEFF;",m;if(2==e)return p=n.getNode(),f=p?p.nodeName:null,"IMG"==f?{name:f,index:o(f,p)}:n.tridentSel?n.tridentSel.getBookmark(e):s();if(e)return{rng:n.getRng()};if(l=n.getRng(),u=r.uniqueId(),d=n.isCollapsed(),m="overflow:hidden;line-height:0px",l.duplicate||l.item){if(l.item)return p=l.item(0),f=p.nodeName,{name:f,index:o(f,p)};c=l.duplicate();try{l.collapse(),l.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_start" style="'+m+'">'+h+"</span>"),d||(c.collapse(!1),l.moveToElementText(c.parentElement()),0===l.compareEndPoints("StartToEnd",c)&&c.move("character",-1),c.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_end" style="'+m+'">'+h+"</span>"))}catch(g){return null}}else{if(p=n.getNode(),f=p.nodeName,"IMG"==f)return{name:f,index:o(f,p)};c=a(l.cloneRange()),d||(c.collapse(!1),c.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_end",style:m},h))),l=a(l),l.collapse(!0),l.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_start",style:m},h))}return n.moveToBookmark({id:u,keep:1}),{id:u}},this.moveToBookmark=function(i){function o(e){var t=i[e?"start":"end"],n,r,o,a;if(t){for(o=t[0],r=c,n=t.length-1;n>=1;n--){if(a=r.childNodes,t[n]>a.length-1)return;r=a[t[n]]}3===r.nodeType&&(o=Math.min(t[0],r.nodeValue.length)),1===r.nodeType&&(o=Math.min(t[0],r.childNodes.length)),e?l.setStart(r,o):l.setEnd(r,o)}return!0}function a(n){var o=r.get(i.id+"_"+n),a,s,l,c,h=i.keep;if(o&&(a=o.parentNode,"start"==n?(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),u=d=a,f=p=s):(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),d=a,p=s),!h)){for(c=o.previousSibling,l=o.nextSibling,t.each(t.grep(o.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});o=r.get(i.id+"_"+n);)r.remove(o,1);c&&l&&c.nodeType==l.nodeType&&3==c.nodeType&&!e.opera&&(s=c.nodeValue.length,c.appendData(l.nodeValue),r.remove(l),"start"==n?(u=d=c,f=p=s):(d=c,p=s))}}function s(t){return!r.isBlock(t)||t.innerHTML||e.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t}var l,c,u,d,f,p;if(i)if(i.start){if(l=r.createRng(),c=r.getRoot(),n.tridentSel)return n.tridentSel.moveToBookmark(i);o(!0)&&o()&&n.setRng(l)}else i.id?(a("start"),a("end"),u&&(l=r.createRng(),l.setStart(s(u),f),l.setEnd(s(d),p),n.setRng(l))):i.name?n.select(r.select(i.name)[i.index]):i.rng&&n.setRng(i.rng)}}return n.isBookmarkNode=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},n}),r(M,[h,A,D,x,L,u,d],function(e,n,r,i,o,a,s){function l(e,t,i,a){var s=this;s.dom=e,s.win=t,s.serializer=i,s.editor=a,s.bookmarkManager=new o(s),s.controlSelection=new r(s,a),s.win.getSelection||(s.tridentSel=new n(s))}var c=s.each,u=s.trim,d=a.ie;return l.prototype={setCursorLocation:function(e,t){var n=this,r=n.dom.createRng();e?(r.setStart(e,t),r.setEnd(e,t),n.setRng(r),n.collapse(!1)):(n._moveEndPoint(r,n.editor.getBody(),!0),n.setRng(r))},getContent:function(e){var n=this,r=n.getRng(),i=n.dom.create("body"),o=n.getSel(),a,s,l;return e=e||{},a=s="",e.get=!0,e.format=e.format||"html",e.selection=!0,n.editor.fire("BeforeGetContent",e),"text"==e.format?n.isCollapsed()?"":r.text||(o.toString?o.toString():""):(r.cloneContents?(l=r.cloneContents(),l&&i.appendChild(l)):r.item!==t||r.htmlText!==t?(i.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),i.removeChild(i.firstChild)):i.innerHTML=r.toString(),/^\s/.test(i.innerHTML)&&(a=" "),/\s+$/.test(i.innerHTML)&&(s=" "),e.getInner=!0,e.content=n.isCollapsed()?"":a+n.serializer.serialize(i,e)+s,n.editor.fire("GetContent",e),e.content)},setContent:function(e,t){var n=this,r=n.getRng(),i,o=n.win.document,a,s;if(t=t||{format:"html"},t.set=!0,t.selection=!0,e=t.content=e,t.no_events||n.editor.fire("BeforeSetContent",t),e=t.content,r.insertNode){e+='<span id="__caret">_</span>',r.startContainer==o&&r.endContainer==o?o.body.innerHTML=e:(r.deleteContents(),0===o.body.childNodes.length?o.body.innerHTML=e:r.createContextualFragment?r.insertNode(r.createContextualFragment(e)):(a=o.createDocumentFragment(),s=o.createElement("div"),a.appendChild(s),s.outerHTML=e,r.insertNode(a))),i=n.dom.get("__caret"),r=o.createRange(),r.setStartBefore(i),r.setEndBefore(i),n.setRng(r),n.dom.remove("__caret");try{n.setRng(r)}catch(l){}}else r.item&&(o.execCommand("Delete",!1,null),r=n.getRng()),/^\s+/.test(e)?(r.pasteHTML('<span id="__mce_tmp">_</span>'+e),n.dom.remove("__mce_tmp")):r.pasteHTML(e);t.no_events||n.editor.fire("SetContent",t)},getStart:function(e){var t=this,n=t.getRng(),r,i,o,a;if(n.duplicate||n.item){if(n.item)return n.item(0);for(o=n.duplicate(),o.collapse(1),r=o.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),i=a=n.parentElement();a=a.parentNode;)if(a==r){r=i;break}return r}return r=n.startContainer,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[Math.min(r.childNodes.length-1,n.startOffset)])),r&&3==r.nodeType?r.parentNode:r},getEnd:function(e){var t=this,n=t.getRng(),r,i;return n.duplicate||n.item?n.item?n.item(0):(n=n.duplicate(),n.collapse(0),r=n.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),r&&"BODY"==r.nodeName?r.lastChild||r:r):(r=n.endContainer,i=n.endOffset,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[i>0?i-1:i])),r&&3==r.nodeType?r.parentNode:r)},getBookmark:function(e,t){return this.bookmarkManager.getBookmark(e,t)},moveToBookmark:function(e){return this.bookmarkManager.moveToBookmark(e)},select:function(e,t){var n=this,r=n.dom,i=r.createRng(),o;if(n.lastFocusBookmark=null,e){if(!t&&n.controlSelection.controlSelect(e))return;o=r.nodeIndex(e),i.setStart(e.parentNode,o),i.setEnd(e.parentNode,o+1),t&&(n._moveEndPoint(i,e,!0),n._moveEndPoint(i,e)),n.setRng(i)}return e},isCollapsed:function(){var e=this,t=e.getRng(),n=e.getSel();return!t||t.item?!1:t.compareEndPoints?0===t.compareEndPoints("StartToEnd",t):!n||t.collapsed},collapse:function(e){var t=this,n=t.getRng(),r;n.item&&(r=n.item(0),n=t.win.document.body.createTextRange(),n.moveToElementText(r)),n.collapse(!!e),t.setRng(n)},getSel:function(){var e=this.win;return e.getSelection?e.getSelection():e.document.selection},getRng:function(e){function t(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}}var n=this,r,i,o,a=n.win.document,s;if(!e&&n.lastFocusBookmark){var l=n.lastFocusBookmark;return l.startContainer?(i=a.createRange(),i.setStart(l.startContainer,l.startOffset),i.setEnd(l.endContainer,l.endOffset)):i=l,i}if(e&&n.tridentSel)return n.tridentSel.getRangeAt(0);try{(r=n.getSel())&&(i=r.rangeCount>0?r.getRangeAt(0):r.createRange?r.createRange():a.createRange())}catch(c){}if(d&&i&&i.setStart&&a.selection){try{s=a.selection.createRange()}catch(c){}s&&s.item&&(o=s.item(0),i=a.createRange(),i.setStartBefore(o),i.setEndAfter(o))}return i||(i=a.createRange?a.createRange():a.body.createTextRange()),i.setStart&&9===i.startContainer.nodeType&&i.collapsed&&(o=n.dom.getRoot(),i.setStart(o,0),i.setEnd(o,0)),n.selectedRange&&n.explicitRange&&(0===t(i.START_TO_START,i,n.selectedRange)&&0===t(i.END_TO_END,i,n.selectedRange)?i=n.explicitRange:(n.selectedRange=null,n.explicitRange=null)),i},setRng:function(e,t){var n=this,r;if(e)if(e.select)try{e.select()}catch(i){}else if(n.tridentSel){if(e.cloneRange)try{return void n.tridentSel.addRange(e)}catch(i){}}else if(r=n.getSel()){n.explicitRange=e;try{r.removeAllRanges(),r.addRange(e)}catch(i){}t===!1&&r.extend&&(r.collapse(e.endContainer,e.endOffset),r.extend(e.startContainer,e.startOffset)),n.selectedRange=r.rangeCount>0?r.getRangeAt(0):null}},setNode:function(e){var t=this;return t.setContent(t.dom.getOuterHTML(e)),e},getNode:function(){function e(e,t){for(var n=e;e&&3===e.nodeType&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n}var t=this,n=t.getRng(),r,i=n.startContainer,o=n.endContainer,a=n.startOffset,s=n.endOffset,l=t.dom.getRoot();return n?n.setStart?(r=n.commonAncestorContainer,!n.collapsed&&(i==o&&2>s-a&&i.hasChildNodes()&&(r=i.childNodes[a]),3===i.nodeType&&3===o.nodeType&&(i=i.length===a?e(i.nextSibling,!0):i.parentNode,o=0===s?e(o.previousSibling,!1):o.parentNode,i&&i===o))?i:r&&3==r.nodeType?r.parentNode:r):(r=n.item?n.item(0):n.parentElement(),r.ownerDocument!==t.win.document&&(r=l),r):l},getSelectedBlocks:function(t,n){var r=this,i=r.dom,o,a,s=[];if(a=i.getRoot(),t=i.getParent(t||r.getStart(),i.isBlock),n=i.getParent(n||r.getEnd(),i.isBlock),t&&t!=a&&s.push(t),t&&n&&t!=n){o=t;for(var l=new e(t,a);(o=l.next())&&o!=n;)i.isBlock(o)&&s.push(o)}return n&&t!=n&&n!=a&&s.push(n),s},isForward:function(){var e=this.dom,t=this.getSel(),n,r;return t&&t.anchorNode&&t.focusNode?(n=e.createRng(),n.setStart(t.anchorNode,t.anchorOffset),n.collapse(!0),r=e.createRng(),r.setStart(t.focusNode,t.focusOffset),r.collapse(!0),n.compareBoundaryPoints(n.START_TO_START,r)<=0):!0},normalize:function(){var e=this,t=e.getRng();return a.range&&new i(e.dom).normalize(t)&&e.setRng(t,e.isForward()),t},selectorChanged:function(e,t){var n=this,r;return n.selectorChangedData||(n.selectorChangedData={},r={},n.editor.on("NodeChange",function(e){var t=e.element,i=n.dom,o=i.getParents(t,null,i.getRoot()),a={};c(n.selectorChangedData,function(e,t){c(o,function(n){return i.is(n,t)?(r[t]||(c(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1):void 0})}),c(r,function(e,n){a[n]||(delete r[n],c(e,function(e){e(!1,{node:t,selector:n,parents:o})}))})})),n.selectorChangedData[e]||(n.selectorChangedData[e]=[]),n.selectorChangedData[e].push(t),n},getScrollContainer:function(){for(var e,t=this.dom.getRoot();t&&"BODY"!=t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e){function t(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}}var n,r,i=this,o=i.dom,a=o.getRoot(),s,l;if("BODY"!=a.nodeName){var c=i.getScrollContainer();if(c)return n=t(e).y-t(c).y,l=c.clientHeight,s=c.scrollTop,void((s>n||n+25>s+l)&&(c.scrollTop=s>n?n:n-l+25))}r=o.getViewPort(i.editor.getWin()),n=o.getPos(e).y,s=r.y,l=r.h,(n<r.y||n+25>s+l)&&i.editor.getWin().scrollTo(0,s>n?n:n-l+25)},placeCaretAt:function(e,t){var n=this.editor.getDoc(),r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}this.setRng(r)},_moveEndPoint:function(t,n,r){var i=n,o=new e(n,i),s=this.dom.schema.getNonEmptyElements();do{if(3==n.nodeType&&0!==u(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(s[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):"BR"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(a.ie&&a.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?o.next():o.prev());"BODY"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},destroy:function(){this.win=null,this.controlSelection.destroy()}},l}),r(H,[L,d],function(e,t){function n(t){this.compare=function(n,i){function o(e){var n={};return r(t.getAttribs(e),function(r){var i=r.nodeName.toLowerCase();0!==i.indexOf("_")&&"style"!==i&&"data-mce-style"!==i&&(n[i]=t.getAttrib(e,i))}),n}function a(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],"undefined"==typeof n)return!1;if(e[r]!=n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0}return n.nodeName!=i.nodeName?!1:a(o(n),o(i))&&a(t.parseStyle(t.getAttrib(n,"style")),t.parseStyle(t.getAttrib(i,"style")))?!e.isBookmarkNode(n)&&!e.isBookmarkNode(i):!1}}var r=t.each;return n}),r(P,[d],function(e){function t(e,t){function r(e){return e.replace(/%(\w+)/g,"")}var i,o,a=e.dom,s="",l,c;
-if(c=e.settings.preview_styles,c===!1)return"";if(c||(c="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),"string"==typeof t){if(t=e.formatter.get(t),!t)return;t=t[0]}return i=t.block||t.inline||"span",o=a.create(i),n(t.styles,function(e,t){e=r(e),e&&a.setStyle(o,t,e)}),n(t.attributes,function(e,t){e=r(e),e&&a.setAttrib(o,t,e)}),n(t.classes,function(e){e=r(e),a.hasClass(o,e)||a.addClass(o,e)}),e.fire("PreviewFormats"),a.setStyles(o,{position:"absolute",left:-65535}),e.getBody().appendChild(o),l=a.getStyle(e.getBody(),"fontSize",!0),l=/px$/.test(l)?parseInt(l,10):0,n(c.split(" "),function(t){var n=a.getStyle(o,t,!0);if(!("background-color"==t&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)&&(n=a.getStyle(e.getBody(),t,!0),"#ffffff"==a.toHex(n).toLowerCase())||"color"==t&&"#000000"==a.toHex(n).toLowerCase())){if("font-size"==t&&/em|%$/.test(n)){if(0===l)return;n=parseFloat(n,10)/(/%$/.test(n)?100:1),n=n*l+"px"}"border"==t&&n&&(s+="padding:0 2px;"),s+=t+":"+n+";"}}),e.fire("AfterPreviewFormats"),a.remove(o),s}var n=e.each;return{getCssText:t}}),r(O,[h,x,L,H,d,P],function(e,t,n,r,i,o){return function(a){function s(e){return e.nodeType&&(e=e.nodeName),!!a.schema.getTextBlockElements()[e.toLowerCase()]}function l(e,t){return U.getParents(e,t,U.getRoot())}function c(e){return 1===e.nodeType&&"_mce_caret"===e.id}function u(){p({valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"}}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},defaultBlock:"div"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(e,t,n){ae(n,function(t,n){U.setAttrib(e,n,t)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]}),ae("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){p(e,{block:e,remove:"all"})}),p(a.settings.formats)}function d(){a.addShortcut("meta+b","bold_desc","Bold"),a.addShortcut("meta+i","italic_desc","Italic"),a.addShortcut("meta+u","underline_desc","Underline");for(var e=1;6>=e;e++)a.addShortcut("access+"+e,"",["FormatBlock",!1,"h"+e]);a.addShortcut("access+7","",["FormatBlock",!1,"p"]),a.addShortcut("access+8","",["FormatBlock",!1,"div"]),a.addShortcut("access+9","",["FormatBlock",!1,"address"])}function f(e){return e?V[e]:V}function p(e,t){e&&("string"!=typeof e?ae(e,function(e,t){p(t,e)}):(t=t.length?t:[t],ae(t,function(e){e.deep===te&&(e.deep=!e.selector),e.split===te&&(e.split=!e.selector||e.inline),e.remove===te&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),V[e]=t))}function h(e){return e&&V[e]&&delete V[e],V}function m(e){var t;return a.dom.getParent(e,function(e){return t=a.dom.getStyle(e,"text-decoration"),t&&"none"!==t}),t}function g(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=m(e.parentNode),a.dom.getStyle(e,"color")&&t?a.dom.setStyle(e,"text-decoration",t):a.dom.getStyle(e,"text-decoration")===t&&a.dom.setStyle(e,"text-decoration",null))}function v(t,n,r){function i(e,t){if(t=t||d,e){if(t.onformat&&t.onformat(e,t,n,r),ae(t.styles,function(t,r){U.setStyle(e,r,A(t,n))}),t.styles){var i=U.getAttrib(e,"style");i&&e.setAttribute("data-mce-style",i)}ae(t.attributes,function(t,r){U.setAttrib(e,r,A(t,n))}),ae(t.classes,function(t){t=A(t,n),U.hasClass(e,t)||U.addClass(e,t)})}}function o(){function t(t,n){var i=new e(n);for(r=i.current();r;r=i.prev())if(r.childNodes.length>1||r==t||"BR"==r.tagName)return r}var n=a.selection.getRng(),i=n.startContainer,o=n.endContainer;if(i!=o&&0===n.endOffset){var s=t(i,o),l=3==s.nodeType?s.length:s.childNodes.length;n.setEnd(s,l)}return n}function l(e,r,o){var a=[],l,f,p=!0;l=d.inline||d.block,f=U.create(l),i(f),q.walk(e,function(e){function r(e){var g,v,y,b,x;return x=p,g=e.nodeName.toLowerCase(),v=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&ne(e)&&(x=p,p="true"===ne(e),b=!0),S(g,"br")?(h=0,void(d.block&&U.remove(e))):d.wrapper&&C(e,t,n)?void(h=0):p&&!b&&d.block&&!d.wrapper&&s(g)&&j(v,l)?(e=U.rename(e,l),i(e),a.push(e),void(h=0)):d.selector&&(ae(u,function(t){"collapsed"in t&&t.collapsed!==m||U.is(e,t.selector)&&!c(e)&&(i(e,t),y=!0)}),!d.inline||y)?void(h=0):void(!p||b||!j(l,g)||!j(v,l)||!o&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||c(e)||d.inline&&Y(e)?(h=0,ae(se(e.childNodes),r),b&&(p=x),h=0):(h||(h=U.clone(f,Q),e.parentNode.insertBefore(h,e),a.push(h)),h.appendChild(e)))}var h;ae(e,r)}),d.links===!0&&ae(a,function(e){function t(e){"A"===e.nodeName&&i(e,d),ae(se(e.childNodes),t)}t(e)}),ae(a,function(e){function r(e){var t=0;return ae(e.childNodes,function(e){B(e)||oe(e)||t++}),t}function o(e){var t,n;return ae(e.childNodes,function(e){return 1!=e.nodeType||oe(e)||c(e)?void 0:(t=e,Q)}),t&&!oe(t)&&k(t,d)&&(n=U.clone(t,Q),i(n),U.replace(n,e,Z),U.remove(t,1)),n||e}var s;if(s=r(e),(a.length>1||!Y(e))&&0===s)return void U.remove(e,1);if(d.inline||d.wrapper){if(d.exact||1!==s||(e=o(e)),ae(u,function(t){ae(U.select(t.inline,e),function(e){oe(e)||H(t,n,e,t.exact?e:null)})}),C(e.parentNode,t,n))return U.remove(e,1),e=0,Z;d.merge_with_parents&&U.getParent(e.parentNode,function(r){return C(r,t,n)?(U.remove(e,1),e=0,Z):void 0}),e&&d.merge_siblings!==!1&&(e=I(O(e),e),e=I(e,O(e,Z)))}})}var u=f(t),d=u[0],p,h,m=!r&&$.isCollapsed();if(d)if(r)r.nodeType?(h=U.createRng(),h.setStartBefore(r),h.setEndAfter(r),l(L(h,u),null,!0)):l(r,null,!0);else if(m&&d.inline&&!U.select("td.mce-item-selected,th.mce-item-selected").length)z("apply",t,n);else{var y=a.selection.getNode();K||!u[0].defaultBlock||U.getParent(y,U.isBlock)||v(u[0].defaultBlock),a.selection.setRng(o()),p=$.getBookmark(),l(L($.getRng(Z),u),p),d.styles&&(d.styles.color||d.styles.textDecoration)&&(le(y,g,"childNodes"),g(y)),$.moveToBookmark(p),W($.getRng(Z)),a.nodeChanged()}}function y(e,t,n,r){function i(e){var n,r,o,a,s;if(1===e.nodeType&&ne(e)&&(a=y,y="true"===ne(e),s=!0),n=se(e.childNodes),y&&!s)for(r=0,o=p.length;o>r&&!H(p[r],t,e,e);r++);if(h.deep&&n.length){for(r=0,o=n.length;o>r;r++)i(n[r]);s&&(y=a)}}function o(n){var i;return ae(l(n.parentNode).reverse(),function(n){var o;i||"_start"==n.id||"_end"==n.id||(o=C(n,e,t,r),o&&o.split!==!1&&(i=n))}),i}function s(e,n,r,i){var o,a,s,l,c,u;if(e){for(u=e.parentNode,o=n.parentNode;o&&o!=u;o=o.parentNode){for(a=U.clone(o,Q),c=0;c<p.length;c++)if(H(p[c],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||h.mixed&&Y(e)||(n=U.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function c(e){return s(o(e),e,e,!0)}function u(e){var t=U.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return oe(n)&&(n=n[e?"firstChild":"lastChild"]),3==n.nodeType&&0===n.data.length&&(n=e?t.previousSibling||t.nextSibling:t.nextSibling||t.previousSibling),U.remove(t,!0),n}function d(e){var t,n,r=e.commonAncestorContainer;e=L(e,p,Z),h.split&&(t=F(e,Z),n=F(e),t!=n?(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),r&&/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName)&&/^(TH|TD)$/.test(n.nodeName)&&n.firstChild&&(n=n.firstChild||n),t=D(t,"span",{id:"_start","data-mce-type":"bookmark"}),n=D(n,"span",{id:"_end","data-mce-type":"bookmark"}),c(t),c(n),t=u(Z),n=u()):t=n=c(t),e.startContainer=t.parentNode?t.parentNode:t,e.startOffset=G(t),e.endContainer=n.parentNode?n.parentNode:n,e.endOffset=G(n)+1),q.walk(e,function(e){ae(e,function(e){i(e),1===e.nodeType&&"underline"===a.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===m(e.parentNode)&&H({deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})}var p=f(e),h=p[0],g,v,y=!0;return n?void(n.nodeType?(v=U.createRng(),v.setStartBefore(n),v.setEndAfter(n),d(v)):d(n)):void($.isCollapsed()&&h.inline&&!U.select("td.mce-item-selected,th.mce-item-selected").length?z("remove",e,t,r):(g=$.getBookmark(),d($.getRng(Z)),$.moveToBookmark(g),h.inline&&x(e,t,$.getStart())&&W($.getRng(!0)),a.nodeChanged()))}function b(e,t,n){var r=f(e);!x(e,t,n)||"toggle"in r[0]&&!r[0].toggle?v(e,t,n):y(e,t,n)}function C(e,t,n,r){function i(e,t,i){var o,a,s=t[i],l;if(t.onmatch)return t.onmatch(e,t,i);if(s)if(s.length===te){for(o in s)if(s.hasOwnProperty(o)){if(a="attributes"===i?U.getAttrib(e,o):T(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!S(a,R(A(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if("attributes"===i?U.getAttrib(e,s[l]):T(e,s[l]))return t;return t}var o=f(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],k(e,a)&&i(e,a,"attributes")&&i(e,a,"styles")){if(l=a.classes)for(s=0;s<l.length;s++)if(!U.hasClass(e,l[s]))return;return a}}function x(e,t,n){function r(n){var r=U.getRoot();return n===r?!1:(n=U.getParent(n,function(n){return n.parentNode===r||!!C(n,e,t,!0)}),C(n,e,t))}var i;return n?r(n):(n=$.getNode(),r(n)?Z:(i=$.getStart(),i!=n&&r(i)?Z:Q))}function w(e,t){var n,r=[],i={};return n=$.getStart(),U.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&C(n,a,t)&&(i[a]=!0,r.push(a))},U.getRoot()),r}function _(e){var t=f(e),n,r,i,o,a;if(t)for(n=$.getStart(),r=l(n),o=t.length-1;o>=0;o--){if(a=t[o].selector,!a||t[o].defaultBlock)return Z;for(i=r.length-1;i>=0;i--)if(U.is(r[i],a))return Z}return Q}function E(e,t,n){var r;return ee||(ee={},r={},a.on("NodeChange",function(e){var t=l(e.element),n={};t=i.grep(t,function(e){return 1==e.nodeType&&!e.getAttribute("data-mce-bogus")}),ae(ee,function(e,i){ae(t,function(o){return C(o,i,{},e.similar)?(r[i]||(ae(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):void 0})}),ae(r,function(i,o){n[o]||(delete r[o],ae(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),ae(e.split(","),function(e){ee[e]||(ee[e]=[],ee[e].similar=n),ee[e].push(t)}),this}function N(e){return o.getCssText(a,e)}function k(e,t){return S(e,t.inline)?Z:S(e,t.block)?Z:t.selector?1==e.nodeType&&U.is(e,t.selector):void 0}function S(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function T(e,t){return R(U.getStyle(e,t),t)}function R(e,t){return("color"==t||"backgroundColor"==t)&&(e=U.toHex(e)),"fontWeight"==t&&700==e&&(e="bold"),"fontFamily"==t&&(e=e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+e}function A(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e}function B(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)}function D(e,t,n){var r=U.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function L(t,n,r){function i(e){function t(e){return"BR"==e.nodeName&&e.getAttribute("data-mce-bogus")&&!e.nextSibling}var r,i,o,a,s;if(r=i=e?g:y,a=e?"previousSibling":"nextSibling",s=U.getRoot(),3==r.nodeType&&!B(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&Y(i))return i;for(o=i[a];o;o=o[a])if(!oe(o)&&!B(o)&&!t(o))return i;if(i.parentNode==s){r=i;break}i=i.parentNode}return r}function o(e,t){for(t===te&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)e=e.childNodes[t],e&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}}function c(e){for(var t=e;t;){if(1===t.nodeType&&ne(t))return"false"===ne(t)?t:e;t=t.parentNode}return e}function u(t,n,i){function o(e,t){var n,o,a=e.nodeValue;return"undefined"==typeof t&&(t=i?a.length:0),i?(n=a.lastIndexOf(" ",t),o=a.lastIndexOf("\xa0",t),n=n>o?n:o,-1===n||r||n++):(n=a.indexOf(" ",t),o=a.indexOf("\xa0",t),n=-1!==n&&(-1===o||o>n)?n:o),n}var s,l,c,u;if(3===t.nodeType){if(c=o(t,n),-1!==c)return{container:t,offset:c};u=t}for(s=new e(t,U.getParent(t,Y)||a.getBody());l=s[i?"prev":"next"]();)if(3===l.nodeType){if(u=l,c=o(l),-1!==c)return{container:l,offset:c}}else if(Y(l))break;return u?(n=i?0:u.length,{container:u,offset:n}):void 0}function d(e,r){var i,o,a,s;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=l(e),o=0;o<i.length;o++)for(a=0;a<n.length;a++)if(s=n[a],!("collapsed"in s&&s.collapsed!==t.collapsed)&&U.is(i[o],s.selector))return i[o];return e}function f(e,t){var r,i=U.getRoot();if(n[0].wrapper||(r=U.getParent(e,n[0].block,i)),r||(r=U.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&s(e)})),r&&n[0].wrapper&&(r=l(r,"ul,ol").reverse()[0]||r),!r)for(r=e;r[t]&&!Y(r[t])&&(r=r[t],!S(r,"br")););return r||e}var p,h,m,g=t.startContainer,v=t.startOffset,y=t.endContainer,b=t.endOffset;if(1==g.nodeType&&g.hasChildNodes()&&(p=g.childNodes.length-1,g=g.childNodes[v>p?p:v],3==g.nodeType&&(v=0)),1==y.nodeType&&y.hasChildNodes()&&(p=y.childNodes.length-1,y=y.childNodes[b>p?p:b-1],3==y.nodeType&&(b=y.nodeValue.length)),g=c(g),y=c(y),(oe(g.parentNode)||oe(g))&&(g=oe(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(oe(y.parentNode)||oe(y))&&(y=oe(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(m=u(g,v,!0),m&&(g=m.container,v=m.offset),m=u(y,b),m&&(y=m.container,b=m.offset)),h=o(y,b),h.node)){for(;h.node&&0===h.offset&&h.node.previousSibling;)h=o(h.node.previousSibling);h.node&&h.offset>0&&3===h.node.nodeType&&" "===h.node.nodeValue.charAt(h.offset-1)&&h.offset>1&&(y=h.node,y.splitText(h.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=i(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=i())),n[0].selector&&n[0].expand!==Q&&!n[0].inline&&(g=d(g,"previousSibling"),y=d(y,"nextSibling")),(n[0].block||n[0].selector)&&(g=f(g,"previousSibling"),y=f(y,"nextSibling"),n[0].block&&(Y(g)||(g=i(!0)),Y(y)||(y=i()))),1==g.nodeType&&(v=G(g),g=g.parentNode),1==y.nodeType&&(b=G(y)+1,y=y.parentNode),{startContainer:g,startOffset:v,endContainer:y,endOffset:b}}function M(e,t){return t.links&&"A"==e.tagName}function H(e,t,n,r){var i,o,a;if(!k(n,e)&&!M(n,e))return Q;if("all"!=e.remove)for(ae(e.styles,function(i,o){i=R(A(i,t),o),"number"==typeof o&&(o=i,r=0),(e.remove_similar||!r||S(T(r,o),i))&&U.setStyle(n,o,""),a=1}),a&&""===U.getAttrib(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style")),ae(e.attributes,function(e,i){var o;if(e=A(e,t),"number"==typeof i&&(i=e,r=0),!r||S(U.getAttrib(r,i),e)){if("class"==i&&(e=U.getAttrib(n,i),e&&(o="",ae(e.split(/\s+/),function(e){/mce\-\w+/.test(e)&&(o+=(o?" ":"")+e)}),o)))return void U.setAttrib(n,i,o);"class"==i&&n.removeAttribute("className"),J.test(i)&&n.removeAttribute("data-mce-"+i),n.removeAttribute(i)}}),ae(e.classes,function(e){e=A(e,t),(!r||U.hasClass(r,e))&&U.removeClass(n,e)}),o=U.getAttribs(n),i=0;i<o.length;i++)if(0!==o[i].nodeName.indexOf("_"))return Q;return"none"!=e.remove?(P(n,e),Z):void 0}function P(e,t){function n(e,t,n){return e=O(e,t,n),!e||"BR"==e.nodeName||Y(e)}var r=e.parentNode,i;t.block&&(K?r==U.getRoot()&&(t.list_block&&S(e,t.list_block)||ae(se(e.childNodes),function(e){j(K,e.nodeName.toLowerCase())?i?i.appendChild(e):(i=D(e,K),U.setAttribs(i,a.settings.forced_root_block_attrs)):i=0})):Y(e)&&!Y(r)&&(n(e,Q)||n(e.firstChild,Z,1)||e.insertBefore(U.create("br"),e.firstChild),n(e,Z)||n(e.lastChild,Q,1)||e.appendChild(U.create("br")))),t.selector&&t.inline&&!S(t.inline,e)||U.remove(e,1)}function O(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!B(e))return e}function I(e,t){function n(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!oe(i))return i}return e}var i,o,a=new r(U);if(e&&t&&(e=n(e,"previousSibling"),t=n(t,"nextSibling"),a.compare(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return U.remove(t),ae(se(t.childNodes),function(t){e.appendChild(t)}),e}return t}function F(t,n){var r,i,o;return r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1==r.nodeType&&(o=r.childNodes.length-1,!n&&i&&i--,r=r.childNodes[i>o?o:i]),3===r.nodeType&&n&&i>=r.nodeValue.length&&(r=new e(r,a.getBody()).next()||r),3!==r.nodeType||n||0!==i||(r=new e(r,a.getBody()).prev()||r),r}function z(t,n,r,i){function o(e){var t=U.create("span",{id:g,"data-mce-bogus":!0,style:b?"color:red":""});return e&&t.appendChild(a.getDoc().createTextNode(X)),t}function l(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==X||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function c(e){for(;e;){if(e.id===g)return e;e=e.parentNode}}function u(t){var n;if(t)for(n=new e(t,t),t=n.current();t;t=n.next())if(3===t.nodeType)return t}function d(e,t){var n,r;if(e)r=$.getRng(!0),l(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),U.remove(e)):(n=u(e),n.nodeValue.charAt(0)===X&&(n.deleteData(0,1),r.startContainer==n&&r.startOffset>0&&r.setStart(n,r.startOffset-1),r.endContainer==n&&r.endOffset>0&&r.setEnd(n,r.endOffset-1)),U.remove(e,1)),$.setRng(r);else if(e=c($.getStart()),!e)for(;e=U.get(g);)d(e,!1)}function p(){var e,t,i,a,s,l,d;e=$.getRng(!0),a=e.startOffset,l=e.startContainer,d=l.nodeValue,t=c($.getStart()),t&&(i=u(t)),d&&a>0&&a<d.length&&/\w/.test(d.charAt(a))&&/\w/.test(d.charAt(a-1))?(s=$.getBookmark(),e.collapse(!0),e=L(e,f(n)),e=q.split(e),v(n,r,e),$.moveToBookmark(s)):(t&&i.nodeValue===X?v(n,r,t):(t=o(!0),i=t.firstChild,e.insertNode(t),a=1,v(n,r,t)),$.setCursorLocation(i,a))}function h(){var e=$.getRng(!0),t,a,l,c,u,d,p=[],h,m;for(t=e.startContainer,a=e.startOffset,u=t,3==t.nodeType&&(a!=t.nodeValue.length&&(c=!0),u=u.parentNode);u;){if(C(u,n,r,i)){d=u;break}u.nextSibling&&(c=!0),p.push(u),u=u.parentNode}if(d)if(c)l=$.getBookmark(),e.collapse(!0),e=L(e,f(n),!0),e=q.split(e),y(n,r,e),$.moveToBookmark(l);else{for(m=o(),u=m,h=p.length-1;h>=0;h--)u.appendChild(U.clone(p[h],!1)),u=u.firstChild;u.appendChild(U.doc.createTextNode(X)),u=u.firstChild;var g=U.getParent(d,s);g&&U.isEmpty(g)?d.parentNode.replaceChild(m,d):U.insertAfter(m,d),$.setCursorLocation(u,1),U.isEmpty(d)&&U.remove(d)}}function m(){var e;e=c($.getStart()),e&&!U.isEmpty(e)&&le(e,function(e){1!=e.nodeType||e.id===g||U.isEmpty(e)||U.setAttrib(e,"data-mce-bogus",null)},"childNodes")}var g="_mce_caret",b=a.settings.caret_debug;a._hasCaretEvents||(ie=function(){var e=[],t;if(l(c($.getStart()),e))for(t=e.length;t--;)U.setAttrib(e[t],"data-mce-bogus","1")},re=function(e){var t=e.keyCode;d(),(8==t&&$.isCollapsed()||37==t||39==t)&&d(c($.getStart())),m()},a.on("SetContent",function(e){e.selection&&m()}),a._hasCaretEvents=!0),"apply"==t?p():h()}function W(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if(3==n.nodeType&&r>=n.nodeValue.length&&(r=G(n),n=n.parentNode,i=!0),1==n.nodeType)for(s=n.childNodes,n=s[Math.min(r,s.length-1)],o=new e(n,U.getParent(n,U.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!B(a))return l=U.create("a",{"data-mce-bogus":"all"},X),a.parentNode.insertBefore(l,a),t.setStart(a,0),$.setRng(t),void U.remove(l)}var V={},U=a.dom,$=a.selection,q=new t(U),j=a.schema.isValidChild,Y=U.isBlock,K=a.settings.forced_root_block,G=U.nodeIndex,X="\ufeff",J=/^(src|href|style)$/,Q=!1,Z=!0,ee,te,ne=U.getContentEditable,re,ie,oe=n.isBookmarkNode,ae=i.each,se=i.grep,le=i.walk,ce=i.extend;ce(this,{get:f,register:p,unregister:h,apply:v,remove:y,toggle:b,match:x,matchAll:w,matchNode:C,canApply:_,formatChanged:E,getCssText:N}),u(),d(),a.on("BeforeGetContent",function(e){ie&&"raw"!=e.format&&ie()}),a.on("mouseup keydown",function(e){re&&re(e)})}}),r(I,[B,u,d,N],function(e,t,n,r){var i=n.trim,o;return o=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>",'\\s?data-mce-selected="[^"]+"'].join("|"),"gi"),function(n){function a(){var e=n.getContent({format:"raw",no_events:1}),t=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,a,s,l,c,u,d=n.schema;for(e=e.replace(o,""),u=d.getShortEndedElements();c=t.exec(e);)s=t.lastIndex,l=c[0].length,a=u[c[1]]?s:r.findEndTag(d,e,s),e=e.substring(0,s-l)+e.substring(a),t.lastIndex=s-l;return i(e)}function s(e){l.typing=!1,l.add({},e)}var l=this,c=0,u=[],d,f,p=0;return n.on("init",function(){l.add()}),n.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&l.beforeChange()}),n.on("ExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&s(e)}),n.on("ObjectResizeStart",function(){l.beforeChange()}),n.on("SaveContent ObjectResized blur",s),n.on("DragEnd",s),n.on("KeyUp",function(e){var r=e.keyCode;(r>=33&&36>=r||r>=37&&40>=r||45==r||13==r||e.ctrlKey)&&(s(),n.nodeChanged()),(46==r||8==r||t.mac&&(91==r||93==r))&&n.nodeChanged(),f&&l.typing&&(n.isDirty()||(n.isNotDirty=!u[0]||a()==u[0].content,n.isNotDirty||n.fire("change",{level:u[0],lastLevel:null})),n.fire("TypingUndo"),f=!1,n.nodeChanged())}),n.on("KeyDown",function(t){var n=t.keyCode;if(n>=33&&36>=n||n>=37&&40>=n||45==n)return void(l.typing&&s(t));var r=e.modifierPressed(t);!(16>n||n>20)||224==n||91==n||l.typing||r||(l.beforeChange(),l.typing=!0,l.add({},t),f=!0)}),n.on("MouseDown",function(e){l.typing&&s(e)}),n.addShortcut("meta+z","","Undo"),n.addShortcut("meta+y,meta+shift+z","","Redo"),n.on("AddUndo Undo Redo ClearUndos",function(e){e.isDefaultPrevented()||n.nodeChanged()}),l={data:u,typing:!1,beforeChange:function(){p||(d=n.selection.getBookmark(2,!0))},add:function(e,t){var r,i=n.settings,o;if(e=e||{},e.content=a(),p||n.removed)return null;if(o=u[c],n.fire("BeforeAddUndo",{level:e,lastLevel:o,originalEvent:t}).isDefaultPrevented())return null;if(o&&o.content==e.content)return null;if(u[c]&&(u[c].beforeBookmark=d),i.custom_undo_redo_levels&&u.length>i.custom_undo_redo_levels){for(r=0;r<u.length-1;r++)u[r]=u[r+1];u.length--,c=u.length}e.bookmark=n.selection.getBookmark(2,!0),c<u.length-1&&(u.length=c+1),u.push(e),c=u.length-1;var s={level:e,lastLevel:o,originalEvent:t};return n.fire("AddUndo",s),c>0&&(n.isNotDirty=!1,n.fire("change",s)),e},undo:function(){var e;return l.typing&&(l.add(),l.typing=!1),c>0&&(e=u[--c],0===c&&(n.isNotDirty=!0),n.setContent(e.content,{format:"raw"}),n.selection.moveToBookmark(e.beforeBookmark),n.fire("undo",{level:e})),e},redo:function(){var e;return c<u.length-1&&(e=u[++c],n.setContent(e.content,{format:"raw"}),n.selection.moveToBookmark(e.bookmark),n.fire("redo",{level:e})),e},clear:function(){u=[],c=0,l.typing=!1,n.fire("ClearUndos")},hasUndo:function(){return c>0||l.typing&&u[0]&&a()!=u[0].content},hasRedo:function(){return c<u.length-1&&!this.typing},transact:function(e){l.beforeChange();try{p++,e()}finally{p--}l.add()}}}}),r(F,[h,x,u],function(e,t,n){var r=n.ie&&n.ie<11;return function(i){function o(o){function p(e){return e&&a.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&!/^(fixed|absolute)/i.test(e.style.position)&&"true"!==a.getContentEditable(e)}function h(e){var t;a.isBlock(e)&&(t=s.getRng(),e.appendChild(a.create("span",null,"\xa0")),s.select(e),e.lastChild.outerHTML="",s.setRng(t))}function m(e){var t=e,n=[],r;if(t){for(;t=t.firstChild;){if(a.isBlock(t))return;1!=t.nodeType||d[t.nodeName.toLowerCase()]||n.push(t)}for(r=n.length;r--;)t=n[r],!t.hasChildNodes()||t.firstChild==t.lastChild&&""===t.firstChild.nodeValue?a.remove(t):"A"==t.nodeName&&" "===(t.innerText||t.textContent)&&a.remove(t)}}function g(t){function r(e){for(;e;){if(1==e.nodeType||3==e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}var i,o,l,c=t,u;if(t){if(n.ie&&n.ie<9&&B&&B.firstChild&&B.firstChild==B.lastChild&&"BR"==B.firstChild.tagName&&a.remove(B.firstChild),/^(LI|DT|DD)$/.test(t.nodeName)){var d=r(t.firstChild);d&&/^(UL|OL|DL)$/.test(d.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(l=a.createRng(),n.ie||t.normalize(),t.hasChildNodes()){for(i=new e(t,t);o=i.current();){if(3==o.nodeType){l.setStart(o,0),l.setEnd(o,0);break}if(f[o.nodeName.toLowerCase()]){l.setStartBefore(o),l.setEndBefore(o);break}c=o,o=i.next()}o||(l.setStart(c,0),l.setEnd(c,0))}else"BR"==t.nodeName?t.nextSibling&&a.isBlock(t.nextSibling)?((!D||9>D)&&(u=a.create("br"),t.parentNode.insertBefore(u,t)),l.setStartBefore(t),l.setEndBefore(t)):(l.setStartAfter(t),l.setEndAfter(t)):(l.setStart(t,0),l.setEnd(t,0));s.setRng(l),a.remove(u),s.scrollIntoView(t)}}function v(e){var t=l.forced_root_block;t&&t.toLowerCase()===e.tagName.toLowerCase()&&a.setAttribs(e,l.forced_root_block_attrs)}function y(e){var t=R,n,i,o,s=u.getTextInlineElements();if(e||"TABLE"==O?(n=a.create(e||F),v(n)):n=B.cloneNode(!1),o=n,l.keep_styles!==!1)do if(s[t.nodeName]){if("_mce_caret"==t.id)continue;i=t.cloneNode(!1),a.setAttrib(i,"id",""),n.hasChildNodes()?(i.appendChild(n.firstChild),n.appendChild(i)):(o=i,n.appendChild(i))}while(t=t.parentNode);return r||(o.innerHTML='<br data-mce-bogus="1">'),n}function b(t){var n,r,i;if(3==R.nodeType&&(t?A>0:A<R.nodeValue.length))return!1;if(R.parentNode==B&&z&&!t)return!0;if(t&&1==R.nodeType&&R==B.firstChild)return!0;if("TABLE"===R.nodeName||R.previousSibling&&"TABLE"==R.previousSibling.nodeName)return z&&!t||!z&&t;for(n=new e(R,B),3==R.nodeType&&(t&&0===A?n.prev():t||A!=R.nodeValue.length||n.next());r=n.current();){if(1===r.nodeType){if(!r.getAttribute("data-mce-bogus")&&(i=r.nodeName.toLowerCase(),d[i]&&"br"!==i))return!1}else if(3===r.nodeType&&!/^[ \t\r\n]*$/.test(r.nodeValue))return!1;t?n.prev():n.next()}return!0}function C(e,t){var n,r,o,s,l,c,d=F||"P";if(r=a.getParent(e,a.isBlock),c=i.getBody().nodeName.toLowerCase(),!r||!p(r)){if(r=r||T,!r.hasChildNodes())return n=a.create(d),v(n),r.appendChild(n),k.setStart(n,0),k.setEnd(n,0),n;for(s=e;s.parentNode!=r;)s=s.parentNode;for(;s&&!a.isBlock(s);)o=s,s=s.previousSibling;if(o&&u.isValidChild(c,d.toLowerCase())){for(n=a.create(d),v(n),o.parentNode.insertBefore(n,o),s=o;s&&!a.isBlock(s);)l=s.nextSibling,n.appendChild(s),s=l;k.setStart(e,t),k.setEnd(e,t)}}return e}function x(){function e(e){for(var t=P[e?"firstChild":"lastChild"];t&&1!=t.nodeType;)t=t[e?"nextSibling":"previousSibling"];return t===B}function t(){var e=P.parentNode;return/^(LI|DT|DD)$/.test(e.nodeName)?e:P}var n=P.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(F="LI"),M=F?y(F):a.create("BR"),e(!0)&&e()?"LI"==n?a.insertAfter(M,t()):a.replace(M,P):e(!0)?"LI"==n?(a.insertAfter(M,t()),M.appendChild(a.doc.createTextNode(" ")),M.appendChild(P)):P.parentNode.insertBefore(M,P):e()?(a.insertAfter(M,t()),h(M)):(P=t(),S=k.cloneRange(),S.setStartAfter(B),S.setEndAfter(P),H=S.extractContents(),"LI"==F&&"LI"==H.firstChild.nodeName?(M=H.firstChild,a.insertAfter(H,P)):(a.insertAfter(H,P),a.insertAfter(M,P))),a.remove(B),g(M),c.add()}function w(){i.execCommand("InsertLineBreak",!1,o)}function _(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;while(e)}function E(e){var t=a.getRoot(),n,r;for(n=e;n!==t&&"false"!==a.getContentEditable(n);)"true"===a.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==t?r:t}function N(e){var t;r||(e.normalize(),t=e.lastChild,(!t||/^(left|right)$/gi.test(a.getStyle(t,"float",!0)))&&a.add(e,"br"))}var k,S,T,R,A,B,D,L,M,H,P,O,I,F,z;if(k=s.getRng(!0),!o.isDefaultPrevented()){if(!k.collapsed)return void i.execCommand("Delete");if(new t(a).normalize(k),R=k.startContainer,A=k.startOffset,F=(l.force_p_newlines?"p":"")||l.forced_root_block,F=F?F.toUpperCase():"",D=a.doc.documentMode,L=o.shiftKey,1==R.nodeType&&R.hasChildNodes()&&(z=A>R.childNodes.length-1,R=R.childNodes[Math.min(A,R.childNodes.length-1)]||R,A=z&&3==R.nodeType?R.nodeValue.length:0),T=E(R)){if(c.beforeChange(),!a.isBlock(T)&&T!=a.getRoot())return void((!F||L)&&w());if((F&&!L||!F&&L)&&(R=C(R,A)),B=a.getParent(R,a.isBlock),P=B?a.getParent(B.parentNode,a.isBlock):null,O=B?B.nodeName.toUpperCase():"",I=P?P.nodeName.toUpperCase():"","LI"!=I||o.ctrlKey||(B=P,O=I),/^(LI|DT|DD)$/.test(O)){if(!F&&L)return void w();if(a.isEmpty(B))return void x()}if("PRE"==O&&l.br_in_pre!==!1){if(!L)return void w()}else if(!F&&!L&&"LI"!=O||F&&L)return void w();F&&B===i.getBody()||(F=F||"P",b()?(M=/^(H[1-6]|PRE|FIGURE)$/.test(O)&&"HGROUP"!=I?y(F):y(),l.end_container_on_empty_block&&p(P)&&a.isEmpty(B)?M=a.split(P,B):a.insertAfter(M,B),g(M)):b(!0)?(M=B.parentNode.insertBefore(y(),B),h(M),g(B)):(S=k.cloneRange(),S.setEndAfter(B),H=S.extractContents(),_(H),M=H.firstChild,a.insertAfter(H,B),m(M),N(B),g(M)),a.setAttrib(M,"id",""),i.fire("NewBlock",{newBlock:M}),c.add())}}}var a=i.dom,s=i.selection,l=i.settings,c=i.undoManager,u=i.schema,d=u.getNonEmptyElements(),f=u.getMoveCaretBeforeOnEnterElements();i.on("keydown",function(e){13==e.keyCode&&o(e)!==!1&&e.preventDefault()})}}),r(z,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,c,u,d,f,p,h,m=-16777215,g,v,y,b,C;if(C=n.forced_root_block,t&&1===t.nodeType&&C){for(;t&&t!=s;){if(a[t.nodeName])return;t=t.parentNode}if(l=i.getRng(),l.setStart){c=l.startContainer,u=l.startOffset,d=l.endContainer,f=l.endOffset;try{v=e.getDoc().activeElement===s}catch(x){}}else l.item&&(t=l.item(0),l=e.getDoc().body.createTextRange(),l.moveToElementText(t)),v=l.parentElement().ownerDocument===e.getDoc(),y=l.duplicate(),y.collapse(!0),u=-1*y.move("character",m),y.collapsed||(y=l.duplicate(),y.collapse(!1),f=-1*y.move("character",m)-u);for(t=s.firstChild,b=s.nodeName.toLowerCase();t;)if((3===t.nodeType||1==t.nodeType&&!a[t.nodeName])&&o.isValidChild(b,C.toLowerCase())){if(3===t.nodeType&&0===t.nodeValue.length){h=t,t=t.nextSibling,r.remove(h);continue}p||(p=r.create(C,e.settings.forced_root_block_attrs),t.parentNode.insertBefore(p,t),g=!0),h=t,t=t.nextSibling,p.appendChild(h)}else p=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(c,u),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart("character",u),f>0&&l.moveEnd("character",f),l.select()}catch(x){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on("NodeChange",t)}}),r(W,[T,u,d,H,x,h],function(e,n,r,i,o,a){var s=r.each,l=r.extend,c=r.map,u=r.inArray,d=r.explode,f=n.gecko,p=n.ie,h=n.ie&&n.ie<11,m=!0,g=!1;return function(r){function v(e,t,n,i){var o,a,c=0;if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||i&&i.skip_focus||r.focus(),i=l({},i),i=r.fire("BeforeExecCommand",{command:e,ui:t,value:n}),i.isDefaultPrevented())return!1;if(a=e.toLowerCase(),o=M.exec[a])return o(a,t,n),
-r.fire("ExecCommand",{command:e,ui:t,value:n}),!0;if(s(r.plugins,function(i){return i.execCommand&&i.execCommand(e,t,n)?(r.fire("ExecCommand",{command:e,ui:t,value:n}),c=!0,!1):void 0}),c)return c;if(r.theme&&r.theme.execCommand&&r.theme.execCommand(e,t,n))return r.fire("ExecCommand",{command:e,ui:t,value:n}),!0;try{c=r.getDoc().execCommand(e,t,n)}catch(u){}return c?(r.fire("ExecCommand",{command:e,ui:t,value:n}),!0):!1}function y(e){var t;if(!r._isHidden()){if(e=e.toLowerCase(),t=M.state[e])return t(e);try{return r.getDoc().queryCommandState(e)}catch(n){}return!1}}function b(e){var t;if(!r._isHidden()){if(e=e.toLowerCase(),t=M.value[e])return t(e);try{return r.getDoc().queryCommandValue(e)}catch(n){}}}function C(e,t){t=t||"exec",s(e,function(e,n){s(n.toLowerCase().split(","),function(n){M[t][n]=e})})}function x(e,t,n){e=e.toLowerCase(),M.exec[e]=function(e,i,o,a){return t.call(n||r,i,o,a)}}function w(e){if(e=e.toLowerCase(),M.exec[e])return!0;try{return r.getDoc().queryCommandSupported(e)}catch(t){}return!1}function _(e,t,n){e=e.toLowerCase(),M.state[e]=function(){return t.call(n||r)}}function E(e,t,n){e=e.toLowerCase(),M.value[e]=function(){return t.call(n||r)}}function N(e){return e=e.toLowerCase(),!!M.exec[e]}function k(e,n,i){return n===t&&(n=g),i===t&&(i=null),r.getDoc().execCommand(e,n,i)}function S(e){return L.match(e)}function T(e,n){L.toggle(e,n?{value:n}:t),r.nodeChanged()}function R(e){P=D.getBookmark(e)}function A(){D.moveToBookmark(P)}var B,D,L,M={state:{},exec:{},value:{}},H=r.settings,P;r.on("PreInit",function(){B=r.dom,D=r.selection,H=r.settings,L=r.formatter}),l(this,{execCommand:v,queryCommandState:y,queryCommandValue:b,queryCommandSupported:w,addCommands:C,addCommand:x,addQueryStateHandler:_,addQueryValueHandler:E,hasCustomCommand:N}),C({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){r.undoManager.add()},"Cut,Copy,Paste":function(e){var t=r.getDoc(),i;try{k(e)}catch(o){i=m}if(i||!t.queryCommandSupported(e)){var a=r.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");n.mac&&(a=a.replace(/Ctrl\+/g,"\u2318+")),r.windowManager.alert(a)}},unlink:function(){if(D.isCollapsed()){var e=D.getNode();return void("A"==e.tagName&&r.dom.remove(e,!0))}L.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t=e.substring(7);"full"==t&&(t="justify"),s("left,center,right,justify".split(","),function(e){t!=e&&L.remove("align"+e)}),T("align"+t),v("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;k(e),t=B.getParent(D.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(R(),B.split(n,t),A()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){T(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){T(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&7>=n&&(i=d(H.font_size_style_values),r=d(H.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),T(e,n)},RemoveFormat:function(e){L.remove(e)},mceBlockQuote:function(){T("blockquote")},FormatBlock:function(e,t,n){return T(n||"p")},mceCleanup:function(){var e=D.getBookmark();r.setContent(r.getContent({cleanup:m}),{cleanup:m}),D.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var i=n||D.getNode();i!=r.getBody()&&(R(),r.dom.remove(i,m),A())},mceSelectNodeDepth:function(e,t,n){var i=0;B.getParent(D.getNode(),function(e){return 1==e.nodeType&&i++==n?(D.select(e),g):void 0},r.getBody())},mceSelectNode:function(e,t,n){D.select(n)},mceInsertContent:function(t,n,o){function a(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=D.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/," "):t("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/," "):t("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}function l(){var e,t,n;e=D.getRng(!0),t=e.startContainer,n=e.startOffset,3==t.nodeType&&e.collapsed&&("\xa0"===t.data[n]?(t.deleteData(n,1),/[\u00a0| ]$/.test(o)||(o+=" ")):"\xa0"===t.data[n-1]&&(t.deleteData(n-1,1),/[\u00a0| ]$/.test(o)||(o=" "+o)))}function c(e){if(_)for(C=e.firstChild;C;C=C.walk(!0))E[C.name]&&C.attr("data-mce-new","true")}function u(){if(_){var e=r.getBody(),t=new i(B);s(B.select("*[data-mce-new]"),function(n){n.removeAttribute("data-mce-new");for(var r=n.parentNode;r&&r!=e;r=r.parentNode)t.compare(r,n)&&B.remove(n,!0)})}}var d,f,h,m,g,v,y,b,C,x,w,_,E=r.schema.getTextInlineElements();"string"!=typeof o&&(_=o.merge,o=o.content),/^ | $/.test(o)&&(o=a(o)),d=r.parser,f=new e({},r.schema),w='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',v={content:o,format:"html",selection:!0},r.fire("BeforeSetContent",v),o=v.content,-1==o.indexOf("{$caret}")&&(o+="{$caret}"),o=o.replace(/\{\$caret\}/,w),b=D.getRng();var N=b.startContainer||(b.parentElement?b.parentElement():null),k=r.getBody();N===k&&D.isCollapsed()&&B.isBlock(k.firstChild)&&B.isEmpty(k.firstChild)&&(b=B.createRng(),b.setStart(k.firstChild,0),b.setEnd(k.firstChild,0),D.setRng(b)),D.isCollapsed()||(r.getDoc().execCommand("Delete",!1,null),l()),h=D.getNode();var S={context:h.nodeName.toLowerCase()};if(g=d.parse(o,S),c(g),C=g.lastChild,"mce_marker"==C.attr("id"))for(y=C,C=C.prev;C;C=C.walk(!0))if(3==C.type||!B.isBlock(C.name)){r.schema.isValidChild(C.parent.name,"span")&&C.parent.insert(y,C,"br"===C.name);break}if(S.invalid){for(D.setContent(w),h=D.getNode(),m=r.getBody(),9==h.nodeType?h=C=m:C=h;C!==m;)h=C,C=C.parentNode;o=h==m?m.innerHTML:B.getOuterHTML(h),o=f.serialize(d.parse(o.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return f.serialize(g)}))),h==m?B.setHTML(m,o):B.setOuterHTML(h,o)}else o=f.serialize(g),C=h.firstChild,x=h.lastChild,!C||C===x&&"BR"===C.nodeName?B.setHTML(h,o):D.setContent(o);u(),y=B.get("mce_marker"),D.scrollIntoView(y),b=B.createRng(),C=y.previousSibling,C&&3==C.nodeType?(b.setStart(C,C.nodeValue.length),p||(x=y.nextSibling,x&&3==x.nodeType&&(C.appendData(x.data),x.parentNode.removeChild(x)))):(b.setStartBefore(y),b.setEndBefore(y)),B.remove(y),D.setRng(b),r.fire("SetContent",v),r.addVisual()},mceInsertRawHTML:function(e,t,n){D.setContent("tiny_mce_marker"),r.setContent(r.getContent().replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){T(n)},mceSetContent:function(e,t,n){r.setContent(n)},"Indent,Outdent":function(e){var t,n,i;t=H.indentation,n=/[a-z%]+$/i.exec(t),t=parseInt(t,10),y("InsertUnorderedList")||y("InsertOrderedList")?k(e):(H.forced_root_block||B.getParent(D.getNode(),B.isBlock)||L.apply("div"),s(D.getSelectedBlocks(),function(o){if("LI"!=o.nodeName){var a=r.getParam("indent_use_margin",!1)?"margin":"padding";a+="rtl"==B.getStyle(o,"direction",!0)?"Right":"Left","outdent"==e?(i=Math.max(0,parseInt(o.style[a]||0,10)-t),B.setStyle(o,a,i?i+n:"")):(i=parseInt(o.style[a]||0,10)+t+n,B.setStyle(o,a,i))}}))},mceRepaint:function(){if(f)try{R(m),D.getSel()&&D.getSel().selectAllChildren(r.getBody()),D.collapse(m),A()}catch(e){}},InsertHorizontalRule:function(){r.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){r.hasVisual=!r.hasVisual,r.addVisual()},mceReplaceContent:function(e,t,n){r.execCommand("mceInsertContent",!1,n.replace(/\{\$selection\}/g,D.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=B.getParent(D.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||L.remove("link"),n.href&&L.apply("link",n,r)},selectAll:function(){var e=B.getRoot(),t;D.getRng().setStart?(t=B.createRng(),t.setStart(e,0),t.setEnd(e,e.childNodes.length),D.setRng(t)):(t=D.getRng(),t.item||(t.moveToElementText(e),t.select()))},"delete":function(){k("Delete");var e=r.getBody();B.isEmpty(e)&&(r.setContent(""),e.firstChild&&B.isBlock(e.firstChild)?r.selection.setCursorLocation(e.firstChild,0):r.selection.setCursorLocation(e,0))},mceNewDocument:function(){r.setContent("")},InsertLineBreak:function(e,t,n){function i(){for(var e=new a(p,v),t,n=r.schema.getNonEmptyElements();t=e.next();)if(n[t.nodeName.toLowerCase()]||t.length>0)return!0}var s=n,l,c,u,d=D.getRng(!0);new o(B).normalize(d);var f=d.startOffset,p=d.startContainer;if(1==p.nodeType&&p.hasChildNodes()){var g=f>p.childNodes.length-1;p=p.childNodes[Math.min(f,p.childNodes.length-1)]||p,f=g&&3==p.nodeType?p.nodeValue.length:0}var v=B.getParent(p,B.isBlock),y=v?v.nodeName.toUpperCase():"",b=v?B.getParent(v.parentNode,B.isBlock):null,C=b?b.nodeName.toUpperCase():"",x=s&&s.ctrlKey;"LI"!=C||x||(v=b,y=C),p&&3==p.nodeType&&f>=p.nodeValue.length&&(h||i()||(l=B.create("br"),d.insertNode(l),d.setStartAfter(l),d.setEndAfter(l),c=!0)),l=B.create("br"),d.insertNode(l);var w=B.doc.documentMode;return h&&"PRE"==y&&(!w||8>w)&&l.parentNode.insertBefore(B.doc.createTextNode("\r"),l),u=B.create("span",{},"&nbsp;"),l.parentNode.insertBefore(u,l),D.scrollIntoView(u),B.remove(u),c?(d.setStartBefore(l),d.setEndBefore(l)):(d.setStartAfter(l),d.setEndAfter(l)),D.setRng(d),r.undoManager.add(),m}}),C({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=D.isCollapsed()?[B.getParent(D.getNode(),B.isBlock)]:D.getSelectedBlocks(),r=c(n,function(e){return!!L.matchNode(e,t)});return-1!==u(r,m)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return S(e)},mceBlockQuote:function(){return S("blockquote")},Outdent:function(){var e;if(H.inline_styles){if((e=B.getParent(D.getStart(),B.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m;if((e=B.getParent(D.getEnd(),B.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m}return y("InsertUnorderedList")||y("InsertOrderedList")||!H.inline_styles&&!!B.getParent(D.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=B.getParent(D.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),C({"FontSize,FontName":function(e){var t=0,n;return(n=B.getParent(D.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),C({Undo:function(){r.undoManager.undo()},Redo:function(){r.undoManager.redo()}})}}),r(V,[d],function(e){function t(e,o){var a=this,s,l;if(e=r(e),o=a.settings=o||{},s=o.base_uri,/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(a.source=e);var c=0===e.indexOf("//");0!==e.indexOf("/")||c||(e=(s?s.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(l=o.base_uri?o.base_uri.path:new t(location.href).directory,""===o.base_uri.protocol?e="//mce_host"+a.toAbsPath(l,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(s&&s.protocol||"http")+"://mce_host"+a.toAbsPath(l,e[1])+e[2])),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(i,function(t,n){var r=e[n];r&&(r=r.replace(/\(mce_at\)/g,"@@")),a[t]=r}),s&&(a.protocol||(a.protocol=s.protocol),a.userInfo||(a.userInfo=s.userInfo),a.port||"mce_host"!==a.host||(a.port=s.port),a.host&&"mce_host"!==a.host||(a.host=s.host),a.source=""),c&&(a.protocol="")}var n=e.each,r=e.trim,i="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),o={ftp:21,http:80,https:443,mailto:25};return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\/?(\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source="",t.getURI()},toRelative:function(e){var n=this,r;if("./"===e)return e;if(e=new t(e,{base_uri:n}),"mce_host"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&""!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||"/"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+="?"+e.query),e.anchor&&(r+="#"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(n&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=o[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r=0,i="",o,a;if(e=e.substring(0,e.lastIndexOf("/")),e=e.split("/"),n=t.split("/"),e.length>=n.length)for(o=0,a=e.length;a>o;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;a>o;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);a>o;o++)i+="../";for(o=r-1,a=n.length;a>o;o++)i+=o!=r-1?"/"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&"."!==t[r]&&(".."!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=0>=r?o.reverse().join("/"):e.slice(0,r).join("/")+"/"+o.reverse().join("/"),0!==s.indexOf("/")&&(s="/"+s),a&&s.lastIndexOf("/")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return(!n.source||e)&&(t="",e||(t+=n.protocol?n.protocol+"://":"//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},t}),r(U,[d],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=c[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,c=l.prototype,u,d,f;o=!0,u=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){t=t;for(var n in t)"init"!==n&&(e[n]=t[n])}),c.Mixins&&(e.Mixins=c.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&c.Defaults&&(e.Defaults=r({},c.Defaults,e.Defaults));for(d in e)f=e[d],"function"==typeof f&&c[d]?u[d]=s(d,f):u[d]=f;return t.prototype=u,t.constructor=t,t.extend=i,t},t}),r($,[d],function(e){function t(t){function n(){return!1}function r(){return!0}function i(e,i){var o,s,l,c;if(e=e.toLowerCase(),i=i||{},i.type=e,i.target||(i.target=u),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=r},i.stopPropagation=function(){i.isPropagationStopped=r},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=r},i.isDefaultPrevented=n,i.isPropagationStopped=n,i.isImmediatePropagationStopped=n),t.beforeFire&&t.beforeFire(i),o=d[e])for(s=0,l=o.length;l>s;s++){if(c=o[s],c.once&&a(e,c.func),i.isImmediatePropagationStopped())return i.stopPropagation(),i;if(c.func.call(u,i)===!1)return i.preventDefault(),i}return i}function o(t,r,i,o){var a,s,l;if(r===!1&&(r=n),r)for(r={func:r},o&&e.extend(r,o),s=t.toLowerCase().split(" "),l=s.length;l--;)t=s[l],a=d[t],a||(a=d[t]=[],f(t,!0)),i?a.unshift(r):a.push(r);return c}function a(e,t){var n,r,i,o,a;if(e)for(o=e.toLowerCase().split(" "),n=o.length;n--;){if(e=o[n],r=d[e],!e){for(i in d)f(i,!1),delete d[i];return c}if(r){if(t)for(a=r.length;a--;)r[a].func===t&&(r=r.slice(0,a).concat(r.slice(a+1)),d[e]=r);else r.length=0;r.length||(f(e,!1),delete d[e])}}else{for(e in d)f(e,!1);d={}}return c}function s(e,t,n){return o(e,t,n,{once:!0})}function l(e){return e=e.toLowerCase(),!(!d[e]||0===d[e].length)}var c=this,u,d={},f;t=t||{},u=t.scope||c,f=t.toggleEvent||n,c.fire=i,c.on=o,c.off=a,c.once=s,c.has=l}var n=e.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchend"," ");return t.isNative=function(e){return!!n[e.toLowerCase()]},t}),r(q,[U],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i=/^\s*|\s*$/g,o,a=e.extend({init:function(e){function t(e){return e?(e=e.toLowerCase(),function(t){return"*"===e||t.type===e}):void 0}function o(e){return e?function(t){return t._name===e}:void 0}function a(e){return e?(e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.hasClass(e[n]))return!1;return!0}):void 0}function s(e,t,n){return e?function(r){var i=r[e]?r[e]():"";return t?"="===t?i===n:"*="===t?i.indexOf(n)>=0:"~="===t?(" "+i+" ").indexOf(" "+n+" ")>=0:"!="===t?i!=n:"^="===t?0===i.indexOf(n):"$="===t?i.substr(i.length-n.length)===n:!1:!!n}:void 0}function l(e){var t;return e?(e=/(?:not\((.+)\))|(.+)/i.exec(e),e[1]?(t=u(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return"first"===e?0===n:"last"===e?n===r-1:"even"===e?n%2===0:"odd"===e?n%2===1:t[e]?t[e]():!1})):void 0}function c(e,r,c){function u(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,"")),u(t(d[1])),u(o(d[2])),u(a(d[3])),u(s(d[4],d[5],d[6])),u(l(d[7])),r.psuedo=!!d[7],r.direct=c,r}function u(e,t){var n=[],i,o,a;do if(r.exec(""),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&u(i,t),e=[],a=0;a<n.length;a++)">"!=n[a]&&e.push(c(n[a],[],">"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=u(e,[])},match:function(e,t){var n,r,i,o,a,s,l,c,u,d,f,p,h;for(t=t||this._selectors,n=0,r=t.length;r>n;n++){for(a=t[n],o=a.length,h=e,p=0,i=o-1;i>=0;i--)for(c=a[i];h;){if(c.psuedo)for(f=h.parent().items(),u=d=f.length;u--&&f[u]!==h;);for(s=0,l=c.length;l>s;s++)if(!c[s](h,u,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;h=h.parent()}if(p===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,c,u=t[i];for(o=0,a=e.length;a>o;o++){for(c=e[o],s=0,l=u.length;l>s;s++)if(!u[s](c,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(c):c.items&&n(c.items(),t,i+1);else if(u.direct)return;c.items&&n(c.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;s>i;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(j,[d,q,U],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;n>r;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for("string"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;o>i;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return this[0]?this[0].hasClass(e):!1},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this}},e.each("fire on off show hide addClass removeClass append prepend before after reflow".split(" "),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each("text name disabled active selected checked visible parent value data".split(" "),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(Y,[d,y],function(e,t){var n=0;return{id:function(){return"mceu_"+n++},createFragment:function(e){return t.DOM.createFragment(e)},getWindowSize:function(){return t.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,n){return t.DOM.getPos(e,n)},getViewPort:function(e){return t.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,n){return t.DOM.addClass(e,n)},removeClass:function(e,n){return t.DOM.removeClass(e,n)},hasClass:function(e,n){return t.DOM.hasClass(e,n)},toggleClass:function(e,n,r){return t.DOM.toggleClass(e,n,r)},css:function(e,n,r){return t.DOM.setStyle(e,n,r)},getRuntimeStyle:function(e,n){return t.DOM.getStyle(e,n,!0)},on:function(e,n,r,i){return t.DOM.bind(e,n,r,i)},off:function(e,n,r){return t.DOM.unbind(e,n,r)},fire:function(e,n,r){return t.DOM.fire(e,n,r)},innerHtml:function(e,n){t.DOM.setHTML(e,n)}}}),r(K,[U,d,$,j,Y],function(e,t,n,r,i){function o(e){return e._eventDispatcher||(e._eventDispatcher=new n({scope:e,toggleEvent:function(t,r){r&&n.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e._rendered&&e.bindPendingEvents())}})),e._eventDispatcher}var a="onmousewheel"in document,s=!1,l="mce-",c=e.extend({Statics:{classPrefix:l},isRtl:function(){return c.rtl},classPrefix:l,init:function(e){var n=this,r,o;if(n.settings=e=t.extend({},n.Defaults,e),n._id=e.id||i.id(),n._text=n._name="",n._width=n._height=0,n._aria={role:e.role},this._elmCache={},r=e.classes)for(r=r.split(" "),r.map={},o=r.length;o--;)r.map[r[o]]=!0;n._classes=r||[],n.visible(!0),t.each("title text width height name classes visible disabled active value".split(" "),function(t){var r=e[t],i;r!==i?n[t](r):n["_"+t]===i&&(n["_"+t]=!1)}),n.on("click",function(){return n.disabled()?!1:void 0}),e.classes&&t.each(e.classes.split(" "),function(e){n.addClass(e)}),n.settings=e,n._borderBox=n.parseBox(e.border),n._paddingBox=n.parseBox(e.padding),n._marginBox=n.parseBox(e.margin),e.hidden&&n.hide()},Properties:"parent,title,text,width,height,disabled,active,name,value",Methods:"renderHtml",getContainerElm:function(){return document.body},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},parseBox:function(e){var t,n=10;if(e)return"number"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(" "),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},borderBox:function(){return this._borderBox},paddingBox:function(){return this._paddingBox},marginBox:function(){return this._marginBox},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+"TopWidth"),right:r(t+"RightWidth"),bottom:r(t+"BottomWidth"),left:r(t+"LeftWidth")}},initLayoutRect:function(){var e=this,t=e.settings,n,r,o=e.getEl(),a,s,l,c,u,d,f,p;n=e._borderBox=e._borderBox||e.measureBox(o,"border"),e._paddingBox=e._paddingBox||e.measureBox(o,"padding"),e._marginBox=e._marginBox||e.measureBox(o,"margin"),p=i.getSize(o),d=t.minWidth,f=t.minHeight,l=d||p.width,c=f||p.height,a=t.width,s=t.height,u=t.autoResize,u="undefined"!=typeof u?u:!a&&!s,a=a||l,s=s||c;var h=n.left+n.right,m=n.top+n.bottom,g=t.maxWidth||65535,v=t.maxHeight||65535;return e._layoutRect=r={x:t.x||0,y:t.y||0,w:a,h:s,deltaW:h,deltaH:m,contentW:a-h,contentH:s-m,innerW:a-h,innerH:s-m,startMinWidth:d||0,startMinHeight:f||0,minW:Math.min(l,g),minH:Math.min(c,v),maxW:g,maxH:v,autoResize:u,scrollW:0},e._lastLayoutRect={},r},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,(r.x!==n.x||r.y!==n.y||r.w!==n.w||r.h!==n.h)&&(l=c.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o=0,a=0,s,l;l=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,r=e._layoutRect,s=e._lastRepaintRect||{},i=e._borderBox,o=i.left+i.right,a=i.top+i.bottom,r.x!==s.x&&(t.left=l(r.x)+"px",s.x=r.x),r.y!==s.y&&(t.top=l(r.y)+"px",s.y=r.y),r.w!==s.w&&(t.width=l(r.w-o)+"px",s.w=r.w),r.h!==s.h&&(t.height=l(r.h-a)+"px",s.h=r.h),e._hasBody&&r.innerW!==s.innerW&&(n=e.getEl("body").style,n.width=l(r.innerW)+"px",s.innerW=r.innerW),e._hasBody&&r.innerH!==s.innerH&&(n=n||e.getEl("body").style,n.height=l(r.innerH)+"px",s.innerH=r.innerH),e._lastRepaintRect=s,e.fire("repaint",{},!1)},on:function(e,t){function n(e){var t,n;return"string"!=typeof e?e:function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;return i&&(t=i[e])?(n=r,!1):void 0}),t.call(n,i)}}var r=this;return o(r).on(e,n(t)),r},off:function(e,t){return o(this).off(e,t),this},fire:function(e,t,n){var r=this;if(t=t||{},t.control||(t.control=r),t=o(r).fire(e,t),n!==!1&&r.parent)for(var i=r.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return o(this).has(e)},parents:function(e){var t=this,n,i=new r;for(n=t.parent();n;n=n.parent())i.add(n);return e&&(i=i.filter(e)),i},parentsAndSelf:function(e){return new r(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},findCommonAncestor:function(e,t){for(var n;e;){for(n=t;n&&e!=n;)n=n.parent();if(e==n)break;e=e.parent()}return e},hasClass:function(e,t){var n=this._classes[t||"control"];return e=this.classPrefix+e,n&&!!n.map[e]},addClass:function(e,t){var n=this,r,i;return e=this.classPrefix+e,r=n._classes[t||"control"],r||(r=[],r.map={},n._classes[t||"control"]=r),r.map[e]||(r.map[e]=e,r.push(e),n._rendered&&(i=n.getEl(t),i&&(i.className=r.join(" ")))),n},removeClass:function(e,t){var n=this,r,i,o;if(e=this.classPrefix+e,r=n._classes[t||"control"],r&&r.map[e])for(delete r.map[e],i=r.length;i--;)r[i]===e&&r.splice(i,1);return n._rendered&&(o=n.getEl(t),o&&(o.className=r.join(" "))),n},toggleClass:function(e,t,n){var r=this;return t?r.addClass(e,n):r.removeClass(e,n),r},classes:function(e){var t=this._classes[e||"control"];return t?t.join(" "):""},innerHtml:function(e){return i.innerHtml(this.getEl(),e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=i.get(t)),this._elmCache[t]},visible:function(e){var t=this,n;return"undefined"!=typeof e?(t._visible!==e&&(t._rendered&&(t.getEl().style.display=e?"":"none"),t._visible=e,n=t.parent(),n&&(n._lastRect=null),t.fire(e?"show":"hide")),t):t._visible},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return"undefined"==typeof t?n._aria[e]:(n._aria[e]=t,n._rendered&&r.setAttribute("role"==e?e:"aria-"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return c.translate?c.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),r,o;if(e.items){var a=e.items().toArray();for(o=a.length;o--;)a[o].remove()}n&&n.items&&(r=[],n.items().each(function(t){t!==e&&r.push(t)}),n.items().set(r),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&i.off(t);var s=e.getRoot().controlIdLookup;return s&&delete s[e._id],t&&t.parentNode&&t.parentNode.removeChild(t),e._rendered=!1,e},renderBefore:function(e){var t=this;return e.parentNode.insertBefore(i.createFragment(t.renderHtml()),e),t.postRender(),t},renderTo:function(e){var t=this;return e=e||t.getContainerElm(),e.appendChild(i.createFragment(t.renderHtml())),t.postRender(),t},postRender:function(){var e=this,t=e.settings,n,r,o,a,s;for(a in t)0===a.indexOf("on")&&e.on(a.substr(2),t[a]);if(e._eventsRoot){for(o=e.parent();!s&&o;o=o.parent())s=o._eventsRoot;if(s)for(a in s._nativeEvents)e._nativeEvents[a]=!0}e.bindPendingEvents(),t.style&&(n=e.getEl(),n&&(n.setAttribute("style",t.style),n.style.cssText=t.style)),e._visible||i.css(e.getEl(),"display","none"),e.settings.border&&(r=e.borderBox(),i.css(e.getEl(),{"border-top-width":r.top,"border-right-width":r.right,"border-bottom-width":r.bottom,"border-left-width":r.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var c in e._aria)e.aria(c,e._aria[c]);e.fire("postrender",{},!1)},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,c,u=t(n,r);return i=u.x,o=u.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,c=r.clientHeight,"end"==e?(i-=l-a,o-=c-s):"center"==e&&(i-=l/2-a/2,o-=c/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},bindPendingEvents:function(){function e(e){var t=o.getParentCtrl(e.target);t&&t.fire(e.type,e)}function t(){var e=d._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),d._lastHoverCtrl=null)}function n(e){var t=o.getParentCtrl(e.target),n=d._lastHoverCtrl,r=0,i,a,s;if(t!==n){if(d._lastHoverCtrl=t,a=t.parents().toArray().reverse(),a.push(t),n){for(s=n.parents().toArray().reverse(),s.push(n),r=0;r<s.length&&a[r]===s[r];r++);for(i=s.length-1;i>=r;i--)n=s[i],n.fire("mouseleave",{target:n.getEl()})}for(i=r;i<a.length;i++)t=a[i],t.fire("mouseenter",{target:t.getEl()})}}function r(e){e.preventDefault(),"mousewheel"==e.type?(e.deltaY=-1/40*e.wheelDelta,e.wheelDeltaX&&(e.deltaX=-1/40*e.wheelDeltaX)):(e.deltaX=0,e.deltaY=e.detail),e=o.fire("wheel",e)}var o=this,l,c,u,d,f,p;if(o._rendered=!0,f=o._nativeEvents){for(u=o.parents().toArray(),u.unshift(o),l=0,c=u.length;!d&&c>l;l++)d=u[l]._eventsRoot;for(d||(d=u[u.length-1]||o),o._eventsRoot=d,c=l,l=0;c>l;l++)u[l]._eventsRoot=d;var h=d._delegates;h||(h=d._delegates={});for(p in f){if(!f)return!1;"wheel"!==p||s?("mouseenter"===p||"mouseleave"===p?d._hasMouseEnter||(i.on(d.getEl(),"mouseleave",t),i.on(d.getEl(),"mouseover",n),d._hasMouseEnter=1):h[p]||(i.on(d.getEl(),p,e),h[p]=!0),f[p]=!1):a?i.on(o.getEl(),"mousewheel",r):i.on(o.getEl(),"DOMMouseScroll",r)}}},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){return this.repaint(),this}});return c}),r(G,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];
-t=!0}if("string"==typeof n?(r=r||{},r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error("Could not find control by type: "+n);return i=new i(r),i.type=n,i}}}),r(X,[],function(){return function(e){function t(e){return e=e||b,e&&e.getAttribute("role")}function n(e){for(var n,r=e||b;r=r.parentNode;)if(n=t(r))return n}function r(e){var t=b;return t?t.getAttribute("aria-"+e):void 0}function i(e){var t=e.tagName.toUpperCase();return"INPUT"==t||"TEXTAREA"==t}function o(e){return i(e)&&!e.hidden?!0:/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell)$/.test(t(e))?!0:!1}function a(e){function t(e){if(1==e.nodeType&&"none"!=e.style.display){o(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||y.getEl()),n}function s(e){var t,n;e=e||C,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function l(e){var t=s(e),n=a(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?c(t.lastAriaIndex,n):c(0,n)}function c(e,t){return 0>e?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function u(e,t){var n=-1,r=s();t=t||a(r.getEl());for(var i=0;i<t.length;i++)t[i]===b&&(n=i);n+=e,r.lastAriaIndex=c(n,t)}function d(){var e=n();"tablist"==e?u(-1,a(b.parentNode)):C.parent().submenu?g():u(-1)}function f(){var e=t(),i=n();"tablist"==i?u(1,a(b.parentNode)):"menuitem"==e&&"menu"==i&&r("haspopup")?v():u(1)}function p(){u(-1)}function h(){var e=t(),i=n();"menuitem"==e&&"menubar"==i?v():"button"==e&&r("haspopup")?v({key:"down"}):u(1)}function m(e){var t=n();if("tablist"==t){var r=a(C.getEl("body"))[0];r&&r.focus()}else u(e.shiftKey?-1:1)}function g(){C.fire("cancel")}function v(e){e=e||{},C.fire("click",{target:b,aria:e})}var y=e.root,b,C;try{b=document.activeElement}catch(x){b=document.body}return C=y.getParentCtrl(b),y.on("keydown",function(e){function t(e,t){i(b)||t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,d);break;case 39:t(e,f);break;case 38:t(e,p);break;case 40:t(e,h);break;case 27:g();break;case 14:case 13:case 32:t(e,v);break;case 9:m(e)!==!1&&e.preventDefault()}}),y.on("focusin",function(e){b=e.target,C=e.control}),{focusFirst:l}}}),r(J,[K,j,q,G,X,d,Y],function(e,t,n,r,i,o,a){var s={};return e.extend({layout:"",innerClass:"container-inner",init:function(e){var n=this;n._super(e),e=n.settings,n._fixed=e.fixed,n._items=new t,n.isRtl()&&n.addClass("rtl"),n.addClass("container"),n.addClass("container-body","body"),e.containerCls&&n.addClass(e.containerCls),n._layout=r.create((e.layout||n.layout)+"layout"),n.settings.items&&n.add(n.settings.items),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=s[e]=s[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find("*"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||("string"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r,i;t.parent(e),t._rendered||(r=e.getEl("body"),i=a.createFragment(t.renderHtml()),r.hasChildNodes()&&n<=r.childNodes.length-1?r.insertBefore(i,r.childNodes[n]):r.appendChild(i),t.postRender())}),e._layout.applyClasses(e),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find("#"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find("*").each(function(e){var n=e.name(),r=e.value();n&&"undefined"!=typeof r&&(t[n]=r)}),t},preRender:function(){},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e._rendered=!0,e.settings.style&&a.css(e.getEl(),e.settings.style),e.settings.border&&(t=e.borderBox(),a.css(e.getEl(),{"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;return n&&n.w==t.w&&n.h==t.h?void 0:(e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0)},reflow:function(){var t;if(this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(Q,[Y],function(e){function t(){var e=document,t,n,r,i,o,a,s,l,c=Math.max;return t=e.documentElement,n=e.body,r=c(t.scrollWidth,n.scrollWidth),i=c(t.clientWidth,n.clientWidth),o=c(t.offsetWidth,n.offsetWidth),a=c(t.scrollHeight,n.scrollHeight),s=c(t.clientHeight,n.clientHeight),l=c(t.offsetHeight,n.offsetHeight),{width:o>r?i:r,height:l>a?s:a}}return function(n,r){function i(){return a.getElementById(r.handle||n)}var o,a=document,s,l,c,u,d,f;r=r||{},l=function(n){var l=t(),p,h;n.preventDefault(),s=n.button,p=i(),d=n.screenX,f=n.screenY,h=window.getComputedStyle?window.getComputedStyle(p,null).getPropertyValue("cursor"):p.runtimeStyle.cursor,o=a.createElement("div"),e.css(o,{position:"absolute",top:0,left:0,width:l.width,height:l.height,zIndex:2147483647,opacity:1e-4,cursor:h}),a.body.appendChild(o),e.on(a,"mousemove",u),e.on(a,"mouseup",c),r.start(n)},u=function(e){return e.button!==s?c(e):(e.deltaX=e.screenX-d,e.deltaY=e.screenY-f,e.preventDefault(),void r.drag(e))},c=function(t){e.off(a,"mousemove",u),e.off(a,"mouseup",c),o.parentNode.removeChild(o),r.stop&&r.stop(t)},this.destroy=function(){e.off(i())},e.on(i(),"mousedown",l)}}),r(Z,[Y,Q],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,c,u){var d,f,p,h,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),i.getEl("absend")&&e.css(i.getEl("absend"),y,i.layoutRect()[l]-1),!c)return void e.css(f,"display","none");e.css(f,"display","block"),d=i.getEl("body"),p=i.getEl("scroll"+t+"t"),h=d["client"+s]-2*o,h-=n&&r?f["client"+u]:0,m=d["scroll"+s],g=h/m,v={},v[y]=d["offset"+a]+o,v[b]=h,e.css(f,v),v={},v[y]=d["scroll"+a]*g,v[b]=h*g,e.css(p,v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var c,u=i._id+"-scroll"+n,d=i.classPrefix;i.getEl().appendChild(e.createFragment('<div id="'+u+'" class="'+d+"scrollbar "+d+"scrollbar-"+n+'"><div id="'+u+'t" class="'+d+'scrollbar-thumb"></div></div>')),i.draghelper=new t(u+"t",{start:function(){c=i.getEl("body")["scroll"+r],e.addClass(e.get(u),d+"active")},drag:function(e){var t,u,d,f,p=i.layoutRect();u=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl("body")["client"+a]-2*o,f-=u&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=c+e["delta"+s]/t},stop:function(){e.removeClass(e.get(u),d+"active")}})}i.addClass("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e.on(i.getEl("body"),"scroll",n)),n())}}}),r(ee,[J,Z],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}})}),r(te,[Y],function(e){function t(t,n,r){var i,o,a,s,l,c,u,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t._fixed&&"static"==e.getRuntimeStyle(document.body,"position")&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,c=p.height,p=e.getSize(n),u=p.width,d=p.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=u),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(u/2)),"b"===r[3]&&(s-=c),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(c/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:c}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this._fixed){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){"string"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return 0>e?0:e+n>t?(e=t-n,0>e?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i._rendered?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(ne,[Y],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(1>=t||1>=n){var r=e.getWindowSize();t=1>=t?t*r.w:t,n=1>=n?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(re,[ee,te,ne,Y],function(e,t,n,r){function i(){function e(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}u||(u=function(t){if(2!=t.button)for(var n=p.length;n--;){var r=p[n],i=r.getParentCtrl(t.target);if(r.settings.autohide){if(i&&(e(i,r)||r.parent()===i))continue;t=r.fire("autohide",{target:t.target}),t.isDefaultPrevented()||r.hide()}}},r.on(document,"click",u))}function o(){d||(d=function(){var e;for(e=p.length;e--;)s(p[e])},r.on(window,"scroll",d))}function a(){if(!f){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;f=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,g.hideAll())},r.on(window,"resize",f)}}function s(e){function t(t,n){for(var r,i=0;i<p.length;i++)if(p[i]!=e)for(r=p[i].parent();r&&(r=r.parent());)r==e&&p[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e._fixed?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}function l(e,t){var n,i=g.zIndex||65535,o;if(e)h.push(t);else for(n=h.length;n--;)h[n]===t&&h.splice(n,1);if(h.length)for(n=0;n<h.length;n++)h[n].modal&&(i++,o=h[n]),h[n].getEl().style.zIndex=i,h[n].zIndex=i,i++;var a=document.getElementById(t.classPrefix+"modal-block");o?r.css(a,"z-index",o.zIndex-1):a&&(a.parentNode.removeChild(a),m=!1),g.currentZIndex=i}function c(e){var t;for(t=p.length;t--;)p[t]===e&&p.splice(t,1);for(t=h.length;t--;)h[t]===e&&h.splice(t,1)}var u,d,f,p=[],h=[],m,g=e.extend({Mixins:[t,n],init:function(e){var t=this;t._super(e),t._eventsRoot=t,t.addClass("floatpanel"),e.autohide&&(i(),a(),p.push(t)),e.autofix&&(o(),t.on("move",function(){s(this)})),t.on("postrender show",function(e){if(e.control==t){var n,i=t.classPrefix;t.modal&&!m&&(n=r.createFragment('<div id="'+i+'modal-block" class="'+i+"reset "+i+'fade"></div>'),n=n.firstChild,t.getContainerElm().appendChild(n),setTimeout(function(){r.addClass(n,i+"in"),r.addClass(t.getEl(),i+"in")},0),m=!0),l(!0,t)}}),t.on("show",function(){t.parents().each(function(e){return e._fixed?(t.fixed(!0),!1):void 0})}),e.popover&&(t._preBodyHtml='<div class="'+t.classPrefix+'arrow"></div>',t.addClass("popover").addClass("bottom").addClass(t.isRtl()?"end":"start"))},fixed:function(e){var t=this;if(t._fixed!=e){if(t._rendered){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.toggleClass("fixed",e),t._fixed=e}return t},show:function(){var e=this,t,n=e._super();for(t=p.length;t--&&p[t]!==e;);return-1===t&&p.push(e),n},hide:function(){return c(this),l(!1,this),this._super()},hideAll:function(){g.hideAll()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||(e.remove(),l(!1,e)),e},remove:function(){c(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return g.hideAll=function(){for(var e=p.length;e--;){var t=p[e];t&&t.settings.autohide&&(t.hide(),p.splice(e,1))}},g}),r(ie,[re,ee,Y,Q],function(e,t,n,r){var i=e.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var n=this;n._super(e),n.isRtl()&&n.addClass("rtl"),n.addClass("window"),n._fixed=!0,e.buttons&&(n.statusbar=new t({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),n.statusbar.addClass("foot"),n.statusbar.parent(n)),n.on("click",function(e){-1!=e.target.className.indexOf(n.classPrefix+"close")&&n.close()}),n.on("cancel",function(){n.close()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",e.title),n._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=Math.max(0,a.w/2-t.w/2),t.y=Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id="'+n+'-head" class="'+r+'window-head"><div id="'+n+'-title" class="'+r+'title">'+e.encode(i.title)+'</div><button type="button" class="'+r+'close" aria-hidden="true">\xd7</button><div id="'+n+'-dragh" class="'+r+'dragh"></div></div>'),i.url&&(s='<iframe src="'+i.url+'" tabindex="-1"></iframe>'),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes()+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.classes("body")+'">'+s+"</div>"+a+"</div></div>"},fullscreen:function(e){var t=this,r=document.documentElement,i,o=t.classPrefix,a;if(e!=t._fullscreen)if(n.on(window,"resize",function(){var e;if(t._fullscreen)if(i)t._timer||(t._timer=setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(i=!0)}}),a=t.layoutRect(),t._fullscreen=e,e){t._initial={x:a.x,y:a.y,w:a.w,h:a.h},t._borderBox=t.parseBox("0"),t.getEl("head").style.display="none",a.deltaH-=a.headerH+2,n.addClass(r,o+"fullscreen"),n.addClass(document.body,o+"fullscreen"),t.addClass("fullscreen");var s=n.getWindowSize();t.moveTo(0,0).resizeTo(s.w,s.h)}else t._borderBox=t.parseBox(t.settings.border),t.getEl("head").style.display="",a.deltaH+=a.headerH,n.removeClass(r,o+"fullscreen"),n.removeClass(document.body,o+"fullscreen"),t.removeClass("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.addClass("in")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new r(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()})},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t=e.classPrefix;e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),e._fullscreen&&(n.removeClass(document.documentElement,t+"fullscreen"),n.removeClass(document.body,t+"fullscreen"))},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return i}),r(oe,[ie],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(ae,[ie,oe],function(e,t){return function(n){function r(){return o.length?o[o.length-1]:void 0}var i=this,o=[];i.windows=o,n.on("remove",function(){for(var e=o.length;e--;)o[e].close()}),i.open=function(t,r){var i;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),i=new e(t),o.push(i),i.on("close",function(){for(var e=o.length;e--;)o[e]===i&&o.splice(e,1);o.length||n.focus()}),t.data&&i.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),i.features=t||{},i.params=r||{},1===o.length&&n.nodeChanged(),i.renderTo().reflow()},i.alert=function(e,r,i){t.alert(e,function(){r?r.call(i||this):n.focus()})},i.confirm=function(e,n,r){t.confirm(e,function(e){n.call(r||this,e)})},i.close=function(){r()&&r().close()},i.getParams=function(){return r()?r().params:null},i.setParams=function(e){r()&&(r().params=e)},i.getWindows=function(){return o}}}),r(se,[B,x,h,_,g,u,d],function(e,t,n,r,i,o,a){return function(s){function l(e,t){try{s.getDoc().execCommand(e,!1,t)}catch(n){}}function c(){var e=s.getDoc().documentMode;return e?e:6}function u(e){return e.isDefaultPrevented()}function d(e){var t;e.dataTransfer&&(s.selection.isCollapsed()&&"IMG"==e.target.tagName&&Q.select(e.target),t=s.selection.getContent(),t.length>0&&e.dataTransfer.setData(ae,oe+escape(t)))}function f(e){var t,n;return e.dataTransfer&&(t=e.dataTransfer.getData(ae),t&&t.indexOf(oe)>=0&&(n=unescape(t.substr(oe.length)))),n}function p(e){s.queryCommandSupported("mceInsertClipboardContent")?s.execCommand("mceInsertClipboardContent",!1,{content:e}):s.execCommand("mceInsertContent",!1,e)}function h(){function r(e){var t=v.schema.getBlockElements(),n=s.getBody();if("BR"!=e.nodeName)return!1;for(e=e;e!=n&&!t[e.nodeName];e=e.parentNode)if(e.nextSibling)return!1;return!0}function i(e,t){var n;for(n=e.nextSibling;n&&n!=t;n=n.nextSibling)if((3!=n.nodeType||0!==K.trim(n.data).length)&&n!==t)return!1;return n===t}function o(e,t,i){var o,a,s;for(s=v.schema.getNonEmptyElements(),o=new n(i||e,e);a=o[t?"next":"prev"]();){if(s[a.nodeName]&&!r(a))return a;if(3==a.nodeType&&a.data.length>0)return a}}function l(e){var n,r,i,a,l;if(!e.collapsed&&(n=v.getParent(t.getNode(e.startContainer,e.startOffset),v.isBlock),r=v.getParent(t.getNode(e.endContainer,e.endOffset),v.isBlock),l=s.schema.getTextBlockElements(),n!=r&&l[n.nodeName]&&l[r.nodeName]&&"false"!==v.getContentEditable(n)&&"false"!==v.getContentEditable(r)))return e.deleteContents(),i=o(n,!1),a=o(r,!0),v.isEmpty(r)||K(n).append(r.childNodes),K(r).remove(),i?1==i.nodeType?"BR"==i.nodeName?(e.setStartBefore(i),e.setEndBefore(i)):(e.setStartAfter(i),e.setEndAfter(i)):(e.setStart(i,i.data.length),e.setEnd(i,i.data.length)):a&&(1==a.nodeType?(e.setStartBefore(a),e.setEndBefore(a)):(e.setStart(a,0),e.setEnd(a,0))),y.setRng(e),!0}function c(e,n){var r,a,l,c,u,d;if(!e.collapsed)return e;if(u=e.startContainer,d=e.startOffset,3==u.nodeType)if(n){if(d<u.data.length)return e}else if(d>0)return e;if(r=t.getNode(e.startContainer,e.startOffset),l=v.getParent(r,v.isBlock),a=o(s.getBody(),n,r),c=v.getParent(a,v.isBlock),!r||!a)return e;if(c&&l!=c)if(n){if(!i(l,c))return e;1==r.nodeType?"BR"==r.nodeName?e.setStartBefore(r):e.setStartAfter(r):e.setStart(r,r.data.length),1==a.nodeType?e.setEnd(a,0):e.setEndBefore(a)}else{if(!i(c,l))return e;1==a.nodeType?"BR"==a.nodeName?e.setStartBefore(a):e.setStartAfter(a):e.setStart(a,a.data.length),1==r.nodeType?e.setEnd(r,0):e.setEndBefore(r)}return e}function h(e){var t=y.getRng();return t=c(t,e),l(t)?!0:void 0}function m(e){var t,n,r;h(e)||(a.each(s.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&s.dom.setAttrib(e,"style",s.dom.getAttrib(e,"style"))}),t=new b(function(){}),t.observe(s.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),s.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),n=s.selection.getRng(),r=n.startContainer.parentNode,a.each(t.takeRecords(),function(e){if(v.isChildOf(e.target,s.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}a.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),v.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),s.selection.setRng(n))}})}}),t.disconnect(),a.each(s.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}var g=s.getDoc(),v=s.dom,y=s.selection,b=window.MutationObserver,C,x;b||(C=!0,b=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),s.on("keydown",function(e){var t=e.keyCode==X,n=e.ctrlKey||e.metaKey;if(!u(e)&&(t||e.keyCode==G)){var r=s.selection.getRng(),i=r.startContainer,o=r.startOffset;if(!n&&r.collapsed&&3==i.nodeType&&(t?o<i.data.length:o>0))return;e.preventDefault(),n&&s.selection.getSel().modify("extend",t?"forward":"backward",e.metaKey?"lineboundary":"word"),m(t)}}),s.on("keypress",function(t){if(!u(t)&&!y.isCollapsed()&&t.charCode&&!e.metaKeyPressed(t)){var n,r,i,o,a,l;n=s.selection.getRng(),l=String.fromCharCode(t.charCode),t.preventDefault(),r=K(n.startContainer).parents().filter(function(e,t){return!!s.schema.getTextInlineElements()[t.nodeName]}),m(!0),r=r.filter(function(e,t){return!K.contains(s.getBody(),t)}),r.length?(i=v.createFragment(),r.each(function(e,t){t=t.cloneNode(!1),i.hasChildNodes()?(t.appendChild(i.firstChild),i.appendChild(t)):(a=t,i.appendChild(t)),i.appendChild(t)}),a.appendChild(s.getDoc().createTextNode(l)),o=v.getParent(n.startContainer,v.isBlock),v.isEmpty(o)?K(o).empty().append(i):n.insertNode(i),n.setStart(a.firstChild,1),n.setEnd(a.firstChild,1),s.selection.setRng(n)):s.selection.setContent(l)}}),s.addCommand("Delete",function(){m()}),s.addCommand("ForwardDelete",function(){m(!0)}),C||(s.on("dragstart",function(e){x=y.getRng(),d(e)}),s.on("drop",function(e){if(!u(e)){var n=f(e);n&&(e.preventDefault(),window.setTimeout(function(){var r=t.getCaretRangeFromPoint(e.x,e.y,g);x&&(y.setRng(x),x=null),m(),y.setRng(r),p(n)},0))}}),s.on("cut",function(e){!u(e)&&e.clipboardData&&(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",s.selection.getContent()),e.clipboardData.setData("text/plain",s.selection.getContent({format:"text"})),m(!0))}))}function m(){function e(e){var t=J.create("body"),n=e.cloneContents();return t.appendChild(n),Q.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(s.getBody()),t.compareRanges(n,r)}var i=e(n),o=J.createRng();o.selectNode(s.getBody());var a=e(o);return i===a}s.on("keydown",function(e){var t=e.keyCode,r,i;if(!u(e)&&(t==X||t==G)){if(r=s.selection.isCollapsed(),i=s.getBody(),r&&!J.isEmpty(i))return;if(!r&&!n(s.selection.getRng()))return;e.preventDefault(),s.setContent(""),i.firstChild&&J.isBlock(i.firstChild)?s.selection.setCursorLocation(i.firstChild,0):s.selection.setCursorLocation(i,0),s.nodeChanged()}})}function g(){s.shortcuts.add("meta+a",null,"SelectAll")}function v(){s.settings.content_editable||(J.bind(s.getDoc(),"focusin",function(){Q.setRng(Q.getRng())}),J.bind(s.getDoc(),"mousedown mouseup",function(e){e.target==s.getDoc().documentElement&&(s.getBody().focus(),"mousedown"==e.type?Q.placeCaretAt(e.clientX,e.clientY):Q.setRng(Q.getRng()))}))}function y(){s.on("keydown",function(e){if(!u(e)&&e.keyCode===G){if(!s.getBody().getElementsByTagName("hr").length)return;if(Q.isCollapsed()&&0===Q.getRng(!0).startOffset){var t=Q.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return J.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(J.remove(n),e.preventDefault())}}})}function b(){window.Range.prototype.getClientRects||s.on("mousedown",function(e){if(!u(e)&&"HTML"===e.target.nodeName){var t=s.getBody();t.blur(),setTimeout(function(){t.focus()},0)}})}function C(){s.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&(e.preventDefault(),Q.getSel().setBaseAndExtent(t,0,t,1),s.nodeChanged()),"A"==t.nodeName&&J.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),Q.select(t))})}function x(){function e(){var e=J.getAttribs(Q.getStart().cloneNode(!1));return function(){var t=Q.getStart();t!==s.getBody()&&(J.setAttrib(t,"style",null),Y(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!Q.isCollapsed()&&J.getParent(Q.getStart(),J.isBlock)!=J.getParent(Q.getEnd(),J.isBlock)}s.on("keypress",function(n){var r;return u(n)||8!=n.keyCode&&46!=n.keyCode||!t()?void 0:(r=e(),s.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1)}),J.bind(s.getDoc(),"cut",function(n){var r;!u(n)&&t()&&(r=e(),setTimeout(function(){r()},0))})}function w(){document.body.setAttribute("role","application")}function _(){s.on("keydown",function(e){if(!u(e)&&e.keyCode===G&&Q.isCollapsed()&&0===Q.getRng(!0).startOffset){var t=Q.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function E(){c()>7||(l("RespectVisibilityInDesign",!0),s.contentStyles.push(".mceHideBrInPre pre br {display: none}"),J.addClass(s.getBody(),"mceHideBrInPre"),ee.addNodeFilter("pre",function(e){for(var t=e.length,n,i,o,a;t--;)for(n=e[t].getAll("br"),i=n.length;i--;)o=n[i],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new r("#text",3),o,!0).value="\n"}),te.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function N(){J.bind(s.getBody(),"mouseup",function(){var e,t=Q.getNode();"IMG"==t.nodeName&&((e=J.getStyle(t,"width"))&&(J.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),J.setStyle(t,"width","")),(e=J.getStyle(t,"height"))&&(J.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),J.setStyle(t,"height","")))})}function k(){s.on("keydown",function(t){var n,r,i,o,a;if(!u(t)&&t.keyCode==e.BACKSPACE&&(n=Q.getRng(),r=n.startContainer,i=n.startOffset,o=J.getRoot(),a=r,n.collapsed&&0===i)){for(;a&&a.parentNode&&a.parentNode.firstChild==a&&a.parentNode!=o;)a=a.parentNode;"BLOCKQUOTE"===a.tagName&&(s.formatter.toggle("blockquote",null,a),n=J.createRng(),n.setStart(r,0),n.setEnd(r,0),Q.setRng(n))}})}function S(){function e(){s._refreshContentEditable(),l("StyleWithCSS",!1),l("enableInlineTableEditing",!1),Z.object_resizing||l("enableObjectResizing",!1)}Z.readonly||s.on("BeforeExecCommand MouseDown",e)}function T(){function e(){Y(J.select("a"),function(e){var t=e.parentNode,n=J.getRoot();if(t.lastChild===e){for(;t&&!J.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}J.add(t,"br",{"data-mce-bogus":1})}})}s.on("SetContent ExecCommand",function(t){("setcontent"==t.type||"mceInsertLink"===t.command)&&e()})}function R(){Z.forced_root_block&&s.on("init",function(){l("DefaultParagraphSeparator",Z.forced_root_block)})}function A(){s.on("Undo Redo SetContent",function(e){e.initial||s.execCommand("mceRepaint")})}function B(){s.on("keydown",function(e){var t;u(e)||e.keyCode!=G||(t=s.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),s.undoManager.beforeChange(),J.remove(t.item(0)),s.undoManager.add()))})}function D(){var e;c()>=10&&(e="",Y("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),s.contentStyles.push(e+"{padding-right: 1px !important}"))}function L(){c()<9&&(ee.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),te.addNodeFilter("noscript",function(e){for(var t=e.length,n,o,a;t--;)n=e[t],o=e[t].firstChild,o?o.value=i.decode(o.value):(a=n.attributes.map["data-mce-innertext"],
-a&&(n.attr("data-mce-innertext",null),o=new r("#text",3),o.value=a,o.raw=!0,n.append(o)))}))}function M(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),J.unbind(r,"mouseup",n),J.unbind(r,"mousemove",t),a=o=0}var r=J.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,J.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(J.bind(r,"mouseup",n),J.bind(r,"mousemove",t),J.getRoot().focus(),a.select())}})}function H(){s.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||Q.normalize()},!0)}function P(){s.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function O(){s.inline||s.on("keydown",function(){document.activeElement==document.body&&s.getWin().focus()})}function I(){s.inline||(s.contentStyles.push("body {min-height: 150px}"),s.on("click",function(e){if("HTML"==e.target.nodeName){var t;t=s.selection.getRng(),s.getBody().focus(),s.selection.setRng(t),s.selection.normalize(),s.nodeChanged()}}))}function F(){o.mac&&s.on("keydown",function(t){!e.metaKeyPressed(t)||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),s.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","lineboundary"))})}function z(){l("AutoUrlDetect",!1)}function W(){s.inline||s.on("focus blur beforegetcontent",function(){var e=s.dom.create("br");s.getBody().appendChild(e),e.parentNode.removeChild(e)},!0)}function V(){s.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),s.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function U(){s.on("touchstart",function(e){var t,n,r,i;t=e.target,n=(new Date).getTime(),i=e.changedTouches,!i||i.length>1||(r=i[0],s.once("touchend",function(e){var i=e.changedTouches[0],o;(new Date).getTime()-n>500||Math.abs(r.clientX-i.clientX)>5||Math.abs(r.clientY-i.clientY)>5||(o={target:t},Y("pageX pageY clientX clientY screenX screenY".split(" "),function(e){o[e]=i[e]}),o=s.fire("click",o),o.isDefaultPrevented()||(s.selection.placeCaretAt(i.clientX,i.clientY),s.nodeChanged()))}))})}function $(){s.on("init",function(){s.dom.bind(s.getBody(),"submit",function(e){e.preventDefault()})})}function q(){ee.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}function j(){s.on("dragstart",function(e){d(e)}),s.on("drop",function(e){if(!u(e)){var n=f(e);if(n){e.preventDefault();var r=t.getCaretRangeFromPoint(e.x,e.y,s.getDoc());Q.setRng(r),p(n)}}})}var Y=a.each,K=s.$,G=e.BACKSPACE,X=e.DELETE,J=s.dom,Q=s.selection,Z=s.settings,ee=s.parser,te=s.serializer,ne=o.gecko,re=o.ie,ie=o.webkit,oe="data:text/mce-internal,",ae=re?"Text":"URL";k(),m(),H(),ie&&(h(),v(),C(),R(),$(),_(),q(),U(),o.iOS?(O(),I(),V()):g()),re&&o.ie<11&&(y(),w(),E(),N(),B(),D(),L(),M()),o.ie>=11&&(I(),W(),_()),o.ie&&(g(),z(),j()),ne&&(y(),b(),x(),S(),T(),A(),P(),F(),_())}}),r(le,[$],function(e){function t(t){return t._eventDispatcher||(t._eventDispatcher=new e({scope:t,toggleEvent:function(n,r){e.isNative(n)&&t.toggleNativeEvent&&t.toggleNativeEvent(n,r)}})),t._eventDispatcher}return{fire:function(e,n,r){var i=this;if(i.removed&&"remove"!==e)return n;if(n=t(i).fire(e,n,r),r!==!1&&i.parent)for(var o=i.parent();o&&!n.isPropagationStopped();)o.fire(e,n,!1),o=o.parent();return n},on:function(e,n,r){return t(this).on(e,n,r)},off:function(e,n){return t(this).off(e,n)},once:function(e,n){return t(this).once(e,n)},hasEventListeners:function(e){return t(this).has(e)}}}),r(ce,[le,y,d],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){var n=r(e,t),i;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;i=function(n){for(var r=n.target,i=e.editorManager.editors,a=i.length;a--;){var s=i[a].getBody();(s===r||o.isChildOf(r,s))&&(i[a].hidden||i[a].fire(t,n))}},a[t]=i,o.bind(n,t,i)}else i=function(n){e.hidden||e.fire(t,n)},o.bind(n,t,i),e.delegates[t]=i}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;n.settings.readonly||"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(ue,[d,u],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122},o=e.makeMap("alt,ctrl,shift,meta,access");return function(a){function s(e,s,l,c){var u,d,f;f={func:l,scope:c||a,desc:a.translate(s)},n(r(e,"+"),function(e){e in o?f[e]=!0:/^[0-9]{2,}$/.test(e)?f.keyCode=parseInt(e,10):(f.charCode=e.charCodeAt(0),f.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}),u=[f.keyCode];for(d in o)f[d]?u.push(d):f[d]=!1;return f.id=u.join(","),f.access&&(f.alt=!0,t.mac?f.ctrl=!0:f.shift=!0),f.meta&&(t.mac?f.meta=!0:(f.ctrl=!0,f.meta=!1)),f}var l=this,c={};a.on("keyup keypress keydown",function(e){(e.altKey||e.ctrlKey||e.metaKey)&&!e.isDefaultPrevented()&&n(c,function(t){return t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&t.alt==e.altKey&&t.shift==e.shiftKey&&(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)?(e.preventDefault(),"keydown"==e.type&&t.func.call(t.scope),!0):void 0})}),l.add=function(t,i,o,l){var u;return u=o,"string"==typeof o?o=function(){a.execCommand(u,!1,null)}:e.isArray(u)&&(o=function(){a.execCommand(u[0],u[1],u[2])}),n(r(t.toLowerCase()),function(e){var t=s(e,i,o,l);c[t.id]=t}),!0},l.remove=function(e){var t=s(e);return c[t.id]?(delete c[t.id],!0):!1}}}),r(de,[y,f,C,w,_,R,T,M,O,I,F,z,W,V,b,l,ae,E,k,se,u,d,ce,ue],function(e,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E){function N(e,t,i){var o=this,a,s;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,o.settings=t=R({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},t),r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.isNotDirty=!0,o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new E(o),o.loadedCSS={},o.editorCommands=new p(o),t.target&&(o.targetElm=t.target),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,t.cache_suffix&&(x.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var k=e.DOM,S=r.ThemeManager,T=r.PluginManager,R=w.extend,A=w.each,B=w.explode,D=w.inArray,L=w.trim,M=w.resolve,H=g.Event,P=x.gecko,O=x.ie;return N.prototype={render:function(){function e(){k.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!S.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",S.load(r.theme,t)}w.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),A(r.external_plugins,function(e,t){T.load(t,e),r.plugins+=" "+t}),A(r.plugins.split(/[ ,]/),function(e){if(e=L(e),e&&!T.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=T.dependencies(e);A(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=T.createUrl(t,e),T.load(e.resource,e)})}else T.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!H.domLoaded)return void k.bind(window,"ready",e);if(n.getElement()&&x.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||k.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(k.insertAfter(k.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},k.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.isNotDirty=!0,a._mceOldSubmit(a)})),n.windowManager=new v(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=k.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),t()}},init:function(){function e(n){var r=T.get(n),i,o;i=T.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=L(n),r&&-1===D(m,n)&&(A(T.dependencies(n),function(t){e(t)}),o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n)))}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,p,h,m=[];if(this.editorManager.i18n.setCode(n.language),t.rtl=this.editorManager.i18n.rtl,t.editorManager.add(t),n.aria_label=n.aria_label||k.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),c=S.get(n.theme),t.theme=new c(t,S.urls[n.theme]),t.theme.init&&t.theme.init(t,S.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),A(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),a>o&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer=l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer=l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&A(B(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();for(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!x.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',h=0;h<t.contentCSS.length;h++){var g=t.contentCSS[h];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+w._addCacheSuffix(g)+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",-1!=d.indexOf("=")&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",-1!=f.indexOf("=")&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+n.content_security_policy+'" />'),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" data-id="'+t.id+'"><br></body></html>';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&(u=v);var y=k.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},k.setAttrib(y,"src",u||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=k.add(l.iframeContainer,y),O)try{t.getDoc()}catch(b){s.src=u=v}l.editorContainer&&(k.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=k.isHidden(l.editorContainer)),t.getElement().style.display="none",k.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),p=n.getDoc(),h,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();k.removeClass(e,"mce-content-body"),k.removeClass(e,"mce-edit-focus"),k.setAttrib(e,"contentEditable",null)}),k.addClass(s,"mce-content-body"),n.contentDocument=p=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),h=n.getBody(),h.disabled=!0,r.readonly||(n.inline&&"static"==k.getStyle(h,"position",!0)&&(h.style.position="relative"),h.contentEditable=n.getParam("content_editable_state",!0)),h.disabled=!1,n.schema=new y(r),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new b(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)i=e[r],a=i.attr(t),s="data-mce-"+t,i.attributes.map[s]||("style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name)))}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("type","mce-"+(n.attr("type")||"no/type"))}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new c(n),n.undoManager=new u(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n._nodeChangeDispatcher=new i(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(p.body.spellcheck=!1,k.setAttrib(h,"spellcheck","false")),n.fire("PostRender"),n.quirks=new C(n),r.directionality&&(h.dir=r.directionality),r.nowrap&&(h.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){A(r.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.contentStyles.length>0&&(m="",A(n.contentStyles,function(e){m+=e+"\r\n"}),n.dom.addStyle(m)),A(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&setTimeout(function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.focus()},100),s=p=h=null},focus:function(e){var t=this,n=t.selection,r=t.settings.content_editable,i,o,a=t.getDoc(),s;if(!e){if(i=n.getRng(),i.item&&(o=i.item(0)),t._refreshContentEditable(),r||(x.opera||t.getBody().focus(),t.getWin().focus()),P||r){if(s=t.getBody(),s.setActive)try{s.setActive()}catch(l){s.focus()}else s.focus();r&&n.normalize()}o&&o.ownerDocument==a&&(i=a.body.createControlRange(),i.addElement(o),i.select())}t.editorManager.setActive(t)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?M(r):0,n=M(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?A(r.split(r.indexOf("=")>0?/[;,](?![^=;,]*(?:[;,]|$))/:","),function(e){e=e.split("="),e.length>1?i[L(e[0])]=L(e[1]):i[L(e[0])]=L(e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(k.show(e.getContainer()),k.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(O&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(k.hide(e.getContainer()),k.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;return r?(e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i):void 0},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=k.getParent(t.id,"form"))&&A(i.elements,function(e){return e.name==t.id?(e.value=r,!1):void 0})),e.element=n=null,e.set_dirty!==!1&&(t.isNotDirty=!0),r},setContent:function(e,t){var n=this,r=n.getBody(),i;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=O&&11>O?"":'<br data-mce-bogus="1">',e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):O||(e='<br data-mce-bogus="1">'),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=L(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?r.innerHTML:"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),"text"!=e.format?e.content=L(n):e.content=n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=R({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},getContainer:function(){var e=this;return e.container||(e.container=k.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=k.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),A(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&k.remove(e.getElement().nextSibling),e.inline||(O&&10>O&&e.getDoc().execCommand("SelectAll",!1,null),k.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),k.remove(e.getContainer()),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),k.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},_refreshContentEditable:function(){var e=this,t,n;e._isHidden()&&(t=e.getBody(),n=t.parentNode,n.removeChild(t),n.appendChild(t),t.focus())},_isHidden:function(){var e;return P?(e=this.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}},R(N.prototype,_),N}),r(fe,[],function(){var e={},t="en";return{setCode:function(e){e&&(t=e,this.rtl=this.data[e]?"rtl"===this.data[e]._dir:!1)},getCode:function(){return t},rtl:!1,add:function(t,n){var r=e[t];r||(e[t]=r={});for(var i in n)r[i]=n[i];this.setCode(t)},translate:function(n){var r;if(r=e[t],r||(r={}),"undefined"==typeof n)return n;if("string"!=typeof n&&n.raw)return n.raw;if(n.push){var i=n.slice(1);n=(r[n[0]]||n[0]).replace(/\{([0-9]+)\}/g,function(e,t){return i[t]})}return(r[n]||n).replace(/{context:\w+}$/,"")},data:e}}),r(pe,[y,u],function(e,t){function n(e){function s(){try{return document.activeElement}catch(e){return document.body}}function l(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function u(e){return!!a.getParent(e,n.isEditorUIElement)}function d(n){var d=n.editor;d.on("init",function(){(d.inline||t.ie)&&("onbeforedeactivate"in document&&t.ie<9?d.dom.bind(d.getBody(),"beforedeactivate",function(e){if(e.target==d.getBody())try{d.lastRng=d.selection.getRng()}catch(t){}}):d.on("nodechange mouseup keyup",function(e){var t=s();"nodechange"==e.type&&e.selectionChange||(t&&t.id==d.id+"_ifr"&&(t=d.getBody()),d.dom.isChildOf(t,d.getBody())&&(d.lastRng=d.selection.getRng()))}),t.webkit&&!r&&(r=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(d.lastRng=n)}},a.bind(document,"selectionchange",r)))}),d.on("setcontent",function(){d.lastRng=null}),d.on("mousedown",function(){d.selection.lastFocusBookmark=null}),d.on("focusin",function(){var t=e.focusedEditor;d.selection.lastFocusBookmark&&(d.selection.setRng(c(d,d.selection.lastFocusBookmark)),d.selection.lastFocusBookmark=null),t!=d&&(t&&t.fire("blur",{focusedEditor:d}),e.setActive(d),e.focusedEditor=d,d.fire("focus",{blurredEditor:t}),d.focus(!0)),d.lastRng=null}),d.on("focusout",function(){window.setTimeout(function(){var t=e.focusedEditor;u(s())||t!=d||(d.fire("blur",{focusedEditor:null}),e.focusedEditor=null,d.selection&&(d.selection.lastFocusBookmark=null))},0)}),i||(i=function(t){var n=e.activeEditor;n&&t.target.ownerDocument==document&&(n.selection&&t.target!=n.getBody()&&(n.selection.lastFocusBookmark=l(n.dom,n.lastRng)),t.target==document.body||u(t.target)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},a.bind(document,"focusin",i)),d.inline&&!o&&(o=function(t){var n=e.activeEditor;if(n.inline&&!n.dom.isChildOf(t.target,n.getBody())){var r=n.selection.getRng();r.collapsed||(n.lastRng=r)}},a.bind(document,"mouseup",o))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(a.unbind(document,"selectionchange",r),a.unbind(document,"focusin",i),a.unbind(document,"mouseup",o),r=i=o=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var r,i,o,a=e.DOM;return n.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},n}),r(he,[de,f,y,V,u,d,le,fe,pe],function(e,t,n,r,i,o,a,s,l){function c(e){var t=v.editors,n;delete t[e.id];for(var r=0;r<t.length;r++)if(t[r]==e){t.splice(r,1),n=!0;break}return v.activeEditor==e&&(v.activeEditor=t[0]),v.focusedEditor==e&&(v.focusedEditor=null),n}function u(e){return e&&!(e.getContainer()||e.getBody()).parentNode&&(c(e),e.unbindAllNativeEvents(),e.destroy(!0),e=null),e}var d=n.DOM,f=o.explode,p=o.each,h=o.extend,m=0,g,v;return v={$:t,majorVersion:"4",minorVersion:"1.9",releaseDate:"2015-05-05",editors:[],i18n:s,activeEditor:null,setup:function(){var e=this,t,n,i="",o,a;if(n=document.location.href,/^[^:]+:\/\/\/?[^\/]+\//.test(n)&&(n=n.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(n)||(n+="/")),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else{for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++)if(a=s[c].src,/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(a)){-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/"));break}!t&&document.currentScript&&(a=document.currentScript.src,-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/")))}e.baseURL=new r(n).toAbsolute(t),e.documentBaseURL=n,e.baseURI=new r(e.baseURL),e.suffix=i,e.focusManager=new l(e)},init:function(t){function n(e){var t=e.id;return t||(t=e.name,t=t&&!d.get(t)?e.name:d.uniqueId(),e.setAttribute("id",t)),t}function r(t,n,r){if(!u(s.get(t))){var i=new e(t,n,s);i.targetElm=i.targetElm||r,l.push(i),i.render()}}function i(e){var n=t[e];if(n)return n.apply(s,Array.prototype.slice.call(arguments,2))}function o(e,t){return t.constructor===RegExp?t.test(e.className):d.hasClass(e,t)}function a(){var e,s;if(d.unbind(window,"ready",a),i("onpageload"),t.types)return void p(t.types,function(e){p(d.select(e.selector),function(i){r(n(i),h({},t,e),i)})});if(t.selector)return void p(d.select(t.selector),function(e){r(n(e),t,e)});switch(t.target&&r(n(t.target),t),t.mode){case"exact":e=t.elements||"",e.length>0&&p(f(e),function(e){var n;(n=d.get(e))?r(e,t,n):p(document.forms,function(n){p(n.elements,function(n){n.name===e&&(e="mce_editor_"+m++,d.setAttrib(n,"id",e),r(e,t,n))})})});break;case"textareas":case"specific_textareas":p(d.select("textarea"),function(e){t.editor_deselector&&o(e,t.editor_deselector)||(!t.editor_selector||o(e,t.editor_selector))&&r(n(e),t,e)})}t.oninit&&(e=s=0,p(l,function(t){s++,t.initialized?e++:t.on("init",function(){e++,e==s&&i("oninit")}),e==s&&i("oninit")}))}var s=this,l=[];s.settings=t,d.bind(window,"ready",a)},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),t.activeEditor=e,t.fire("AddEditor",{editor:e}),g||(g=function(){t.fire("BeforeUnload")},d.bind(window,"beforeunload",g)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void p(d.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(c(i)&&t.fire("RemoveEditor",{editor:i}),r.length||d.unbind(window,"beforeunload",g),i.remove(),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return i.activeEditor?i.activeEditor.execCommand(t,n,r):!1},triggerSave:function(){p(this.editors,function(e){e.save()})},addI18n:function(e,t){s.add(e,t)},translate:function(e){return s.translate(e)},setActive:function(e){var t=this.activeEditor;
-this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},h(v,a),v.setup(),window.tinymce=window.tinyMCE=v,v}),r(me,[he,d],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(n,r){"html4"===t.settings.schema&&e(r,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(ge,[le,d],function(e,t){var n={send:function(e){function t(){!e.async||4==r.readyState||i++>1e4?(e.success&&1e4>i&&200==r.status?e.success.call(e.success_scope,""+r.responseText,r,e):e.error&&e.error.call(e.error_scope,i>1e4?"TIMED_OUT":"GENERAL",r,e),r=null):setTimeout(t,10)}var r,i=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async===!1?!1:!0,e.data=e.data||"",r=new XMLHttpRequest){if(r.overrideMimeType&&r.overrideMimeType(e.content_type),r.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(r.withCredentials=!0),e.content_type&&r.setRequestHeader("Content-Type",e.content_type),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r=n.fire("beforeSend",{xhr:r,settings:e}).xhr,r.send(e.data),!e.async)return t();setTimeout(t,10)}}};return t.extend(n,e),n}),r(ve,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb    t\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r<t.length;r++)i+=(r>0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}}}),r(ye,[ve,ge,d],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(be,[y],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(Ce,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?u+e:i.indexOf(",",u),-1===r||r>i.length?null:(n=i.substring(u,r),u=r+1,n)}var r,i,s,u=0;if(a={},c){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(c){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,c;try{if(window.localStorage)return localStorage}catch(u){}return l="tinymce",o=document.documentElement,c=!!o.addBehavior,c&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(xe,[y,l,b,C,d,u],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(i,function(e,t){a[t]=e}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(we,[U,d],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.addClass(this.settings.containerClass,"body")},applyClasses:function(e){var t=this,n=t.settings,r,i,o;r=e.items().filter(":visible"),i=n.firstControlClass,o=n.lastControlClass,r.each(function(e){e.removeClass(i).removeClass(o),n.controlClass&&e.addClass(n.controlClass)}),r.eq(0).addClass(i),r.eq(-1).addClass(o)},renderHtml:function(e){var t=this,n=t.settings,r,i="";return r=e.items(),r.eq(0).addClass(n.firstControlClass),r.eq(-1).addClass(n.lastControlClass),r.each(function(e){n.controlClass&&e.addClass(n.controlClass),i+=e.renderHtml()}),i},recalc:function(){},postRender:function(){}})}),r(_e,[we],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}})}),r(Ee,[K,te],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},text:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().lastChild.innerHTML=t.encode(e)),t):t._value},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes()+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e._text)+"</div></div>"},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Ne,[K,Ee],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.toggleClass("tooltip-n","bc-tc"==i),r.toggleClass("tooltip-nw","bc-tl"==i),r.toggleClass("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},active:function(e){var t=this,n;return e!==n&&(t.aria("pressed",e),t.toggleClass("active",e)),t._super(e)},disabled:function(e){var t=this,n;return e!==n&&(t.aria("disabled",e),t.toggleClass("disabled",e)),t._super(e)},postRender:function(){var e=this,t=e.settings;e._rendered=!0,e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(ke,[Ne],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t.on("click mousedown",function(e){e.preventDefault()}),t._super(e),n=e.size,e.subtype&&t.addClass(e.subtype),n&&t.addClass("btn-"+n)},icon:function(e){var t=this,n=t.classPrefix;if("undefined"==typeof e)return t.settings.icon;if(t.settings.icon=e,e=e?n+"ico "+n+"i-"+t.settings.icon:"",t._rendered){var r=t.getEl().firstChild,i=r.getElementsByTagName("i")[0];e?(i&&i==r.firstChild||(i=document.createElement("i"),r.insertBefore(i,r.firstChild)),i.className=e):i&&r.removeChild(i),t.text(t._text)}return t},repaint:function(){var e=this.getEl().firstChild.style;e.width=e.height="100%",this._super()},text:function(e){var t=this;if(t._rendered){var n=t.getEl().lastChild.lastChild;n&&(n.data=t.translate(e))}return t._super(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon,i;return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",r=e.settings.icon?n+"ico "+n+"i-"+r:"",'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+(e._text?(r?"\xa0":"")+e.encode(e._text):"")+"</button></div>"}})}),r(Se,[J],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.addClass("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Te,[Ne],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){var t=this;return"undefined"!=typeof e?(e?t.addClass("checked"):t.removeClass("checked"),t._checked=e,t.aria("checked",e),t):t._checked},value:function(e){return this.checked(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes()+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e._text)+"</span></div>"}})}),r(Re,[Ne,G,Y],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("combobox"),t.subinput=!0,t.ariaTarget="inp",e=t.settings,e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){for(var r=n.target,i=t.getEl();r&&r!=i;)r.id&&-1!=r.id.indexOf("-open")&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),r=r.parentNode}),t.on("keydown",function(e){"INPUT"==e.target.nodeName&&13==e.keyCode&&t.parents().reverse().each(function(n){return e.preventDefault(),t.fire("change"),n.hasEventListeners("submit")&&n.toJSON?(n.fire("submit",{data:n.toJSON()}),!1):void 0})}),e.placeholder&&(t.addClass("placeholder"),t.on("focusin",function(){t._hasOnChange||(n.on(t.getEl("inp"),"change",function(){t.fire("change")}),t._hasOnChange=!0),t.hasClass("placeholder")&&(t.getEl("inp").value="",t.removeClass("placeholder"))}),t.on("focusout",function(){0===t.value().length&&(t.getEl("inp").value=e.placeholder,t.addClass("placeholder"))}))},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t.removeClass("placeholder"),t._rendered&&(t.getEl("inp").value=e),t):t._rendered?(e=t.getEl("inp").value,e!=t.settings.placeholder?e:""):t._value},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl("inp").disabled=e),t._super(e)},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),r=e.getEl("open"),i=e.layoutRect(),o,a;o=r?i.w-n.getSize(r).width-10:i.w-10;var s=document;return s.all&&(!s.documentMode||s.documentMode<=8)&&(a=e.layoutRect().h-2+"px"),n.css(t.firstChild,{width:o,lineHeight:a}),e._super(),e},postRender:function(){var e=this;return n.on(this.getEl("inp"),"change",function(){e.fire("change")}),e._super()},remove:function(){n.off(this.getEl("inp")),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=n.value||n.placeholder||"",o,a,s="",l="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e._text,(o||a)&&(s='<div id="'+t+'-open" class="'+r+"btn "+r+'open" tabIndex="-1" role="button"><button id="'+t+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=o?'<i class="'+o+'"></i>':'<i class="'+r+'caret"></i>')+(a?(o?" ":"")+a:"")+"</button></div>",e.addClass("has-open")),'<div id="'+t+'" class="'+e.classes()+'"><input id="'+t+'-inp" class="'+r+"textbox "+r+'placeholder" value="'+i+'" hidefocus="1"'+l+" />"+s+"</div>"}})}),r(Ae,[Re],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.addClass("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl().getElementsByTagName("i")[0];if(t)try{t.style.background=e}catch(n){}},value:function(e){var t=this;return"undefined"!=typeof e&&t._rendered&&t.repaintColor(e),t._super(e)}})}),r(Be,[ke,re],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(De,[Be,y],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.addClass("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",i=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"";return'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+(e._text?(r?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(Le,[],function(){function e(e){function i(e,i,o){var a,s,l,c,u,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,u=t(e,t(i,o)),d=n(e,n(i,o)),u==d?(l=u,{h:0,s:0,v:100*l}):(c=e==u?i-o:o==u?e-i:o-e,a=e==u?3:o==u?1:5,a=60*(a-c/(d-u)),s=(d-u)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,c;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=p=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),c=o-s,Math.floor(a)){case 0:d=s,f=l,p=0;break;case 1:d=l,f=s,p=0;break;case 2:d=0,f=s,p=l;break;case 3:d=0,f=l,p=s;break;case 4:d=l,f=0,p=s;break;case 5:d=s,f=0,p=l;break;default:d=f=p=0}d=r(255*(d+c)),f=r(255*(f+c)),p=r(255*(p+c))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(p)}function s(){return{r:d,g:f,b:p}}function l(){return i(d,f,p)}function c(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,p=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),p=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),p=parseInt(t[3]+t[3],16)),d=0>d?0:d>255?255:d,f=0>f?0:f>255?255:f,p=0>p?0:p>255?255:p,u}var u=this,d=0,f=0,p=0;e&&c(e),u.toRgb=s,u.toHsv=l,u.toHex=a,u.parse=c}var t=Math.min,n=Math.max,r=Math.round;return e}),r(Me,[Ne,Q,Y,Le],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(p,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),c.s=100*n.x,c.v=100*(1-n.y),i(c),s.fire("change")}function a(t){var n;n=e(u,t),c=l.toHsv(),c.h=360*(1-n.y),i(c,!0),s.fire("change")}var s=this,l=s.color(),c,u,d,f,p;u=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),p=s.getEl("svp"),s._repaint=function(){c=l.toHsv(),i(c)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;t>e;e++)n+='<div class="'+r+'colorpicker-h-chunk" style="height:'+100/t+"%;"+i+a[e]+",endColorstr="+a[e+1]+");-ms-"+i+a[e]+",endColorstr="+a[e+1]+')"></div>';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='<div id="'+n+'-h" class="'+r+'colorpicker-h" style="'+a+'">'+e()+'<div id="'+n+'-hp" class="'+r+'colorpicker-h-marker"></div></div>','<div id="'+n+'" class="'+t.classes()+'"><div id="'+n+'-sv" class="'+r+'colorpicker-sv"><div class="'+r+'colorpicker-overlay1"><div class="'+r+'colorpicker-overlay2"><div id="'+n+'-svp" class="'+r+'colorpicker-selector1"><div class="'+r+'colorpicker-selector2"></div></div></div></div></div>'+i+"</div>"}})}),r(He,[Ne],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.addClass("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.data()[n],index:n})})},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},data:function(e){var t=this;return"undefined"!=typeof e?(t._data=e,t.update(),t):t._data},update:function(){this.innerHtml(this._getPathHtml())},postRender:function(){var e=this;e._super(),e.data(e.settings.data)},renderHtml:function(){var e=this;return'<div id="'+e._id+'" class="'+e.classes()+'">'+e._getPathHtml()+"</div>"},_getPathHtml:function(){var e=this,t=e._data||[],n,r,i="",o=e.classPrefix;for(n=0,r=t.length;r>n;n++)i+=(n>0?'<div class="'+o+'divider" aria-hidden="true"> '+e.settings.delimiter+" </div>":"")+'<div role="button" class="'+o+"path-item"+(n==r-1?" "+o+"last":"")+'" data-index="'+n+'" tabindex="-1" id="'+e._id+"-"+n+'" aria-level="'+n+'">'+t[n].name+"</div>";return i||(i='<div class="'+o+'path-item">\xa0</div>'),i}})}),r(Pe,[He,he],function(e,t){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var n=this,r=t.activeEditor;return r.settings.elementpath!==!1&&(n.on("select",function(e){r.focus(),r.selection.select(this.data()[e.index].element),r.nodeChanged()}),r.on("nodeChange",function(t){for(var i=[],o=t.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=r.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}n.data(i)})),n._super()}})}),r(Oe,[J],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.addClass("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Ie,[J,Oe,d],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},recalcLabels:function(){var e=this,t=0,n=[],r,i,o;if(e.settings.labelGapCalc!==!1)for(o="children"==e.settings.labelGapCalc?e.find("formitem"):e.items(),o.filter("formitem").each(function(e){var r=e.items()[0],i=r.getEl().clientWidth;t=i>t?i:t,n.push(r)}),i=e.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=t+i},visible:function(e){var t=this._super(e);return e===!0&&this._rendered&&this.recalcLabels(),t},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.recalcLabels(),e.fromJSON(e.settings.data)}})}),r(Fe,[Ie],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}})}),r(ze,[Re,d],function(e,t){return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),(!s||s[e.filetype])&&(a=i.file_picker_callback,!a||s&&!s[e.filetype]?(a=i.file_browser_callback,!a||s&&!s[e.filetype]||(o=function(){a(n.getEl("inp").id,n.value(),e.filetype,window)})):o=function(){var i=n.fire("beforecall").meta;i=t.extend({filetype:e.filetype},i),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),i)}),o&&(e.icon="browse",e.onaction=o),n._super(e)}})}),r(We,[_e],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox();e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Ve,[_e],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v=[],y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I,F,z=Math.max,W=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e._paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,c=a.spacing||0,("row-reversed"==f||"column-reverse"==f)&&(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(k="y",E="h",N="minH",S="maxH",R="innerH",T="top",A="deltaH",B="contentH",P="left",M="w",D="x",L="innerW",H="minW",O="right",I="deltaW",F="contentW"):(k="x",E="w",N="minW",S="maxW",R="innerW",T="left",A="deltaW",B="contentW",P="top",M="h",D="y",L="innerH",H="minH",O="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],_=u=0,t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),m=p.settings,g=m.flex,d-=n-1>t?c:0,g>0&&(u+=g,h[S]&&v.push(p),h.flex=g),d-=h[N],y=o[P]+h[H]+o[O],y>_&&(_=y);if(x={},0>d?x[N]=i[N]-d+i[A]:x[N]=i[R]-d+i[A],x[H]=_+i[I],x[B]=i[R]-d,x[F]=_,x.minW=W(x.minW,i.maxW),x.minH=W(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/u,t=0,n=v.length;n>t;t++)p=v[t],h=p.layoutRect(),b=h[S],y=h[N]+h.flex*C,y>b?(d-=h[S]-h[N],u-=h.flex,h.flex=0,h.maxFlexSize=b):h.maxFlexSize=0;for(C=d/u,w=o[T],x={},0===u&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],0>w&&(w=o[T])):"justify"==l&&(w=o[T],c=Math.floor(d/(r.length-1)))),x[D]=o[P],t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),y=h.maxFlexSize||h[N],"center"===s?x[D]=Math.round(i[L]/2-h[M]/2):"stretch"===s?(x[M]=z(h[H]||0,i[L]-o[P]-o[O]),x[D]=o[P]):"end"===s&&(x[D]=i[L]-h[M]-o.top),h.flex>0&&(y+=h.flex*C),x[E]=y,x[k]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+c}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var V=e.parent();V&&(V._lastRect=null,V.recalc())}}})}),r(Ue,[we],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})}})}),r($e,[K,Ne,re,d,he,u],function(e,t,n,r,i,o){function a(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;s(i.parents,function(e){return s(t,function(t){return n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a?!1:void 0}),a?!1:void 0}),r.value(a)})}}function r(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function i(){function t(e){var n=[];if(e)return s(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){s(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){return this.settings.format?e.formatter.getCssText(this.settings.format):void 0},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&l(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function o(t){return function(){function n(){return e.undoManager?e.undoManager[t]():!1}var r=this;t="redo"==t?"hasRedo":"hasUndo",r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos",function(){r.disabled(!n())})}}function a(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function l(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var c;c=i(),s({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})},onclick:function(){l(n)}})}),s({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),s({blockquote:["Blockquote","mceBlockQuote"],numlist:["Numbered list","InsertOrderedList"],bullist:["Bullet list","InsertUnorderedList"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})}})}),e.addButton("undo",{tooltip:"Undo",onPostRender:o("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:o("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:a,cmd:"mceToggleVisualAid"}),s({cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"],bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{
-text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{type:"menubutton",text:"Formats",menu:c}),e.addButton("formatselect",function(){var n=[],i=r(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");return s(i,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:i[0][0],values:n,fixedWidth:!0,onselect:l,onPostRender:t(n)}}),e.addButton("fontselect",function(){var n="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=r(e.settings.font_formats||n);return s(o,function(e){i.push({text:{raw:e[0]},value:e[1],textStyle:-1==e[1].indexOf("dings")?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:t(i,"fontname"),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var n=[],r="8pt 10pt 12pt 14pt 18pt 24pt 36pt",i=e.settings.fontsize_formats||r;return s(i.split(" "),function(e){var t=e,r=e,i=e.split("=");i.length>1&&(t=i[0],r=i[1]),n.push({text:t,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:n,fixedWidth:!0,onPostRender:t(n,"fontsize"),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:c})}var s=r.each;i.on("AddEditor",function(t){t.editor.rtl&&(e.rtl=!0),a(t.editor)}),e.translate=function(e){return i.translate(e)},t.tooltips=!o.iOS}),r(qe,[_e],function(e){return e.extend({recalc:function(e){var t=e.settings,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E=[],N=[],k,S,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e._paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]);for(d=0;r>d;d++)E.push(0);for(f=0;n>f;f++)N.push(0);for(f=0;n>f;f++)for(d=0;r>d&&(u=i[f*r+d],u);d++)c=u.layoutRect(),k=c.minW,S=c.minH,E[d]=k>E[d]?k:E[d],N[f]=S>N[f]?S:N[f];for(T=o.innerW-g.left-g.right,w=0,d=0;r>d;d++)w+=E[d]+(d>0?y:0),T-=(d>0?y:0)+E[d];for(R=o.innerH-g.top-g.bottom,_=0,f=0;n>f;f++)_+=N[f]+(f>0?b:0),R-=(f>0?b:0)+N[f];if(w+=g.left+g.right,_+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=_+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,M=t.flexWidths;if(M)for(d=0;d<M.length;d++)L+=M[d];else L=r;var H=T/L;for(d=0;r>d;d++)E[d]+=M?M[d]*H:H;for(h=g.top,f=0;n>f;f++){for(p=g.left,s=N[f]+D,d=0;r>d&&(B=A?f*r+r-1-d:f*r+d,u=i[B],u);d++)m=u.settings,c=u.layoutRect(),a=Math.max(E[d],c.startMinWidth),c.x=p,c.y=h,v=m.alignH||(C?C[d]||C[0]:null),"center"==v?c.x=p+a/2-c.w/2:"right"==v?c.x=p+a-c.w:"stretch"==v&&(c.w=a),v=m.alignV||(x?x[d]||x[0]:null),"center"==v?c.y=h+s/2-c.h/2:"bottom"==v?c.y=h+s-c.h:"stretch"==v&&(c.h=s),u.layoutRect(c),p+=a+y,u.recalc&&u.recalc();h+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var P=e.parent();P&&(P._lastRect=null,P.recalc())}}})}),r(je,[Ne],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes()+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,r=this.getEl().contentWindow.document.body;return r?(r.innerHTML=e,t&&t()):setTimeout(function(){n.html(e)},0),this}})}),r(Ye,[Ne,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("widget"),t.addClass("label"),t.canFocus=!1,e.multiline&&t.addClass("autoscroll"),e.strong&&t.addClass("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.addClass("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},text:function(e){var t=this;return t._rendered&&e&&this.innerHtml(t.encode(e)),t._super(e)},renderHtml:function(){var e=this,t=e.settings.forId;return'<label id="'+e._id+'" class="'+e.classes()+'"'+(t?' for="'+t+'"':"")+">"+e.encode(e._text)+"</label>"}})}),r(Ke,[J],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.addClass("toolbar")},postRender:function(){var e=this;return e.items().addClass("toolbar-item"),e._super()}})}),r(Ge,[Ke],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(Xe,[ke,G,Ge],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),t.addClass("menubtn"),e.fixedWidth&&t.addClass("fixed-width"),t.aria("haspopup",!0),t.hasPopup=!0},showMenu:function(){var e=this,n=e.settings,r;return e.menu&&e.menu.visible()?e.hideMenu():(e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control.parent()===e.menu&&(t.stopPropagation(),e.focus(),e.hideMenu())}),e.menu.on("select",function(){e.focus()}),e.menu.on("show hide",function(t){t.control==e.menu&&e.activeMenu("show"==t.type),e.aria("expanded","show"==t.type)}).fire("show")),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),void e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.toggleClass("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o;return o=e.settings.image,o?(i="none","string"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=" style=\"background-image: url('"+o+"')\""):o="",i=e.settings.icon?r+"ico "+r+"i-"+i:"",e.aria("role",e.parent()instanceof n?"menuitem":"button"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button id="'+t+'-open" role="presentation" type="button" tabindex="-1">'+(i?'<i class="'+i+'"'+o+"></i>":"")+"<span>"+(e._text?(i?"\xa0":"")+e.encode(e._text):"")+'</span> <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.showMenu(),t.aria&&e.menu.items()[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},text:function(e){var t=this,n,r;if(t._rendered)for(r=t.getEl("open").getElementsByTagName("span"),n=0;n<r.length;n++)r[n].innerHTML=(t.settings.icon&&e?"\xa0":"")+t.encode(e);return this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Je,[Xe],function(e){return e.extend({init:function(e){function t(r){for(var a=0;a<r.length;a++){if(i=r[a].selected||e.value===r[a].value){o=o||r[a].text,n._value=r[a].value;break}r[a].menu&&t(r[a].menu)}}var n=this,r,i,o,a;n._values=r=e.values,r&&(t(r),!i&&r.length>0&&(o=r[0].text,n._value=r[0].value),e.menu=r),e.text=e.text||o||r[0].text,n._super(e),n.addClass("listbox"),n.on("select",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.settings.value),a=r})},value:function(e){function t(e,n){e.items().each(function(e){i=e.value()===n,i&&(o=o||e.text()),e.active(i),e.menu&&t(e.menu,n)})}function n(t){for(var r=0;r<t.length;r++)i=t[r].value==e,i&&(o=o||t[r].text),t[r].active=i,t[r].menu&&n(t[r].menu)}var r=this,i,o,a;return"undefined"!=typeof e&&(r.menu?t(r.menu,e):(a=r.settings.menu,n(a)),r.text(o||this.settings.text)),r._super(e)}})}),r(Qe,[Ne,G,u],function(e,t,n){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this;t.hasPopup=!0,t._super(e),e=t.settings,t.addClass("menu-item"),e.menu&&t.addClass("menu-item-expand"),e.preview&&t.addClass("menu-item-preview"),("-"===t._text||"|"===t._text)&&(t.addClass("menu-item-sep"),t.aria("role","separator"),t._text="-"),e.selectable&&(t.aria("role","menuitemcheckbox"),t.addClass("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.addClass("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.removeClass("selected")}),r.submenu=!0),r._parentMenu=i,r.addClass("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.removeClass(r._lastRel),r.addClass(o),r._lastRel=o,e.addClass("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){function e(e){var t,r,i={};for(i=n.mac?{alt:"&#x2325;",ctrl:"&#x2318;",shift:"&#x21E7;",meta:"&#x2318;"}:{meta:"Ctrl"},e=e.split("+"),t=0;t<e.length;t++)r=i[e[t].toLowerCase()],r&&(e[t]=r);return e.join("+")}var t=this,r=t._id,i=t.settings,o=t.classPrefix,a=t.encode(t._text),s=t.settings.icon,l="",c=i.shortcut;return s&&t.parent().addClass("menu-has-icons"),i.image&&(s="none",l=" style=\"background-image: url('"+i.image+"')\""),c&&(c=e(c)),s=o+"ico "+o+"i-"+(t.settings.icon||"none"),'<div id="'+r+'" class="'+t.classes()+'" tabindex="-1">'+("-"!==a?'<i class="'+s+'"'+l+"></i>\xa0":"")+("-"!==a?'<span id="'+r+'-text" class="'+o+'text">'+a+"</span>":"")+(c?'<div id="'+r+'-shortcut" class="'+o+'menu-shortcut">'+c+"</div>":"")+(i.menu?'<div class="'+o+'caret"></div>':"")+"</div>"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var r=e.getEl("text");r&&r.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),e.parent().hideAll()))}),e._super(),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(Ze,[re,Qe,d],function(e,t,n){var r=e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,e.itemDefaults)for(var r=e.items,i=r.length;i--;)r[i]=n.extend({},e.itemDefaults,r[i]);t._super(e),t.addClass("menu")},repaint:function(){return this.toggleClass("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;return n.icon||n.selectable?(e._hasIcons=!0,!1):void 0}),e._super()}});return r}),r(et,[Te],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(tt,[Ne,Q],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.addClass("resizehandle"),"both"==e.settings.direction&&e.addClass("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(nt,[Ne],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("spacer"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"></div>'}})}),r(rt,[Xe,Y],function(e,t){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,n=e.getEl(),r=e.layoutRect(),i,o;return e._super(),i=n.firstChild,o=n.lastChild,t.css(i,{width:r.w-t.getSize(o).width,height:r.h-2}),t.css(o,{height:r.h-2}),e},activeMenu:function(e){var n=this;t.toggleClass(n.getEl().lastChild,n.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.settings.icon;return r=e.settings.image,r?(i="none","string"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=" style=\"background-image: url('"+r+"')\""):r="",i=e.settings.icon?n+"ico "+n+"i-"+i:"",'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(i?'<i class="'+i+'"'+r+"></i>":"")+(e._text?(i?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(i?"\xa0":"")+e._menuBtnText:"")+' <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&-1==n.className.indexOf("open"))return e.stopImmediatePropagation(),void t.call(this,e);n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(it,[Ue],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"}})}),r(ot,[ee,Y],function(e,t){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t.removeClass(n,this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t.addClass(n,this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+r+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+r+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(t.target.parentNode.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,n,r,i;r=t.getSize(e.getEl("head")).width,r=0>r?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=t.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,n=e._super(),n.deltaH+=o,n.innerH=n.h-n.deltaH,n}})}),r(at,[Ne,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t._value=e.value||"",t.addClass("textbox"),e.multiline?t.addClass("multiline"):t.on("keydown",function(e){13==e.keyCode&&t.parents().reverse().each(function(t){return e.preventDefault(),t.hasEventListeners("submit")&&t.toJSON?(t.fire("submit",{data:t.toJSON()}),!1):void 0})})},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl().disabled=e),t._super(e)},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().value=e),t):t._rendered?t.getEl().value:t._value},repaint:function(){var e=this,t,n,r,i=0,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e._borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.encode(e._value,!1),i="";return"spellcheck"in n&&(i+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(i+=' maxlength="'+n.maxLength+'"'),n.size&&(i+=' size="'+n.size+'"'),n.subtype&&(i+=' type="'+n.subtype+'"'),e.disabled()&&(i+=' disabled="disabled"'),n.multiline?'<textarea id="'+t+'" class="'+e.classes()+'" '+(n.rows?' rows="'+n.rows+'"':"")+' hidefocus="1"'+i+">"+r+"</textarea>":'<input id="'+t+'" class="'+e.classes()+'" value="'+r+'" hidefocus="1"'+i+" />"},postRender:function(){var e=this;return t.on(e.getEl(),"change",function(t){e.fire("change",t)}),e._super()},remove:function(){t.off(this.getEl()),this._super()}})}),r(st,[Y,K],function(e,t){return function(n,r){var i=this,o,a=t.classPrefix;i.show=function(t){return i.hide(),o=!0,window.setTimeout(function(){o&&n.appendChild(e.createFragment('<div class="'+a+"throbber"+(r?" "+a+"throbber-inline":"")+'"></div>'))},t||0),i},i.hide=function(){var e=n.lastChild;return e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,i}}}),a([l,c,u,d,f,p,h,m,g,y,b,C,x,_,E,N,k,S,T,R,A,B,D,L,M,H,O,I,F,z,W,V,U,$,q,j,Y,K,G,X,J,Q,Z,ee,te,ne,re,ie,oe,ae,se,le,ce,ue,de,fe,pe,he,me,ge,ve,ye,be,Ce,xe,we,_e,Ee,Ne,ke,Se,Te,Re,Ae,Be,De,Le,Me,He,Pe,Oe,Ie,Fe,ze,We,Ve,Ue,$e,qe,je,Ye,Ke,Ge,Xe,Je,Qe,Ze,et,tt,nt,rt,it,ot,at,st])}(this);
\ No newline at end of file
+// 4.2.3 (2015-07-30)
+!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i]),!n)throw"module definition dependecy not found: "+e[i];r.push(n)}t.apply(null,r)}function r(e,r,i){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(r===t)throw"invalid module definition, dependencies must be specified";if(i===t)throw"invalid module definition, definition function must be specified";n(r,function(){s[e]=i.apply(null,arguments)})}function i(e){return!!s[e]}function o(t){for(var n=e,r=t.split(/[.\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function a(n){for(var r=0;r<n.length;r++){for(var i=e,o=n[r],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)i[a[l]]===t&&(i[a[l]]={}),i=i[a[l]];i[a[a.length-1]]=s[o]}}var s={},l="tinymce/dom/EventUtils",c="tinymce/dom/Sizzle",u="tinymce/Env",d="tinymce/util/Tools",f="tinymce/dom/DomQuery",h="tinymce/html/Styles",p="tinymce/dom/TreeWalker",m="tinymce/dom/Range",g="tinymce/html/Entities",v="tinymce/dom/StyleSheetLoader",y="tinymce/dom/DOMUtils",b="tinymce/dom/ScriptLoader",x="tinymce/AddOnManager",C="tinymce/dom/RangeUtils",w="tinymce/NodeChange",_="tinymce/html/Node",E="tinymce/html/Schema",N="tinymce/html/SaxParser",S="tinymce/html/DomParser",k="tinymce/html/Writer",T="tinymce/html/Serializer",R="tinymce/dom/Serializer",A="tinymce/dom/TridentSelection",B="tinymce/util/VK",D="tinymce/dom/ControlSelection",L="tinymce/dom/BookmarkManager",M="tinymce/dom/Selection",H="tinymce/dom/ElementUtils",P="tinymce/fmt/Preview",O="tinymce/Formatter",I="tinymce/UndoManager",F="tinymce/EnterKey",z="tinymce/ForceBlocks",W="tinymce/EditorCommands",V="tinymce/util/URI",U="tinymce/util/Class",$="tinymce/util/EventDispatcher",q="tinymce/data/Binding",j="tinymce/util/Observable",K="tinymce/data/ObservableObject",Y="tinymce/ui/Selector",G="tinymce/ui/Collection",X="tinymce/ui/DomUtils",J="tinymce/ui/BoxUtils",Q="tinymce/ui/ClassList",Z="tinymce/ui/ReflowQueue",ee="tinymce/ui/Control",te="tinymce/ui/Factory",ne="tinymce/ui/KeyboardNavigation",re="tinymce/ui/Container",ie="tinymce/ui/DragHelper",oe="tinymce/ui/Scrollable",ae="tinymce/ui/Panel",se="tinymce/ui/Movable",le="tinymce/ui/Resizable",ce="tinymce/ui/FloatPanel",ue="tinymce/ui/Window",de="tinymce/ui/MessageBox",fe="tinymce/WindowManager",he="tinymce/util/Quirks",pe="tinymce/EditorObservable",me="tinymce/Shortcuts",ge="tinymce/util/Promise",ve="tinymce/file/Uploader",ye="tinymce/file/Conversions",be="tinymce/file/ImageScanner",xe="tinymce/file/BlobCache",Ce="tinymce/EditorUpload",we="tinymce/Editor",_e="tinymce/util/I18n",Ee="tinymce/FocusManager",Ne="tinymce/EditorManager",Se="tinymce/LegacyInput",ke="tinymce/util/XHR",Te="tinymce/util/JSON",Re="tinymce/util/JSONRequest",Ae="tinymce/util/JSONP",Be="tinymce/util/LocalStorage",De="tinymce/Compat",Le="tinymce/ui/Layout",Me="tinymce/ui/AbsoluteLayout",He="tinymce/ui/Tooltip",Pe="tinymce/ui/Widget",Oe="tinymce/ui/Button",Ie="tinymce/ui/ButtonGroup",Fe="tinymce/ui/Checkbox",ze="tinymce/ui/ComboBox",We="tinymce/ui/ColorBox",Ve="tinymce/ui/PanelButton",Ue="tinymce/ui/ColorButton",$e="tinymce/util/Color",qe="tinymce/ui/ColorPicker",je="tinymce/ui/Path",Ke="tinymce/ui/ElementPath",Ye="tinymce/ui/FormItem",Ge="tinymce/ui/Form",Xe="tinymce/ui/FieldSet",Je="tinymce/ui/FilePicker",Qe="tinymce/ui/FitLayout",Ze="tinymce/ui/FlexLayout",et="tinymce/ui/FlowLayout",tt="tinymce/ui/FormatControls",nt="tinymce/ui/GridLayout",rt="tinymce/ui/Iframe",it="tinymce/ui/Label",ot="tinymce/ui/Toolbar",at="tinymce/ui/MenuBar",st="tinymce/ui/MenuButton",lt="tinymce/ui/MenuItem",ct="tinymce/ui/Menu",ut="tinymce/ui/ListBox",dt="tinymce/ui/Radio",ft="tinymce/ui/Rect",ht="tinymce/ui/ResizeHandle",pt="tinymce/ui/Slider",mt="tinymce/ui/Spacer",gt="tinymce/ui/SplitButton",vt="tinymce/ui/StackLayout",yt="tinymce/ui/TabPanel",bt="tinymce/ui/TextBox",xt="tinymce/ui/Throbber";r(l,[],function(){function e(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function n(e,t){function n(){return!1}function r(){return!0}var i,o=t||{},l;for(i in e)s[i]||(o[i]=e[i]);if(o.target||(o.target=o.srcElement||document),e&&a.test(e.type)&&e.pageX===l&&e.clientX!==l){var c=o.target.ownerDocument||document,u=c.documentElement,d=c.body;o.pageX=e.clientX+(u&&u.scrollLeft||d&&d.scrollLeft||0)-(u&&u.clientLeft||d&&d.clientLeft||0),o.pageY=e.clientY+(u&&u.scrollTop||d&&d.scrollTop||0)-(u&&u.clientTop||d&&d.clientTop||0)}return o.preventDefault=function(){o.isDefaultPrevented=r,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},o.stopPropagation=function(){o.isPropagationStopped=r,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},o.stopImmediatePropagation=function(){o.isImmediatePropagationStopped=r,o.stopPropagation()},o.isDefaultPrevented||(o.isDefaultPrevented=n,o.isPropagationStopped=n,o.isImmediatePropagationStopped=n),"undefined"==typeof o.metaKey&&(o.metaKey=!1),o}function r(n,r,i){function o(){i.domLoaded||(i.domLoaded=!0,r(c))}function a(){("complete"===l.readyState||"interactive"===l.readyState&&l.body)&&(t(l,"readystatechange",a),o())}function s(){try{l.documentElement.doScroll("left")}catch(e){return void setTimeout(s,0)}o()}var l=n.document,c={type:"ready"};return i.domLoaded?void r(c):(l.addEventListener?"complete"===l.readyState?o():e(n,"DOMContentLoaded",o):(e(l,"readystatechange",a),l.documentElement.doScroll&&n.self===n.top&&s()),void e(n,"load",o))}function i(){function i(e,t){var n,r,i,o,a=s[t];if(n=a&&a[e.type])for(r=0,i=n.length;i>r;r++)if(o=n[r],o&&o.func.call(o.scope,e)===!1&&e.preventDefault(),e.isImmediatePropagationStopped())return}var a=this,s={},l,c,u,d,f;c=o+(+new Date).toString(32),d="onmouseenter"in document.documentElement,u="onfocusin"in document.documentElement,f={mouseenter:"mouseover",mouseleave:"mouseout"},l=1,a.domLoaded=!1,a.events=s,a.bind=function(t,o,h,p){function m(e){i(n(e||_.event),g)}var g,v,y,b,x,C,w,_=window;if(t&&3!==t.nodeType&&8!==t.nodeType){for(t[c]?g=t[c]:(g=l++,t[c]=g,s[g]={}),p=p||t,o=o.split(" "),y=o.length;y--;)b=o[y],C=m,x=w=!1,"DOMContentLoaded"===b&&(b="ready"),a.domLoaded&&"ready"===b&&"complete"==t.readyState?h.call(p,n({type:b})):(d||(x=f[b],x&&(C=function(e){var t,r;if(t=e.currentTarget,r=e.relatedTarget,r&&t.contains)r=t.contains(r);else for(;r&&r!==t;)r=r.parentNode;r||(e=n(e||_.event),e.type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,i(e,g))})),u||"focusin"!==b&&"focusout"!==b||(w=!0,x="focusin"===b?"focus":"blur",C=function(e){e=n(e||_.event),e.type="focus"===e.type?"focusin":"focusout",i(e,g)}),v=s[g][b],v?"ready"===b&&a.domLoaded?h({type:b}):v.push({func:h,scope:p}):(s[g][b]=v=[{func:h,scope:p}],v.fakeName=x,v.capture=w,v.nativeHandler=C,"ready"===b?r(t,C,a):e(t,x||b,C,w)));return t=v=0,h}},a.unbind=function(e,n,r){var i,o,l,u,d,f;if(!e||3===e.nodeType||8===e.nodeType)return a;if(i=e[c]){if(f=s[i],n){for(n=n.split(" "),l=n.length;l--;)if(d=n[l],o=f[d]){if(r)for(u=o.length;u--;)if(o[u].func===r){var h=o.nativeHandler,p=o.fakeName,m=o.capture;o=o.slice(0,u).concat(o.slice(u+1)),o.nativeHandler=h,o.fakeName=p,o.capture=m,f[d]=o}r&&0!==o.length||(delete f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture))}}else{for(d in f)o=f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture);f={}}for(d in f)return a;delete s[i];try{delete e[c]}catch(g){e[c]=null}}return a},a.fire=function(e,t,r){var o;if(!e||3===e.nodeType||8===e.nodeType)return a;r=n(null,r),r.type=t,r.target=e;do o=e[c],o&&i(r,o),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow;while(e&&!r.isPropagationStopped());return a},a.clean=function(e){var t,n,r=a.unbind;if(!e||3===e.nodeType||8===e.nodeType)return a;if(e[c]&&r(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(r(e),n=e.getElementsByTagName("*"),t=n.length;t--;)e=n[t],e[c]&&r(e);return a},a.destroy=function(){s={}},a.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}}var o="mce-data-",a=/^(?:mouse|contextmenu)|click/,s={keyLocation:1,layerX:1,layerY:1,returnValue:1,webkitMovementX:1,webkitMovementY:1};return i.Event=new i,i.Event.bind(window,"ready",function(){}),i}),r(c,[],function(){function e(e,t,n,r){var i,o,a,s,l,c,d,h,p,m;if((t?t.ownerDocument||t:z)!==D&&B(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(M&&!r){if(i=ve.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&I(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&C.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(C.qsa&&(!H||!H.test(e))){if(h=d=F,p=t,m=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=N(e),(d=t.getAttribute("id"))?h=d.replace(be,"\\$&"):t.setAttribute("id",h),h="[id='"+h+"'] ",l=c.length;l--;)c[l]=h+f(c[l]);p=ye.test(e)&&u(t.parentNode)||t,m=c.join(",")}if(m)try{return Z.apply(n,p.querySelectorAll(m)),n}catch(g){}finally{d||t.removeAttribute("id")}}}return k(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||Y)-(~e.sourceIndex||Y);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&typeof e.getElementsByTagName!==K&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function h(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=V++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[F]||(t[F]={}),(s=l[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(l[r]=c,c[2]=e(t,n,a))return!0}}}function p(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;o>i;i++)e(t,n[i],r);return r}function g(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),c&&t.push(s));return a}function v(e,t,n,i,o,a){return i&&!i[F]&&(i=v(i)),o&&!o[F]&&(o=v(o,a)),r(function(r,a,s,l){var c,u,d,f=[],h=[],p=a.length,v=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?v:g(v,f,e,s,l),b=n?o||(r?e:p||i)?[]:a:y;if(n&&n(y,b,s,l),i)for(c=g(b,h),i(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[h[u]]=!(y[h[u]]=d));if(r){if(o||e){if(o){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(y[u]=d);o(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=o?te.call(r,d):f[u])>-1&&(r[c]=!(a[c]=d))}}else b=g(b===a?b.splice(p,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=h(function(e){return e===t},a,!0),c=h(function(e){return te.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];i>s;s++)if(n=w.relative[e[s].type])u=[h(p(u),n)];else{if(n=w.filter[e[s].type].apply(null,e[s].matches),n[F]){for(r=++s;i>r&&!w.relative[e[r].type];r++);return v(s>1&&p(u),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,r>s&&y(e.slice(s,r)),i>r&&y(e=e.slice(r)),i>r&&f(e))}u.push(n)}return p(u)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,l,c){var u,d,f,h=0,p="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",c),x=W+=null==y?1:Math.random()||.1,C=b.length;for(c&&(T=a!==D&&a);p!==C&&null!=(u=b[p]);p++){if(o&&u){for(d=0;f=t[d++];)if(f(u,a,s)){l.push(u);break}c&&(W=x)}i&&((u=!f&&u)&&h--,r&&m.push(u))}if(h+=p,i&&p!==h){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(h>0)for(;p--;)m[p]||v[p]||(v[p]=J.call(l));v=g(v)}Z.apply(l,v),c&&!r&&v.length>0&&h+n.length>1&&e.uniqueSort(l)}return c&&(W=x,T=y),m};return i?r(a):a}var x,C,w,_,E,N,S,k,T,R,A,B,D,L,M,H,P,O,I,F="sizzle"+-new Date,z=window.document,W=0,V=0,U=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},K=typeof t,Y=1<<31,G={}.hasOwnProperty,X=[],J=X.pop,Q=X.push,Z=X.push,ee=X.slice,te=X.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},ne="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",re="[\\x20\\t\\r\\n\\f]",ie="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",oe="\\["+re+"*("+ie+")(?:"+re+"*([*^$|!~]?=)"+re+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+re+"*\\]",ae=":("+ie+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",se=new RegExp("^"+re+"+|((?:^|[^\\\\])(?:\\\\.)*)"+re+"+$","g"),le=new RegExp("^"+re+"*,"+re+"*"),ce=new RegExp("^"+re+"*([>+~]|"+re+")"+re+"*"),ue=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(ae),fe=new RegExp("^"+ie+"$"),he={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},pe=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=/'|\\/g,xe=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),Ce=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(X=ee.call(z.childNodes),z.childNodes),X[z.childNodes.length].nodeType}catch(we){Z={apply:X.length?function(e,t){Q.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}C=e.support={},E=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},B=e.setDocument=function(e){var t,n=e?e.ownerDocument||e:z,r=n.defaultView;return n!==D&&9===n.nodeType&&n.documentElement?(D=n,L=n.documentElement,M=!E(n),r&&r!==r.top&&(r.addEventListener?r.addEventListener("unload",function(){B()},!1):r.attachEvent&&r.attachEvent("onunload",function(){B()})),C.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=i(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=ge.test(n.getElementsByClassName),C.getById=i(function(e){return L.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),C.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==K&&M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(xe,Ce);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(xe,Ce);return function(e){var n=typeof e.getAttributeNode!==K&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=C.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==K?t.getElementsByTagName(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=C.getElementsByClassName&&function(e,t){return M?t.getElementsByClassName(e):void 0},P=[],H=[],(C.qsa=ge.test(n.querySelectorAll))&&(i(function(e){e.innerHTML="<select msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&H.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||H.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll(":checked").length||H.push(":checked")}),i(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&H.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||H.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),H.push(",.*:")})),(C.matchesSelector=ge.test(O=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){C.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),P.push("!=",ae)}),H=H.length&&new RegExp(H.join("|")),P=P.length&&new RegExp(P.join("|")),t=ge.test(L.compareDocumentPosition),I=t||ge.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return A=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!C.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===z&&I(z,e)?-1:t===n||t.ownerDocument===z&&I(z,t)?1:R?te.call(R,e)-te.call(R,t):0:4&r?-1:1)}:function(e,t){if(e===t)return A=!0,0;var r,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(!o||!s)return e===n?-1:t===n?1:o?-1:s?1:R?te.call(R,e)-te.call(R,t):0;if(o===s)return a(e,t);for(r=e;r=r.parentNode;)l.unshift(r);for(r=t;r=r.parentNode;)c.unshift(r);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===z?-1:c[i]===z?1:0},n):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ue,"='$1']"),!(!C.matchesSelector||!M||P&&P.test(n)||H&&H.test(n)))try{var r=O.call(t,n);if(r||C.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&G.call(w.attrHandle,n.toLowerCase())?r(e,n,!M):t;return i!==t?i:C.attributes||!M?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!C.detectDuplicates,R=!C.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},_=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=_(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,Ce),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,Ce),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,Ce).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==K&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,h,p,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=m="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?g.firstChild:g.lastChild],a&&y){for(u=g[F]||(g[F]={}),c=u[e]||[],h=c[0]===W&&c[1],f=c[0]===W&&c[2],d=h&&g.childNodes[h];d=++h&&d&&d[m]||(f=h=0)||p.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[W,h,f];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===W)f=c[1];else for(;(d=++h&&d&&d[m]||(f=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[W,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=te.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=S(e.replace(se,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(xe,Ce),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:r(function(t){return fe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(xe,Ce).toLowerCase(),function(e){var n;do if(n=M?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[x]=s(x);for(x in{submit:!0,reset:!0})w.pseudos[x]=l(x);return d.prototype=w.filters=w.pseudos,w.setFilters=new d,N=e.tokenize=function(t,n){var r,i,o,a,s,l,c,u=$[t+" "];if(u)return n?0:u.slice(0);for(s=t,l=[],c=w.preFilter;s;){(!r||(i=le.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ce.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),s=s.slice(r.length));for(a in w.filter)!(i=he[a].exec(s))||c[a]&&!(i=c[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):$(t,l).slice(0)},S=e.compile=function(e,t){var n,r=[],i=[],o=q[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=y(t[n]),o[F]?r.push(o):i.push(o);o=q(e,b(i,r)),o.selector=e}return o},k=e.select=function(e,t,n,r){var i,o,a,s,l,c="function"==typeof e&&e,d=!r&&N(e=c.selector||e);if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&C.getById&&9===t.nodeType&&M&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(xe,Ce),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(xe,Ce),ye.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(c||S(e,d))(r,t,!M,n,ye.test(e)&&u(t.parentNode)||t),n},C.sortStable=F.split("").sort(j).join("")===F,C.detectDuplicates=!!A,B(),C.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),C.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ne,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(u,[],function(){var e=navigator,t=e.userAgent,n,r,i,o,a,s,l,c,u,d;n=window.opera&&window.opera.buildNumber,u=/Android/.test(t),r=/WebKit/.test(t),i=!r&&!n&&/MSIE/gi.test(t)&&/Explorer/gi.test(e.appName),i=i&&/MSIE (\w+)\./.exec(t)[1],o=-1==t.indexOf("Trident/")||-1==t.indexOf("rv:")&&-1==e.appName.indexOf("Netscape")?!1:11,a=!document.msElementsFromPoint||i||o?!1:12,i=i||o||a,s=!r&&!o&&/Gecko/.test(t),l=-1!=t.indexOf("Mac"),c=/(iPad|iPhone)/.test(t),d="FormData"in window&&"FileReader"in window&&"URL"in window&&!!URL.createObjectURL,a&&(r=!1);var f=!c||d||t.match(/AppleWebKit\/(\d*)/)[1]>=534;return{opera:n,webkit:r,ie:i,gecko:s,mac:l,iOS:c,android:u,contentEditable:f,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=i,range:window.getSelection&&"Range"in window,documentMode:i&&!a?document.documentMode||7:10,fileApi:d}}),r(d,[u],function(e){function n(e){return null===e||e===t?"":(""+e).replace(y,"")}function r(e,n){return n?"array"==n&&b(e)?!0:typeof e==n:e!==t}function i(e){var t=e,n,r;if(!b(e))for(t=[],n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function o(e,t,n){var r;for(e=e||[],t=t||",","string"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n}function a(e,n,r){var i,o;if(!e)return 0;if(r=r||e,e.length!==t){for(i=0,o=e.length;o>i;i++)if(n.call(r,e[i],i,e)===!1)return 0}else for(i in e)if(e.hasOwnProperty(i)&&n.call(r,e[i],i,e)===!1)return 0;return 1}function s(e,t){var n=[];return a(e,function(e){n.push(t(e))}),n}function l(e,t){var n=[];return a(e,function(e){(!t||t(e))&&n.push(e)}),n}function c(e,t,n){var r=this,i,o,a,s,l,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),a=e[3].match(/(^|\.)(\w+)$/i)[2],o=r.createNS(e[3].replace(/\.\w+$/,""),n),!o[a]){if("static"==e[2])return o[a]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[a]));t[a]||(t[a]=function(){},c=1),o[a]=t[a],r.extend(o[a].prototype,t),e[5]&&(i=r.resolve(e[5]).prototype,s=e[5].match(/\.(\w+)$/i)[1],l=o[a],c?o[a]=function(){return i[s].apply(this,arguments)}:o[a]=function(){return this.parent=i[s],l.apply(this,arguments)},o[a].prototype[a]=o[a],r.each(i,function(e,t){o[a].prototype[t]=i[t]}),r.each(t,function(e,t){i[t]?o[a].prototype[t]=function(){return this.parent=i[t],e.apply(this,arguments)}:t!=a&&(o[a].prototype[t]=e)})),r.each(t["static"],function(e,t){o[a][t]=e})}}function u(e,t){var n,r;if(e)for(n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function d(e,n){var r,i,o,a=arguments,s;for(r=1,i=a.length;i>r;r++){n=a[r];for(o in n)n.hasOwnProperty(o)&&(s=n[o],s!==t&&(e[o]=s))}return e}function f(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),a(e,function(e,i){return t.call(r,e,i,n)===!1?!1:void f(e,t,n,r)}))}function h(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)r=e[n],t[r]||(t[r]={}),t=t[r];return t}function p(e,t){var n,r;for(t=t||window,e=e.split("."),n=0,r=e.length;r>n&&(t=t[e[n]],t);n++);return t}function m(e,t){return!e||r(e,"array")?e:s(e.split(t||","),n)}function g(e){return function(){return e}}function v(t){var n=e.cacheSuffix;return n&&(t+=(-1===t.indexOf("?")?"?":"&")+n),t}var y=/^\s*|\s*$/g,b=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return{trim:n,isArray:b,is:r,toArray:i,makeMap:o,each:a,map:s,grep:l,filter:l,inArray:u,extend:d,create:c,walk:f,createNS:h,resolve:p,explode:m,constant:g,_addCacheSuffix:v}}),r(f,[l,c,d,u],function(e,n,r,i){function o(e){return"undefined"!=typeof e}function a(e){return"string"==typeof e}function s(e){return e&&e==e.window}function l(e,t){var n,r,i;for(t=t||w,i=t.createElement("div"),n=t.createDocumentFragment(),i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return n}function c(e,t,n,r){var i;if(a(t))t=l(t,v(e[0]));else if(t.length&&!t.nodeType){if(t=f.makeArray(t),r)for(i=t.length-1;i>=0;i--)c(e,t[i],n,r);else for(i=0;i<t.length;i++)c(e,t[i],n,r);return e}if(t.nodeType)for(i=e.length;i--;)n.call(e[i],t);return e}function u(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function d(e,t,n){var r,i;return t=f(t)[0],e.each(function(){var e=this;n&&r==e.parentNode?i.appendChild(e):(r=e.parentNode,i=t.cloneNode(!1),e.parentNode.insertBefore(i,e),i.appendChild(e))}),e}function f(e,t){return new f.fn.init(e,t)}function h(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1}function p(e){return null===e||e===k?"":(""+e).replace(M,"")}function m(e,t){var n,r,i,o,a;if(e)if(n=e.length,n===o){for(r in e)if(e.hasOwnProperty(r)&&(a=e[r],t.call(a,r,a)===!1))break}else for(i=0;n>i&&(a=e[i],t.call(a,i,a)!==!1);i++);return e}function g(e,t){var n=[];return m(e,function(e,r){t(r,e)&&n.push(r)}),n}function v(e){return e?9==e.nodeType?e:e.ownerDocument:w}function y(e,n,r){var i=[],o=e[n];for("string"!=typeof r&&r instanceof f&&(r=r[0]);o&&9!==o.nodeType;){if(r!==t){if(o===r)break;if("string"==typeof r&&f(o).is(r))break}1===o.nodeType&&i.push(o),o=o[n]}return i}function b(e,n,r,i){var o=[];for(i instanceof f&&(i=i[0]);e;e=e[n])if(!r||e.nodeType===r){if(i!==t){if(e===i)break;if("string"==typeof i&&f(e).is(i))break}o.push(e)}return o}function x(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType==n)return e;return null}function C(e,t,n){m(n,function(n,r){e[n]=e[n]||{},e[n][t]=r})}var w=document,_=Array.prototype.push,E=Array.prototype.slice,N=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,S=e.Event,k,T=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),R=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),A={"for":"htmlFor","class":"className",readonly:"readOnly"},B={"float":"cssFloat"},D={},L={},M=/^\s*|\s*$/g;return f.fn=f.prototype={
+constructor:f,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)_.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i<r.length;i++)n[i]=r[i];else _.apply(n,f.makeArray(e));return n},attr:function(e,t){var n=this,r;if("object"==typeof e)m(e,function(e,t){n.attr(e,t)});else{if(!o(t)){if(n[0]&&1===n[0].nodeType){if(r=D[e],r&&r.get)return r.get(n[0],e);if(R[e])return n.prop(e)?e:k;t=n[0].getAttribute(e,2),null===t&&(t=k)}return t}this.each(function(){var n;if(1===this.nodeType){if(n=D[e],n&&n.set)return void n.set(this,t);null===t?this.removeAttribute(e,2):this.setAttribute(e,t,2)}})}return n},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if(e=A[e]||e,"object"==typeof e)m(e,function(e,t){n.prop(e,t)});else{if(!o(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1==this.nodeType&&(this[e]=t)})}return n},css:function(e,t){function n(e){return e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()})}function r(e){return e.replace(/[A-Z]/g,function(e){return"-"+e})}var i=this,a,s;if("object"==typeof e)m(e,function(e,t){i.css(e,t)});else if(o(t))e=n(e),"number"!=typeof t||T[e]||(t+="px"),i.each(function(){var n=this.style;if(s=L[e],s&&s.set)return void s.set(this,t);try{this.style[B[e]||e]=t}catch(i){}(null===t||""===t)&&(n.removeProperty?n.removeProperty(r(e)):n.removeAttribute(e))});else{if(a=i[0],s=L[e],s&&s.get)return s.get(a);if(a.ownerDocument.defaultView)try{return a.ownerDocument.defaultView.getComputedStyle(a,null).getPropertyValue(r(e))}catch(l){return k}else if(a.currentStyle)return a.currentStyle[n(e)]}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],S.clean(t),t.parentNode&&t.parentNode.removeChild(t);return this},empty:function(){for(var e=this,t,n=this.length;n--;)for(t=e[n];t.firstChild;)t.removeChild(t.firstChild);return this},html:function(e){var t=this,n;if(o(e)){n=t.length;try{for(;n--;)t[n].innerHTML=e}catch(r){f(t[n]).empty().append(e)}return t}return t[0]?t[0].innerHTML:""},text:function(e){var t=this,n;if(o(e)){for(n=t.length;n--;)"innerText"in t[n]?t[n].innerText=e:t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:""},append:function(){return c(this,arguments,function(e){1===this.nodeType&&this.appendChild(e)})},prepend:function(){return c(this,arguments,function(e){1===this.nodeType&&this.insertBefore(e,this.firstChild)},!0)},before:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):e},appendTo:function(e){return f(e).append(this),this},prependTo:function(e){return f(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return d(this,e)},wrapAll:function(e){return d(this,e,!0)},wrapInner:function(e){return this.each(function(){f(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){f(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),f(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return"string"!=typeof e?n:(-1!==e.indexOf(" ")?m(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n,r){var i,o;o=u(r,e),o!==t&&(i=r.className,o?r.className=p((" "+i+" ").replace(" "+e+" "," ")):r.className+=i?" "+e:e)}),n)},hasClass:function(e){return u(this[0],e)},each:function(e){return m(this,e)},on:function(e,t){return this.each(function(){S.bind(this,e,t)})},off:function(e,t){return this.each(function(){S.unbind(this,e,t)})},trigger:function(e){return this.each(function(){"object"==typeof e?S.fire(this,e.type,e):S.fire(this,e)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new f(E.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;n>t;t++)f.find(e,this[t],r);return f(r)},filter:function(e){return f("function"==typeof e?g(this.toArray(),function(t,n){return e(n,t)}):f.filter(e,this.toArray()))},closest:function(e){var t=[];return e instanceof f&&(e=e[0]),this.each(function(n,r){for(;r;){if("string"==typeof e&&f(r).is(e)){t.push(r);break}if(r==e){t.push(r);break}r=r.parentNode}}),f(t)},offset:function(e){var t,n,r,i=0,o=0,a;return e?this.css(e):(t=this[0],t&&(n=t.ownerDocument,r=n.documentElement,t.getBoundingClientRect&&(a=t.getBoundingClientRect(),i=a.left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,o=a.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:o})},push:_,sort:[].sort,splice:[].splice},r.extend(f,{extend:r.extend,makeArray:function(e){return s(e)||e.nodeType?[e]:r.toArray(e)},inArray:h,isArray:r.isArray,each:m,trim:p,grep:g,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,contains:n.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=":not("+e+")");r--;)1!=t[r].nodeType&&t.splice(r,1);return t=1===t.length?f.find.matchesSelector(t[0],e)?[t[0]]:[]:f.find.matches(e,t)}}),m({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return y(e,"parentNode")},next:function(e){return x(e,"nextSibling",1)},prev:function(e){return x(e,"previousSibling",1)},children:function(e){return b(e.firstChild,"nextSibling",1)},contents:function(e){return r.toArray(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){f.fn[e]=function(n){var r=this,i=[];return r.each(function(){var e=t.call(i,this,n,i);e&&(f.isArray(e)?i.push.apply(i,e):i.push(e))}),this.length>1&&(i=f.unique(i),0===e.indexOf("parents")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,"parentNode",t)},nextUntil:function(e,t){return b(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return b(e,"previousSibling",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),(0===e.indexOf("parents")||"prevUntil"===e)&&(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(C(D,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?k:t},size:function(e){var t=e.size;return 20===t?k:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?k:t}}),C(D,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(B["float"]="styleFloat",C(L,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),f.attrHooks=D,f.cssHooks=L,f}),r(h,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l,c={},u,d,f,h="\ufeff";for(e=e||{},t&&(d=t.getValidStyles(),f=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+h).split(" "),l=0;l<u.length;l++)c[u[l]]=h+l,c[h+l]=u[l];return{toHex:function(e){return e.replace(r,n)},parse:function(t){function s(e,t,n){var r,i,o,a;if(r=m[e+"-top"+t],r&&(i=m[e+"-right"+t],i&&(o=m[e+"-bottom"+t],o&&(a=m[e+"-left"+t])))){var s=[r,i,o,a];for(l=s.length-1;l--&&s[l]===s[l+1];);l>-1&&n||(m[e+t]=-1==l?s[0]:s.join(" "),delete m[e+"-top"+t],delete m[e+"-right"+t],delete m[e+"-bottom"+t],delete m[e+"-left"+t])}}function u(e){var t=m[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return m[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(m[e]=m[t]+" "+m[n]+" "+m[r],delete m[t],delete m[n],delete m[r])}function f(e){return b=!0,c[e]}function h(e,t){return b&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return c[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function p(t,n,r,i,o,a){if(o=o||a)return o=h(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=h(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return x&&(n=x.call(C,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var m={},g,v,y,b,x=e.url_converter,C=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,f).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,f)});g=o.exec(t);){if(v=g[1].replace(a,"").toLowerCase(),y=g[2].replace(a,""),y=y.replace(/\\[0-9a-f]+/g,function(e){return String.fromCharCode(parseInt(e.substr(1),16))}),v&&y.length>0){if(!e.allow_script_urls&&("behavior"==v||/expression\s*\(|\/\*|\*\//.test(y)))continue;"font-weight"===v&&"700"===y?y="bold":("color"===v||"background-color"===v)&&(y=y.toLowerCase()),y=y.replace(r,n),y=y.replace(i,p),m[v]=b?h(y,!0):y}o.lastIndex=g.index+g[0].length}s("border","",!0),s("border","-width"),s("border","-color"),s("border","-style"),s("padding",""),s("margin",""),d("border","border-width","border-style","border-color"),"medium none"===m.border&&delete m.border,"none"===m["border-image"]&&delete m["border-image"]}return m},serialize:function(e,t){function n(t){var n,r,o,a;if(n=d[t])for(r=0,o=n.length;o>r;r++)t=n[r],a=e[t],a!==s&&a.length>0&&(i+=(i.length>0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=f["*"],n&&n[e]?!1:(n=f[t],n&&n[e]?!1:!0)}var i="",o,a;if(t&&d)n("*"),n(t);else for(o in e)a=e[o],a!==s&&a.length>0&&(!f||r(o,t))&&(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(p,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}var r=e;this.current=function(){return r},this.next=function(e){return r=n(r,"firstChild","nextSibling",e)},this.prev=function(e){return r=n(r,"lastChild","previousSibling",e)}}}),r(m,[d],function(e){function t(n){function r(){return H.createDocumentFragment()}function i(e,t){_(F,e,t)}function o(e,t){_(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function c(e){o(e.parentNode,j(e)+1)}function u(e){e?(M[U]=M[V],M[$]=M[W]):(M[V]=M[U],M[W]=M[$]),M.collapsed=F}function d(e){a(e),c(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function h(e,t){var n=M[V],r=M[W],i=M[U],o=M[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,c=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,c):3===e?w(n,r,l,c):void 0}function p(){E(I)}function m(){return E(P)}function g(){return E(O)}function v(e){var t=this[V],r=this[W],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return q(new t(n),{startContainer:M[V],startOffset:M[W],endContainer:M[U],endOffset:M[$],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function x(e,t){var n;if(3==e.nodeType)return e;if(0>t)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function C(){return M[V]==M[U]&&M[W]==M[$]}function w(e,t,r,i){var o,a,s,l,c,u;if(e==r)return t==i?0:i>t?-1:1;for(o=r;o&&o.parentNode!=e;)o=o.parentNode;if(o){for(a=0,s=e.firstChild;s!=o&&t>a;)a++,s=s.nextSibling;return a>=t?-1:1}for(o=e;o&&o.parentNode!=r;)o=o.parentNode;if(o){for(a=0,s=r.firstChild;s!=o&&i>a;)a++,s=s.nextSibling;return i>a?-1:1}for(l=n.findCommonAncestor(e,r),c=e;c&&c.parentNode!=l;)c=c.parentNode;for(c||(c=l),u=r;u&&u.parentNode!=l;)u=u.parentNode;if(u||(u=l),c==u)return 0;for(s=l.firstChild;s;){if(s==c)return-1;if(s==u)return 1;s=s.nextSibling}}function _(e,t,r){var i,o;for(e?(M[V]=t,M[W]=r):(M[U]=t,M[$]=r),i=M[U];i.parentNode;)i=i.parentNode;for(o=M[V];o.parentNode;)o=o.parentNode;o==i?w(M[V],M[W],M[U],M[$])>0&&M.collapse(e):M.collapse(e),M.collapsed=C(),M.commonAncestorContainer=n.findCommonAncestor(M[V],M[U])}function E(e){var t,n=0,r=0,i,o,a,s,l,c;if(M[V]==M[U])return N(e);for(t=M[U],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return S(t,e);++n}for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[U])return k(t,e);++r}for(o=r-n,a=M[V];o>0;)a=a.parentNode,o--;for(s=M[U];0>o;)s=s.parentNode,o++;for(l=a.parentNode,c=s.parentNode;l!=c;l=l.parentNode,c=c.parentNode)a=l,s=c;return T(a,s,e)}function N(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),M[W]==M[$])return t;if(3==M[V].nodeType){if(n=M[V].nodeValue,i=n.substring(M[W],M[$]),e!=O&&(o=M[V],c=M[W],u=M[$]-M[W],0===c&&u>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(c,u),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(H.createTextNode(i)),t}for(o=x(M[V],M[W]),a=M[$]-M[W];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=O&&M.collapse(F),t}function S(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[W],0>=a)return t!=O&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=O&&(M.setEndBefore(e),M.collapse(z)),n}function k(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=O&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,c,u;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,c=e.nextSibling;l>0;)u=c.nextSibling,i=D(c,n),o&&o.appendChild(i),c=u,--l;return i=R(t,n),o&&o.appendChild(i),n!=O&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=x(M[U],M[$]-1),r,i,o,a,s,l=n!=M[U];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=x(M[V],M[W]),r=n!=M[V],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,c;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[W],a=o.substring(l),s=o.substring(0,l)):(l=M[$],a=o.substring(0,l),s=o.substring(l)),i!=O&&(e.nodeValue=s),i==I)return;return c=n.clone(e,z),c.nodeValue=a,c}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==O?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var M=this,H=n.doc,P=0,O=1,I=2,F=!0,z=!1,W="startOffset",V="startContainer",U="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(M,{startContainer:H,startOffset:0,endContainer:H,endOffset:0,collapsed:F,commonAncestorContainer:H,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:c,collapse:u,selectNode:d,selectNodeContents:f,compareBoundaryPoints:h,deleteContents:p,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(g,[d],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),o[r]||(i="&"+e[n+1]+";",a[r]=i,a[i]=r);return a}}var r=e.makeMap,i,o,a,s=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,d={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};o={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;","`":"&#96;"},a={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(c,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function c(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?c:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(u,function(e,n){return n?(n="x"===n.charAt(0).toLowerCase()?parseInt(n.substr(1),16):parseInt(n,10),n>65535?(n-=65536,String.fromCharCode(55296+(n>>10),56320+(1023&n))):d[n]||String.fromCharCode(n)):a[e]||i[e]||t(e)})}};return f}),r(v,[d],function(e){return function(t,n){function r(e){t.getElementsByTagName("head")[0].appendChild(e)}function i(n,i,l){function c(){for(var e=y.passed,t=e.length;t--;)e[t]();y.status=2,y.passed=[],y.failed=[]}function u(){for(var e=y.failed,t=e.length;t--;)e[t]();y.status=3,y.passed=[],y.failed=[]}function d(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function f(e,t){e()||((new Date).getTime()-v<s?window.setTimeout(t,0):u())}function h(){f(function(){for(var e=t.styleSheets,n,r=e.length,i;r--;)if(n=e[r],i=n.ownerNode?n.ownerNode:n.owningElement,i&&i.id===m.id)return c(),!0},h)}function p(){f(function(){try{var e=g.sheet.cssRules;return c(),!!e}catch(t){}},p)}var m,g,v,y;if(n=e._addCacheSuffix(n),a[n]?y=a[n]:(y={passed:[],failed:[]},a[n]=y),i&&y.passed.push(i),l&&y.failed.push(l),1!=y.status){if(2==y.status)return void c();if(3==y.status)return void u();if(y.status=1,m=t.createElement("link"),m.rel="stylesheet",m.type="text/css",m.id="u"+o++,m.async=!1,m.defer=!1,v=(new Date).getTime(),"onload"in m&&!d())m.onload=h,m.onerror=u;else{if(navigator.userAgent.indexOf("Firefox")>0)return g=t.createElement("style"),g.textContent='@import "'+n+'"',p(),void r(g);h()}r(m),m.href=n}}var o=0,a={},s;n=n||{},s=n.maxLoadTime||5e3,this.load=i}}),r(y,[c,f,h,l,p,m,g,u,d,v],function(e,n,r,i,o,a,s,l,c,u){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!v||e.documentMode>=8,o.boxModel=!v||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new u(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var h=c.each,p=c.is,m=c.grep,g=c.trim,v=l.ie,y=/^([a-z0-9],?)+$/i,b=/^[ \t\r\n]*$/;return f.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(v&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!v||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),h(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),-1===n.indexOf("px")&&(n=0),-1===r.indexOf("px")&&(r=0),{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),p(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(y.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=p(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"</"+e+">":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&e.attr("data-mce-style",null)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=v?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&e.attr("data-mce-style",null)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){h(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,c;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return c=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=c.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=c.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==f.DOM&&n===document){var o=f.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,f.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==f.DOM&&n===document?void f.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void h(e.split(","),function(e){var i;e=c._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),v&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),v?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="<br>"+t,r.removeChild(r.firstChild)}catch(i){n("<div>").html("<br>"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType&&"outerHTML"in e?e.outerHTML:n("<div>").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}r.remove(n(this).html(t),!0)})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return p(t,"array")&&(e=e.cloneNode(!0)),n&&h(m(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),h(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(c.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),e?(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],h(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i)):!1},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(v){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,c=0;if(e=e.firstChild){s=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null);do{if(a=e.nodeType,1===a){if(e.getAttribute("data-mce-bogus"))continue;if(l=e.nodeName.toLowerCase(),t&&t[l]){
+if("br"===l){c++;continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(l=i[r].nodeName,"name"===l||"data-mce-bookmark"===l)return!1}if(8==a)return!1;if(3===a&&!b.test(e.nodeValue))return!1}while(e=s.next())}return 1>=c},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:function(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n},split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=g(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;return e&&t?(o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.replaceChild(n,t):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t):void 0},bind:function(e,t,n,r){var i=this;if(c.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(c.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},f.DOM=new f(document),f}),r(b,[y,d],function(e,t){function n(){function e(e,n){function i(){a.remove(l),s&&(s.onreadystatechange=s.onload=s=null),n()}function o(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var a=r,s,l;l=a.uniqueId(),s=document.createElement("script"),s.id=l,s.type="text/javascript",s.src=t._addCacheSuffix(e),"onreadystatechange"in s?s.onreadystatechange=function(){/loaded|complete/.test(s.readyState)&&i()}:s.onload=i,s.onerror=o,(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}var n=0,a=1,s=2,l={},c=[],u={},d=[],f=0,h;this.isDone=function(e){return l[e]==s},this.markDone=function(e){l[e]=s},this.add=this.load=function(e,t,r){var i=l[e];i==h&&(c.push(e),l[e]=n),t&&(u[e]||(u[e]=[]),u[e].push({func:t,scope:r||this}))},this.loadQueue=function(e,t){this.loadScripts(c,e,t)},this.loadScripts=function(t,n,r){function c(e){i(u[e],function(e){e.func.call(e.scope)}),u[e]=h}var p;d.push({func:n,scope:r||this}),(p=function(){var n=o(t);t.length=0,i(n,function(t){return l[t]==s?void c(t):void(l[t]!=a&&(l[t]=a,f++,e(t,function(){l[t]=s,f--,c(t),p()})))}),f||(i(d,function(e){e.func.call(e.scope)}),d.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(x,[b,d],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",-1!=n.indexOf(","+i.substr(0,2)+","))i=i.substr(0,2);else if(-1==n.indexOf(","+i+","))return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s){function l(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&(s?a.call(s):a.call(e))}var c=this,u=o;c.urls[n]||("object"==typeof o&&(u=o.prefix+o.resource+o.suffix),0!==u.indexOf("/")&&-1==u.indexOf("://")&&(u=r.baseURL+"/"+u),c.urls[n]=u.substring(0,u.lastIndexOf("/")),c.lookup[n]?l():e.ScriptLoader.add(u,l,s))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(C,[d,p],function(e,t){function n(e,t){var n=e.childNodes;return t--,t>n.length-1?t=n.length-1:0>t&&(t=0),n[t]||e}function r(e){this.walk=function(t,r){function o(e){var t;return t=e[0],3===t.nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===f&&e.length>0&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e}function a(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function s(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function l(e,t,n){var i=n?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=a(g==e?g:g[i],i),y.length&&(n||y.reverse(),r(o(y)))}var c=t.startContainer,u=t.startOffset,d=t.endContainer,f=t.endOffset,h,p,m,g,v,y,b;if(b=e.select("td.mce-item-selected,th.mce-item-selected"),b.length>0)return void i(b,function(e){r([e])});if(1==c.nodeType&&c.hasChildNodes()&&(c=c.childNodes[u]),1==d.nodeType&&d.hasChildNodes()&&(d=n(d,f)),c==d)return r(o([c]));for(h=e.findCommonAncestor(c,d),g=c;g;g=g.parentNode){if(g===d)return l(c,h,!0);if(g===h)break}for(g=d;g;g=g.parentNode){if(g===c)return l(d,h);if(g===h)break}p=s(c,h)||c,m=s(d,h)||d,l(c,p,!0),y=a(p==c?p:p.nextSibling,"nextSibling",m==d?m.nextSibling:m),y.length&&r(o(y)),l(d,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&r<n.nodeValue.length&&(i=t(n,r),n=i.previousSibling,o>r?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r<n.nodeValue.length&&(n=t(n,r),r=0),3==i.nodeType&&o>0&&o<i.nodeValue.length&&(i=t(i,o).previousSibling,o=i.nodeValue.length)),{startContainer:n,startOffset:r,endContainer:i,endOffset:o}},this.normalize=function(n){function r(r){function a(n,r){for(var i=new t(n,e.getParent(n.parentNode,e.isBlock)||f);n=i[r?"prev":"next"]();)if("BR"===n.nodeName)return!0}function s(e,t){return e.previousSibling&&e.previousSibling.nodeName==t}function l(n,r){var a,s,l;if(r=r||c,l=e.getParent(r.parentNode,e.isBlock)||f,n&&"BR"==r.nodeName&&g&&e.isEmpty(l))return c=r.parentNode,u=e.nodeIndex(r),void(i=!0);for(a=new t(r,l);h=a[n?"prev":"next"]();){if("false"===e.getContentEditableParent(h))return;if(3===h.nodeType&&h.nodeValue.length>0)return c=h,u=n?h.nodeValue.length:0,void(i=!0);if(e.isBlock(h)||p[h.nodeName.toLowerCase()])return;s=h}o&&s&&(c=s,i=!0,u=0)}var c,u,d,f=e.getRoot(),h,p,m,g;if(c=n[(r?"start":"end")+"Container"],u=n[(r?"start":"end")+"Offset"],g=1==c.nodeType&&u===c.childNodes.length,p=e.schema.getNonEmptyElements(),m=r,1==c.nodeType&&u>c.childNodes.length-1&&(m=!1),9===c.nodeType&&(c=e.getRoot(),u=0),c===f){if(m&&(h=c.childNodes[u>0?u-1:0],h&&(p[h.nodeName]||"TABLE"==h.nodeName)))return;if(c.hasChildNodes()&&(u=Math.min(!m&&u>0?u-1:u,c.childNodes.length-1),c=c.childNodes[u],u=0,c.hasChildNodes()&&!/TABLE/.test(c.nodeName))){h=c,d=new t(c,f);do{if(3===h.nodeType&&h.nodeValue.length>0){u=m?0:h.nodeValue.length,c=h,i=!0;break}if(p[h.nodeName.toLowerCase()]){u=e.nodeIndex(h),c=h.parentNode,"IMG"!=h.nodeName||m||u++,i=!0;break}}while(h=m?d.next():d.prev())}}o&&(3===c.nodeType&&0===u&&l(!0),1===c.nodeType&&(h=c.childNodes[u],h||(h=c.childNodes[u-1]),!h||"BR"!==h.nodeName||s(h,"A")||a(h)||a(h,!0)||l(!0,h))),m&&!o&&3===c.nodeType&&u===c.nodeValue.length&&l(!1),i&&n["set"+(r?"Start":"End")](c,u)}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}var i=e.each;return r.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},r.getCaretRangeFromPoint=function(e,t,n){var r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}return r},r.getNode=function(e,t){return 1==e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},r}),r(w,[C,u],function(e,t){return function(n){function r(e){var t,r;if(r=n.$(e).parentsUntil(n.getBody()).add(e),r.length===o.length){for(t=r.length;t>=0&&r[t]===o[t];t--);if(-1===t)return o=r,!0}return o=r,!1}var i,o=[];"onselectionchange"in n.getDoc()||n.on("NodeChange Click MouseUp KeyUp Focus",function(t){var r,o;r=n.selection.getRng(),o={startContainer:r.startContainer,startOffset:r.startOffset,endContainer:r.endContainer,endOffset:r.endOffset},"nodechange"!=t.type&&e.compareRanges(o,i)||n.fire("SelectionChange"),i=o}),n.on("contextmenu",function(){n.fire("SelectionChange")}),n.on("SelectionChange",function(){var e=n.selection.getStart(!0);(t.range||!n.selection.isCollapsed())&&!r(e)&&n.dom.isChildOf(e,n.getBody())&&n.nodeChanged({selectionChange:!0})}),n.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==n.selection.getNode().nodeName?setTimeout(function(){n.nodeChanged()},0):n.nodeChanged())}),this.nodeChanged=function(e){var t=n.selection,r,i,o;n.initialized&&t&&!n.settings.disable_nodechange&&!n.settings.readonly&&(o=n.getBody(),r=t.getStart()||o,r=r.ownerDocument!=n.getDoc()?n.getBody():r,"IMG"==r.nodeName&&t.isCollapsed()&&(r=r.parentNode),i=[],n.dom.getParent(r,function(e){return e===o?!0:void i.push(e)}),e=e||{},e.element=r,e.parents=i,n.fire("NodeChange",e))}}}),r(_,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;i>r;r++)a=o[r],"id"!==a.name&&(s[s.length]={name:a.name,value:a.value},s.map[a.name]=a.value);n.attributes=s}return n.value=e.value,n.shortEnded=e.shortEnded,n},wrap:function(e){var t=this;return t.parent.insert(e,t),e.append(t),t},unwrap:function(){var e=this,t,n;for(t=e.firstChild;t;)n=t.next,e.insert(t,e,!0),t=n;e.remove()},remove:function(){var e=this,t=e.parent,n=e.next,r=e.prev;return t&&(t.firstChild===e?(t.firstChild=n,n&&(n.prev=null)):r.next=n,t.lastChild===e?(t.lastChild=r,r&&(r.next=null)):n.prev=r,e.parent=e.next=e.prev=null),e},append:function(e){var t=this,n;return e.parent&&e.remove(),n=t.lastChild,n?(n.next=e,e.prev=n,t.lastChild=e):t.lastChild=t.firstChild=e,e.parent=t,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(t){var n=this,r,i=[];for(r=n.firstChild;r;r=e(r,n))r.name===t&&i.push(r);return i},empty:function(){var t=this,n,r,i;if(t.firstChild){for(n=[],i=t.firstChild;i;i=e(i,t))n.push(i);for(r=n.length;r--;)i=n[r],i.parent=i.firstChild=i.lastChild=i.next=i.prev=null}return t.firstChild=t.lastChild=null,t},isEmpty:function(t){var r=this,i=r.firstChild,o,a;if(i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(t[i.name])return!1;for(o=i.attributes.length;o--;)if(a=i.attributes[o].name,"name"===a||0===a.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!n.test(i.value))return!1}while(i=e(i,r));return!0},walk:function(t){return e(this,null,t)}},t.create=function(e,n){var i,o;if(i=new t(e,r[e]||1),n)for(o in n)i.attr(o,n[o]);return i},t}),r(E,[d],function(e){function t(e,t){return e?e.split(t||" "):[]}function n(e){function n(e,n,r){function i(e,t){var n={},r,i;for(r=0,i=e.length;i>r;r++)n[e[r]]=t||{};return n}var s,c,u,d=arguments;for(r=r||[],n=n||"","string"==typeof r&&(r=t(r)),c=3;c<d.length;c++)"string"==typeof d[c]&&(d[c]=t(d[c])),r.push.apply(r,d[c]);for(e=t(e),s=e.length;s--;)u=[].concat(l,t(n)),a[e[s]]={attributes:i(u),attributesOrder:u,children:i(r,o)}}function r(e,n){var r,i,o,s;for(e=t(e),r=e.length,n=t(n);r--;)for(i=a[e[r]],o=0,s=n.length;s>o;o++)i.attributes[n[o]]={},i.attributesOrder.push(n[o])}var a={},l,c,u,d,f,h;return i[e]?i[e]:(l=t("id accesskey class dir lang style tabindex title"),c=t("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),u=t("a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment"),"html4"!=e&&(l.push.apply(l,t("contenteditable contextmenu draggable dropzone hidden spellcheck translate")),c.push.apply(c,t("article aside details dialog figure header footer hgroup section nav")),u.push.apply(u,t("audio canvas command datalist mark meter output progress time wbr video ruby bdi keygen"))),"html5-strict"!=e&&(l.push("xml:lang"),h=t("acronym applet basefont big font strike tt"),u.push.apply(u,h),s(h,function(e){n(e,"",u)}),f=t("center dir isindex noframes"),c.push.apply(c,f),d=[].concat(c,u),s(f,function(e){n(e,"",d)})),d=d||[].concat(c,u),n("html","manifest","head body"),n("head","","base command link meta noscript script style title"),n("title hr noscript br"),n("base","href target"),n("link","href rel media hreflang type sizes hreflang"),n("meta","name http-equiv content charset"),n("style","media type scoped"),n("script","src async defer type charset"),n("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",d),n("address dt dd div caption","",d),n("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",u),n("blockquote","cite",d),n("ol","reversed start type","li"),n("ul","","li"),n("li","value",d),n("dl","","dt dd"),n("a","href target rel media hreflang type",u),n("q","cite",u),n("ins del","cite datetime",d),n("img","src sizes srcset alt usemap ismap width height"),n("iframe","src name width height",d),n("embed","src type width height"),n("object","data type typemustmatch name usemap form width height",d,"param"),n("param","name value"),n("map","name",d,"area"),n("area","alt coords shape href target rel media hreflang type"),n("table","border","caption colgroup thead tfoot tbody tr"+("html4"==e?" col":"")),n("colgroup","span","col"),n("col","span"),n("tbody thead tfoot","","tr"),n("tr","","td th"),n("td","colspan rowspan headers",d),n("th","colspan rowspan headers scope abbr",d),n("form","accept-charset action autocomplete enctype method name novalidate target",d),n("fieldset","disabled form name",d,"legend"),n("label","form for",u),n("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),n("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"==e?d:u),n("select","disabled form multiple name required size","option optgroup"),n("optgroup","disabled label","option"),n("option","disabled label selected value"),n("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),n("menu","type label",d,"li"),n("noscript","",d),"html4"!=e&&(n("wbr"),n("ruby","",u,"rt rp"),n("figcaption","",d),n("mark rt rp summary bdi","",u),n("canvas","width height",d),n("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",d,"track source"),n("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",d,"track source"),n("picture","","img source"),n("source","src srcset type media sizes"),n("track","kind src srclang label default"),n("datalist","",u,"option"),n("article section nav aside header footer","",d),n("hgroup","","h1 h2 h3 h4 h5 h6"),n("figure","",d,"figcaption"),n("time","datetime",u),n("dialog","open",d),n("command","type label icon disabled checked radiogroup command"),n("output","for form name",u),n("progress","value max",u),n("meter","value min max low high optimum",u),n("details","open",d,"summary"),n("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!=e&&(r("script","language xml:space"),r("style","xml:space"),r("object","declare classid code codebase codetype archive standby align border hspace vspace"),r("embed","align name hspace vspace"),r("param","valuetype type"),r("a","charset name rev shape coords"),r("br","clear"),r("applet","codebase archive code object alt name width height align hspace vspace"),r("img","name longdesc align border hspace vspace"),r("iframe","longdesc frameborder marginwidth marginheight scrolling align"),r("font basefont","size color face"),r("input","usemap align"),r("select","onchange"),r("textarea"),r("h1 h2 h3 h4 h5 h6 div p legend caption","align"),r("ul","type compact"),r("li","type"),r("ol dl menu dir","compact"),r("pre","width xml:space"),r("hr","align noshade size width"),r("isindex","prompt"),r("table","summary width frame rules cellspacing cellpadding align bgcolor"),r("col","width align char charoff valign"),r("colgroup","width align char charoff valign"),r("thead","align char charoff valign"),r("tr","align char charoff valign bgcolor"),r("th","axis align char charoff valign nowrap bgcolor width height"),r("form","accept"),r("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),r("tfoot","align char charoff valign"),r("tbody","align char charoff valign"),r("area","nohref"),r("body","background bgcolor text link vlink alink")),"html4"!=e&&(r("input button select textarea","autofocus"),r("input textarea","placeholder"),r("a","download"),r("link script img","crossorigin"),r("iframe","sandbox seamless allowfullscreen")),s(t("a form meter progress dfn"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,delete a.script,i[e]=a,a)}function r(e,t){var n;return e&&(n={},"string"==typeof e&&(e={"*":e}),s(e,function(e,r){n[r]=n[r.toUpperCase()]="map"==t?a(e,/[, ]/):c(e,/[, ]/)})),n}var i={},o={},a=e.makeMap,s=e.each,l=e.extend,c=e.explode,u=e.inArray;return function(e){function o(t,n,r){var o=e[t];return o?o=a(o,/[, ]/,a(o.toUpperCase(),/[, ]/)):(o=i[t],o||(o=a(n," ",a(n.toUpperCase()," ")),o=l(o,r),i[t]=o)),o}function d(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")}function f(e){var n,r,i,o,s,l,c,f,h,p,m,g,v,b,C,w,_,E,N,S=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,k=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,","),y["@"]&&(w=y["@"].attributes,_=y["@"].attributesOrder),n=0,r=e.length;r>n;n++)if(s=S.exec(e[n])){if(b=s[1],h=s[2],C=s[3],f=s[5],g={},v=[],l={attributes:g,attributesOrder:v},"#"===b&&(l.paddEmpty=!0),"-"===b&&(l.removeEmpty=!0),"!"===s[4]&&(l.removeEmptyAttrs=!0),w){for(E in w)g[E]=w[E];v.push.apply(v,_)}if(f)for(f=t(f,"|"),i=0,o=f.length;o>i;i++)if(s=k.exec(f[i])){if(c={},m=s[1],p=s[2].replace(/::/g,":"),b=s[3],N=s[4],"!"===m&&(l.attributesRequired=l.attributesRequired||[],l.attributesRequired.push(p),c.required=!0),"-"===m){delete g[p],v.splice(u(v,p),1);continue}b&&("="===b&&(l.attributesDefault=l.attributesDefault||[],l.attributesDefault.push({name:p,value:N}),c.defaultValue=N),":"===b&&(l.attributesForced=l.attributesForced||[],l.attributesForced.push({name:p,value:N}),c.forcedValue=N),"<"===b&&(c.validValues=a(N,"?"))),T.test(p)?(l.attributePatterns=l.attributePatterns||[],c.pattern=d(p),l.attributePatterns.push(c)):(g[p]||v.push(p),g[p]=c)}w||"@"!=h||(w=g,_=v),C&&(l.outputName=h,y[C]=l),T.test(h)?(l.pattern=d(h),x.push(l)):y[h]=l}}function h(e){y={},x=[],f(e),s(_,function(e,t){b[t]=e.children})}function p(e){var n=/^(~)?(.+)$/;e&&(i.text_block_elements=i.block_elements=null,s(t(e,","),function(e){var t=n.exec(e),r="~"===t[1],i=r?"span":"div",o=t[2];if(b[o]=b[i],M[o]=i,r||(R[o.toUpperCase()]={},R[o]={}),!y[o]){var a=y[i];a=l({},a),delete a.removeEmptyAttrs,delete a.removeEmpty,y[o]=a}s(b,function(e,t){e[i]&&(b[t]=e=l({},b[t]),e[o]=e[i])})}))}function m(e){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e&&s(t(e,","),function(e){var r=n.exec(e),i,o;r&&(o=r[1],i=o?b[r[2]]:b[r[2]]={"#comment":{}},i=b[r[2]],s(t(r[3],"|"),function(e){"-"===o?(b[r[2]]=i=l({},b[r[2]]),delete i[e]):i[e]={}}))})}function g(e){var t=y[e],n;if(t)return t;for(n=x.length;n--;)if(t=x[n],t.pattern.test(e))return t}var v=this,y={},b={},x=[],C,w,_,E,N,S,k,T,R,A,B,D,L,M={},H={};e=e||{},_=n(e.schema),e.verify_html===!1&&(e.valid_elements="*[*]"),C=r(e.valid_styles),w=r(e.invalid_styles,"map"),T=r(e.valid_classes,"map"),E=o("whitespace_elements","pre script noscript style textarea video audio iframe object"),N=o("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),S=o("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),k=o("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),A=o("non_empty_elements","td th iframe video audio object script",S),B=o("move_caret_before_on_enter_elements","table",A),D=o("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),R=o("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup",D),L=o("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),s((e.special||"script noscript style textarea").split(" "),function(e){H[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.valid_elements?h(e.valid_elements):(s(_,function(e,t){y[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},b[t]=e.children}),"html5"!=e.schema&&s(t("strong/b em/i"),function(e){e=t(e,"/"),y[e[1]].outputName=e[0]}),y.img.attributesDefault=[{name:"alt",value:""}],s(t("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){y[e]&&(y[e].removeEmpty=!0)}),s(t("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(e){y[e].paddEmpty=!0}),s(t("span"),function(e){y[e].removeEmptyAttrs=!0})),p(e.custom_elements),m(e.valid_children),f(e.extended_valid_elements),m("+ol[ul|ol],+ul[ul|ol]"),e.invalid_elements&&s(c(e.invalid_elements),function(e){y[e]&&delete y[e]}),g("span")||f("span[!data-mce-type|*]"),v.children=b,v.getValidStyles=function(){return C},v.getInvalidStyles=function(){return w},v.getValidClasses=function(){return T},v.getBoolAttrs=function(){return k},v.getBlockElements=function(){return R},v.getTextBlockElements=function(){return D},v.getTextInlineElements=function(){return L},v.getShortEndedElements=function(){return S},v.getSelfClosingElements=function(){return N},v.getNonEmptyElements=function(){return A},v.getMoveCaretBeforeOnEnterElements=function(){return B},v.getWhiteSpaceElements=function(){return E},v.getSpecialElements=function(){return H},v.isValidChild=function(e,t){var n=b[e];return!(!n||!n[t])},v.isValid=function(e,t){var n,r,i=g(e);if(i){if(!t)return!0;if(i.attributes[t])return!0;if(n=i.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},v.getElementRule=g,v.getCustomElements=function(){return M},v.addValidElements=f,v.setValidElements=h,v.addCustomElements=p,v.addValidChildren=m,v.elements=y}}),r(N,[E,g,d],function(e,t,n){function r(e,t,n){var r=1,i,o,a,s;for(s=e.getShortEndedElements(),a=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g,a.lastIndex=i=n;o=a.exec(t);){if(i=a.lastIndex,"/"===o[1])r--;else if(!o[1]){if(o[2]in s)continue;r++}if(0===r)break}return i}function i(i,a){function s(){}var l=this;i=i||{},l.schema=a=a||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),o("comment cdata text start end pi doctype".split(" "),function(e){e&&(l[e]=i[e]||s)}),l.parse=function(e){function o(e){var t,n;for(t=h.length;t--&&h[t].name!==e;);if(t>=0){for(n=h.length-1;n>=t;n--)e=h[n],e.valid&&l.end(e.name);h.length=t}}function s(e,t,n,r,o){var a,s,l=/[\s\u0000-\u001F]+/g;if(t=t.toLowerCase(),n=t in C?t:z(n||r||o||""),_&&!y&&0!==t.indexOf("data-")){if(a=T[t],!a&&R){for(s=R.length;s--&&(a=R[s],!a.pattern.test(t)););-1===s&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(V[t]&&!i.allow_script_urls){var c=n.replace(l,"");try{c=decodeURIComponent(c)}catch(u){c=unescape(c)}if(U.test(c))return;if(!i.allow_html_data_urls&&$.test(c)&&!/^data:image\//i.test(c))return}p.map[t]=n,p.push({name:t,value:n})}var l=this,c,u=0,d,f,h=[],p,m,g,v,y,b,x,C,w,_,E,N,S,k,T,R,A,B,D,L,M,H,P,O,I,F=0,z=t.decode,W,V=n.makeMap("src,href,data,background,formaction,poster"),U=/((java|vb)script|mhtml):/i,$=/^data:/i;for(H=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-_\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),P=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,x=a.getShortEndedElements(),M=i.self_closing_elements||a.getSelfClosingElements(),C=a.getBoolAttrs(),_=i.validate,b=i.remove_internals,W=i.fix_self_closing,O=a.getSpecialElements();c=H.exec(e);){if(u<c.index&&l.text(z(e.substr(u,c.index-u))),d=c[6])d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),o(d);else if(d=c[7]){if(d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),w=d in x,W&&M[d]&&h.length>0&&h[h.length-1].name===d&&o(d),!_||(E=a.getElementRule(d))){if(N=!0,_&&(T=E.attributes,R=E.attributePatterns),(k=c[8])?(y=-1!==k.indexOf("data-mce-type"),y&&b&&(N=!1),p=[],p.map={},k.replace(P,s)):(p=[],p.map={}),_&&!y){if(A=E.attributesRequired,B=E.attributesDefault,D=E.attributesForced,L=E.removeEmptyAttrs,L&&!p.length&&(N=!1),D)for(m=D.length;m--;)S=D[m],v=S.name,I=S.value,"{$uid}"===I&&(I="mce_"+F++),p.map[v]=I,p.push({name:v,value:I});if(B)for(m=B.length;m--;)S=B[m],v=S.name,v in p.map||(I=S.value,"{$uid}"===I&&(I="mce_"+F++),p.map[v]=I,p.push({name:v,value:I}));if(A){for(m=A.length;m--&&!(A[m]in p.map););-1===m&&(N=!1)}if(S=p.map["data-mce-bogus"]){if("all"===S){u=r(a,e,H.lastIndex),H.lastIndex=u;continue}N=!1}}N&&l.start(d,p,w)}else N=!1;if(f=O[d]){f.lastIndex=u=c.index+c[0].length,(c=f.exec(e))?(N&&(g=e.substr(u,c.index-u)),u=c.index+c[0].length):(g=e.substr(u),u=e.length),N&&(g.length>0&&l.text(g,!0),l.end(d)),H.lastIndex=u;continue}w||(k&&k.indexOf("/")==k.length-1?N&&l.end(d):h.push({name:d,valid:N}))}else(d=c[1])?(">"===d.charAt(0)&&(d=" "+d),i.allow_conditional_comments||"[if"!==d.substr(0,3)||(d=" "+d),l.comment(d)):(d=c[2])?l.cdata(d):(d=c[3])?l.doctype(d):(d=c[4])&&l.pi(d,c[5]);u=c.index+c[0].length}for(u<e.length&&l.text(z(e.substr(u))),m=h.length-1;m>=0;m--)d=h[m],d.valid&&l.end(d.name)}}var o=n.each;return i.findEndTag=r,i}),r(S,[_,E,N,d],function(e,t,n,r){var i=r.makeMap,o=r.each,a=r.explode,s=r.extend;return function(r,l){function c(t){var n,r,o,a,s,c,d,f,h,p,m,g,v,y;for(m=i("tr,td,th,tbody,thead,tfoot,table"),p=l.getNonEmptyElements(),g=l.getTextBlockElements(),n=0;n<t.length;n++)if(r=t[n],r.parent&&!r.fixed)if(g[r.name]&&"li"==r.parent.name){for(v=r.next;v&&g[v.name];)v.name="li",v.fixed=!0,r.parent.insert(v,r.parent),v=v.next;r.unwrap(r)}else{for(a=[r],o=r.parent;o&&!l.isValidChild(o.name,r.name)&&!m[o.name];o=o.parent)a.push(o);if(o&&a.length>1){for(a.reverse(),s=c=u.filterNode(a[0].clone()),h=0;h<a.length-1;h++){for(l.isValidChild(c.name,a[h].name)?(d=u.filterNode(a[h].clone()),c.append(d)):d=c,f=a[h].firstChild;f&&f!=a[h+1];)y=f.next,d.append(f),f=y;c=d}s.isEmpty(p)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(p)||o.firstChild===o.lastChild&&"br"===o.firstChild.name)&&o.empty().remove()}else if(r.parent){if("li"===r.name){if(v=r.prev,v&&("ul"===v.name||"ul"===v.name)){v.append(r);continue}if(v=r.next,v&&("ul"===v.name||"ul"===v.name)){v.insert(r,v.firstChild,!0);continue}r.wrap(u.filterNode(new e("ul",1)));continue}l.isValidChild(r.parent.name,"div")&&l.isValidChild("div",r.name)?r.wrap(u.filterNode(new e("div",1))):"style"===r.name||"script"===r.name?r.empty().remove():r.unwrap()}}}var u=this,d={},f=[],h={},p={};r=r||{},r.validate="validate"in r?r.validate:!0,r.root_name=r.root_name||"body",u.schema=l=l||new t,u.filterNode=function(e){var t,n,r;n in d&&(r=h[n],r?r.push(e):h[n]=[e]),t=f.length;for(;t--;)n=f[t].name,n in e.attributes.map&&(r=p[n],r?r.push(e):p[n]=[e]);return e},u.addNodeFilter=function(e,t){o(a(e),function(e){var n=d[e];n||(d[e]=n=[]),n.push(t)})},u.addAttributeFilter=function(e,t){o(a(e),function(e){var n;for(n=0;n<f.length;n++)if(f[n].name===e)return void f[n].callbacks.push(t);f.push({name:e,callbacks:[t]})})},u.parse=function(t,o){function a(){function e(e){e&&(t=e.firstChild,t&&3==t.type&&(t.value=t.value.replace(R,"")),t=e.lastChild,t&&3==t.type&&(t.value=t.value.replace(D,"")))}var t=y.firstChild,n,i;if(l.isValidChild(y.name,I.toLowerCase())){for(;t;)n=t.next,3==t.type||1==t.type&&"p"!==t.name&&!T[t.name]&&!t.attr("data-mce-type")?i?i.append(t):(i=u(I,1),i.attr(r.forced_root_block_attrs),y.insert(i,t),i.append(t)):(e(i),i=null),t=n;e(i)}}function u(t,n){var r=new e(t,n),i;return t in d&&(i=h[t],i?i.push(r):h[t]=[r]),r}function m(e){var t,n,r,i,o=l.getBlockElements();for(t=e.prev;t&&3===t.type;){if(r=t.value.replace(D,""),r.length>0)return void(t.value=r);if(n=t.next){if(3==n.type&&n.value.length){t=t.prev;continue}if(!o[n.name]&&"script"!=n.name&&"style"!=n.name){t=t.prev;continue}}i=t.prev,t.remove(),t=i}}function g(e){var t,n={};for(t in e)"li"!==t&&"p"!=t&&(n[t]=e[t]);return n}var v,y,b,x,C,w,_,E,N,S,k,T,R,A=[],B,D,L,M,H,P,O,I;if(o=o||{},h={},p={},T=s(i("script,style,head,html,body,title,meta,param"),l.getBlockElements()),
+O=l.getNonEmptyElements(),P=l.children,k=r.validate,I="forced_root_block"in o?o.forced_root_block:r.forced_root_block,H=l.getWhiteSpaceElements(),R=/^[ \t\r\n]+/,D=/[ \t\r\n]+$/,L=/[ \t\r\n]+/g,M=/^[ \t\r\n]+$/,v=new n({validate:k,allow_script_urls:r.allow_script_urls,allow_conditional_comments:r.allow_conditional_comments,self_closing_elements:g(l.getSelfClosingElements()),cdata:function(e){b.append(u("#cdata",4)).value=e},text:function(e,t){var n;B||(e=e.replace(L," "),b.lastChild&&T[b.lastChild.name]&&(e=e.replace(R,""))),0!==e.length&&(n=u("#text",3),n.raw=!!t,b.append(n).value=e)},comment:function(e){b.append(u("#comment",8)).value=e},pi:function(e,t){b.append(u(e,7)).value=t,m(b)},doctype:function(e){var t;t=b.append(u("#doctype",10)),t.value=e,m(b)},start:function(e,t,n){var r,i,o,a,s;if(o=k?l.getElementRule(e):{}){for(r=u(o.outputName||e,1),r.attributes=t,r.shortEnded=n,b.append(r),s=P[b.name],s&&P[r.name]&&!s[r.name]&&A.push(r),i=f.length;i--;)a=f[i].name,a in t.map&&(N=p[a],N?N.push(r):p[a]=[r]);T[e]&&m(r),n||(b=r),!B&&H[e]&&(B=!0)}},end:function(t){var n,r,i,o,a;if(r=k?l.getElementRule(t):{}){if(T[t]&&!B){if(n=b.firstChild,n&&3===n.type)if(i=n.value.replace(R,""),i.length>0)n.value=i,n=n.next;else for(o=n.next,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.next,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o;if(n=b.lastChild,n&&3===n.type)if(i=n.value.replace(D,""),i.length>0)n.value=i,n=n.prev;else for(o=n.prev,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.prev,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o}if(B&&H[t]&&(B=!1),(r.removeEmpty||r.paddEmpty)&&b.isEmpty(O))if(r.paddEmpty)b.empty().append(new e("#text","3")).value="\xa0";else if(!b.attributes.map.name&&!b.attributes.map.id)return a=b.parent,T[b.name]?b.empty().remove():b.unwrap(),void(b=a);b=b.parent}}},l),y=b=new e(o.context||r.root_name,11),v.parse(t),k&&A.length&&(o.context?o.invalid=!0:c(A)),I&&("body"==y.name||o.isRootContent)&&a(),!o.invalid){for(S in h){for(N=d[S],x=h[S],_=x.length;_--;)x[_].parent||x.splice(_,1);for(C=0,w=N.length;w>C;C++)N[C](x,S,o)}for(C=0,w=f.length;w>C;C++)if(N=f[C],N.name in p){for(x=p[N.name],_=x.length;_--;)x[_].parent||x.splice(_,1);for(_=0,E=N.callbacks.length;E>_;_++)N.callbacks[_](x,N.name,o)}}return y},r.remove_trailing_brs&&u.addNodeFilter("br",function(t){var n,r=t.length,i,o=s({},l.getBlockElements()),a=l.getNonEmptyElements(),c,u,d,f,h,p;for(o.body=1,n=0;r>n;n++)if(i=t[n],c=i.parent,o[i.parent.name]&&i===c.lastChild){for(d=i.prev;d;){if(f=d.name,"span"!==f||"bookmark"!==d.attr("data-mce-type")){if("br"!==f)break;if("br"===f){i=null;break}}d=d.prev}i&&(i.remove(),c.isEmpty(a)&&(h=l.getElementRule(c.name),h&&(h.removeEmpty?c.remove():h.paddEmpty&&(c.empty().append(new e("#text",3)).value="\xa0"))))}else{for(u=i;c&&c.firstChild===u&&c.lastChild===u&&(u=c,!o[c.name]);)c=c.parent;u===c&&(p=new e("#text",3),p.value="\xa0",i.replace(p))}}),r.allow_html_in_named_anchor||u.addAttributeFilter("id,name",function(e){for(var t=e.length,n,r,i,o;t--;)if(o=e[t],"a"===o.name&&o.firstChild&&!o.attr("href")){i=o.parent,n=o.lastChild;do r=n.prev,i.insert(n,o),n=r;while(n)}}),r.validate&&l.getValidClasses()&&u.addAttributeFilter("class",function(e){for(var t=e.length,n,r,i,o,a,s=l.getValidClasses(),c,u;t--;){for(n=e[t],r=n.attr("class").split(" "),a="",i=0;i<r.length;i++)o=r[i],u=!1,c=s["*"],c&&c[o]&&(u=!0),c=s[n.name],!u&&c&&c[o]&&(u=!0),u&&(a&&(a+=" "),a+=o);a.length||(a=null),n.attr("class",a)}})}}),r(k,[g,d],function(e,t){var n=t.makeMap;return function(t){var r=[],i,o,a,s,l;return t=t||{},i=t.indent,o=n(t.indent_before||""),a=n(t.indent_after||""),s=e.getEncodeFunc(t.entity_encoding||"raw",t.entities),l="html"==t.element_format,{start:function(e,t,n){var c,u,d,f;if(i&&o[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n")),r.push("<",e),t)for(c=0,u=t.length;u>c;c++)d=t[c],r.push(" ",d.name,'="',s(d.value,!0),'"');!n||l?r[r.length]=">":r[r.length]=" />",n&&i&&a[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n"))},end:function(e){var t;r.push("</",e,">"),i&&a[e]&&r.length>0&&(t=r[r.length-1],t.length>0&&"\n"!==t&&r.push("\n"))},text:function(e,t){e.length>0&&(r[r.length]=t?e:s(e))},cdata:function(e){r.push("<![CDATA[",e,"]]>")},comment:function(e){r.push("<!--",e,"-->")},pi:function(e,t){t?r.push("<?",e," ",s(t),"?>"):r.push("<?",e,"?>"),i&&r.push("\n")},doctype:function(e){r.push("<!DOCTYPE",e,">",i?"\n":"")},reset:function(){r.length=0},getContent:function(){return r.join("").replace(/\n$/,"")}}}}),r(T,[k,E],function(e,t){return function(n,r){var i=this,o=new e(n);n=n||{},n.validate="validate"in n?n.validate:!0,i.schema=r=r||new t,i.writer=o,i.serialize=function(e){function t(e){var n=i[e.type],s,l,c,u,d,f,h,p,m;if(n)n(e);else{if(s=e.name,l=e.shortEnded,c=e.attributes,a&&c&&c.length>1){for(f=[],f.map={},m=r.getElementRule(e.name),h=0,p=m.attributesOrder.length;p>h;h++)u=m.attributesOrder[h],u in c.map&&(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));for(h=0,p=c.length;p>h;h++)u=c[h].name,u in f.map||(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));c=f}if(o.start(e.name,c,l),!l){if(e=e.firstChild)do t(e);while(e=e.next);o.end(s)}}}var i,a;return a=n.validate,i={3:function(e){o.text(e.value,e.raw)},8:function(e){o.comment(e.value)},7:function(e){o.pi(e.name,e.value)},10:function(e){o.doctype(e.value)},4:function(e){o.cdata(e.value)},11:function(e){if(e=e.firstChild)do t(e);while(e=e.next)}},o.reset(),1!=e.type||n.inner?i[11](e):t(e),o.getContent()}}}),r(R,[y,S,g,T,_,E,u,d],function(e,t,n,r,i,o,a,s){var l=s.each,c=s.trim,u=e.DOM;return function(e,i){var s,d,f;return i&&(s=i.dom,d=i.schema),s=s||u,d=d||new o(e),e.entity_encoding=e.entity_encoding||"named",e.remove_trailing_brs="remove_trailing_brs"in e?e.remove_trailing_brs:!0,f=new t(e,d),f.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n=e.length,r;n--;)r=e[n],r.attr("tabindex",r.attributes.map["data-mce-tabindex"]),r.attr(t,null)}),f.addAttributeFilter("src,href,style",function(t,n){for(var r=t.length,i,o,a="data-mce-"+n,l=e.url_converter,c=e.url_converter_scope,u;r--;)i=t[r],o=i.attributes.map[a],o!==u?(i.attr(n,o.length>0?o:null),i.attr(a,null)):(o=i.attributes.map[n],"style"===n?o=s.serializeStyle(s.parseStyle(o),i.name):l&&(o=l.call(c,o,n,i.name)),i.attr(n,o.length>0?o:null))}),f.addAttributeFilter("class",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("class"),r&&(r=n.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),n.attr("class",r.length>0?r:null))}),f.addAttributeFilter("data-mce-type",function(e,t,n){for(var r=e.length,i;r--;)i=e[r],"bookmark"!==i.attributes.map["data-mce-type"]||n.cleanup||i.remove()}),f.addNodeFilter("noscript",function(e){for(var t=e.length,r;t--;)r=e[t].firstChild,r&&(r.value=n.decode(r.value))}),f.addNodeFilter("script,style",function(e,t){function n(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}for(var r=e.length,i,o,a;r--;)i=e[r],o=i.firstChild?i.firstChild.value:"","script"===t?(a=i.attr("type"),a&&i.attr("type","mce-no/type"==a?null:a.replace(/^mce\-/,"")),o.length>0&&(i.firstChild.value="// <![CDATA[\n"+n(o)+"\n// ]]>")):o.length>0&&(i.firstChild.value="<!--\n"+n(o)+"\n-->")}),f.addNodeFilter("#comment",function(e){for(var t=e.length,n;t--;)n=e[t],0===n.value.indexOf("[CDATA[")?(n.name="#cdata",n.type=4,n.value=n.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===n.value.indexOf("mce:protected ")&&(n.name="#text",n.type=3,n.raw=!0,n.value=unescape(n.value).substr(14))}),f.addNodeFilter("xml:namespace,input",function(e,t){for(var n=e.length,r;n--;)r=e[n],7===r.type?r.remove():1===r.type&&("input"!==t||"type"in r.attributes.map||r.attr("type","text"))}),e.fix_list_elements&&f.addNodeFilter("ul,ol",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.parent,("ul"===r.name||"ol"===r.name)&&n.prev&&"li"===n.prev.name&&n.prev.append(n)}),f.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),{schema:d,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:function(t,n){var i=this,o,u,h,p,m;return a.ie&&s.select("script,style,select,map").length>0?(m=t.innerHTML,t=t.cloneNode(!1),s.setHTML(t,m)):t=t.cloneNode(!0),o=t.ownerDocument.implementation,o.createHTMLDocument&&(u=o.createHTMLDocument(""),l("BODY"==t.nodeName?t.childNodes:[t],function(e){u.body.appendChild(u.importNode(e,!0))}),t="BODY"!=t.nodeName?u.body.firstChild:u.body,h=s.doc,s.doc=u),n=n||{},n.format=n.format||"html",n.selection&&(n.forced_root_block=""),n.no_events||(n.node=t,i.onPreProcess(n)),p=new r(e,d),n.content=p.serialize(f.parse(c(n.getInner?t.innerHTML:s.getOuterHTML(t)),n)),n.cleanup||(n.content=n.content.replace(/\uFEFF/g,"")),n.no_events||i.onPostProcess(n),h&&(s.doc=h),n.node=null,n.content},addRules:function(e){d.addValidElements(e)},setRules:function(e){d.setValidElements(e)},onPreProcess:function(e){i&&i.fire("PreProcess",e)},onPostProcess:function(e){i&&i.fire("PostProcess",e)}}}}),r(A,[],function(){function e(e){function t(t,n){var r,i=0,o,a,s,l,c,u,d=-1,f;if(r=t.duplicate(),r.collapse(n),f=r.parentElement(),f.ownerDocument===e.dom.doc){for(;"false"===f.contentEditable;)f=f.parentNode;if(!f.hasChildNodes())return{node:f,inside:1};for(s=f.children,o=s.length-1;o>=i;)if(u=Math.floor((i+o)/2),l=s[u],r.moveToElementText(l),d=r.compareEndPoints(n?"StartToStart":"EndToEnd",t),d>0)o=u-1;else{if(!(0>d))return{node:l};i=u+1}if(0>d)for(l?r.collapse(!1):(r.moveToElementText(f),r.collapse(!0),l=f,a=!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",1)&&f==r.parentElement();)c++;else for(r.collapse(!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",-1)&&f==r.parentElement();)c++;return{node:l,position:d,offset:c,inside:a}}}function n(){function n(e){var n=t(o,e),r,i,s=0,l,c,u;if(r=n.node,i=n.offset,n.inside&&!r.hasChildNodes())return void a[e?"setStart":"setEnd"](r,0);if(i===c)return void a[e?"setStartBefore":"setEndAfter"](r);if(n.position<0){if(l=n.inside?r.firstChild:r.nextSibling,!l)return void a[e?"setStartAfter":"setEndAfter"](r);if(!i)return void(3==l.nodeType?a[e?"setStart":"setEnd"](l,0):a[e?"setStartBefore":"setEndBefore"](l));for(;l;){if(3==l.nodeType&&(u=l.nodeValue,s+=u.length,s>=i)){r=l,s-=i,s=u.length-s;break}l=l.nextSibling}}else{if(l=r.previousSibling,!l)return a[e?"setStartBefore":"setEndBefore"](r);if(!i)return void(3==r.nodeType?a[e?"setStart":"setEnd"](l,r.nodeValue.length):a[e?"setStartAfter":"setEndAfter"](l));for(;l;){if(3==l.nodeType&&(s+=l.nodeValue.length,s>=i)){r=l,s-=i;break}l=l.previousSibling}}a[e?"setStart":"setEnd"](r,s)}var o=e.getRng(),a=i.createRng(),s,l,c,u,d;if(s=o.item?o.item(0):o.parentElement(),s.ownerDocument!=i.doc)return a;if(l=e.isCollapsed(),o.item)return a.setStart(s.parentNode,i.nodeIndex(s)),a.setEnd(a.startContainer,a.startOffset+1),a;try{n(!0),l||n()}catch(f){if(-2147024809!=f.number)throw f;d=r.getBookmark(2),c=o.duplicate(),c.collapse(!0),s=c.parentElement(),l||(c=o.duplicate(),c.collapse(!1),u=c.parentElement(),u.innerHTML=u.innerHTML),s.innerHTML=s.innerHTML,r.moveToBookmark(d),o=e.getRng(),n(!0),l||n()}return a}var r=this,i=e.dom,o=!1;this.getBookmark=function(n){function r(e){var t,n,r,o,a=[];for(t=e.parentNode,n=i.getRoot().parentNode;t!=n&&9!==t.nodeType;){for(r=t.children,o=r.length;o--;)if(e===r[o]){a.push(o);break}e=t,t=t.parentNode}return a}function o(e){var n;return n=t(a,e),n?{position:n.position,offset:n.offset,indexes:r(n.node),inside:n.inside}:void 0}var a=e.getRng(),s={};return 2===n&&(a.item?s.start={ctrl:!0,indexes:r(a.item(0))}:(s.start=o(!0),e.isCollapsed()||(s.end=o()))),s},this.moveToBookmark=function(e){function t(e){var t,n,r,o;for(t=i.getRoot(),n=e.length-1;n>=0;n--)o=t.children,r=e[n],r<=o.length-1&&(t=o[r]);return t}function n(n){var i=e[n?"start":"end"],a,s,l,c;i&&(a=i.position>0,s=o.createTextRange(),s.moveToElementText(t(i.indexes)),c=i.offset,c!==l?(s.collapse(i.inside||a),s.moveStart("character",a?-c:c)):s.collapse(n),r.setEndPoint(n?"StartToStart":"EndToStart",s),n&&r.collapse(!0))}var r,o=i.doc.body;e.start&&(e.start.ctrl?(r=o.createControlRange(),r.addElement(t(e.start.indexes)),r.select()):(r=o.createTextRange(),n(!0),n(),r.select()))},this.addRange=function(t){function n(e){var t,n,a,d,p;a=i.create("a"),t=e?s:c,n=e?l:u,d=r.duplicate(),(t==f||t==f.documentElement)&&(t=h,n=0),3==t.nodeType?(t.parentNode.insertBefore(a,t),d.moveToElementText(a),d.moveStart("character",n),i.remove(a),r.setEndPoint(e?"StartToStart":"EndToEnd",d)):(p=t.childNodes,p.length?(n>=p.length?i.insertAfter(a,p[p.length-1]):t.insertBefore(a,p[n]),d.moveToElementText(a)):t.canHaveHTML&&(t.innerHTML="<span>&#xFEFF;</span>",a=t.firstChild,d.moveToElementText(a),d.collapse(o)),r.setEndPoint(e?"StartToStart":"EndToEnd",d),i.remove(a))}var r,a,s,l,c,u,d,f=e.dom.doc,h=f.body,p,m;if(s=t.startContainer,l=t.startOffset,c=t.endContainer,u=t.endOffset,r=h.createTextRange(),s==c&&1==s.nodeType){if(l==u&&!s.hasChildNodes()){if(s.canHaveHTML)return d=s.previousSibling,d&&!d.hasChildNodes()&&i.isBlock(d)?d.innerHTML="&#xFEFF;":d=null,s.innerHTML="<span>&#xFEFF;</span><span>&#xFEFF;</span>",r.moveToElementText(s.lastChild),r.select(),i.doc.selection.clear(),s.innerHTML="",void(d&&(d.innerHTML=""));l=i.nodeIndex(s),s=s.parentNode}if(l==u-1)try{if(m=s.childNodes[l],a=h.createControlRange(),a.addElement(m),a.select(),p=e.getRng(),p.item&&m===p.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(B,[u],function(e){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey||this.metaKeyPressed(e)},metaKeyPressed:function(t){return e.mac?t.metaKey:t.ctrlKey&&!t.altKey}}}),r(D,[B,d,u],function(e,t,n){return function(r,i){function o(e){var t=i.settings.object_resizing;return t===!1||n.iOS?!1:("string"!=typeof t&&(t="table,img,div"),"false"===e.getAttribute("data-mce-resize")?!1:i.dom.is(e,t))}function a(t){var n,r,o,a,s;n=t.screenX-T,r=t.screenY-R,P=n*S[2]+D,O=r*S[3]+L,P=5>P?5:P,O=5>O?5:O,o="IMG"==w.nodeName&&i.settings.resize_img_proportional!==!1?!e.modifierPressed(t):e.modifierPressed(t)||"IMG"==w.nodeName&&S[2]*S[3]!==0,o&&(W(n)>W(r)?(O=V(P*M),P=V(O/M)):(P=V(O/M),O=V(P*M))),x.setStyles(_,{width:P,height:O}),a=S.startPos.x+n,s=S.startPos.y+r,a=a>0?a:0,s=s>0?s:0,x.setStyles(E,{left:a,top:s,display:"block"}),E.innerHTML=P+" &times; "+O,S[2]<0&&_.clientWidth<=P&&x.setStyle(_,"left",A+(D-P)),S[3]<0&&_.clientHeight<=O&&x.setStyle(_,"top",B+(L-O)),n=U.scrollWidth-$,r=U.scrollHeight-q,n+r!==0&&x.setStyles(E,{left:a-n,top:s-r}),H||(i.fire("ObjectResizeStart",{target:w,width:D,height:L}),H=!0)}function s(){function e(e,t){t&&(w.style[e]||!i.schema.isValid(w.nodeName.toLowerCase(),e)?x.setStyle(w,e,t):x.setAttrib(w,e,t))}H=!1,e("width",P),e("height",O),x.unbind(I,"mousemove",a),x.unbind(I,"mouseup",s),F!=I&&(x.unbind(F,"mousemove",a),x.unbind(F,"mouseup",s)),x.remove(_),x.remove(E),z&&"TABLE"!=w.nodeName||l(w),i.fire("ObjectResized",{target:w,width:P,height:O}),x.setAttrib(w,"style",x.getAttrib(w,"style")),i.nodeChanged()}function l(e,t,r){var l,u,d,f,h;g(),l=x.getPos(e,U),A=l.x,B=l.y,h=e.getBoundingClientRect(),u=h.width||h.right-h.left,d=h.height||h.bottom-h.top,w!=e&&(m(),w=e,P=O=0),f=i.fire("ObjectSelected",{target:e}),o(e)&&!f.isDefaultPrevented()?C(N,function(e,i){function o(t){T=t.screenX,R=t.screenY,D=w.clientWidth,L=w.clientHeight,M=L/D,S=e,e.startPos={x:u*e[0]+A,y:d*e[1]+B},$=U.scrollWidth,q=U.scrollHeight,_=w.cloneNode(!0),x.addClass(_,"mce-clonedresizable"),x.setAttrib(_,"data-mce-bogus","all"),_.contentEditable=!1,_.unSelectabe=!0,x.setStyles(_,{left:A,top:B,margin:0}),_.removeAttribute("data-mce-selected"),U.appendChild(_),x.bind(I,"mousemove",a),x.bind(I,"mouseup",s),F!=I&&(x.bind(F,"mousemove",a),x.bind(F,"mouseup",s)),E=x.add(U,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},D+" &times; "+L)}var l;return t?void(i==t&&o(r)):(l=x.get("mceResizeHandle"+i),l&&x.remove(l),l=x.add(U,"div",{id:"mceResizeHandle"+i,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+i+"-resize; margin:0; padding:0"}),n.ie&&(l.contentEditable=!1),x.bind(l,"mousedown",function(e){e.stopImmediatePropagation(),e.preventDefault(),o(e)}),e.elm=l,void x.setStyles(l,{left:u*e[0]+A-l.offsetWidth/2,top:d*e[1]+B-l.offsetHeight/2}))}):c(),w.setAttribute("data-mce-selected","1")}function c(){var e,t;g(),w&&w.removeAttribute("data-mce-selected");for(e in N)t=x.get("mceResizeHandle"+e),t&&(x.unbind(t),x.remove(t))}function u(e){function t(e,t){if(e)do if(e===t)return!0;while(e=e.parentNode)}var n,o;if(!H&&!i.removed)return C(x.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),o="mousedown"==e.type?e.target:r.getNode(),o=x.$(o).closest(z?"table":"table,img,hr")[0],t(o,U)&&(v(),n=r.getStart(!0),t(n,o)&&t(r.getEnd(!0),o)&&(!z||o!=n&&"IMG"!==n.nodeName))?void l(o):void c()}function d(e,t,n){e&&e.attachEvent&&e.attachEvent("on"+t,n)}function f(e,t,n){e&&e.detachEvent&&e.detachEvent("on"+t,n)}function h(e){var t=e.srcElement,n,r,o,a,s,c,u;n=t.getBoundingClientRect(),c=k.clientX-n.left,u=k.clientY-n.top;for(r in N)if(o=N[r],a=t.offsetWidth*o[0],s=t.offsetHeight*o[1],W(a-c)<8&&W(s-u)<8){S=o;break}H=!0,i.fire("ObjectResizeStart",{target:w,width:w.clientWidth,height:w.clientHeight}),i.getDoc().selection.empty(),l(t,r,k)}function p(e){var t=e.srcElement;if(t!=w){if(i.fire("ObjectSelected",{target:t}),m(),0===t.id.indexOf("mceResizeHandle"))return void(e.returnValue=!1);("IMG"==t.nodeName||"TABLE"==t.nodeName)&&(c(),w=t,d(t,"resizestart",h))}}function m(){f(w,"resizestart",h)}function g(){for(var e in N){var t=N[e];t.elm&&(x.unbind(t.elm),delete t.elm)}}function v(){try{i.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}}function y(e){var t;if(z){t=I.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function b(){w=_=null,z&&(m(),f(U,"controlselect",p))}var x=i.dom,C=t.each,w,_,E,N,S,k,T,R,A,B,D,L,M,H,P,O,I=i.getDoc(),F=document,z=n.ie&&n.ie<11,W=Math.abs,V=Math.round,U=i.getBody(),$,q;N={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var j=".mce-content-body";return i.contentStyles.push(j+" div.mce-resizehandle {position: absolute;border: 1px solid black;background: #FFF;width: 7px;height: 7px;z-index: 10000}"+j+" .mce-resizehandle:hover {background: #000}"+j+" img[data-mce-selected], hr[data-mce-selected] {outline: 1px solid black;resize: none}"+j+" .mce-clonedresizable {position: absolute;"+(n.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+j+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}"),i.on("init",function(){z?(i.on("ObjectResized",function(e){"TABLE"!=e.target.nodeName&&(c(),y(e.target))}),d(U,"controlselect",p),i.on("mousedown",function(e){k=e})):(v(),n.ie>=11&&(i.on("mouseup",function(e){var t=e.target.nodeName;!H&&/^(TABLE|IMG|HR)$/.test(t)&&(i.selection.select(e.target,"TABLE"==t),i.nodeChanged())}),i.dom.bind(U,"mscontrolselect",function(e){/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"==e.target.tagName&&window.setTimeout(function(){i.selection.select(e.target)},0))}))),i.on("nodechange ResizeEditor ResizeWindow",function(e){window.requestAnimationFrame?window.requestAnimationFrame(function(){u(e)}):u(e)}),i.on("keydown keyup",function(e){w&&"TABLE"==w.nodeName&&u(e)}),i.on("hide",c)}),i.on("remove",g),{isResizable:o,showResizeRect:l,hideResizeRect:c,updateResizeRect:u,controlSelect:y,destroy:b}}}),r(L,[u,d],function(e,t){function n(n){var r=n.dom;this.getBookmark=function(e,i){function o(e,n){var i=0;return t.each(r.select(e),function(e,t){e==n&&(i=t)}),i}function a(e){function t(t){var n,r,i,o=t?"start":"end";n=e[o+"Container"],r=e[o+"Offset"],1==n.nodeType&&"TR"==n.nodeName&&(i=n.childNodes,n=i[Math.min(t?r:r-1,i.length-1)],n&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r)))}return t(!0),t(),e}function s(){function e(e,t){var n=e[t?"startContainer":"endContainer"],a=e[t?"startOffset":"endOffset"],s=[],l,c,u=0;if(3==n.nodeType){if(i)for(l=n.previousSibling;l&&3==l.nodeType;l=l.previousSibling)a+=l.nodeValue.length;s.push(a)}else c=n.childNodes,a>=c.length&&c.length&&(u=1,a=Math.max(0,c.length-1)),s.push(r.nodeIndex(c[a],i)+u);for(;n&&n!=o;n=n.parentNode)s.push(r.nodeIndex(n,i));return s}var t=n.getRng(!0),o=r.getRoot(),a={};return a.start=e(t,!0),n.isCollapsed()||(a.end=e(t)),a}var l,c,u,d,f,h,p="&#xFEFF;",m;if(2==e)return h=n.getNode(),f=h?h.nodeName:null,"IMG"==f?{name:f,index:o(f,h)}:n.tridentSel?n.tridentSel.getBookmark(e):s();if(e)return{rng:n.getRng()};if(l=n.getRng(),u=r.uniqueId(),d=n.isCollapsed(),m="overflow:hidden;line-height:0px",l.duplicate||l.item){if(l.item)return h=l.item(0),f=h.nodeName,{name:f,index:o(f,h)};c=l.duplicate();try{l.collapse(),l.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_start" style="'+m+'">'+p+"</span>"),d||(c.collapse(!1),l.moveToElementText(c.parentElement()),0===l.compareEndPoints("StartToEnd",c)&&c.move("character",-1),c.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_end" style="'+m+'">'+p+"</span>"))}catch(g){return null}}else{if(h=n.getNode(),f=h.nodeName,"IMG"==f)return{name:f,index:o(f,h)};c=a(l.cloneRange()),d||(c.collapse(!1),c.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_end",style:m},p))),l=a(l),l.collapse(!0),l.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_start",style:m},p))}return n.moveToBookmark({id:u,keep:1}),{id:u}},this.moveToBookmark=function(i){function o(e){var t=i[e?"start":"end"],n,r,o,a;if(t){for(o=t[0],r=c,n=t.length-1;n>=1;n--){if(a=r.childNodes,t[n]>a.length-1)return;r=a[t[n]]}3===r.nodeType&&(o=Math.min(t[0],r.nodeValue.length)),1===r.nodeType&&(o=Math.min(t[0],r.childNodes.length)),e?l.setStart(r,o):l.setEnd(r,o)}return!0}function a(n){var o=r.get(i.id+"_"+n),a,s,l,c,p=i.keep;if(o&&(a=o.parentNode,"start"==n?(p?(a=o.firstChild,s=1):s=r.nodeIndex(o),u=d=a,f=h=s):(p?(a=o.firstChild,s=1):s=r.nodeIndex(o),d=a,h=s),!p)){for(c=o.previousSibling,l=o.nextSibling,t.each(t.grep(o.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});o=r.get(i.id+"_"+n);)r.remove(o,1);c&&l&&c.nodeType==l.nodeType&&3==c.nodeType&&!e.opera&&(s=c.nodeValue.length,c.appendData(l.nodeValue),r.remove(l),"start"==n?(u=d=c,f=h=s):(d=c,h=s))}}function s(t){return!r.isBlock(t)||t.innerHTML||e.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t}var l,c,u,d,f,h;if(i)if(i.start){if(l=r.createRng(),c=r.getRoot(),n.tridentSel)return n.tridentSel.moveToBookmark(i);o(!0)&&o()&&n.setRng(l)}else i.id?(a("start"),a("end"),u&&(l=r.createRng(),l.setStart(s(u),f),l.setEnd(s(d),h),n.setRng(l))):i.name?n.select(r.select(i.name)[i.index]):i.rng&&n.setRng(i.rng)}}return n.isBookmarkNode=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},n}),r(M,[p,A,D,C,L,u,d],function(e,n,r,i,o,a,s){function l(e,t,i,a){var s=this;s.dom=e,s.win=t,s.serializer=i,s.editor=a,s.bookmarkManager=new o(s),s.controlSelection=new r(s,a),s.win.getSelection||(s.tridentSel=new n(s))}var c=s.each,u=s.trim,d=a.ie;return l.prototype={setCursorLocation:function(e,t){var n=this,r=n.dom.createRng();e?(r.setStart(e,t),r.setEnd(e,t),n.setRng(r),n.collapse(!1)):(n._moveEndPoint(r,n.editor.getBody(),!0),n.setRng(r))},getContent:function(e){var n=this,r=n.getRng(),i=n.dom.create("body"),o=n.getSel(),a,s,l;return e=e||{},a=s="",e.get=!0,e.format=e.format||"html",e.selection=!0,n.editor.fire("BeforeGetContent",e),"text"==e.format?n.isCollapsed()?"":r.text||(o.toString?o.toString():""):(r.cloneContents?(l=r.cloneContents(),l&&i.appendChild(l)):r.item!==t||r.htmlText!==t?(i.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),i.removeChild(i.firstChild)):i.innerHTML=r.toString(),/^\s/.test(i.innerHTML)&&(a=" "),/\s+$/.test(i.innerHTML)&&(s=" "),e.getInner=!0,e.content=n.isCollapsed()?"":a+n.serializer.serialize(i,e)+s,n.editor.fire("GetContent",e),e.content)},setContent:function(e,t){var n=this,r=n.getRng(),i,o=n.win.document,a,s;if(t=t||{format:"html"},t.set=!0,t.selection=!0,e=t.content=e,t.no_events||n.editor.fire("BeforeSetContent",t),e=t.content,r.insertNode){e+='<span id="__caret">_</span>',r.startContainer==o&&r.endContainer==o?o.body.innerHTML=e:(r.deleteContents(),0===o.body.childNodes.length?o.body.innerHTML=e:r.createContextualFragment?r.insertNode(r.createContextualFragment(e)):(a=o.createDocumentFragment(),s=o.createElement("div"),a.appendChild(s),s.outerHTML=e,r.insertNode(a))),i=n.dom.get("__caret"),r=o.createRange(),r.setStartBefore(i),r.setEndBefore(i),n.setRng(r),n.dom.remove("__caret");try{n.setRng(r)}catch(l){}}else r.item&&(o.execCommand("Delete",!1,null),r=n.getRng()),/^\s+/.test(e)?(r.pasteHTML('<span id="__mce_tmp">_</span>'+e),n.dom.remove("__mce_tmp")):r.pasteHTML(e);t.no_events||n.editor.fire("SetContent",t)},getStart:function(e){var t=this,n=t.getRng(),r,i,o,a;if(n.duplicate||n.item){if(n.item)return n.item(0);for(o=n.duplicate(),o.collapse(1),r=o.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),i=a=n.parentElement();a=a.parentNode;)if(a==r){r=i;break}return r}return r=n.startContainer,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[Math.min(r.childNodes.length-1,n.startOffset)])),r&&3==r.nodeType?r.parentNode:r},getEnd:function(e){var t=this,n=t.getRng(),r,i;return n.duplicate||n.item?n.item?n.item(0):(n=n.duplicate(),n.collapse(0),r=n.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),r&&"BODY"==r.nodeName?r.lastChild||r:r):(r=n.endContainer,i=n.endOffset,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[i>0?i-1:i])),r&&3==r.nodeType?r.parentNode:r)},getBookmark:function(e,t){return this.bookmarkManager.getBookmark(e,t)},moveToBookmark:function(e){return this.bookmarkManager.moveToBookmark(e)},select:function(e,t){var n=this,r=n.dom,i=r.createRng(),o;if(n.lastFocusBookmark=null,e){if(!t&&n.controlSelection.controlSelect(e))return;o=r.nodeIndex(e),i.setStart(e.parentNode,o),i.setEnd(e.parentNode,o+1),t&&(n._moveEndPoint(i,e,!0),n._moveEndPoint(i,e)),n.setRng(i)}return e},isCollapsed:function(){var e=this,t=e.getRng(),n=e.getSel();return!t||t.item?!1:t.compareEndPoints?0===t.compareEndPoints("StartToEnd",t):!n||t.collapsed},collapse:function(e){var t=this,n=t.getRng(),r;n.item&&(r=n.item(0),n=t.win.document.body.createTextRange(),n.moveToElementText(r)),n.collapse(!!e),t.setRng(n)},getSel:function(){var e=this.win;return e.getSelection?e.getSelection():e.document.selection},getRng:function(e){function t(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}}var n=this,r,i,o,a=n.win.document,s;if(!e&&n.lastFocusBookmark){var l=n.lastFocusBookmark;return l.startContainer?(i=a.createRange(),i.setStart(l.startContainer,l.startOffset),i.setEnd(l.endContainer,l.endOffset)):i=l,i}if(e&&n.tridentSel)return n.tridentSel.getRangeAt(0);try{(r=n.getSel())&&(i=r.rangeCount>0?r.getRangeAt(0):r.createRange?r.createRange():a.createRange())}catch(c){}if(d&&i&&i.setStart&&a.selection){try{s=a.selection.createRange()}catch(c){}s&&s.item&&(o=s.item(0),i=a.createRange(),i.setStartBefore(o),i.setEndAfter(o))}return i||(i=a.createRange?a.createRange():a.body.createTextRange()),i.setStart&&9===i.startContainer.nodeType&&i.collapsed&&(o=n.dom.getRoot(),i.setStart(o,0),i.setEnd(o,0)),n.selectedRange&&n.explicitRange&&(0===t(i.START_TO_START,i,n.selectedRange)&&0===t(i.END_TO_END,i,n.selectedRange)?i=n.explicitRange:(n.selectedRange=null,n.explicitRange=null)),i},setRng:function(e,t){var n=this,r,i;if(e)if(e.select)try{e.select()}catch(o){}else if(n.tridentSel){if(e.cloneRange)try{return void n.tridentSel.addRange(e)}catch(o){}}else{if(r=n.getSel()){n.explicitRange=e;try{r.removeAllRanges(),r.addRange(e)}catch(o){}t===!1&&r.extend&&(r.collapse(e.endContainer,e.endOffset),r.extend(e.startContainer,e.startOffset)),n.selectedRange=r.rangeCount>0?r.getRangeAt(0):null}e.collapsed||e.startContainer!=e.endContainer||!r.setBaseAndExtent||a.ie||e.endOffset-e.startOffset<2&&e.startContainer.hasChildNodes()&&(i=e.startContainer.childNodes[e.startOffset],i&&"IMG"==i.tagName&&n.getSel().setBaseAndExtent(i,0,i,1))}},setNode:function(e){var t=this;return t.setContent(t.dom.getOuterHTML(e)),e},getNode:function(){function e(e,t){for(var n=e;e&&3===e.nodeType&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n}var t=this,n=t.getRng(),r,i=n.startContainer,o=n.endContainer,a=n.startOffset,s=n.endOffset,l=t.dom.getRoot();return n?n.setStart?(r=n.commonAncestorContainer,!n.collapsed&&(i==o&&2>s-a&&i.hasChildNodes()&&(r=i.childNodes[a]),3===i.nodeType&&3===o.nodeType&&(i=i.length===a?e(i.nextSibling,!0):i.parentNode,o=0===s?e(o.previousSibling,!1):o.parentNode,i&&i===o))?i:r&&3==r.nodeType?r.parentNode:r):(r=n.item?n.item(0):n.parentElement(),r.ownerDocument!==t.win.document&&(r=l),r):l},getSelectedBlocks:function(t,n){var r=this,i=r.dom,o,a,s=[];if(a=i.getRoot(),t=i.getParent(t||r.getStart(),i.isBlock),n=i.getParent(n||r.getEnd(),i.isBlock),t&&t!=a&&s.push(t),t&&n&&t!=n){o=t;for(var l=new e(t,a);(o=l.next())&&o!=n;)i.isBlock(o)&&s.push(o)}return n&&t!=n&&n!=a&&s.push(n),s},isForward:function(){var e=this.dom,t=this.getSel(),n,r;return t&&t.anchorNode&&t.focusNode?(n=e.createRng(),n.setStart(t.anchorNode,t.anchorOffset),n.collapse(!0),r=e.createRng(),r.setStart(t.focusNode,t.focusOffset),r.collapse(!0),n.compareBoundaryPoints(n.START_TO_START,r)<=0):!0},normalize:function(){var e=this,t=e.getRng();return a.range&&new i(e.dom).normalize(t)&&e.setRng(t,e.isForward()),t},selectorChanged:function(e,t){var n=this,r;return n.selectorChangedData||(n.selectorChangedData={},r={},n.editor.on("NodeChange",function(e){var t=e.element,i=n.dom,o=i.getParents(t,null,i.getRoot()),a={};c(n.selectorChangedData,function(e,t){c(o,function(n){return i.is(n,t)?(r[t]||(c(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1):void 0})}),c(r,function(e,n){a[n]||(delete r[n],c(e,function(e){e(!1,{node:t,selector:n,parents:o})}))})})),n.selectorChangedData[e]||(n.selectorChangedData[e]=[]),n.selectorChangedData[e].push(t),n},getScrollContainer:function(){for(var e,t=this.dom.getRoot();t&&"BODY"!=t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e){function t(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}}var n,r,i=this,o=i.dom,a=o.getRoot(),s,l;if("BODY"!=a.nodeName){var c=i.getScrollContainer();if(c)return n=t(e).y-t(c).y,l=c.clientHeight,s=c.scrollTop,void((s>n||n+25>s+l)&&(c.scrollTop=s>n?n:n-l+25))}r=o.getViewPort(i.editor.getWin()),n=o.getPos(e).y,s=r.y,l=r.h,(n<r.y||n+25>s+l)&&i.editor.getWin().scrollTo(0,s>n?n:n-l+25)},placeCaretAt:function(e,t){var n=this.editor.getDoc(),r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}this.setRng(r)},_moveEndPoint:function(t,n,r){var i=n,o=new e(n,i),s=this.dom.schema.getNonEmptyElements();do{if(3==n.nodeType&&0!==u(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(s[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):"BR"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));
+if(a.ie&&a.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?o.next():o.prev());"BODY"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},destroy:function(){this.win=null,this.controlSelection.destroy()}},l}),r(H,[L,d],function(e,t){function n(t){this.compare=function(n,i){function o(e){var n={};return r(t.getAttribs(e),function(r){var i=r.nodeName.toLowerCase();0!==i.indexOf("_")&&"style"!==i&&"data-mce-style"!==i&&(n[i]=t.getAttrib(e,i))}),n}function a(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],"undefined"==typeof n)return!1;if(e[r]!=n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0}return n.nodeName!=i.nodeName?!1:a(o(n),o(i))&&a(t.parseStyle(t.getAttrib(n,"style")),t.parseStyle(t.getAttrib(i,"style")))?!e.isBookmarkNode(n)&&!e.isBookmarkNode(i):!1}}var r=t.each;return n}),r(P,[d],function(e){function t(e,t){function r(e){return e.replace(/%(\w+)/g,"")}var i,o,a=e.dom,s="",l,c;if(c=e.settings.preview_styles,c===!1)return"";if(c||(c="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),"string"==typeof t){if(t=e.formatter.get(t),!t)return;t=t[0]}return i=t.block||t.inline||"span",o=a.create(i),n(t.styles,function(e,t){e=r(e),e&&a.setStyle(o,t,e)}),n(t.attributes,function(e,t){e=r(e),e&&a.setAttrib(o,t,e)}),n(t.classes,function(e){e=r(e),a.hasClass(o,e)||a.addClass(o,e)}),e.fire("PreviewFormats"),a.setStyles(o,{position:"absolute",left:-65535}),e.getBody().appendChild(o),l=a.getStyle(e.getBody(),"fontSize",!0),l=/px$/.test(l)?parseInt(l,10):0,n(c.split(" "),function(t){var n=a.getStyle(o,t,!0);if(!("background-color"==t&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)&&(n=a.getStyle(e.getBody(),t,!0),"#ffffff"==a.toHex(n).toLowerCase())||"color"==t&&"#000000"==a.toHex(n).toLowerCase())){if("font-size"==t&&/em|%$/.test(n)){if(0===l)return;n=parseFloat(n,10)/(/%$/.test(n)?100:1),n=n*l+"px"}"border"==t&&n&&(s+="padding:0 2px;"),s+=t+":"+n+";"}}),e.fire("AfterPreviewFormats"),a.remove(o),s}var n=e.each;return{getCssText:t}}),r(O,[p,C,L,H,d,P],function(e,t,n,r,i,o){return function(a){function s(e){return e.nodeType&&(e=e.nodeName),!!a.schema.getTextBlockElements()[e.toLowerCase()]}function l(e){return/^(TH|TD)$/.test(e.nodeName)}function c(e){return e&&/^(IMG)$/.test(e.nodeName)}function u(e,t){return q.getParents(e,t,q.getRoot())}function d(e){return 1===e.nodeType&&"_mce_caret"===e.id}function f(){m({valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"}}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},defaultBlock:"div"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(e,t,n){le(n,function(t,n){q.setAttrib(e,n,t)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]}),le("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){m(e,{block:e,remove:"all"})}),m(a.settings.formats)}function h(){a.addShortcut("meta+b","bold_desc","Bold"),a.addShortcut("meta+i","italic_desc","Italic"),a.addShortcut("meta+u","underline_desc","Underline");for(var e=1;6>=e;e++)a.addShortcut("access+"+e,"",["FormatBlock",!1,"h"+e]);a.addShortcut("access+7","",["FormatBlock",!1,"p"]),a.addShortcut("access+8","",["FormatBlock",!1,"div"]),a.addShortcut("access+9","",["FormatBlock",!1,"address"])}function p(e){return e?$[e]:$}function m(e,t){e&&("string"!=typeof e?le(e,function(e,t){m(t,e)}):(t=t.length?t:[t],le(t,function(e){e.deep===re&&(e.deep=!e.selector),e.split===re&&(e.split=!e.selector||e.inline),e.remove===re&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),$[e]=t))}function g(e){return e&&$[e]&&delete $[e],$}function v(e){var t;return a.dom.getParent(e,function(e){return t=a.dom.getStyle(e,"text-decoration"),t&&"none"!==t}),t}function y(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=v(e.parentNode),a.dom.getStyle(e,"color")&&t?a.dom.setStyle(e,"text-decoration",t):a.dom.getStyle(e,"text-decoration")===t&&a.dom.setStyle(e,"text-decoration",null))}function b(t,n,r){function i(e,t){if(t=t||u,e){if(t.onformat&&t.onformat(e,t,n,r),le(t.styles,function(t,r){q.setStyle(e,r,D(t,n))}),t.styles){var i=q.getAttrib(e,"style");i&&e.setAttribute("data-mce-style",i)}le(t.attributes,function(t,r){q.setAttrib(e,r,D(t,n))}),le(t.classes,function(t){t=D(t,n),q.hasClass(e,t)||q.addClass(e,t)})}}function o(){function t(t,n){var i=new e(n);for(r=i.current();r;r=i.prev())if(r.childNodes.length>1||r==t||"BR"==r.tagName)return r}var n=a.selection.getRng(),i=n.startContainer,o=n.endContainer;if(i!=o&&0===n.endOffset){var s=t(i,o),l=3==s.nodeType?s.length:s.childNodes.length;n.setEnd(s,l)}return n}function l(e,r,o){var a=[],l,f,h=!0;l=u.inline||u.block,f=q.create(l),i(f),K.walk(e,function(e){function r(e){var g,v,y,b,x;return x=h,g=e.nodeName.toLowerCase(),v=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&ie(e)&&(x=h,h="true"===ie(e),b=!0),R(g,"br")?(p=0,void(u.block&&q.remove(e))):u.wrapper&&w(e,t,n)?void(p=0):h&&!b&&u.block&&!u.wrapper&&s(g)&&Y(v,l)?(e=q.rename(e,l),i(e),a.push(e),void(p=0)):u.selector&&(le(c,function(t){"collapsed"in t&&t.collapsed!==m||q.is(e,t.selector)&&!d(e)&&(i(e,t),y=!0)}),!u.inline||y)?void(p=0):void(!h||b||!Y(l,g)||!Y(v,l)||!o&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||d(e)||u.inline&&G(e)?(p=0,le(ce(e.childNodes),r),b&&(h=x),p=0):(p||(p=q.clone(f,ee),e.parentNode.insertBefore(p,e),a.push(p)),p.appendChild(e)))}var p;le(e,r)}),u.links===!0&&le(a,function(e){function t(e){"A"===e.nodeName&&i(e,u),le(ce(e.childNodes),t)}t(e)}),le(a,function(e){function r(e){var t=0;return le(e.childNodes,function(e){L(e)||se(e)||t++}),t}function o(e){var t,n;return le(e.childNodes,function(e){return 1!=e.nodeType||se(e)||d(e)?void 0:(t=e,ee)}),t&&!se(t)&&T(t,u)&&(n=q.clone(t,ee),i(n),q.replace(n,e,te),q.remove(t,1)),n||e}var s;if(s=r(e),(a.length>1||!G(e))&&0===s)return void q.remove(e,1);if(u.inline||u.wrapper){if(u.exact||1!==s||(e=o(e)),le(c,function(t){le(q.select(t.inline,e),function(e){se(e)||O(t,n,e,t.exact?e:null)})}),w(e.parentNode,t,n))return q.remove(e,1),e=0,te;u.merge_with_parents&&q.getParent(e.parentNode,function(r){return w(r,t,n)?(q.remove(e,1),e=0,te):void 0}),e&&u.merge_siblings!==!1&&(e=z(F(e),e),e=z(e,F(e,te)))}})}var c=p(t),u=c[0],f,h,m=!r&&j.isCollapsed();if(u)if(r)r.nodeType?(h=q.createRng(),h.setStartBefore(r),h.setEndAfter(r),l(H(h,c),null,!0)):l(r,null,!0);else if(m&&u.inline&&!q.select("td.mce-item-selected,th.mce-item-selected").length)V("apply",t,n);else{var g=a.selection.getNode();X||!c[0].defaultBlock||q.getParent(g,q.isBlock)||b(c[0].defaultBlock),a.selection.setRng(o()),f=j.getBookmark(),l(H(j.getRng(te),c),f),u.styles&&(u.styles.color||u.styles.textDecoration)&&(ue(g,y,"childNodes"),y(g)),j.moveToBookmark(f),U(j.getRng(te)),a.nodeChanged()}}function x(e,t,n,r){function i(e){var n,r,o,a,s;if(1===e.nodeType&&ie(e)&&(a=b,b="true"===ie(e),s=!0),n=ce(e.childNodes),b&&!s)for(r=0,o=h.length;o>r&&!O(h[r],t,e,e);r++);if(m.deep&&n.length){for(r=0,o=n.length;o>r;r++)i(n[r]);s&&(b=a)}}function o(n){var i;return le(u(n.parentNode).reverse(),function(n){var o;i||"_start"==n.id||"_end"==n.id||(o=w(n,e,t,r),o&&o.split!==!1&&(i=n))}),i}function s(e,n,r,i){var o,a,s,l,c,u;if(e){for(u=e.parentNode,o=n.parentNode;o&&o!=u;o=o.parentNode){for(a=q.clone(o,ee),c=0;c<h.length;c++)if(O(h[c],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||m.mixed&&G(e)||(n=q.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function c(e){return s(o(e),e,e,!0)}function d(e){var t=q.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return se(n)&&(n=n[e?"firstChild":"lastChild"]),3==n.nodeType&&0===n.data.length&&(n=e?t.previousSibling||t.nextSibling:t.nextSibling||t.previousSibling),q.remove(t,!0),n}function f(e){var t,n,r=e.commonAncestorContainer;if(e=H(e,h,te),m.split){if(t=W(e,te),n=W(e),t!=n){if(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),r&&/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName)&&l(n)&&n.firstChild&&(n=n.firstChild||n),q.isChildOf(t,n)&&!G(n)&&!l(t)&&!l(n))return t=M(t,"span",{id:"_start","data-mce-type":"bookmark"}),c(t),void(t=d(te));t=M(t,"span",{id:"_start","data-mce-type":"bookmark"}),n=M(n,"span",{id:"_end","data-mce-type":"bookmark"}),c(t),c(n),t=d(te),n=d()}else t=n=c(t);e.startContainer=t.parentNode?t.parentNode:t,e.startOffset=J(t),e.endContainer=n.parentNode?n.parentNode:n,e.endOffset=J(n)+1}K.walk(e,function(e){le(e,function(e){i(e),1===e.nodeType&&"underline"===a.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===v(e.parentNode)&&O({deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})}var h=p(e),m=h[0],g,y,b=!0;return n?void(n.nodeType?(y=q.createRng(),y.setStartBefore(n),y.setEndAfter(n),f(y)):f(n)):void(j.isCollapsed()&&m.inline&&!q.select("td.mce-item-selected,th.mce-item-selected").length?V("remove",e,t,r):(g=j.getBookmark(),f(j.getRng(te)),j.moveToBookmark(g),m.inline&&_(e,t,j.getStart())&&U(j.getRng(!0)),a.nodeChanged()))}function C(e,t,n){var r=p(e);!_(e,t,n)||"toggle"in r[0]&&!r[0].toggle?b(e,t,n):x(e,t,n)}function w(e,t,n,r){function i(e,t,i){var o,a,s=t[i],l;if(t.onmatch)return t.onmatch(e,t,i);if(s)if(s.length===re){for(o in s)if(s.hasOwnProperty(o)){if(a="attributes"===i?q.getAttrib(e,o):A(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!R(a,B(D(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if("attributes"===i?q.getAttrib(e,s[l]):A(e,s[l]))return t;return t}var o=p(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],T(e,a)&&i(e,a,"attributes")&&i(e,a,"styles")){if(l=a.classes)for(s=0;s<l.length;s++)if(!q.hasClass(e,l[s]))return;return a}}function _(e,t,n){function r(n){var r=q.getRoot();return n===r?!1:(n=q.getParent(n,function(n){return n.parentNode===r||!!w(n,e,t,!0)}),w(n,e,t))}var i;return n?r(n):(n=j.getNode(),r(n)?te:(i=j.getStart(),i!=n&&r(i)?te:ee))}function E(e,t){var n,r=[],i={};return n=j.getStart(),q.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&w(n,a,t)&&(i[a]=!0,r.push(a))},q.getRoot()),r}function N(e){var t=p(e),n,r,i,o,a;if(t)for(n=j.getStart(),r=u(n),o=t.length-1;o>=0;o--){if(a=t[o].selector,!a||t[o].defaultBlock)return te;for(i=r.length-1;i>=0;i--)if(q.is(r[i],a))return te}return ee}function S(e,t,n){var r;return ne||(ne={},r={},a.on("NodeChange",function(e){var t=u(e.element),n={};t=i.grep(t,function(e){return 1==e.nodeType&&!e.getAttribute("data-mce-bogus")}),le(ne,function(e,i){le(t,function(o){return w(o,i,{},e.similar)?(r[i]||(le(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):void 0})}),le(r,function(i,o){n[o]||(delete r[o],le(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),le(e.split(","),function(e){ne[e]||(ne[e]=[],ne[e].similar=n),ne[e].push(t)}),this}function k(e){return o.getCssText(a,e)}function T(e,t){return R(e,t.inline)?te:R(e,t.block)?te:t.selector?1==e.nodeType&&q.is(e,t.selector):void 0}function R(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function A(e,t){return B(q.getStyle(e,t),t)}function B(e,t){return("color"==t||"backgroundColor"==t)&&(e=q.toHex(e)),"fontWeight"==t&&700==e&&(e="bold"),"fontFamily"==t&&(e=e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+e}function D(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e}function L(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)}function M(e,t,n){var r=q.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function H(t,n,r){function i(e){function t(e){return"BR"==e.nodeName&&e.getAttribute("data-mce-bogus")&&!e.nextSibling}var r,i,o,a,s;if(r=i=e?g:y,a=e?"previousSibling":"nextSibling",s=q.getRoot(),3==r.nodeType&&!L(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&G(i))return i;for(o=i[a];o;o=o[a])if(!se(o)&&!L(o)&&!t(o))return i;if(i.parentNode==s){r=i;break}i=i.parentNode}return r}function o(e,t){for(t===re&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)e=e.childNodes[t],e&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}}function l(e){for(var t=e;t;){if(1===t.nodeType&&ie(t))return"false"===ie(t)?t:e;t=t.parentNode}return e}function c(t,n,i){function o(e,t){var n,o,a=e.nodeValue;return"undefined"==typeof t&&(t=i?a.length:0),i?(n=a.lastIndexOf(" ",t),o=a.lastIndexOf("\xa0",t),n=n>o?n:o,-1===n||r||n++):(n=a.indexOf(" ",t),o=a.indexOf("\xa0",t),n=-1!==n&&(-1===o||o>n)?n:o),n}var s,l,c,u;if(3===t.nodeType){if(c=o(t,n),-1!==c)return{container:t,offset:c};u=t}for(s=new e(t,q.getParent(t,G)||a.getBody());l=s[i?"prev":"next"]();)if(3===l.nodeType){if(u=l,c=o(l),-1!==c)return{container:l,offset:c}}else if(G(l))break;return u?(n=i?0:u.length,{container:u,offset:n}):void 0}function d(e,r){var i,o,a,s;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=u(e),o=0;o<i.length;o++)for(a=0;a<n.length;a++)if(s=n[a],!("collapsed"in s&&s.collapsed!==t.collapsed)&&q.is(i[o],s.selector))return i[o];return e}function f(e,t){var r,i=q.getRoot();if(n[0].wrapper||(r=q.getParent(e,n[0].block,i)),r||(r=q.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&s(e)})),r&&n[0].wrapper&&(r=u(r,"ul,ol").reverse()[0]||r),!r)for(r=e;r[t]&&!G(r[t])&&(r=r[t],!R(r,"br")););return r||e}var h,p,m,g=t.startContainer,v=t.startOffset,y=t.endContainer,b=t.endOffset;if(1==g.nodeType&&g.hasChildNodes()&&(h=g.childNodes.length-1,g=g.childNodes[v>h?h:v],3==g.nodeType&&(v=0)),1==y.nodeType&&y.hasChildNodes()&&(h=y.childNodes.length-1,y=y.childNodes[b>h?h:b-1],3==y.nodeType&&(b=y.nodeValue.length)),g=l(g),y=l(y),(se(g.parentNode)||se(g))&&(g=se(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(se(y.parentNode)||se(y))&&(y=se(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(m=c(g,v,!0),m&&(g=m.container,v=m.offset),m=c(y,b),m&&(y=m.container,b=m.offset)),p=o(y,b),p.node)){for(;p.node&&0===p.offset&&p.node.previousSibling;)p=o(p.node.previousSibling);p.node&&p.offset>0&&3===p.node.nodeType&&" "===p.node.nodeValue.charAt(p.offset-1)&&p.offset>1&&(y=p.node,y.splitText(p.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=i(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=i())),n[0].selector&&n[0].expand!==ee&&!n[0].inline&&(g=d(g,"previousSibling"),y=d(y,"nextSibling")),(n[0].block||n[0].selector)&&(g=f(g,"previousSibling"),y=f(y,"nextSibling"),n[0].block&&(G(g)||(g=i(!0)),G(y)||(y=i()))),1==g.nodeType&&(v=J(g),g=g.parentNode),1==y.nodeType&&(b=J(y)+1,y=y.parentNode),{startContainer:g,startOffset:v,endContainer:y,endOffset:b}}function P(e,t){return t.links&&"A"==e.tagName}function O(e,t,n,r){var i,o,a;if(!T(n,e)&&!P(n,e))return ee;if("all"!=e.remove)for(le(e.styles,function(i,o){i=B(D(i,t),o),"number"==typeof o&&(o=i,r=0),(e.remove_similar||!r||R(A(r,o),i))&&q.setStyle(n,o,""),a=1}),a&&""===q.getAttrib(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style")),le(e.attributes,function(e,i){var o;if(e=D(e,t),"number"==typeof i&&(i=e,r=0),!r||R(q.getAttrib(r,i),e)){if("class"==i&&(e=q.getAttrib(n,i),e&&(o="",le(e.split(/\s+/),function(e){/mce\-\w+/.test(e)&&(o+=(o?" ":"")+e)}),o)))return void q.setAttrib(n,i,o);"class"==i&&n.removeAttribute("className"),Z.test(i)&&n.removeAttribute("data-mce-"+i),n.removeAttribute(i)}}),le(e.classes,function(e){e=D(e,t),(!r||q.hasClass(r,e))&&q.removeClass(n,e)}),o=q.getAttribs(n),i=0;i<o.length;i++)if(0!==o[i].nodeName.indexOf("_"))return ee;return"none"!=e.remove?(I(n,e),te):void 0}function I(e,t){function n(e,t,n){return e=F(e,t,n),!e||"BR"==e.nodeName||G(e)}var r=e.parentNode,i;t.block&&(X?r==q.getRoot()&&(t.list_block&&R(e,t.list_block)||le(ce(e.childNodes),function(e){Y(X,e.nodeName.toLowerCase())?i?i.appendChild(e):(i=M(e,X),q.setAttribs(i,a.settings.forced_root_block_attrs)):i=0})):G(e)&&!G(r)&&(n(e,ee)||n(e.firstChild,te,1)||e.insertBefore(q.create("br"),e.firstChild),n(e,te)||n(e.lastChild,ee,1)||e.appendChild(q.create("br")))),t.selector&&t.inline&&!R(t.inline,e)||q.remove(e,1)}function F(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!L(e))return e}function z(e,t){function n(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!se(i))return i}return e}var i,o,a=new r(q);if(e&&t&&(e=n(e,"previousSibling"),t=n(t,"nextSibling"),a.compare(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return q.remove(t),le(ce(t.childNodes),function(t){e.appendChild(t)}),e}return t}function W(t,n){var r,i,o;return r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1==r.nodeType&&(o=r.childNodes.length-1,!n&&i&&i--,r=r.childNodes[i>o?o:i]),3===r.nodeType&&n&&i>=r.nodeValue.length&&(r=new e(r,a.getBody()).next()||r),3!==r.nodeType||n||0!==i||(r=new e(r,a.getBody()).prev()||r),r}function V(t,n,r,i){function o(e){var t=q.create("span",{id:g,"data-mce-bogus":!0,style:v?"color:red":""});return e&&t.appendChild(a.getDoc().createTextNode(Q)),t}function l(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==Q||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function c(e){for(;e;){if(e.id===g)return e;e=e.parentNode}}function u(t){var n;if(t)for(n=new e(t,t),t=n.current();t;t=n.next())if(3===t.nodeType)return t}function d(e,t){var n,r;if(e)r=j.getRng(!0),l(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),q.remove(e)):(n=u(e),n.nodeValue.charAt(0)===Q&&(n.deleteData(0,1),r.startContainer==n&&r.startOffset>0&&r.setStart(n,r.startOffset-1),r.endContainer==n&&r.endOffset>0&&r.setEnd(n,r.endOffset-1)),q.remove(e,1)),j.setRng(r);else if(e=c(j.getStart()),!e)for(;e=q.get(g);)d(e,!1)}function f(){var e,t,i,a,s,l,d;e=j.getRng(!0),a=e.startOffset,l=e.startContainer,d=l.nodeValue,t=c(j.getStart()),t&&(i=u(t)),d&&a>0&&a<d.length&&/\w/.test(d.charAt(a))&&/\w/.test(d.charAt(a-1))?(s=j.getBookmark(),e.collapse(!0),e=H(e,p(n)),e=K.split(e),b(n,r,e),j.moveToBookmark(s)):(t&&i.nodeValue===Q?b(n,r,t):(t=o(!0),i=t.firstChild,e.insertNode(t),a=1,b(n,r,t)),j.setCursorLocation(i,a))}function h(){var e=j.getRng(!0),t,a,l,c,u,d,f=[],h,m;for(t=e.startContainer,a=e.startOffset,u=t,3==t.nodeType&&(a!=t.nodeValue.length&&(c=!0),u=u.parentNode);u;){if(w(u,n,r,i)){d=u;break}u.nextSibling&&(c=!0),f.push(u),u=u.parentNode}if(d)if(c)l=j.getBookmark(),e.collapse(!0),e=H(e,p(n),!0),e=K.split(e),x(n,r,e),j.moveToBookmark(l);else{for(m=o(),u=m,h=f.length-1;h>=0;h--)u.appendChild(q.clone(f[h],!1)),u=u.firstChild;u.appendChild(q.doc.createTextNode(Q)),u=u.firstChild;var g=q.getParent(d,s);g&&q.isEmpty(g)?d.parentNode.replaceChild(m,d):q.insertAfter(m,d),j.setCursorLocation(u,1),q.isEmpty(d)&&q.remove(d)}}function m(){var e;e=c(j.getStart()),e&&!q.isEmpty(e)&&ue(e,function(e){1!=e.nodeType||e.id===g||q.isEmpty(e)||q.setAttrib(e,"data-mce-bogus",null)},"childNodes")}var g="_mce_caret",v=a.settings.caret_debug;a._hasCaretEvents||(ae=function(){var e=[],t;if(l(c(j.getStart()),e))for(t=e.length;t--;)q.setAttrib(e[t],"data-mce-bogus","1")},oe=function(e){var t=e.keyCode;d(),(8==t&&j.isCollapsed()||37==t||39==t)&&d(c(j.getStart())),m()},a.on("SetContent",function(e){e.selection&&m()}),a._hasCaretEvents=!0),"apply"==t?f():h()}function U(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if((t.startContainer!=t.endContainer||!c(t.startContainer.childNodes[t.startOffset]))&&(3==n.nodeType&&r>=n.nodeValue.length&&(r=J(n),n=n.parentNode,i=!0),1==n.nodeType))for(s=n.childNodes,n=s[Math.min(r,s.length-1)],o=new e(n,q.getParent(n,q.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!L(a))return l=q.create("a",{"data-mce-bogus":"all"},Q),a.parentNode.insertBefore(l,a),t.setStart(a,0),j.setRng(t),void q.remove(l)}var $={},q=a.dom,j=a.selection,K=new t(q),Y=a.schema.isValidChild,G=q.isBlock,X=a.settings.forced_root_block,J=q.nodeIndex,Q="\ufeff",Z=/^(src|href|style)$/,ee=!1,te=!0,ne,re,ie=q.getContentEditable,oe,ae,se=n.isBookmarkNode,le=i.each,ce=i.grep,ue=i.walk,de=i.extend;de(this,{get:p,register:m,unregister:g,apply:b,remove:x,toggle:C,match:_,matchAll:E,matchNode:w,canApply:N,formatChanged:S,getCssText:k}),f(),h(),a.on("BeforeGetContent",function(e){ae&&"raw"!=e.format&&ae()}),a.on("mouseup keydown",function(e){oe&&oe(e)})}}),r(I,[B,u,d,N],function(e,t,n,r){var i=n.trim,o;return o=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>",'\\s?data-mce-selected="[^"]+"'].join("|"),"gi"),function(e){function n(){var t=e.getContent({format:"raw",no_events:1}),n=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,a,s,l,c,u,d=e.schema;for(t=t.replace(o,""),u=d.getShortEndedElements();c=n.exec(t);)s=n.lastIndex,l=c[0].length,a=u[c[1]]?s:r.findEndTag(d,t,s),t=t.substring(0,s-l)+t.substring(a),n.lastIndex=s-l;return i(t)}function a(t){e.isNotDirty=!t}function s(e){l.typing=!1,l.add({},e)}var l=this,c=0,u=[],d,f,h=0;return e.on("init",function(){l.add()}),e.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&l.beforeChange()}),e.on("ExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&s(e)}),e.on("ObjectResizeStart",function(){l.beforeChange()}),e.on("SaveContent ObjectResized blur",s),e.on("DragEnd",s),e.on("KeyUp",function(r){var i=r.keyCode;(i>=33&&36>=i||i>=37&&40>=i||45==i||13==i||r.ctrlKey)&&(s(),e.nodeChanged()),(46==i||8==i||t.mac&&(91==i||93==i))&&e.nodeChanged(),f&&l.typing&&(e.isDirty()||(a(u[0]&&n()!=u[0].content),e.isNotDirty||e.fire("change",{level:u[0],lastLevel:null})),e.fire("TypingUndo"),f=!1,e.nodeChanged())}),e.on("KeyDown",function(e){var t=e.keyCode;if(t>=33&&36>=t||t>=37&&40>=t||45==t)return void(l.typing&&s(e));var n=e.ctrlKey&&!e.altKey||e.metaKey;!(16>t||t>20)||224==t||91==t||l.typing||n||(l.beforeChange(),l.typing=!0,l.add({},e),f=!0)}),e.on("MouseDown",function(e){l.typing&&s(e)}),e.addShortcut("meta+z","","Undo"),e.addShortcut("meta+y,meta+shift+z","","Redo"),e.on("AddUndo Undo Redo ClearUndos",function(t){t.isDefaultPrevented()||e.nodeChanged()}),l={data:u,typing:!1,beforeChange:function(){h||(d=e.selection.getBookmark(2,!0))},add:function(t,r){var i,o=e.settings,s;if(t=t||{},t.content=n(),h||e.removed)return null;if(s=u[c],e.fire("BeforeAddUndo",{level:t,lastLevel:s,originalEvent:r}).isDefaultPrevented())return null;if(s&&s.content==t.content)return null;if(u[c]&&(u[c].beforeBookmark=d),o.custom_undo_redo_levels&&u.length>o.custom_undo_redo_levels){for(i=0;i<u.length-1;i++)u[i]=u[i+1];u.length--,c=u.length}t.bookmark=e.selection.getBookmark(2,!0),c<u.length-1&&(u.length=c+1),u.push(t),c=u.length-1;var l={level:t,lastLevel:s,originalEvent:r};return e.fire("AddUndo",l),c>0&&(a(!0),e.fire("change",l)),t},undo:function(){var t;return l.typing&&(l.add(),l.typing=!1),c>0&&(t=u[--c],0===c&&a(!1),e.setContent(t.content,{format:"raw"}),e.selection.moveToBookmark(t.beforeBookmark),e.fire("undo",{level:t})),t},redo:function(){var t;return c<u.length-1&&(t=u[++c],e.setContent(t.content,{format:"raw"}),e.selection.moveToBookmark(t.bookmark),a(!0),e.fire("redo",{level:t})),t},clear:function(){u=[],c=0,l.typing=!1,e.fire("ClearUndos")},hasUndo:function(){return c>0||l.typing&&u[0]&&n()!=u[0].content},hasRedo:function(){return c<u.length-1&&!this.typing},transact:function(e){l.beforeChange();try{h++,e()}finally{h--}l.add()}}}}),r(F,[p,C,u],function(e,t,n){var r=n.ie&&n.ie<11;return function(i){function o(o){function h(e){return e&&a.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&!/^(fixed|absolute)/i.test(e.style.position)&&"true"!==a.getContentEditable(e)}function p(e){var t;a.isBlock(e)&&(t=s.getRng(),e.appendChild(a.create("span",null,"\xa0")),s.select(e),e.lastChild.outerHTML="",s.setRng(t))}function m(e){var t=e,n=[],r;if(t){for(;t=t.firstChild;){if(a.isBlock(t))return;1!=t.nodeType||d[t.nodeName.toLowerCase()]||n.push(t)}for(r=n.length;r--;)t=n[r],!t.hasChildNodes()||t.firstChild==t.lastChild&&""===t.firstChild.nodeValue?a.remove(t):"A"==t.nodeName&&" "===(t.innerText||t.textContent)&&a.remove(t)}}function g(t){function r(e){for(;e;){if(1==e.nodeType||3==e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}var i,o,l,c=t,u;if(t){if(n.ie&&n.ie<9&&B&&B.firstChild&&B.firstChild==B.lastChild&&"BR"==B.firstChild.tagName&&a.remove(B.firstChild),/^(LI|DT|DD)$/.test(t.nodeName)){var d=r(t.firstChild);d&&/^(UL|OL|DL)$/.test(d.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(l=a.createRng(),n.ie||t.normalize(),t.hasChildNodes()){for(i=new e(t,t);o=i.current();){if(3==o.nodeType){l.setStart(o,0),l.setEnd(o,0);break}if(f[o.nodeName.toLowerCase()]){l.setStartBefore(o),l.setEndBefore(o);break}c=o,o=i.next()}o||(l.setStart(c,0),l.setEnd(c,0))}else"BR"==t.nodeName?t.nextSibling&&a.isBlock(t.nextSibling)?((!D||9>D)&&(u=a.create("br"),t.parentNode.insertBefore(u,t)),l.setStartBefore(t),l.setEndBefore(t)):(l.setStartAfter(t),l.setEndAfter(t)):(l.setStart(t,0),l.setEnd(t,0));s.setRng(l),a.remove(u),s.scrollIntoView(t)}}function v(e){var t=l.forced_root_block;t&&t.toLowerCase()===e.tagName.toLowerCase()&&a.setAttribs(e,l.forced_root_block_attrs)}function y(e){var t=R,n,i,o,s=u.getTextInlineElements();if(e||"TABLE"==O?(n=a.create(e||F),v(n)):n=B.cloneNode(!1),o=n,l.keep_styles!==!1)do if(s[t.nodeName]){if("_mce_caret"==t.id)continue;i=t.cloneNode(!1),a.setAttrib(i,"id",""),n.hasChildNodes()?(i.appendChild(n.firstChild),n.appendChild(i)):(o=i,n.appendChild(i))}while(t=t.parentNode);return r||(o.innerHTML='<br data-mce-bogus="1">'),n}function b(t){var n,r,i;if(3==R.nodeType&&(t?A>0:A<R.nodeValue.length))return!1;if(R.parentNode==B&&z&&!t)return!0;if(t&&1==R.nodeType&&R==B.firstChild)return!0;if("TABLE"===R.nodeName||R.previousSibling&&"TABLE"==R.previousSibling.nodeName)return z&&!t||!z&&t;for(n=new e(R,B),3==R.nodeType&&(t&&0===A?n.prev():t||A!=R.nodeValue.length||n.next());r=n.current();){if(1===r.nodeType){if(!r.getAttribute("data-mce-bogus")&&(i=r.nodeName.toLowerCase(),d[i]&&"br"!==i))return!1}else if(3===r.nodeType&&!/^[ \t\r\n]*$/.test(r.nodeValue))return!1;t?n.prev():n.next()}return!0}function x(e,t){var n,r,o,s,l,c,d=F||"P";if(r=a.getParent(e,a.isBlock),c=i.getBody().nodeName.toLowerCase(),!r||!h(r)){if(r=r||T,!r.hasChildNodes())return n=a.create(d),v(n),r.appendChild(n),S.setStart(n,0),S.setEnd(n,0),n;for(s=e;s.parentNode!=r;)s=s.parentNode;for(;s&&!a.isBlock(s);)o=s,s=s.previousSibling;if(o&&u.isValidChild(c,d.toLowerCase())){for(n=a.create(d),v(n),o.parentNode.insertBefore(n,o),s=o;s&&!a.isBlock(s);)l=s.nextSibling,n.appendChild(s),s=l;S.setStart(e,t),S.setEnd(e,t)}}return e}function C(){function e(e){for(var t=P[e?"firstChild":"lastChild"];t&&1!=t.nodeType;)t=t[e?"nextSibling":"previousSibling"];return t===B}function t(){var e=P.parentNode;return/^(LI|DT|DD)$/.test(e.nodeName)?e:P}var n=P.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(F="LI"),M=F?y(F):a.create("BR"),e(!0)&&e()?"LI"==n?a.insertAfter(M,t()):a.replace(M,P):e(!0)?"LI"==n?(a.insertAfter(M,t()),M.appendChild(a.doc.createTextNode(" ")),M.appendChild(P)):P.parentNode.insertBefore(M,P):e()?(a.insertAfter(M,t()),p(M)):(P=t(),k=S.cloneRange(),k.setStartAfter(B),k.setEndAfter(P),H=k.extractContents(),"LI"==F&&"LI"==H.firstChild.nodeName?(M=H.firstChild,a.insertAfter(H,P)):(a.insertAfter(H,P),a.insertAfter(M,P))),a.remove(B),g(M),c.add()}function w(){i.execCommand("InsertLineBreak",!1,o)}function _(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;while(e)}function E(e){var t=a.getRoot(),n,r;for(n=e;n!==t&&"false"!==a.getContentEditable(n);)"true"===a.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==t?r:t}function N(e){var t;r||(e.normalize(),t=e.lastChild,(!t||/^(left|right)$/gi.test(a.getStyle(t,"float",!0)))&&a.add(e,"br"))}var S,k,T,R,A,B,D,L,M,H,P,O,I,F,z;if(S=s.getRng(!0),!o.isDefaultPrevented()){if(!S.collapsed)return void i.execCommand("Delete");if(new t(a).normalize(S),R=S.startContainer,A=S.startOffset,F=(l.force_p_newlines?"p":"")||l.forced_root_block,F=F?F.toUpperCase():"",D=a.doc.documentMode,L=o.shiftKey,1==R.nodeType&&R.hasChildNodes()&&(z=A>R.childNodes.length-1,R=R.childNodes[Math.min(A,R.childNodes.length-1)]||R,A=z&&3==R.nodeType?R.nodeValue.length:0),T=E(R)){if(c.beforeChange(),!a.isBlock(T)&&T!=a.getRoot())return void((!F||L)&&w());if((F&&!L||!F&&L)&&(R=x(R,A)),B=a.getParent(R,a.isBlock),P=B?a.getParent(B.parentNode,a.isBlock):null,O=B?B.nodeName.toUpperCase():"",I=P?P.nodeName.toUpperCase():"","LI"!=I||o.ctrlKey||(B=P,O=I),/^(LI|DT|DD)$/.test(O)){if(!F&&L)return void w();if(a.isEmpty(B))return void C()}if("PRE"==O&&l.br_in_pre!==!1){if(!L)return void w()}else if(!F&&!L&&"LI"!=O||F&&L)return void w();F&&B===i.getBody()||(F=F||"P",b()?(M=/^(H[1-6]|PRE|FIGURE)$/.test(O)&&"HGROUP"!=I?y(F):y(),l.end_container_on_empty_block&&h(P)&&a.isEmpty(B)?M=a.split(P,B):a.insertAfter(M,B),g(M)):b(!0)?(M=B.parentNode.insertBefore(y(),B),p(M),g(B)):(k=S.cloneRange(),k.setEndAfter(B),H=k.extractContents(),_(H),M=H.firstChild,a.insertAfter(H,B),m(M),N(B),g(M)),a.setAttrib(M,"id",""),i.fire("NewBlock",{newBlock:M}),c.add())}}}var a=i.dom,s=i.selection,l=i.settings,c=i.undoManager,u=i.schema,d=u.getNonEmptyElements(),f=u.getMoveCaretBeforeOnEnterElements();i.on("keydown",function(e){13==e.keyCode&&o(e)!==!1&&e.preventDefault()})}}),r(z,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,c,u,d,f,h,p,m=-16777215,g,v,y,b,x;if(x=n.forced_root_block,t&&1===t.nodeType&&x){for(;t&&t!=s;){if(a[t.nodeName])return;t=t.parentNode}if(l=i.getRng(),l.setStart){c=l.startContainer,u=l.startOffset,d=l.endContainer,f=l.endOffset;try{v=e.getDoc().activeElement===s}catch(C){}}else l.item&&(t=l.item(0),l=e.getDoc().body.createTextRange(),l.moveToElementText(t)),
+v=l.parentElement().ownerDocument===e.getDoc(),y=l.duplicate(),y.collapse(!0),u=-1*y.move("character",m),y.collapsed||(y=l.duplicate(),y.collapse(!1),f=-1*y.move("character",m)-u);for(t=s.firstChild,b=s.nodeName.toLowerCase();t;)if((3===t.nodeType||1==t.nodeType&&!a[t.nodeName])&&o.isValidChild(b,x.toLowerCase())){if(3===t.nodeType&&0===t.nodeValue.length){p=t,t=t.nextSibling,r.remove(p);continue}h||(h=r.create(x,e.settings.forced_root_block_attrs),t.parentNode.insertBefore(h,t),g=!0),p=t,t=t.nextSibling,h.appendChild(p)}else h=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(c,u),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart("character",u),f>0&&l.moveEnd("character",f),l.select()}catch(C){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on("NodeChange",t)}}),r(W,[T,u,d,H,C,p],function(e,n,r,i,o,a){var s=r.each,l=r.extend,c=r.map,u=r.inArray,d=r.explode,f=n.gecko,h=n.ie,p=n.ie&&n.ie<11,m=!0,g=!1;return function(r){function v(e,t,n,i){var o,a,c=0;if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||i&&i.skip_focus||r.focus(),i=l({},i),i=r.fire("BeforeExecCommand",{command:e,ui:t,value:n}),i.isDefaultPrevented())return!1;if(a=e.toLowerCase(),o=M.exec[a])return o(a,t,n),r.fire("ExecCommand",{command:e,ui:t,value:n}),!0;if(s(r.plugins,function(i){return i.execCommand&&i.execCommand(e,t,n)?(r.fire("ExecCommand",{command:e,ui:t,value:n}),c=!0,!1):void 0}),c)return c;if(r.theme&&r.theme.execCommand&&r.theme.execCommand(e,t,n))return r.fire("ExecCommand",{command:e,ui:t,value:n}),!0;try{c=r.getDoc().execCommand(e,t,n)}catch(u){}return c?(r.fire("ExecCommand",{command:e,ui:t,value:n}),!0):!1}function y(e){var t;if(!r._isHidden()){if(e=e.toLowerCase(),t=M.state[e])return t(e);try{return r.getDoc().queryCommandState(e)}catch(n){}return!1}}function b(e){var t;if(!r._isHidden()){if(e=e.toLowerCase(),t=M.value[e])return t(e);try{return r.getDoc().queryCommandValue(e)}catch(n){}}}function x(e,t){t=t||"exec",s(e,function(e,n){s(n.toLowerCase().split(","),function(n){M[t][n]=e})})}function C(e,t,n){e=e.toLowerCase(),M.exec[e]=function(e,i,o,a){return t.call(n||r,i,o,a)}}function w(e){if(e=e.toLowerCase(),M.exec[e])return!0;try{return r.getDoc().queryCommandSupported(e)}catch(t){}return!1}function _(e,t,n){e=e.toLowerCase(),M.state[e]=function(){return t.call(n||r)}}function E(e,t,n){e=e.toLowerCase(),M.value[e]=function(){return t.call(n||r)}}function N(e){return e=e.toLowerCase(),!!M.exec[e]}function S(e,n,i){return n===t&&(n=g),i===t&&(i=null),r.getDoc().execCommand(e,n,i)}function k(e){return L.match(e)}function T(e,n){L.toggle(e,n?{value:n}:t),r.nodeChanged()}function R(e){P=D.getBookmark(e)}function A(){D.moveToBookmark(P)}var B,D,L,M={state:{},exec:{},value:{}},H=r.settings,P;r.on("PreInit",function(){B=r.dom,D=r.selection,H=r.settings,L=r.formatter}),l(this,{execCommand:v,queryCommandState:y,queryCommandValue:b,queryCommandSupported:w,addCommands:x,addCommand:C,addQueryStateHandler:_,addQueryValueHandler:E,hasCustomCommand:N}),x({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){r.undoManager.add()},"Cut,Copy,Paste":function(e){var t=r.getDoc(),i;try{S(e)}catch(o){i=m}if(i||!t.queryCommandSupported(e)){var a=r.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");n.mac&&(a=a.replace(/Ctrl\+/g,"\u2318+")),r.windowManager.alert(a)}},unlink:function(){if(D.isCollapsed()){var e=D.getNode();return void("A"==e.tagName&&r.dom.remove(e,!0))}L.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone":function(e){var t=e.substring(7);"full"==t&&(t="justify"),s("left,center,right,justify".split(","),function(e){t!=e&&L.remove("align"+e)}),"none"!=t&&(T("align"+t),v("mceRepaint"))},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;S(e),t=B.getParent(D.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(R(),B.split(n,t),A()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){T(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){T(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&7>=n&&(i=d(H.font_size_style_values),r=d(H.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),T(e,n)},RemoveFormat:function(e){L.remove(e)},mceBlockQuote:function(){T("blockquote")},FormatBlock:function(e,t,n){return T(n||"p")},mceCleanup:function(){var e=D.getBookmark();r.setContent(r.getContent({cleanup:m}),{cleanup:m}),D.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var i=n||D.getNode();i!=r.getBody()&&(R(),r.dom.remove(i,m),A())},mceSelectNodeDepth:function(e,t,n){var i=0;B.getParent(D.getNode(),function(e){return 1==e.nodeType&&i++==n?(D.select(e),g):void 0},r.getBody())},mceSelectNode:function(e,t,n){D.select(n)},mceInsertContent:function(t,n,o){function a(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=D.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/," "):t("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/," "):t("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}function l(){var e,t,n;e=D.getRng(!0),t=e.startContainer,n=e.startOffset,3==t.nodeType&&e.collapsed&&("\xa0"===t.data[n]?(t.deleteData(n,1),/[\u00a0| ]$/.test(o)||(o+=" ")):"\xa0"===t.data[n-1]&&(t.deleteData(n-1,1),/[\u00a0| ]$/.test(o)||(o=" "+o)))}function c(e){if(_)for(x=e.firstChild;x;x=x.walk(!0))N[x.name]&&x.attr("data-mce-new","true")}function u(){if(_){var e=r.getBody(),t=new i(B);s(B.select("*[data-mce-new]"),function(n){n.removeAttribute("data-mce-new");for(var r=n.parentNode;r&&r!=e;r=r.parentNode)t.compare(r,n)&&B.remove(n,!0)})}}var d,f,p,m,g,v,y,b,x,C,w,_,E,N=r.schema.getTextInlineElements();"string"!=typeof o&&(_=o.merge,E=o.data,o=o.content),/^ | $/.test(o)&&(o=a(o)),d=r.parser,f=new e({},r.schema),w='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',v={content:o,format:"html",selection:!0},r.fire("BeforeSetContent",v),o=v.content,-1==o.indexOf("{$caret}")&&(o+="{$caret}"),o=o.replace(/\{\$caret\}/,w),b=D.getRng();var S=b.startContainer||(b.parentElement?b.parentElement():null),k=r.getBody();S===k&&D.isCollapsed()&&B.isBlock(k.firstChild)&&B.isEmpty(k.firstChild)&&(b=B.createRng(),b.setStart(k.firstChild,0),b.setEnd(k.firstChild,0),D.setRng(b)),D.isCollapsed()||(r.getDoc().execCommand("Delete",!1,null),l()),p=D.getNode();var T={context:p.nodeName.toLowerCase(),data:E};if(g=d.parse(o,T),c(g),x=g.lastChild,"mce_marker"==x.attr("id"))for(y=x,x=x.prev;x;x=x.walk(!0))if(3==x.type||!B.isBlock(x.name)){r.schema.isValidChild(x.parent.name,"span")&&x.parent.insert(y,x,"br"===x.name);break}if(T.invalid){for(D.setContent(w),p=D.getNode(),m=r.getBody(),9==p.nodeType?p=x=m:x=p;x!==m;)p=x,x=x.parentNode;o=p==m?m.innerHTML:B.getOuterHTML(p),o=f.serialize(d.parse(o.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return f.serialize(g)}))),p==m?B.setHTML(m,o):B.setOuterHTML(p,o)}else o=f.serialize(g),x=p.firstChild,C=p.lastChild,!x||x===C&&"BR"===x.nodeName?B.setHTML(p,o):D.setContent(o);u(),y=B.get("mce_marker"),D.scrollIntoView(y),b=B.createRng(),x=y.previousSibling,x&&3==x.nodeType?(b.setStart(x,x.nodeValue.length),h||(C=y.nextSibling,C&&3==C.nodeType&&(x.appendData(C.data),C.parentNode.removeChild(C)))):(b.setStartBefore(y),b.setEndBefore(y)),B.remove(y),D.setRng(b),r.fire("SetContent",v),r.addVisual()},mceInsertRawHTML:function(e,t,n){D.setContent("tiny_mce_marker"),r.setContent(r.getContent().replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){T(n)},mceSetContent:function(e,t,n){r.setContent(n)},"Indent,Outdent":function(e){var t,n,i;t=H.indentation,n=/[a-z%]+$/i.exec(t),t=parseInt(t,10),y("InsertUnorderedList")||y("InsertOrderedList")?S(e):(H.forced_root_block||B.getParent(D.getNode(),B.isBlock)||L.apply("div"),s(D.getSelectedBlocks(),function(o){if("LI"!=o.nodeName){var a=r.getParam("indent_use_margin",!1)?"margin":"padding";a+="rtl"==B.getStyle(o,"direction",!0)?"Right":"Left","outdent"==e?(i=Math.max(0,parseInt(o.style[a]||0,10)-t),B.setStyle(o,a,i?i+n:"")):(i=parseInt(o.style[a]||0,10)+t+n,B.setStyle(o,a,i))}}))},mceRepaint:function(){if(f)try{R(m),D.getSel()&&D.getSel().selectAllChildren(r.getBody()),D.collapse(m),A()}catch(e){}},InsertHorizontalRule:function(){r.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){r.hasVisual=!r.hasVisual,r.addVisual()},mceReplaceContent:function(e,t,n){r.execCommand("mceInsertContent",!1,n.replace(/\{\$selection\}/g,D.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=B.getParent(D.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||L.remove("link"),n.href&&L.apply("link",n,r)},selectAll:function(){var e=B.getRoot(),t;D.getRng().setStart?(t=B.createRng(),t.setStart(e,0),t.setEnd(e,e.childNodes.length),D.setRng(t)):(t=D.getRng(),t.item||(t.moveToElementText(e),t.select()))},"delete":function(){S("Delete");var e=r.getBody();B.isEmpty(e)&&(r.setContent(""),e.firstChild&&B.isBlock(e.firstChild)?r.selection.setCursorLocation(e.firstChild,0):r.selection.setCursorLocation(e,0))},mceNewDocument:function(){r.setContent("")},InsertLineBreak:function(e,t,n){function i(){for(var e=new a(h,v),t,n=r.schema.getNonEmptyElements();t=e.next();)if(n[t.nodeName.toLowerCase()]||t.length>0)return!0}var s=n,l,c,u,d=D.getRng(!0);new o(B).normalize(d);var f=d.startOffset,h=d.startContainer;if(1==h.nodeType&&h.hasChildNodes()){var g=f>h.childNodes.length-1;h=h.childNodes[Math.min(f,h.childNodes.length-1)]||h,f=g&&3==h.nodeType?h.nodeValue.length:0}var v=B.getParent(h,B.isBlock),y=v?v.nodeName.toUpperCase():"",b=v?B.getParent(v.parentNode,B.isBlock):null,x=b?b.nodeName.toUpperCase():"",C=s&&s.ctrlKey;"LI"!=x||C||(v=b,y=x),h&&3==h.nodeType&&f>=h.nodeValue.length&&(p||i()||(l=B.create("br"),d.insertNode(l),d.setStartAfter(l),d.setEndAfter(l),c=!0)),l=B.create("br"),d.insertNode(l);var w=B.doc.documentMode;return p&&"PRE"==y&&(!w||8>w)&&l.parentNode.insertBefore(B.doc.createTextNode("\r"),l),u=B.create("span",{},"&nbsp;"),l.parentNode.insertBefore(u,l),D.scrollIntoView(u),B.remove(u),c?(d.setStartBefore(l),d.setEndBefore(l)):(d.setStartAfter(l),d.setEndAfter(l)),D.setRng(d),r.undoManager.add(),m}}),x({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=D.isCollapsed()?[B.getParent(D.getNode(),B.isBlock)]:D.getSelectedBlocks(),r=c(n,function(e){return!!L.matchNode(e,t)});return-1!==u(r,m)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return k(e)},mceBlockQuote:function(){return k("blockquote")},Outdent:function(){var e;if(H.inline_styles){if((e=B.getParent(D.getStart(),B.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m;if((e=B.getParent(D.getEnd(),B.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m}return y("InsertUnorderedList")||y("InsertOrderedList")||!H.inline_styles&&!!B.getParent(D.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=B.getParent(D.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),x({"FontSize,FontName":function(e){var t=0,n;return(n=B.getParent(D.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),x({Undo:function(){r.undoManager.undo()},Redo:function(){r.undoManager.redo()}})}}),r(V,[d],function(e){function t(e,o){var a=this,s,l;if(e=r(e),o=a.settings=o||{},s=o.base_uri,/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(a.source=e);var c=0===e.indexOf("//");0!==e.indexOf("/")||c||(e=(s?s.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(l=o.base_uri?o.base_uri.path:new t(location.href).directory,""===o.base_uri.protocol?e="//mce_host"+a.toAbsPath(l,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(s&&s.protocol||"http")+"://mce_host"+a.toAbsPath(l,e[1])+e[2])),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(i,function(t,n){var r=e[n];r&&(r=r.replace(/\(mce_at\)/g,"@@")),a[t]=r}),s&&(a.protocol||(a.protocol=s.protocol),a.userInfo||(a.userInfo=s.userInfo),a.port||"mce_host"!==a.host||(a.port=s.port),a.host&&"mce_host"!==a.host||(a.host=s.host),a.source=""),c&&(a.protocol="")}var n=e.each,r=e.trim,i="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),o={ftp:21,http:80,https:443,mailto:25};return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\/?(\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source="",t.getURI()},toRelative:function(e){var n=this,r;if("./"===e)return e;if(e=new t(e,{base_uri:n}),"mce_host"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&""!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||"/"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+="?"+e.query),e.anchor&&(r+="#"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(n&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=o[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r=0,i="",o,a;if(e=e.substring(0,e.lastIndexOf("/")),e=e.split("/"),n=t.split("/"),e.length>=n.length)for(o=0,a=e.length;a>o;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;a>o;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);a>o;o++)i+="../";for(o=r-1,a=n.length;a>o;o++)i+=o!=r-1?"/"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&"."!==t[r]&&(".."!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=0>=r?o.reverse().join("/"):e.slice(0,r).join("/")+"/"+o.reverse().join("/"),0!==s.indexOf("/")&&(s="/"+s),a&&s.lastIndexOf("/")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return(!n.source||e)&&(t="",e||(t+=n.protocol?n.protocol+"://":"//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},t.parseDataUri=function(e){var t,n;return e=decodeURIComponent(e).split(","),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}},t}),r(U,[d],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=c[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,c=l.prototype,u,d,f;o=!0,u=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){t=t;for(var n in t)"init"!==n&&(e[n]=t[n])}),c.Mixins&&(e.Mixins=c.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&c.Defaults&&(e.Defaults=r({},c.Defaults,e.Defaults));for(d in e)f=e[d],"function"==typeof f&&c[d]?u[d]=s(d,f):u[d]=f;return t.prototype=u,t.constructor=t,t.extend=i,t},t}),r($,[d],function(e){function t(t){function n(){return!1}function r(){return!0}function i(e,i){var o,s,l,c;if(e=e.toLowerCase(),i=i||{},i.type=e,i.target||(i.target=u),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=r},i.stopPropagation=function(){i.isPropagationStopped=r},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=r},i.isDefaultPrevented=n,i.isPropagationStopped=n,i.isImmediatePropagationStopped=n),t.beforeFire&&t.beforeFire(i),o=d[e])for(s=0,l=o.length;l>s;s++){if(c=o[s],c.once&&a(e,c.func),i.isImmediatePropagationStopped())return i.stopPropagation(),i;if(c.func.call(u,i)===!1)return i.preventDefault(),i}return i}function o(t,r,i,o){var a,s,l;if(r===!1&&(r=n),r)for(r={func:r},o&&e.extend(r,o),s=t.toLowerCase().split(" "),l=s.length;l--;)t=s[l],a=d[t],a||(a=d[t]=[],f(t,!0)),i?a.unshift(r):a.push(r);return c}function a(e,t){var n,r,i,o,a;if(e)for(o=e.toLowerCase().split(" "),n=o.length;n--;){if(e=o[n],r=d[e],!e){for(i in d)f(i,!1),delete d[i];return c}if(r){if(t)for(a=r.length;a--;)r[a].func===t&&(r=r.slice(0,a).concat(r.slice(a+1)),d[e]=r);else r.length=0;r.length||(f(e,!1),delete d[e])}}else{for(e in d)f(e,!1);d={}}return c}function s(e,t,n){return o(e,t,n,{once:!0})}function l(e){return e=e.toLowerCase(),!(!d[e]||0===d[e].length)}var c=this,u,d={},f;t=t||{},u=t.scope||c,f=t.toggleEvent||n,c.fire=i,c.on=o,c.off=a,c.once=s,c.has=l}var n=e.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchend"," ");return t.isNative=function(e){return!!n[e.toLowerCase()]},t}),r(q,[],function(){function e(e){this.create=e.create}return e.create=function(t,n){return new e({create:function(e,r){function i(t){e.set(r,t.value)}function o(e){t.set(n,e.value)}var a;return e.on("change:"+r,o),t.on("change:"+n,i),a=e._bindings,a||(a=e._bindings=[],e.on("destroy",function(){for(var e=a.length;e--;)a[e]()})),a.push(function(){t.off("change:"+n,i)}),t.get(n)}})},e}),r(j,[$],function(e){function t(t){return t._eventDispatcher||(t._eventDispatcher=new e({scope:t,toggleEvent:function(n,r){e.isNative(n)&&t.toggleNativeEvent&&t.toggleNativeEvent(n,r)}})),t._eventDispatcher}return{fire:function(e,n,r){var i=this;if(i.removed&&"remove"!==e)return n;if(n=t(i).fire(e,n,r),r!==!1&&i.parent)for(var o=i.parent();o&&!n.isPropagationStopped();)o.fire(e,n,!1),o=o.parent();return n},on:function(e,n,r){return t(this).on(e,n,r)},off:function(e,n){return t(this).off(e,n)},once:function(e,n){return t(this).once(e,n)},hasEventListeners:function(e){return t(this).has(e)}}}),r(K,[q,j,U,d],function(e,t,n,r){function i(e,t){var n,o;if(e===t)return!0;if(null===e||null===t)return e===t;if("object"!=typeof e||"object"!=typeof t)return e===t;if(r.isArray(t)){if(e.length!==t.length)return!1;for(n=e.length;n--;)if(!i(e[n],t[n]))return!1}o={};for(n in t){if(!i(e[n],t[n]))return!1;o[n]=!0}for(n in e)if(!o[n]&&!i(e[n],t[n]))return!1;return!0}return n.extend({Mixins:[t],init:function(t){var n,r;t=t||{};for(n in t)r=t[n],r instanceof e&&(t[n]=r.create(this,n));this.data=t},set:function(t,n){var r,o,a=this.data[t];if(n instanceof e&&(n=n.create(this,t)),"object"==typeof t){for(r in t)this.set(r,t[r]);return this}return i(a,n)||(this.data[t]=n,o={target:this,name:t,value:n,oldValue:a},this.fire("change:"+t,o),this.fire("change",o)),this},get:function(e){return this.data[e]},has:function(e){return e in this.data},bind:function(t){return e.create(this,t)},destroy:function(){this.fire("destroy")}})}),r(Y,[U],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i=/^\s*|\s*$/g,o,a=e.extend({init:function(e){function t(e){return e?(e=e.toLowerCase(),function(t){return"*"===e||t.type===e}):void 0}function o(e){return e?function(t){return t._name===e}:void 0}function a(e){return e?(e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.classes.contains(e[n]))return!1;return!0}):void 0}function s(e,t,n){return e?function(r){var i=r[e]?r[e]():"";return t?"="===t?i===n:"*="===t?i.indexOf(n)>=0:"~="===t?(" "+i+" ").indexOf(" "+n+" ")>=0:"!="===t?i!=n:"^="===t?0===i.indexOf(n):"$="===t?i.substr(i.length-n.length)===n:!1:!!n}:void 0}function l(e){var t;return e?(e=/(?:not\((.+)\))|(.+)/i.exec(e),e[1]?(t=u(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return"first"===e?0===n:"last"===e?n===r-1:"even"===e?n%2===0:"odd"===e?n%2===1:t[e]?t[e]():!1})):void 0}function c(e,r,c){function u(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,"")),u(t(d[1])),u(o(d[2])),u(a(d[3])),u(s(d[4],d[5],d[6])),u(l(d[7])),r.psuedo=!!d[7],r.direct=c,r}function u(e,t){var n=[],i,o,a;do if(r.exec(""),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&u(i,t),e=[],a=0;a<n.length;a++)">"!=n[a]&&e.push(c(n[a],[],">"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=u(e,[])},match:function(e,t){var n,r,i,o,a,s,l,c,u,d,f,h,p;for(t=t||this._selectors,n=0,r=t.length;r>n;n++){for(a=t[n],o=a.length,p=e,h=0,i=o-1;i>=0;i--)for(c=a[i];p;){if(c.psuedo)for(f=p.parent().items(),u=d=f.length;u--&&f[u]!==p;);for(s=0,l=c.length;l>s;s++)if(!c[s](p,u,d)){s=l+1;break}if(s===l){h++;break}if(i===o-1)break;p=p.parent()}if(h===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,c,u=t[i];for(o=0,a=e.length;a>o;o++){for(c=e[o],s=0,l=u.length;l>s;s++)if(!u[s](c,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(c):c.items&&n(c.items(),t,i+1);else if(u.direct)return;c.items&&n(c.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;s>i;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(G,[d,Y,U],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;n>r;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for("string"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;o>i;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return this[0]?this[0].classes.contains(e):!1},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this},addClass:function(e){return this.each(function(t){t.classes.add(e)})},removeClass:function(e){return this.each(function(t){t.classes.remove(e)})}},e.each("fire on off show hide append prepend before after reflow".split(" "),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each("text name disabled active selected checked visible parent value data".split(" "),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(X,[d,y],function(e,t){var n=0;return{id:function(){return"mceu_"+n++},createFragment:function(e){return t.DOM.createFragment(e)},getWindowSize:function(){return t.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,n){return t.DOM.getPos(e,n)},getViewPort:function(e){return t.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,n){return t.DOM.addClass(e,n)},removeClass:function(e,n){return t.DOM.removeClass(e,n)},hasClass:function(e,n){return t.DOM.hasClass(e,n)},toggleClass:function(e,n,r){return t.DOM.toggleClass(e,n,r)},css:function(e,n,r){return t.DOM.setStyle(e,n,r)},getRuntimeStyle:function(e,n){return t.DOM.getStyle(e,n,!0)},on:function(e,n,r,i){return t.DOM.bind(e,n,r,i)},off:function(e,n,r){return t.DOM.unbind(e,n,r)},fire:function(e,n,r){return t.DOM.fire(e,n,r)},innerHtml:function(e,n){t.DOM.setHTML(e,n)}}}),r(J,[],function(){return{parseBox:function(e){var t,n=10;if(e)return"number"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(" "),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+"TopWidth"),right:r(t+"RightWidth"),bottom:r(t+"BottomWidth"),left:r(t+"LeftWidth")}}}}),r(Q,[d],function(e){function t(){}function n(e){this.cls=[],this.cls._map={},this.onchange=e||t,this.prefix=""}return e.extend(n.prototype,{add:function(e){return e&&!this.contains(e)&&(this.cls._map[e]=!0,this.cls.push(e),this._change()),this},remove:function(e){if(this.contains(e)){for(var t=0;t<this.cls.length&&this.cls[t]!==e;t++);this.cls.splice(t,1),delete this.cls._map[e],this._change()}return this},toggle:function(e,t){var n=this.contains(e);return n!==t&&(n?this.remove(e):this.add(e),this._change()),this},contains:function(e){return!!this.cls._map[e]},_change:function(){delete this.clsValue,this.onchange.call(this)}}),n.prototype.toString=function(){var e;if(this.clsValue)return this.clsValue;e="";for(var t=0;t<this.cls.length;t++)t>0&&(e+=" "),e+=this.prefix+this.cls[t];return e},n}),r(Z,[],function(){function e(e,t){function n(e){window.setTimeout(e,0)}var r,i=window.requestAnimationFrame,o=["ms","moz","webkit"];for(r=0;r<o.length&&!i;r++)i=window[o[r]+"RequestAnimationFrame"];i||(i=n),i(e,t)}var t={},n;return{add:function(r){var i=r.parent();if(i){if(!i._layout||i._layout.isNative())return;t[i._id]||(t[i._id]=i),n||(n=!0,e(function(){var e,r;n=!1;for(e in t)r=t[e],r.state.get("rendered")&&r.reflow();t={}},document.body))}},remove:function(e){t[e._id]&&delete t[e._id]}}}),r(ee,[U,d,$,K,G,X,f,J,Q,Z],function(e,t,n,r,i,o,a,s,l,c){function u(e){return e._eventDispatcher||(e._eventDispatcher=new n({scope:e,toggleEvent:function(t,r){r&&n.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e.state.get("rendered")&&d(e))}})),e._eventDispatcher}function d(e){function t(t){var n=e.getParentCtrl(t.target);n&&n.fire(t.type,t)}function n(){var e=c._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),c._lastHoverCtrl=null)}function r(t){var n=e.getParentCtrl(t.target),r=c._lastHoverCtrl,i=0,o,a,s;if(n!==r){if(c._lastHoverCtrl=n,a=n.parents().toArray().reverse(),a.push(n),r){for(s=r.parents().toArray().reverse(),s.push(r),i=0;i<s.length&&a[i]===s[i];i++);for(o=s.length-1;o>=i;o--)r=s[o],r.fire("mouseleave",{target:r.getEl()})}for(o=i;o<a.length;o++)n=a[o],n.fire("mouseenter",{target:n.getEl()})}}function i(t){t.preventDefault(),"mousewheel"==t.type?(t.deltaY=-1/40*t.wheelDelta,t.wheelDeltaX&&(t.deltaX=-1/40*t.wheelDeltaX)):(t.deltaX=0,t.deltaY=t.detail),t=e.fire("wheel",t)}var o,s,l,c,u,d;if(u=e._nativeEvents){for(l=e.parents().toArray(),l.unshift(e),o=0,s=l.length;!c&&s>o;o++)c=l[o]._eventsRoot;for(c||(c=l[l.length-1]||e),e._eventsRoot=c,s=o,o=0;s>o;o++)l[o]._eventsRoot=c;var p=c._delegates;p||(p=c._delegates={});for(d in u){if(!u)return!1;"wheel"!==d||h?("mouseenter"===d||"mouseleave"===d?c._hasMouseEnter||(a(c.getEl()).on("mouseleave",n).on("mouseover",r),c._hasMouseEnter=1):p[d]||(a(c.getEl()).on(d,t),p[d]=!0),u[d]=!1):f?a(e.getEl()).on("mousewheel",i):a(e.getEl()).on("DOMMouseScroll",i)}}}var f="onmousewheel"in document,h=!1,p="mce-",m,g=0,v={Statics:{classPrefix:p},isRtl:function(){return m.rtl},classPrefix:p,init:function(e){function n(e){var t;for(e=e.split(" "),t=0;t<e.length;t++)i.classes.add(e[t])}var i=this,o,c;i.settings=e=t.extend({},i.Defaults,e),i._id=e.id||"mceu_"+g++,i._aria={role:e.role},i._elmCache={},i.$=a,i.state=new r({visible:!0,active:!1,disabled:!1,value:""}),i.data=new r(e.data),i.classes=new l(function(){i.state.get("rendered")&&(i.getEl().className=this.toString())}),i.classes.prefix=i.classPrefix,o=e.classes,o&&(i.Defaults&&(c=i.Defaults.classes,c&&o!=c&&n(c)),n(o)),t.each("title text name visible disabled active value".split(" "),function(t){t in e&&i[t](e[t])}),i.on("click",function(){return i.disabled()?!1:void 0}),i.settings=e,i.borderBox=s.parseBox(e.border),i.paddingBox=s.parseBox(e.padding),i.marginBox=s.parseBox(e.margin),e.hidden&&i.hide()},Properties:"parent,name",getContainerElm:function(){return document.body},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},initLayoutRect:function(){var e=this,t=e.settings,n,r,i=e.getEl(),a,l,c,u,d,f,h,p;n=e.borderBox=e.borderBox||s.measureBox(i,"border"),e.paddingBox=e.paddingBox||s.measureBox(i,"padding"),e.marginBox=e.marginBox||s.measureBox(i,"margin"),p=o.getSize(i),f=t.minWidth,h=t.minHeight,c=f||p.width,u=h||p.height,a=t.width,l=t.height,d=t.autoResize,d="undefined"!=typeof d?d:!a&&!l,a=a||c,l=l||u;var m=n.left+n.right,g=n.top+n.bottom,v=t.maxWidth||65535,y=t.maxHeight||65535;return e._layoutRect=r={x:t.x||0,y:t.y||0,w:a,h:l,deltaW:m,deltaH:g,contentW:a-m,contentH:l-g,innerW:a-m,innerH:l-g,startMinWidth:f||0,startMinHeight:h||0,minW:Math.min(c,v),minH:Math.min(u,y),maxW:v,maxH:y,autoResize:d,scrollW:0},e._lastLayoutRect={},r},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,(r.x!==n.x||r.y!==n.y||r.w!==n.w||r.h!==n.h)&&(l=m.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o,a=0,s=0,l,c,u;c=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,i=e._layoutRect,l=e._lastRepaintRect||{},o=e.borderBox,a=o.left+o.right,s=o.top+o.bottom,i.x!==l.x&&(t.left=c(i.x)+"px",l.x=i.x),i.y!==l.y&&(t.top=c(i.y)+"px",l.y=i.y),i.w!==l.w&&(u=c(i.w-a),t.width=(u>=0?u:0)+"px",l.w=i.w),i.h!==l.h&&(u=c(i.h-s),t.height=(u>=0?u:0)+"px",l.h=i.h),e._hasBody&&i.innerW!==l.innerW&&(u=c(i.innerW),r=e.getEl("body"),r&&(n=r.style,n.width=(u>=0?u:0)+"px"),l.innerW=i.innerW),e._hasBody&&i.innerH!==l.innerH&&(u=c(i.innerH),r=r||e.getEl("body"),r&&(n=n||r.style,n.height=(u>=0?u:0)+"px"),l.innerH=i.innerH),e._lastRepaintRect=l,e.fire("repaint",{},!1)},on:function(e,t){function n(e){var t,n;return"string"!=typeof e?e:function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;return i&&(t=i[e])?(n=r,
+!1):void 0}),t?t.call(n,i):(i.action=e,void this.fire("execute",i))}}var r=this;return u(r).on(e,n(t)),r},off:function(e,t){return u(this).off(e,t),this},fire:function(e,t,n){var r=this;if(t=t||{},t.control||(t.control=r),t=u(r).fire(e,t),n!==!1&&r.parent)for(var i=r.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return u(this).has(e)},parents:function(e){var t=this,n,r=new i;for(n=t.parent();n;n=n.parent())r.add(n);return e&&(r=r.filter(e)),r},parentsAndSelf:function(e){return new i(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},innerHtml:function(e){return this.$el.html(e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=a("#"+t)[0]),this._elmCache[t]},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return"undefined"==typeof t?n._aria[e]:(n._aria[e]=t,n.state.get("rendered")&&r.setAttribute("role"==e?e:"aria-"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return m.translate?m.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),r,i;if(e.items){var o=e.items().toArray();for(i=o.length;i--;)o[i].remove()}n&&n.items&&(r=[],n.items().each(function(t){t!==e&&r.push(t)}),n.items().set(r),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&a(t).off();var s=e.getRoot().controlIdLookup;return s&&delete s[e._id],t&&t.parentNode&&t.parentNode.removeChild(t),e.state.set("rendered",!1),e.state.destroy(),e.fire("remove"),e},renderBefore:function(e){return a(e).before(this.renderHtml()),this.postRender(),this},renderTo:function(e){return a(e||this.getContainerElm()).append(this.renderHtml()),this.postRender(),this},preRender:function(){},render:function(){},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'"></div>'},postRender:function(){var e=this,t=e.settings,n,r,i,o,s;e.$el=a(e.getEl()),e.state.set("rendered",!0);for(o in t)0===o.indexOf("on")&&e.on(o.substr(2),t[o]);if(e._eventsRoot){for(i=e.parent();!s&&i;i=i.parent())s=i._eventsRoot;if(s)for(o in s._nativeEvents)e._nativeEvents[o]=!0}d(e),t.style&&(n=e.getEl(),n&&(n.setAttribute("style",t.style),n.style.cssText=t.style)),e.settings.border&&(r=e.borderBox,e.$el.css({"border-top-width":r.top,"border-right-width":r.right,"border-bottom-width":r.bottom,"border-left-width":r.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var u in e._aria)e.aria(u,e._aria[u]);e.state.get("visible")===!1&&(e.getEl().style.display="none"),e.bindStates(),e.state.on("change:visible",function(t){var n=t.value,r;e.state.get("rendered")&&(e.getEl().style.display=n===!1?"none":"",e.getEl().getBoundingClientRect()),r=e.parent(),r&&(r._lastRect=null),e.fire(n?"show":"hide"),c.add(e)}),e.fire("postrender",{},!1)},bindStates:function(){},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,c,u=t(n,r);return i=u.x,o=u.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,c=r.clientHeight,"end"==e?(i-=l-a,o-=c-s):"center"==e&&(i-=l/2-a/2,o-=c/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){c.remove(this);var e=this.parent();return e._layout&&!e._layout.isNative()&&e.reflow(),this}};return t.each("text title visible disabled active value".split(" "),function(e){v[e]=function(t){return 0===arguments.length?this.state.get(e):("undefined"!=typeof t&&this.state.set(e,t),this)}}),m=e.extend(v)}),r(te,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];t=!0}if("string"==typeof n?(r=r||{},r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error("Could not find control by type: "+n);return i=new i(r),i.type=n,i}}}),r(ne,[],function(){return function(e){function t(e){return e&&1===e.nodeType}function n(e){return e=e||x,t(e)?e.getAttribute("role"):null}function r(e){for(var t,r=e||x;r=r.parentNode;)if(t=n(r))return t}function i(e){var n=x;return t(n)?n.getAttribute("aria-"+e):void 0}function o(e){var t=e.tagName.toUpperCase();return"INPUT"==t||"TEXTAREA"==t}function a(e){return o(e)&&!e.hidden?!0:/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell)$/.test(n(e))?!0:!1}function s(e){function t(e){if(1==e.nodeType&&"none"!=e.style.display){a(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||b.getEl()),n}function l(e){var t,n;e=e||C,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function c(e){var t=l(e),n=s(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?u(t.lastAriaIndex,n):u(0,n)}function u(e,t){return 0>e?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function d(e,t){var n=-1,r=l();t=t||s(r.getEl());for(var i=0;i<t.length;i++)t[i]===x&&(n=i);n+=e,r.lastAriaIndex=u(n,t)}function f(){var e=r();"tablist"==e?d(-1,s(x.parentNode)):C.parent().submenu?v():d(-1)}function h(){var e=n(),t=r();"tablist"==t?d(1,s(x.parentNode)):"menuitem"==e&&"menu"==t&&i("haspopup")?y():d(1)}function p(){d(-1)}function m(){var e=n(),t=r();"menuitem"==e&&"menubar"==t?y():"button"==e&&i("haspopup")?y({key:"down"}):d(1)}function g(e){var t=r();if("tablist"==t){var n=s(C.getEl("body"))[0];n&&n.focus()}else d(e.shiftKey?-1:1)}function v(){C.fire("cancel")}function y(e){e=e||{},C.fire("click",{target:x,aria:e})}var b=e.root,x,C;try{x=document.activeElement}catch(w){x=document.body}return C=b.getParentCtrl(x),b.on("keydown",function(e){function t(e,t){o(x)||t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,f);break;case 39:t(e,h);break;case 38:t(e,p);break;case 40:t(e,m);break;case 27:v();break;case 14:case 13:case 32:t(e,y);break;case 9:g(e)!==!1&&e.preventDefault()}}),b.on("focusin",function(e){x=e.target,C=e.control}),{focusFirst:c}}}),r(re,[ee,G,Y,te,ne,d,f,Q,Z],function(e,t,n,r,i,o,a,s,l){var c={};return e.extend({init:function(e){var n=this;n._super(e),e=n.settings,e.fixed&&n.state.set("fixed",!0),n._items=new t,n.isRtl()&&n.classes.add("rtl"),n.bodyClasses=new s(function(){n.state.get("rendered")&&(n.getEl("body").className=this.toString())}),n.bodyClasses.prefix=n.classPrefix,n.classes.add("container"),n.bodyClasses.add("container-body"),e.containerCls&&n.classes.add(e.containerCls),n._layout=r.create((e.layout||"")+"layout"),n.settings.items?n.add(n.settings.items):n.add(n.render()),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=c[e]=c[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find("*"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||("string"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r;t.parent(e),t.state.get("rendered")||(r=e.getEl("body"),r.hasChildNodes()&&n<=r.childNodes.length-1?a(r.childNodes[n]).before(t.renderHtml()):a(r).append(t.renderHtml()),t.postRender(),l.add(t))}),e._layout.applyClasses(e.items().filter(":visible")),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find("#"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find("*").each(function(e){var n=e.name(),r=e.value();n&&"undefined"!=typeof r&&(t[n]=r)}),t},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e.state.set("rendered",!0),e.settings.style&&e.$el.css(e.settings.style),e.settings.border&&(t=e.borderBox,e.$el.css({"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;return n&&n.w==t.w&&n.h==t.h?void 0:(e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0)},reflow:function(){var t;if(l.remove(this),this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(ie,[f],function(e){function t(e){var t,n,r,i,o,a,s,l,c=Math.max;return t=e.documentElement,n=e.body,r=c(t.scrollWidth,n.scrollWidth),i=c(t.clientWidth,n.clientWidth),o=c(t.offsetWidth,n.offsetWidth),a=c(t.scrollHeight,n.scrollHeight),s=c(t.clientHeight,n.clientHeight),l=c(t.offsetHeight,n.offsetHeight),{width:o>r?i:r,height:l>a?s:a}}function n(e){var t,n;if(e.changedTouches)for(t="screenX screenY pageX pageY clientX clientY".split(" "),n=0;n<t.length;n++)e[t[n]]=e.changedTouches[0][t[n]]}return function(r,i){function o(){return s.getElementById(i.handle||r)}var a,s=i.document||document,l,c,u,d,f,h;i=i||{},c=function(r){var c=t(s),p,m;n(r),r.preventDefault(),l=r.button,p=o(),f=r.screenX,h=r.screenY,m=window.getComputedStyle?window.getComputedStyle(p,null).getPropertyValue("cursor"):p.runtimeStyle.cursor,a=e("<div>").css({position:"absolute",top:0,left:0,width:c.width,height:c.height,zIndex:2147483647,opacity:1e-4,cursor:m}).appendTo(s.body),e(s).on("mousemove touchmove",d).on("mouseup touchend",u),i.start(r)},d=function(e){return n(e),e.button!==l?u(e):(e.deltaX=e.screenX-f,e.deltaY=e.screenY-h,e.preventDefault(),void i.drag(e))},u=function(t){n(t),e(s).off("mousemove touchmove",d).off("mouseup touchend",u),a.remove(),i.stop&&i.stop(t)},this.destroy=function(){e(o()).off()},e(o()).on("mousedown touchstart",c)}}),r(oe,[f,ie],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,c,u){var d,f,h,p,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),e(i.getEl("absend")).css(y,i.layoutRect()[l]-1),!c)return void e(f).css("display","none");e(f).css("display","block"),d=i.getEl("body"),h=i.getEl("scroll"+t+"t"),p=d["client"+s]-2*o,p-=n&&r?f["client"+u]:0,m=d["scroll"+s],g=p/m,v={},v[y]=d["offset"+a]+o,v[b]=p,e(f).css(v),v={},v[y]=d["scroll"+a]*g,v[b]=p*g,e(h).css(v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var c,u=i._id+"-scroll"+n,d=i.classPrefix;e(i.getEl()).append('<div id="'+u+'" class="'+d+"scrollbar "+d+"scrollbar-"+n+'"><div id="'+u+'t" class="'+d+'scrollbar-thumb"></div></div>'),i.draghelper=new t(u+"t",{start:function(){c=i.getEl("body")["scroll"+r],e("#"+u).addClass(d+"active")},drag:function(e){var t,u,d,f,h=i.layoutRect();u=h.contentW>h.innerW,d=h.contentH>h.innerH,f=i.getEl("body")["client"+a]-2*o,f-=u&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=c+e["delta"+s]/t},stop:function(){e("#"+u).removeClass(d+"active")}})}i.classes.add("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e(i.getEl("body")).on("scroll",n)),n())}}}),r(ae,[re,oe],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}})}),r(se,[X],function(e){function t(t,n,r){var i,o,a,s,l,c,u,d,f,h;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t.state.get("fixed")&&"static"==e.getRuntimeStyle(document.body,"position")&&(a-=f.x,s-=f.y),i=t.getEl(),h=e.getSize(i),l=h.width,c=h.height,h=e.getSize(n),u=h.width,d=h.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=u),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(u/2)),"b"===r[3]&&(s-=c),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(c/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:c}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this.state.get("fixed")){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){"string"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return 0>e?0:e+n>t?(e=t-n,0>e?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i.state.get("rendered")?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(le,[X],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(1>=t||1>=n){var r=e.getWindowSize();t=1>=t?t*r.w:t,n=1>=n?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(ce,[ae,se,le,X,f],function(e,t,n,r,i){function o(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}function a(e){for(var t=g.length;t--;){var n=g[t],r=n.getParentCtrl(e.target);if(n.settings.autohide){if(r&&(o(r,n)||n.parent()===r))continue;e=n.fire("autohide",{target:e.target}),e.isDefaultPrevented()||n.hide()}}}function s(){h||(h=function(e){2!=e.button&&a(e)},i(document).on("click touchstart",h))}function l(){p||(p=function(){var e;for(e=g.length;e--;)u(g[e])},i(window).on("scroll",p))}function c(){if(!m){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;m=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,b.hideAll())},i(window).on("resize",m)}}function u(e){function t(t,n){for(var r,i=0;i<g.length;i++)if(g[i]!=e)for(r=g[i].parent();r&&(r=r.parent());)r==e&&g[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e.state.get("fixed")?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}function d(e,t){var n,r=b.zIndex||65535,o;if(e)v.push(t);else for(n=v.length;n--;)v[n]===t&&v.splice(n,1);if(v.length)for(n=0;n<v.length;n++)v[n].modal&&(r++,o=v[n]),v[n].getEl().style.zIndex=r,v[n].zIndex=r,r++;var a=document.getElementById(t.classPrefix+"modal-block");o?i(a).css("z-index",o.zIndex-1):a&&(a.parentNode.removeChild(a),y=!1),b.currentZIndex=r}function f(e){var t;for(t=g.length;t--;)g[t]===e&&g.splice(t,1);for(t=v.length;t--;)v[t]===e&&v.splice(t,1)}var h,p,m,g=[],v=[],y,b=e.extend({Mixins:[t,n],init:function(e){var t=this;t._super(e),t._eventsRoot=t,t.classes.add("floatpanel"),e.autohide&&(s(),c(),g.push(t)),e.autofix&&(l(),t.on("move",function(){u(this)})),t.on("postrender show",function(e){if(e.control==t){var n,r=t.classPrefix;t.modal&&!y&&(n=i("#"+r+"modal-block"),n[0]||(n=i('<div id="'+r+'modal-block" class="'+r+"reset "+r+'fade"></div>').appendTo(t.getContainerElm())),setTimeout(function(){n.addClass(r+"in"),i(t.getEl()).addClass(r+"in")},0),y=!0),d(!0,t)}}),t.on("show",function(){t.parents().each(function(e){return e.state.get("fixed")?(t.fixed(!0),!1):void 0})}),e.popover&&(t._preBodyHtml='<div class="'+t.classPrefix+'arrow"></div>',t.classes.add("popover").add("bottom").add(t.isRtl()?"end":"start"))},fixed:function(e){var t=this;if(t.state.get("fixed")!=e){if(t.state.get("rendered")){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.classes.toggle("fixed",e),t.state.set("fixed",e)}return t},show:function(){var e=this,t,n=e._super();for(t=g.length;t--&&g[t]!==e;);return-1===t&&g.push(e),n},hide:function(){return f(this),d(!1,this),this._super()},hideAll:function(){b.hideAll()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||(e.remove(),d(!1,e)),e},remove:function(){f(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return b.hideAll=function(){for(var e=g.length;e--;){var t=g[e];t&&t.settings.autohide&&(t.hide(),g.splice(e,1))}},b}),r(ue,[ce,ae,X,f,ie,J,u],function(e,t,n,r,i,o,a){function s(e){var t="width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0",n=r("meta[name=viewport]")[0],i;a.overrideViewPort!==!1&&(n||(n=document.createElement("meta"),n.setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),i=n.getAttribute("content"),i&&"undefined"!=typeof d&&(d=i),n.setAttribute("content",e?t:d))}function l(e){for(var t=0;t<u.length;t++)if(u[t]._fullscreen)return;r([document.documentElement,document.body]).removeClass(e+"fullscreen")}function c(){function e(){var e,t=n.getWindowSize(),r;for(e=0;e<u.length;e++)r=u[e].layoutRect(),u[e].moveTo(u[e].settings.x||Math.max(0,t.w/2-r.w/2),u[e].settings.y||Math.max(0,t.h/2-r.h/2))}var t={w:window.innerWidth,h:window.innerHeight};window.setInterval(function(){var e=window.innerWidth,n=window.innerHeight;(t.w!=e||t.h!=n)&&(t={w:e,h:n},r(window).trigger("resize"))},0),r(window).on("resize",e)}var u=[],d="",f=e.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var n=this;n._super(e),n.isRtl()&&n.classes.add("rtl"),n.classes.add("window"),n.bodyClasses.add("window-body"),n.state.set("fixed",!0),e.buttons&&(n.statusbar=new t({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),n.statusbar.classes.add("foot"),n.statusbar.parent(n)),n.on("click",function(e){-1!=e.target.className.indexOf(n.classPrefix+"close")&&n.close()}),n.on("cancel",function(){n.close()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",e.title),n._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=e.settings.x||Math.max(0,a.w/2-t.w/2),t.y=e.settings.y||Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id="'+n+'-head" class="'+r+'window-head"><div id="'+n+'-title" class="'+r+'title">'+e.encode(i.title)+'</div><button type="button" class="'+r+'close" aria-hidden="true">\xd7</button><div id="'+n+'-dragh" class="'+r+'dragh"></div></div>'),i.url&&(s='<iframe src="'+i.url+'" tabindex="-1"></iframe>'),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.bodyClasses+'">'+s+"</div>"+a+"</div></div>"},fullscreen:function(e){var t=this,i=document.documentElement,a,s=t.classPrefix,l;if(e!=t._fullscreen)if(r(window).on("resize",function(){var e;if(t._fullscreen)if(a)t._timer||(t._timer=setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(a=!0)}}),l=t.layoutRect(),t._fullscreen=e,e){t._initial={x:l.x,y:l.y,w:l.w,h:l.h},t.borderBox=o.parseBox("0"),t.getEl("head").style.display="none",l.deltaH-=l.headerH+2,r([i,document.body]).addClass(s+"fullscreen"),t.classes.add("fullscreen");var c=n.getWindowSize();t.moveTo(0,0).resizeTo(c.w,c.h)}else t.borderBox=o.parseBox(t.settings.border),t.getEl("head").style.display="",l.deltaH+=l.headerH,r([i,document.body]).removeClass(s+"fullscreen"),t.classes.remove("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.classes.add("in")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new i(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()}),u.push(e),s(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t;for(e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),t=u.length;t--;)u[t]===e&&u.splice(t,1);s(u.length>0),l(e.classPrefix)},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return a.desktop||c(),f}),r(de,[ue],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(fe,[ue,de],function(e,t){return function(n){function r(){return o.length?o[o.length-1]:void 0}var i=this,o=[];i.windows=o,n.on("remove",function(){for(var e=o.length;e--;)o[e].close()}),i.open=function(t,r){var i;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),i=new e(t),o.push(i),i.on("close",function(){for(var e=o.length;e--;)o[e]===i&&o.splice(e,1);o.length||n.focus()}),t.data&&i.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),i.features=t||{},i.params=r||{},1===o.length&&n.nodeChanged(),i.renderTo().reflow()},i.alert=function(e,r,i){t.alert(e,function(){r?r.call(i||this):n.focus()})},i.confirm=function(e,n,r){t.confirm(e,function(e){n.call(r||this,e)})},i.close=function(){r()&&r().close()},i.getParams=function(){return r()?r().params:null},i.setParams=function(e){r()&&(r().params=e)},i.getWindows=function(){return o}}}),r(he,[B,C,p,_,g,u,d],function(e,t,n,r,i,o,a){return function(s){function l(e,t){try{s.getDoc().execCommand(e,!1,t)}catch(n){}}function c(){var e=s.getDoc().documentMode;return e?e:6}function u(e){return e.isDefaultPrevented()}function d(e){var t;e.dataTransfer&&(s.selection.isCollapsed()&&"IMG"==e.target.tagName&&J.select(e.target),t=s.selection.getContent(),t.length>0&&e.dataTransfer.setData(oe,ie+escape(t)))}function f(e){var t,n;return e.dataTransfer&&(t=e.dataTransfer.getData(oe),t&&t.indexOf(ie)>=0&&(n=unescape(t.substr(ie.length)))),n}function h(e){s.queryCommandSupported("mceInsertClipboardContent")?s.execCommand("mceInsertClipboardContent",!1,{content:e}):s.execCommand("mceInsertContent",!1,e)}function p(){function r(e){var t=v.schema.getBlockElements(),n=s.getBody();if("BR"!=e.nodeName)return!1;for(e=e;e!=n&&!t[e.nodeName];e=e.parentNode)if(e.nextSibling)return!1;return!0}function i(e,t){var n;for(n=e.nextSibling;n&&n!=t;n=n.nextSibling)if((3!=n.nodeType||0!==K.trim(n.data).length)&&n!==t)return!1;return n===t}function o(e,t,i){var o,a,s;for(s=v.schema.getNonEmptyElements(),o=new n(i||e,e);a=o[t?"next":"prev"]();){if(s[a.nodeName]&&!r(a))return a;if(3==a.nodeType&&a.data.length>0)return a}}function l(e){var n,r,i,a,l;if(!e.collapsed&&(n=v.getParent(t.getNode(e.startContainer,e.startOffset),v.isBlock),r=v.getParent(t.getNode(e.endContainer,e.endOffset),v.isBlock),l=s.schema.getTextBlockElements(),n!=r&&l[n.nodeName]&&l[r.nodeName]&&"false"!==v.getContentEditable(n)&&"false"!==v.getContentEditable(r)))return e.deleteContents(),i=o(n,!1),a=o(r,!0),v.isEmpty(r)||K(n).append(r.childNodes),K(r).remove(),i?1==i.nodeType?"BR"==i.nodeName?(e.setStartBefore(i),e.setEndBefore(i)):(e.setStartAfter(i),e.setEndAfter(i)):(e.setStart(i,i.data.length),e.setEnd(i,i.data.length)):a&&(1==a.nodeType?(e.setStartBefore(a),e.setEndBefore(a)):(e.setStart(a,0),e.setEnd(a,0))),y.setRng(e),!0}function c(e,n){var r,a,l,c,u,d;if(!e.collapsed)return e;if(u=e.startContainer,d=e.startOffset,3==u.nodeType)if(n){if(d<u.data.length)return e}else if(d>0)return e;if(r=t.getNode(e.startContainer,e.startOffset),l=v.getParent(r,v.isBlock),a=o(s.getBody(),n,r),c=v.getParent(a,v.isBlock),!r||!a)return e;if(c&&l!=c)if(n){if(!i(l,c))return e;1==r.nodeType?"BR"==r.nodeName?e.setStartBefore(r):e.setStartAfter(r):e.setStart(r,r.data.length),1==a.nodeType?e.setEnd(a,0):e.setEndBefore(a)}else{if(!i(c,l))return e;1==a.nodeType?"BR"==a.nodeName?e.setStartBefore(a):e.setStartAfter(a):e.setStart(a,a.data.length),1==r.nodeType?e.setEnd(r,0):e.setEndBefore(r)}return e}function p(e){var t=y.getRng();return t=c(t,e),l(t)?!0:void 0}function m(e){var t,n,r;p(e)||(a.each(s.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&s.dom.setAttrib(e,"style",s.dom.getAttrib(e,"style"))}),t=new b(function(){}),t.observe(s.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),s.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),n=s.selection.getRng(),r=n.startContainer.parentNode,a.each(t.takeRecords(),function(e){if(v.isChildOf(e.target,s.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}a.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),v.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),s.selection.setRng(n))}})}}),t.disconnect(),a.each(s.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}var g=s.getDoc(),v=s.dom,y=s.selection,b=window.MutationObserver,x,C;b||(x=!0,b=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),s.on("keydown",function(e){var t=e.keyCode==G,n=e.ctrlKey||e.metaKey;if(!u(e)&&(t||e.keyCode==Y)){var r=s.selection.getRng(),i=r.startContainer,o=r.startOffset;if(!n&&r.collapsed&&3==i.nodeType&&(t?o<i.data.length:o>0))return;e.preventDefault(),n&&s.selection.getSel().modify("extend",t?"forward":"backward",e.metaKey?"lineboundary":"word"),m(t)}}),s.on("keypress",function(t){if(!u(t)&&!y.isCollapsed()&&t.charCode&&!e.metaKeyPressed(t)){var n,r,i,o,a,l;n=s.selection.getRng(),l=String.fromCharCode(t.charCode),t.preventDefault(),r=K(n.startContainer).parents().filter(function(e,t){return!!s.schema.getTextInlineElements()[t.nodeName]}),m(!0),r=r.filter(function(e,t){return!K.contains(s.getBody(),t)}),r.length?(i=v.createFragment(),r.each(function(e,t){t=t.cloneNode(!1),i.hasChildNodes()?(t.appendChild(i.firstChild),i.appendChild(t)):(a=t,i.appendChild(t)),i.appendChild(t)}),a.appendChild(s.getDoc().createTextNode(l)),o=v.getParent(n.startContainer,v.isBlock),v.isEmpty(o)?K(o).empty().append(i):n.insertNode(i),n.setStart(a.firstChild,1),n.setEnd(a.firstChild,1),s.selection.setRng(n)):s.selection.setContent(l)}}),s.addCommand("Delete",function(){
+m()}),s.addCommand("ForwardDelete",function(){m(!0)}),x||(s.on("dragstart",function(e){C=y.getRng(),d(e)}),s.on("drop",function(e){if(!u(e)){var n=f(e);n&&(e.preventDefault(),window.setTimeout(function(){var r=t.getCaretRangeFromPoint(e.x,e.y,g);C&&(y.setRng(C),C=null),m(),y.setRng(r),h(n)},0))}}),s.on("cut",function(e){u(e)||!e.clipboardData||s.selection.isCollapsed()||(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",s.selection.getContent()),e.clipboardData.setData("text/plain",s.selection.getContent({format:"text"})),window.setTimeout(function(){m(!0)},0))}))}function m(){function e(e){var t=X.create("body"),n=e.cloneContents();return t.appendChild(n),J.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(s.getBody()),t.compareRanges(n,r)}var i=e(n),o=X.createRng();o.selectNode(s.getBody());var a=e(o);return i===a}s.on("keydown",function(e){var t=e.keyCode,r,i;if(!u(e)&&(t==G||t==Y)){if(r=s.selection.isCollapsed(),i=s.getBody(),r&&!X.isEmpty(i))return;if(!r&&!n(s.selection.getRng()))return;e.preventDefault(),s.setContent(""),i.firstChild&&X.isBlock(i.firstChild)?s.selection.setCursorLocation(i.firstChild,0):s.selection.setCursorLocation(i,0),s.nodeChanged()}})}function g(){s.shortcuts.add("meta+a",null,"SelectAll")}function v(){s.settings.content_editable||(X.bind(s.getDoc(),"focusin",function(){J.setRng(J.getRng())}),X.bind(s.getDoc(),"mousedown mouseup",function(e){e.target==s.getDoc().documentElement&&(s.getBody().focus(),"mousedown"==e.type?J.placeCaretAt(e.clientX,e.clientY):J.setRng(J.getRng()))}))}function y(){s.on("keydown",function(e){if(!u(e)&&e.keyCode===Y){if(!s.getBody().getElementsByTagName("hr").length)return;if(J.isCollapsed()&&0===J.getRng(!0).startOffset){var t=J.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return X.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(X.remove(n),e.preventDefault())}}})}function b(){window.Range.prototype.getClientRects||s.on("mousedown",function(e){if(!u(e)&&"HTML"===e.target.nodeName){var t=s.getBody();t.blur(),setTimeout(function(){t.focus()},0)}})}function x(){s.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&(e.preventDefault(),J.getSel().setBaseAndExtent(t,0,t,1),s.nodeChanged()),"A"==t.nodeName&&X.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),J.select(t))})}function C(){function e(){var e=X.getAttribs(J.getStart().cloneNode(!1));return function(){var t=J.getStart();t!==s.getBody()&&(X.setAttrib(t,"style",null),j(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!J.isCollapsed()&&X.getParent(J.getStart(),X.isBlock)!=X.getParent(J.getEnd(),X.isBlock)}s.on("keypress",function(n){var r;return u(n)||8!=n.keyCode&&46!=n.keyCode||!t()?void 0:(r=e(),s.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1)}),X.bind(s.getDoc(),"cut",function(n){var r;!u(n)&&t()&&(r=e(),setTimeout(function(){r()},0))})}function w(){document.body.setAttribute("role","application")}function _(){s.on("keydown",function(e){if(!u(e)&&e.keyCode===Y&&J.isCollapsed()&&0===J.getRng(!0).startOffset){var t=J.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function E(){c()>7||(l("RespectVisibilityInDesign",!0),s.contentStyles.push(".mceHideBrInPre pre br {display: none}"),X.addClass(s.getBody(),"mceHideBrInPre"),Z.addNodeFilter("pre",function(e){for(var t=e.length,n,i,o,a;t--;)for(n=e[t].getAll("br"),i=n.length;i--;)o=n[i],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new r("#text",3),o,!0).value="\n"}),ee.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function N(){X.bind(s.getBody(),"mouseup",function(){var e,t=J.getNode();"IMG"==t.nodeName&&((e=X.getStyle(t,"width"))&&(X.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),X.setStyle(t,"width","")),(e=X.getStyle(t,"height"))&&(X.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),X.setStyle(t,"height","")))})}function S(){s.on("keydown",function(t){var n,r,i,o,a;if(!u(t)&&t.keyCode==e.BACKSPACE&&(n=J.getRng(),r=n.startContainer,i=n.startOffset,o=X.getRoot(),a=r,n.collapsed&&0===i)){for(;a&&a.parentNode&&a.parentNode.firstChild==a&&a.parentNode!=o;)a=a.parentNode;"BLOCKQUOTE"===a.tagName&&(s.formatter.toggle("blockquote",null,a),n=X.createRng(),n.setStart(r,0),n.setEnd(r,0),J.setRng(n))}})}function k(){function e(){s._refreshContentEditable(),l("StyleWithCSS",!1),l("enableInlineTableEditing",!1),Q.object_resizing||l("enableObjectResizing",!1)}Q.readonly||s.on("BeforeExecCommand MouseDown",e)}function T(){function e(){j(X.select("a"),function(e){var t=e.parentNode,n=X.getRoot();if(t.lastChild===e){for(;t&&!X.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}X.add(t,"br",{"data-mce-bogus":1})}})}s.on("SetContent ExecCommand",function(t){("setcontent"==t.type||"mceInsertLink"===t.command)&&e()})}function R(){Q.forced_root_block&&s.on("init",function(){l("DefaultParagraphSeparator",Q.forced_root_block)})}function A(){s.on("Undo Redo SetContent",function(e){e.initial||s.execCommand("mceRepaint")})}function B(){s.on("keydown",function(e){var t;u(e)||e.keyCode!=Y||(t=s.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),s.undoManager.beforeChange(),X.remove(t.item(0)),s.undoManager.add()))})}function D(){var e;c()>=10&&(e="",j("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),s.contentStyles.push(e+"{padding-right: 1px !important}"))}function L(){c()<9&&(Z.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),ee.addNodeFilter("noscript",function(e){for(var t=e.length,n,o,a;t--;)n=e[t],o=e[t].firstChild,o?o.value=i.decode(o.value):(a=n.attributes.map["data-mce-innertext"],a&&(n.attr("data-mce-innertext",null),o=new r("#text",3),o.value=a,o.raw=!0,n.append(o)))}))}function M(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),X.unbind(r,"mouseup",n),X.unbind(r,"mousemove",t),a=o=0}var r=X.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,X.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(X.bind(r,"mouseup",n),X.bind(r,"mousemove",t),X.getRoot().focus(),a.select())}})}function H(){s.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||J.normalize()},!0)}function P(){s.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function O(){s.inline||s.on("keydown",function(){document.activeElement==document.body&&s.getWin().focus()})}function I(){s.inline||(s.contentStyles.push("body {min-height: 150px}"),s.on("click",function(e){if("HTML"==e.target.nodeName){var t;t=s.selection.getRng(),s.getBody().focus(),s.selection.setRng(t),s.selection.normalize(),s.nodeChanged()}}))}function F(){o.mac&&s.on("keydown",function(t){!e.metaKeyPressed(t)||t.shiftKey||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),s.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","lineboundary"))})}function z(){l("AutoUrlDetect",!1)}function W(){s.inline||s.on("focus blur beforegetcontent",function(){var e=s.dom.create("br");s.getBody().appendChild(e),e.parentNode.removeChild(e)},!0)}function V(){s.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),s.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function U(){s.on("init",function(){s.dom.bind(s.getBody(),"submit",function(e){e.preventDefault()})})}function $(){Z.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}function q(){s.on("dragstart",function(e){d(e)}),s.on("drop",function(e){if(!u(e)){var n=f(e);if(n){e.preventDefault();var r=t.getCaretRangeFromPoint(e.x,e.y,s.getDoc());J.setRng(r),h(n)}}})}var j=a.each,K=s.$,Y=e.BACKSPACE,G=e.DELETE,X=s.dom,J=s.selection,Q=s.settings,Z=s.parser,ee=s.serializer,te=o.gecko,ne=o.ie,re=o.webkit,ie="data:text/mce-internal,",oe=ne?"Text":"URL";S(),m(),H(),re&&(p(),v(),x(),R(),U(),_(),$(),o.iOS?(O(),I(),V()):g()),ne&&o.ie<11&&(y(),w(),E(),N(),B(),D(),L(),M()),o.ie>=11&&(I(),W(),_()),o.ie&&(g(),z(),q()),te&&(y(),b(),C(),k(),T(),A(),P(),F(),_())}}),r(pe,[j,y,d],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){var n=r(e,t),i;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;i=function(n){for(var r=n.target,i=e.editorManager.editors,a=i.length;a--;){var s=i[a].getBody();(s===r||o.isChildOf(r,s))&&(i[a].hidden||i[a].fire(t,n))}},a[t]=i,o.bind(n,t,i)}else i=function(n){e.hidden||e.fire(t,n)},o.bind(n,t,i),e.delegates[t]=i}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;n.settings.readonly||"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(me,[d,u],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122},o=e.makeMap("alt,ctrl,shift,meta,access");return function(a){function s(e,s,l,c){var u,d,f;f={func:l,scope:c||a,desc:a.translate(s)},n(r(e,"+"),function(e){e in o?f[e]=!0:/^[0-9]{2,}$/.test(e)?f.keyCode=parseInt(e,10):(f.charCode=e.charCodeAt(0),f.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}),u=[f.keyCode];for(d in o)f[d]?u.push(d):f[d]=!1;return f.id=u.join(","),f.access&&(f.alt=!0,t.mac?f.ctrl=!0:f.shift=!0),f.meta&&(t.mac?f.meta=!0:(f.ctrl=!0,f.meta=!1)),f}var l=this,c={};a.on("keyup keypress keydown",function(e){(e.altKey||e.ctrlKey||e.metaKey)&&!e.isDefaultPrevented()&&n(c,function(t){return t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&t.alt==e.altKey&&t.shift==e.shiftKey&&(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)?(e.preventDefault(),"keydown"==e.type&&t.func.call(t.scope),!0):void 0})}),l.add=function(t,i,o,l){var u;return u=o,"string"==typeof o?o=function(){a.execCommand(u,!1,null)}:e.isArray(u)&&(o=function(){a.execCommand(u[0],u[1],u[2])}),n(r(t.toLowerCase()),function(e){var t=s(e,i,o,l);c[t.id]=t}),!0},l.remove=function(e){var t=s(e);return c[t.id]?(delete c[t.id],!0):!1}}}),r(ge,[],function(){function e(e,t){return function(){e.apply(t,arguments)}}function t(t){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],s(t,e(r,this),e(i,this))}function n(e){var t=this;return null===this._state?void this._deferreds.push(e):void l(function(){var n=t._state?e.onFulfilled:e.onRejected;if(null===n)return void(t._state?e.resolve:e.reject)(t._value);var r;try{r=n(t._value)}catch(i){return void e.reject(i)}e.resolve(r)})}function r(t){try{if(t===this)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if("function"==typeof n)return void s(e(n,t),e(r,this),e(i,this))}this._state=!0,this._value=t,o.call(this)}catch(a){i.call(this,a)}}function i(e){this._state=!1,this._value=e,o.call(this)}function o(){for(var e=0,t=this._deferreds.length;t>e;e++)n.call(this,this._deferreds[e]);this._deferreds=null}function a(e,t,n,r){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r}function s(e,t,n){var r=!1;try{e(function(e){r||(r=!0,t(e))},function(e){r||(r=!0,n(e))})}catch(i){if(r)return;r=!0,n(i)}}if(window.Promise)return window.Promise;var l=t.immediateFn||"function"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,1)},c=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return t.prototype["catch"]=function(e){return this.then(null,e)},t.prototype.then=function(e,r){var i=this;return new t(function(t,o){n.call(i,new a(e,r,t,o))})},t.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&c(arguments[0])?arguments[0]:arguments);return new t(function(t,n){function r(o,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(e){r(o,e)},n)}e[o]=a,0===--i&&t(e)}catch(l){n(l)}}if(0===e.length)return t([]);for(var i=e.length,o=0;o<e.length;o++)r(o,e[o])})},t.resolve=function(e){return e&&"object"==typeof e&&e.constructor===t?e:new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.race=function(e){return new t(function(t,n){for(var r=0,i=e.length;i>r;r++)e[r].then(t,n)})},t}),r(ve,[ge,d],function(e,t){return function(n){function r(e){var t,n;return n={"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png"},t=n[e.blob().type.toLowerCase()]||"dat",e.id()+"."+t}function i(e,t){return e?e.replace(/\/$/,"")+"/"+t.replace(/^\//,""):t}function o(e){return{id:e.id,blob:e.blob,base64:e.base64,filename:t.constant(r(e))}}function a(e,t,o){var a,s;a=new XMLHttpRequest,a.withCredentials=n.credentials,a.open("POST",n.url),a.onload=function(){var e;return 200!=a.status?void o("HTTP Error: "+a.status):(e=JSON.parse(a.responseText),e&&"string"==typeof e.location?void t(i(n.basePath,e.location)):void o("Invalid JSON: "+a.responseText))},s=new FormData,s.append("file",e.blob(),r(e)),a.send(s)}function s(r){return new e(function(e,i){function s(){var t,n=c[u++];return n?(t=d[n.blobInfo.id()])?(n.url=t,n.status=!0,void s()):void l(o(n.blobInfo),function(e){d[n.blobInfo.id()]=e,n.url=e,n.status=!0,s()},function(e){n.status=!1,i(e)}):void e(c)}var l=n.handler,c,u=0,d={};return n.url||l!==a?(c=t.map(r,function(e){return{status:!1,blobInfo:e,url:""}}),void s()):void e([])})}return n=t.extend({credentials:!1,handler:a},n),{upload:s}}}),r(ye,[ge],function(e){function t(t){return new e(function(e){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="blob",n.onload=function(){200==this.status&&e(this.response)},n.send()})}function n(e){var t,n;return e=decodeURIComponent(e).split(","),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}}function r(t){return new e(function(e){var r,i,o;t=n(t);try{r=atob(t.data)}catch(a){return void e(new Blob([]))}for(i=new Uint8Array(r.length),o=0;o<i.length;o++)i[o]=r.charCodeAt(o);e(new Blob([i],{type:t.type}))})}function i(e){return 0===e.indexOf("blob:")?t(e):0===e.indexOf("data:")?r(e):null}function o(t){return new e(function(e){var n=new FileReader;n.onloadend=function(){e(n.result)},n.readAsDataURL(t)})}return{uriToBlob:i,blobToDataUri:o,parseDataUri:n}}),r(be,[ge,d,ye],function(e,t,n){function r(t,n){return new e(function(e){function r(o){n(t[o],function(n){i.push(n),o<t.length-1?r(o+1):e(i)})}var i=[];0===t.length?e(i):r(0)})}var i=0;return{findAll:function(e,o){function a(e,t){var r,a,s;return 0===e.src.indexOf("blob:")?(a=o.getByUri(e.src),void(a&&t({image:e,blobInfo:a}))):(s="blobid"+i++,r=n.parseDataUri(e.src).data,a=o.findFirst(function(e){return e.base64()===r}),void(a?t({image:e,blobInfo:a}):n.uriToBlob(e.src).then(function(n){var i=o.create(s,n,r);o.add(i),t({image:e,blobInfo:i})})))}return r(t.filter(e.getElementsByTagName("img"),function(e){return e.src&&(0===e.src.indexOf("data:")||0===e.src.indexOf("blob:"))}),a)}}}),r(xe,[d],function(e){return function(){function t(e,t,n){return{id:l(e),blob:l(t),base64:l(n),blobUri:l(URL.createObjectURL(t))}}function n(e){r(e.id())||s.push(e)}function r(e){return i(function(t){return t.id()===e})}function i(t){return e.grep(s,t)[0]}function o(e){return i(function(t){return t.blobUri()==e})}function a(){e.each(s,function(e){URL.revokeObjectURL(e.blobUri())}),s=[]}var s=[],l=e.constant;return{create:t,add:n,get:r,getByUri:o,findFirst:i,destroy:a}}}),r(Ce,[d,ve,be,xe],function(e,t,n,r){return function(i){function o(e,t,n){var r=0;do r=e.indexOf(t,r),-1!==r&&(e=e.substring(0,r)+n+e.substr(r+t.length),r+=n.length-t.length+1);while(-1!==r);return e}function a(e,t,n){return e=o(e,'src="'+t+'"','src="'+n+'"'),e=o(e,'data-mce-src="'+t+'"','data-mce-src="'+n+'"')}function s(t,n){e.each(i.undoManager.data,function(e){e.content=a(e.content,t,n)})}function l(n){function r(t){return e.map(t,function(e){return e.blobInfo})}var o=new t({url:i.settings.images_upload_url,basePath:i.settings.images_upload_base_path,credentials:i.settings.images_upload_credentials,handler:i.settings.images_upload_handler});return c().then(r).then(o.upload).then(function(t){return t=e.map(t,function(e){var t;return t=i.dom.select('img[src="'+e.blobInfo.blobUri()+'"]')[0],t&&(s(t.src,e.url),i.$(t).attr({src:e.url,"data-mce-src":i.convertURL(e.url,"src")})),{element:t,status:e.status}}),n&&n(t),t},function(){})}function c(){return n.findAll(i.getBody(),f).then(function(t){return e.each(t,function(e){s(e.image.src,e.blobInfo.blobUri()),e.image.src=e.blobInfo.blobUri()}),t})}function u(){f.destroy()}function d(e){return e.replace(/src="(blob:[^"]+)"/g,function(e,t){var n=f.getByUri(t);return'src="data:'+n.blob().type+";base64,"+n.base64()+'"'})}var f=new r;return i.on("setContent paste",c),i.on("RawSaveContent",function(e){e.content=d(e.content)}),i.on("getContent",function(e){e.source_view||"raw"==e.format||(e.content=d(e.content))}),{blobCache:f,uploadImages:l,scanForImages:c,destroy:u}}}),r(we,[y,f,x,w,_,R,T,M,O,I,F,z,W,V,b,l,fe,E,S,he,u,d,pe,me,Ce],function(e,n,r,i,o,a,s,l,c,u,d,f,h,p,m,g,v,y,b,x,C,w,_,E,N){function S(e,t,i){var o=this,a,s;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,o.settings=t=A({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},t),r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.isNotDirty=!0,o.plugins={},o.documentBaseURI=new p(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new E(o),o.loadedCSS={},o.editorCommands=new h(o),t.target&&(o.targetElm=t.target),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,t.cache_suffix&&(C.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),t.override_viewport===!1&&(C.overrideViewPort=!1),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var k=e.DOM,T=r.ThemeManager,R=r.PluginManager,A=w.extend,B=w.each,D=w.explode,L=w.inArray,M=w.trim,H=w.resolve,P=g.Event,O=C.gecko,I=C.ie;return S.prototype={render:function(){function e(){k.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!T.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",T.load(r.theme,t)}w.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),B(r.external_plugins,function(e,t){R.load(t,e),r.plugins+=" "+t}),B(r.plugins.split(/[ ,]/),function(e){if(e=M(e),e&&!R.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=R.dependencies(e);B(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=R.createUrl(t,e),R.load(e.resource,e)})}else R.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!P.domLoaded)return void k.bind(window,"ready",e);if(n.getElement()&&C.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||k.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(k.insertAfter(k.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},k.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.isNotDirty=!0,a._mceOldSubmit(a)})),n.windowManager=new v(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=k.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),t()}},init:function(){function e(n){var r=R.get(n),i,o;i=R.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=M(n),r&&-1===L(m,n)&&(B(R.dependencies(n),function(t){e(t)}),o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n)))}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,h,p,m=[];if(this.editorManager.i18n.setCode(n.language),t.rtl=n.rtl_ui||this.editorManager.i18n.rtl,t.editorManager.add(t),n.aria_label=n.aria_label||k.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),c=T.get(n.theme),t.theme=new c(t,T.urls[n.theme]),t.theme.init&&t.theme.init(t,T.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),B(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,h=/^[0-9\.]+(|px)$/i,h.test(""+i)&&(i=Math.max(parseInt(i,10),100)),h.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),a>o&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer=l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer=l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&B(D(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();for(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!C.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',p=0;p<t.contentCSS.length;p++){var g=t.contentCSS[p];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+w._addCacheSuffix(g)+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",-1!=d.indexOf("=")&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",-1!=f.indexOf("=")&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+n.content_security_policy+'" />'),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" data-id="'+t.id+'"><br></body></html>';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&(u=v);var y=k.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},k.setAttrib(y,"src",u||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=k.add(l.iframeContainer,y),I)try{t.getDoc()}catch(b){s.src=u=v}l.editorContainer&&(k.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=k.isHidden(l.editorContainer)),t.getElement().style.display="none",k.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),h=n.getDoc(),p,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(h.open(),h.write(n.iframeHTML),h.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();k.removeClass(e,"mce-content-body"),k.removeClass(e,"mce-edit-focus"),k.setAttrib(e,"contentEditable",null)}),k.addClass(s,"mce-content-body"),n.contentDocument=h=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),p=n.getBody(),p.disabled=!0,r.readonly||(n.inline&&"static"==k.getStyle(p,"position",!0)&&(p.style.position="relative"),p.contentEditable=n.getParam("content_editable_state",!0)),p.disabled=!1,n.editorUpload=new N(n),n.schema=new y(r),n.dom=new e(h,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new b(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)if(i=e[r],a=i.attr(t),s="data-mce-"+t,!i.attributes.map[s]){if(0===a.indexOf("data:")||0===a.indexOf("blob:"))continue;"style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name))}}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("type","mce-"+(n.attr("type")||"no/type"))}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new c(n),n.undoManager=new u(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n._nodeChangeDispatcher=new i(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(h.body.spellcheck=!1,k.setAttrib(p,"spellcheck","false")),n.fire("PostRender"),n.quirks=new x(n),r.directionality&&(p.dir=r.directionality),r.nowrap&&(p.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){B(r.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.contentStyles.length>0&&(m="",B(n.contentStyles,function(e){m+=e+"\r\n"}),n.dom.addStyle(m)),B(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&setTimeout(function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.destroyed||e.focus()},100),s=h=p=null},focus:function(e){var t=this,n=t.selection,r=t.settings.content_editable,i,o,a=t.getDoc(),s;if(!e){if(i=n.getRng(),i.item&&(o=i.item(0)),t._refreshContentEditable(),r||(C.opera||t.getBody().focus(),t.getWin().focus()),O||r){if(s=t.getBody(),s.setActive)try{s.setActive()}catch(l){s.focus()}else s.focus();r&&n.normalize()}o&&o.ownerDocument==a&&(i=a.body.createControlRange(),i.addElement(o),i.select())}t.editorManager.setActive(t)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?H(r):0,n=H(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?B(r.indexOf("=")>0?r.split(/[;,](?![^=;,]*(?:[;,]|$))/):r.split(","),function(e){e=e.split("="),e.length>1?i[M(e[0])]=M(e[1]):i[M(e[0])]=M(e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addContextToolbar:function(e,t){var n=this,r;n.contextToolbars=n.contextToolbars||[],"string"==typeof e&&(r=e,e=function(e){return n.dom.is(e,r)}),n.contextToolbars.push({predicate:e,items:t})},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},
+execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(k.show(e.getContainer()),k.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(I&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(k.hide(e.getContainer()),k.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;return r?(e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i):void 0},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),"raw"==e.format&&t.fire("RawSaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=k.getParent(t.id,"form"))&&B(i.elements,function(e){return e.name==t.id?(e.value=r,!1):void 0})),e.element=n=null,e.set_dirty!==!1&&(t.isNotDirty=!0),r},setContent:function(e,t){var n=this,r=n.getBody(),i;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=I&&11>I?"":'<br data-mce-bogus="1">',e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):I||(e='<br data-mce-bogus="1">'),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=M(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?r.innerHTML:"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),"text"!=e.format?e.content=M(n):e.content=n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=A({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},getContainer:function(){var e=this;return e.container||(e.container=k.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=k.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),B(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&k.remove(e.getElement().nextSibling),e.inline||(I&&10>I&&e.getDoc().execCommand("SelectAll",!1,null),k.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),k.remove(e.getContainer()),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),k.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()},_refreshContentEditable:function(){var e=this,t,n;e._isHidden()&&(t=e.getBody(),n=t.parentNode,n.removeChild(t),n.appendChild(t),t.focus())},_isHidden:function(){var e;return O?(e=this.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}},A(S.prototype,_),S}),r(_e,[],function(){var e={},t="en";return{setCode:function(e){e&&(t=e,this.rtl=this.data[e]?"rtl"===this.data[e]._dir:!1)},getCode:function(){return t},rtl:!1,add:function(t,n){var r=e[t];r||(e[t]=r={});for(var i in n)r[i]=n[i];this.setCode(t)},translate:function(n){var r;if(r=e[t],r||(r={}),"undefined"==typeof n)return n;if("string"!=typeof n&&n.raw)return n.raw;if(n.push){var i=n.slice(1);n=(r[n[0]]||n[0]).replace(/\{([0-9]+)\}/g,function(e,t){return i[t]})}return(r[n]||n).replace(/{context:\w+}$/,"")},data:e}}),r(Ee,[y,u],function(e,t){function n(e){function s(){try{return document.activeElement}catch(e){return document.body}}function l(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function u(e){return!!a.getParent(e,n.isEditorUIElement)}function d(n){var d=n.editor;d.on("init",function(){(d.inline||t.ie)&&("onbeforedeactivate"in document&&t.ie<9?d.dom.bind(d.getBody(),"beforedeactivate",function(e){if(e.target==d.getBody())try{d.lastRng=d.selection.getRng()}catch(t){}}):d.on("nodechange mouseup keyup",function(e){var t=s();"nodechange"==e.type&&e.selectionChange||(t&&t.id==d.id+"_ifr"&&(t=d.getBody()),d.dom.isChildOf(t,d.getBody())&&(d.lastRng=d.selection.getRng()))}),t.webkit&&!r&&(r=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(d.lastRng=n)}},a.bind(document,"selectionchange",r)))}),d.on("setcontent",function(){d.lastRng=null}),d.on("mousedown",function(){d.selection.lastFocusBookmark=null}),d.on("focusin",function(){var t=e.focusedEditor;d.selection.lastFocusBookmark&&(d.selection.setRng(c(d,d.selection.lastFocusBookmark)),d.selection.lastFocusBookmark=null),t!=d&&(t&&t.fire("blur",{focusedEditor:d}),e.setActive(d),e.focusedEditor=d,d.fire("focus",{blurredEditor:t}),d.focus(!0)),d.lastRng=null}),d.on("focusout",function(){window.setTimeout(function(){var t=e.focusedEditor;u(s())||t!=d||(d.fire("blur",{focusedEditor:null}),e.focusedEditor=null,d.selection&&(d.selection.lastFocusBookmark=null))},0)}),i||(i=function(t){var n=e.activeEditor;n&&t.target.ownerDocument==document&&(n.selection&&t.target!=n.getBody()&&(n.selection.lastFocusBookmark=l(n.dom,n.lastRng)),t.target==document.body||u(t.target)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},a.bind(document,"focusin",i)),d.inline&&!o&&(o=function(t){var n=e.activeEditor;if(n.inline&&!n.dom.isChildOf(t.target,n.getBody())){var r=n.selection.getRng();r.collapsed||(n.lastRng=r)}},a.bind(document,"mouseup",o))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(a.unbind(document,"selectionchange",r),a.unbind(document,"focusin",i),a.unbind(document,"mouseup",o),r=i=o=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var r,i,o,a=e.DOM;return n.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},n}),r(Ne,[we,f,y,V,u,d,j,_e,Ee],function(e,t,n,r,i,o,a,s,l){function c(e){m(b.editors,function(t){t.fire("ResizeWindow",e)})}function u(e,n){n!==x&&(n?t(window).on("resize",c):t(window).off("resize",c),x=n)}function d(e){var t=b.editors,n;delete t[e.id];for(var r=0;r<t.length;r++)if(t[r]==e){t.splice(r,1),n=!0;break}return b.activeEditor==e&&(b.activeEditor=t[0]),b.focusedEditor==e&&(b.focusedEditor=null),n}function f(e){return e&&!(e.getContainer()||e.getBody()).parentNode&&(d(e),e.unbindAllNativeEvents(),e.destroy(!0),e=null),e}var h=n.DOM,p=o.explode,m=o.each,g=o.extend,v=0,y,b,x=!1;return b={$:t,majorVersion:"4",minorVersion:"2.3",releaseDate:"2015-07-30",editors:[],i18n:s,activeEditor:null,setup:function(){var e=this,t,n,i="",o,a;if(n=document.location.href,/^[^:]+:\/\/\/?[^\/]+\//.test(n)&&(n=n.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(n)||(n+="/")),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else{for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++)if(a=s[c].src,/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(a)){-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/"));break}!t&&document.currentScript&&(a=document.currentScript.src,-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/")))}e.baseURL=new r(n).toAbsolute(t),e.documentBaseURL=n,e.baseURI=new r(e.baseURL),e.suffix=i,e.focusManager=new l(e)},init:function(t){function n(e){var t=e.id;return t||(t=e.name,t=t&&!h.get(t)?e.name:h.uniqueId(),e.setAttribute("id",t)),t}function r(t,n,r){if(!f(s.get(t))){var i=new e(t,n,s);i.targetElm=i.targetElm||r,l.push(i),i.render()}}function i(e){var n=t[e];if(n)return n.apply(s,Array.prototype.slice.call(arguments,2))}function o(e,t){return t.constructor===RegExp?t.test(e.className):h.hasClass(e,t)}function a(){var e,s;if(h.unbind(window,"ready",a),i("onpageload"),t.types)return void m(t.types,function(e){m(h.select(e.selector),function(i){r(n(i),g({},t,e),i)})});if(t.selector)return void m(h.select(t.selector),function(e){r(n(e),t,e)});switch(t.target&&r(n(t.target),t),t.mode){case"exact":e=t.elements||"",e.length>0&&m(p(e),function(e){var n;(n=h.get(e))?r(e,t,n):m(document.forms,function(n){m(n.elements,function(n){n.name===e&&(e="mce_editor_"+v++,h.setAttrib(n,"id",e),r(e,t,n))})})});break;case"textareas":case"specific_textareas":m(h.select("textarea"),function(e){t.editor_deselector&&o(e,t.editor_deselector)||(!t.editor_selector||o(e,t.editor_selector))&&r(n(e),t,e)})}t.oninit&&(e=s=0,m(l,function(t){s++,t.initialized?e++:t.on("init",function(){e++,e==s&&i("oninit")}),e==s&&i("oninit")}))}var s=this,l=[];s.settings=t,h.bind(window,"ready",a)},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),u(n,!0),t.activeEditor=e,t.fire("AddEditor",{editor:e}),y||(y=function(){t.fire("BeforeUnload")},h.bind(window,"beforeunload",y)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void m(h.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(d(i)&&t.fire("RemoveEditor",{editor:i}),r.length||h.unbind(window,"beforeunload",y),i.remove(),u(r,r.length>0),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return i.activeEditor?i.activeEditor.execCommand(t,n,r):!1},triggerSave:function(){m(this.editors,function(e){e.save()})},addI18n:function(e,t){s.add(e,t)},translate:function(e){return s.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},g(b,a),b.setup(),window.tinymce=window.tinyMCE=b,b}),r(Se,[Ne,d],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(n,r){"html4"===t.settings.schema&&e(r,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(ke,[j,d],function(e,t){var n={send:function(e){function t(){!e.async||4==r.readyState||i++>1e4?(e.success&&1e4>i&&200==r.status?e.success.call(e.success_scope,""+r.responseText,r,e):e.error&&e.error.call(e.error_scope,i>1e4?"TIMED_OUT":"GENERAL",r,e),r=null):setTimeout(t,10)}var r,i=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async===!1?!1:!0,e.data=e.data||"",r=new XMLHttpRequest){if(r.overrideMimeType&&r.overrideMimeType(e.content_type),r.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(r.withCredentials=!0),e.content_type&&r.setRequestHeader("Content-Type",e.content_type),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r=n.fire("beforeSend",{xhr:r,settings:e}).xhr,r.send(e.data),!e.async)return t();setTimeout(t,10)}}};return t.extend(n,e),n}),r(Te,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb   t\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r<t.length;r++)i+=(r>0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}}}),r(Re,[Te,ke,d],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(Ae,[y],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(Be,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?u+e:i.indexOf(",",u),-1===r||r>i.length?null:(n=i.substring(u,r),u=r+1,n)}var r,i,s,u=0;if(a={},c){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(c){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,c;try{if(window.localStorage)return localStorage}catch(u){}return l="tinymce",o=document.documentElement,c=!!o.addBehavior,c&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(De,[y,l,b,x,d,u],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(i,function(e,t){a[t]=e}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(Le,[U,d],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t=this,n=t.settings,r,i,o,a;r=n.firstControlClass,i=n.lastControlClass,e.each(function(e){e.classes.remove(r).remove(i).add(n.controlClass),e.visible()&&(o||(o=e),a=e)}),o&&o.classes.add(r),a&&a.classes.add(i)},renderHtml:function(e){var t=this,n="";return t.applyClasses(e.items()),e.items().each(function(e){n+=e.renderHtml()}),n},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),r(Me,[Le],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}})}),r(He,[ee,se],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e.state.get("text"))+"</div></div>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().lastChild.innerHTML=e.encode(t.value)}),e._super()},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Pe,[ee,He],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.classes.toggle("tooltip-n","bc-tc"==i),r.classes.toggle("tooltip-nw","bc-tl"==i),r.classes.toggle("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},postRender:function(){var e=this,t=e.settings;e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},bindStates:function(){function e(e){n.aria("disabled",e),n.classes.toggle("disabled",e)}function t(e){n.aria("pressed",e),n.classes.toggle("active",e)}var n=this;return n.state.on("change:disabled",function(t){e(t.value)}),n.state.on("change:active",function(e){t(e.value)}),n.state.get("disabled")&&e(!0),n.state.get("active")&&t(!0),n._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(Oe,[Pe],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t._super(e),e=t.settings,n=t.settings.size,t.on("click mousedown",function(e){e.preventDefault()}),t.on("touchstart",function(e){t.fire("click",e),e.preventDefault()}),e.subtype&&t.classes.add(e.subtype),n&&t.classes.add("btn-"+n),e.icon&&t.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e=this.getEl().firstChild.style;e.width=e.height="100%",this._super()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("icon"),i,o=e.state.get("text");return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",o&&e.classes.add("btn-has-text"),r=e.settings.icon?n+"ico "+n+"i-"+r:"",'<div id="'+t+'" class="'+e.classes+'" tabindex="-1" aria-labelledby="'+t+'"><button role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+(o?e.encode(o):"")+"</button></div>"},bindStates:function(){function e(e){for(var n=t.getEl().firstChild.firstChild;n;n=n.nextSibling)3==n.nodeType&&(n.data=t.translate(e));t.classes.toggle("btn-has-text",!!e)}var t=this;return t.state.on("change:text",function(t){e(t.value)}),t.state.on("change:icon",function(n){var r=n.value,i=t.classPrefix;t.settings.icon=r,r=r?i+"ico "+i+"i-"+t.settings.icon:"";var o=t.getEl().firstChild,a=o.getElementsByTagName("i")[0];r?(a&&a==o.firstChild||(a=document.createElement("i"),o.insertBefore(a,o.firstChild)),a.className=r):a&&o.removeChild(a),e(t.state.get("text"))}),t._super()}})}),r(Ie,[re],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.classes.add("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Fe,[Pe],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e.state.get("text"))+"</span></div>"},bindStates:function(){function e(e){t.classes.toggle("checked",e),t.aria("checked",e)}var t=this;return t.state.on("change:text",function(e){t.getEl("al").firstChild.data=t.translate(e.value)}),t.state.on("change:checked change:value",function(n){t.fire("change"),e(n.value)}),t.state.on("change:icon",function(e){var n=e.value,r=t.classPrefix;if("undefined"==typeof n)return t.settings.icon;t.settings.icon=n,n=n?r+"ico "+r+"i-"+t.settings.icon:"";var i=t.getEl().firstChild,o=i.getElementsByTagName("i")[0];n?(o&&o==i.firstChild||(o=document.createElement("i"),i.insertBefore(o,i.firstChild)),o.className=n):o&&i.removeChild(o)}),t.state.get("checked")&&e(!0),t._super()}})}),r(ze,[Pe,te,X,f],function(e,t,n,r){return e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.classes.add("combobox"),t.subinput=!0,t.ariaTarget="inp",e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){var i=n.target,o=t.getEl();if(r.contains(o,i)||i==o)for(;i&&i!=o;)i.id&&-1!=i.id.indexOf("-open")&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),i=i.parentNode}),t.on("keydown",function(e){"INPUT"==e.target.nodeName&&13==e.keyCode&&t.parents().reverse().each(function(n){var r=t.state.get("value"),i=t.getEl("inp").value;return e.preventDefault(),t.state.set("value",i),r!=i&&t.fire("change"),n.hasEventListeners("submit")&&n.toJSON?(n.fire("submit",{data:n.toJSON()}),!1):void 0})}),t.on("keyup",function(e){"INPUT"==e.target.nodeName&&t.state.set("value",e.target.value)})},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),i=e.getEl("open"),o=e.layoutRect(),a,s;a=i?o.w-n.getSize(i).width-10:o.w-10;var l=document;return l.all&&(!l.documentMode||l.documentMode<=8)&&(s=e.layoutRect().h-2+"px"),r(t.firstChild).css({width:a,lineHeight:s}),e._super(),e},postRender:function(){var e=this;return r(this.getEl("inp")).on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)}),e._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=e.state.get("value")||"",o,a,s="",l="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e.state.get("text"),(o||a)&&(s='<div id="'+t+'-open" class="'+r+"btn "+r+'open" tabIndex="-1" role="button"><button id="'+t+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=o?'<i class="'+o+'"></i>':'<i class="'+r+'caret"></i>')+(a?(o?" ":"")+a:"")+"</button></div>",e.classes.add("has-open")),'<div id="'+t+'" class="'+e.classes+'"><input id="'+t+'-inp" class="'+r+'textbox" value="'+e.encode(i,!1)+'" hidefocus="1"'+l+' placeholder="'+e.encode(n.placeholder)+'" />'+s+"</div>"},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl("inp").value!=t.value&&(e.getEl("inp").value=t.value)}),e.state.on("change:disabled",function(t){e.getEl("inp").disabled=t.value}),e._super()},remove:function(){r(this.getEl("inp")).off(),this._super()}})}),r(We,[ze],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.classes.add("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl().getElementsByTagName("i")[0];if(t)try{t.style.background=e}catch(n){}},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e._rendered&&e.repaintColor(t.value)}),e._super()}})}),r(Ve,[Oe,ce],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(Ue,[Ve,y],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.classes.add("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("text"),i=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",o=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"";return'<div id="'+t+'" class="'+e.classes+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(i?'<i class="'+i+'"'+o+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+(r?(i?" ":"")+r:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r($e,[],function(){function e(e){function i(e,i,o){var a,s,l,c,u,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,u=t(e,t(i,o)),d=n(e,n(i,o)),u==d?(l=u,{h:0,s:0,v:100*l}):(c=e==u?i-o:o==u?e-i:o-e,a=e==u?3:o==u?1:5,a=60*(a-c/(d-u)),s=(d-u)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,c;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=h=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),c=o-s,Math.floor(a)){case 0:d=s,f=l,h=0;break;case 1:d=l,f=s,h=0;break;case 2:d=0,f=s,h=l;break;case 3:d=0,f=l,h=s;break;case 4:d=l,f=0,h=s;break;case 5:d=s,f=0,h=l;break;default:d=f=h=0}d=r(255*(d+c)),f=r(255*(f+c)),h=r(255*(h+c))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(h)}function s(){return{r:d,g:f,b:h}}function l(){return i(d,f,h)}function c(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,h=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),h=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),h=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),h=parseInt(t[3]+t[3],16)),d=0>d?0:d>255?255:d,f=0>f?0:f>255?255:f,h=0>h?0:h>255?255:h,u}var u=this,d=0,f=0,h=0;e&&c(e),u.toRgb=s,u.toHsv=l,u.toHex=a,u.parse=c}var t=Math.min,n=Math.max,r=Math.round;return e}),r(qe,[Pe,ie,X,$e],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(h,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),c.s=100*n.x,c.v=100*(1-n.y),i(c),s.fire("change")}function a(t){var n;n=e(u,t),c=l.toHsv(),c.h=360*(1-n.y),i(c,!0),s.fire("change")}var s=this,l=s.color(),c,u,d,f,h;u=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),h=s.getEl("svp"),s._repaint=function(){c=l.toHsv(),i(c)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{
+start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;t>e;e++)n+='<div class="'+r+'colorpicker-h-chunk" style="height:'+100/t+"%;"+i+a[e]+",endColorstr="+a[e+1]+");-ms-"+i+a[e]+",endColorstr="+a[e+1]+')"></div>';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='<div id="'+n+'-h" class="'+r+'colorpicker-h" style="'+a+'">'+e()+'<div id="'+n+'-hp" class="'+r+'colorpicker-h-marker"></div></div>','<div id="'+n+'" class="'+t.classes+'"><div id="'+n+'-sv" class="'+r+'colorpicker-sv"><div class="'+r+'colorpicker-overlay1"><div class="'+r+'colorpicker-overlay2"><div id="'+n+'-svp" class="'+r+'colorpicker-selector1"><div class="'+r+'colorpicker-selector2"></div></div></div></div></div>'+i+"</div>"}})}),r(je,[Pe],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.classes.add("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.row()[n],index:n})}),t.row(t.settings.row)},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){var e=this;return'<div id="'+e._id+'" class="'+e.classes+'">'+e._getDataPathHtml(e.state.get("row"))+"</div>"},bindStates:function(){var e=this;return e.state.on("change:row",function(t){e.innerHtml(e._getDataPathHtml(t.value))}),e._super()},_getDataPathHtml:function(e){var t=this,n=e||[],r,i,o="",a=t.classPrefix;for(r=0,i=n.length;i>r;r++)o+=(r>0?'<div class="'+a+'divider" aria-hidden="true"> '+t.settings.delimiter+" </div>":"")+'<div role="button" class="'+a+"path-item"+(r==i-1?" "+a+"last":"")+'" data-index="'+r+'" tabindex="-1" id="'+t._id+"-"+r+'" aria-level="'+r+'">'+n[r].name+"</div>";return o||(o='<div class="'+a+'path-item">\xa0</div>'),o}})}),r(Ke,[je,Ne],function(e,t){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var n=this,r=t.activeEditor;return r.settings.elementpath!==!1&&(n.on("select",function(e){r.focus(),r.selection.select(this.row()[e.index].element),r.nodeChanged()}),r.on("nodeChange",function(t){for(var i=[],o=t.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=r.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}n.row(i)})),n._super()}})}),r(Ye,[re],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Ge,[re,Ye,d],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.fromJSON(e.settings.data)},bindStates:function(){function e(){var e=0,n=[],r,i,o;if(t.settings.labelGapCalc!==!1)for(o="children"==t.settings.labelGapCalc?t.find("formitem"):t.items(),o.filter("formitem").each(function(t){var r=t.items()[0],i=r.getEl().clientWidth;e=i>e?i:e,n.push(r)}),i=t.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=e+i}var t=this;t._super(),t.on("show",e),e()}})}),r(Xe,[Ge],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}})}),r(Je,[ze,d],function(e,t){return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),(!s||s[e.filetype])&&(a=i.file_picker_callback,!a||s&&!s[e.filetype]?(a=i.file_browser_callback,!a||s&&!s[e.filetype]||(o=function(){a(n.getEl("inp").id,n.value(),e.filetype,window)})):o=function(){var i=n.fire("beforecall").meta;i=t.extend({filetype:e.filetype},i),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),i)}),o&&(e.icon="browse",e.onaction=o),n._super(e)}})}),r(Qe,[Me],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Ze,[Me],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,h,p,m,g,v=[],y,b,x,C,w,_,E,N,S,k,T,R,A,B,D,L,M,H,P,O,I,F,z=Math.max,W=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e.paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,c=a.spacing||0,("row-reversed"==f||"column-reverse"==f)&&(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(S="y",E="h",N="minH",k="maxH",R="innerH",T="top",A="deltaH",B="contentH",P="left",M="w",D="x",L="innerW",H="minW",O="right",I="deltaW",F="contentW"):(S="x",E="w",N="minW",k="maxW",R="innerW",T="left",A="deltaW",B="contentW",P="top",M="h",D="y",L="innerH",H="minH",O="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],_=u=0,t=0,n=r.length;n>t;t++)h=r[t],p=h.layoutRect(),m=h.settings,g=m.flex,d-=n-1>t?c:0,g>0&&(u+=g,p[k]&&v.push(h),p.flex=g),d-=p[N],y=o[P]+p[H]+o[O],y>_&&(_=y);if(C={},0>d?C[N]=i[N]-d+i[A]:C[N]=i[R]-d+i[A],C[H]=_+i[I],C[B]=i[R]-d,C[F]=_,C.minW=W(C.minW,i.maxW),C.minH=W(C.minH,i.maxH),C.minW=z(C.minW,i.startMinWidth),C.minH=z(C.minH,i.startMinHeight),!i.autoResize||C.minW==i.minW&&C.minH==i.minH){for(x=d/u,t=0,n=v.length;n>t;t++)h=v[t],p=h.layoutRect(),b=p[k],y=p[N]+p.flex*x,y>b?(d-=p[k]-p[N],u-=p.flex,p.flex=0,p.maxFlexSize=b):p.maxFlexSize=0;for(x=d/u,w=o[T],C={},0===u&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],0>w&&(w=o[T])):"justify"==l&&(w=o[T],c=Math.floor(d/(r.length-1)))),C[D]=o[P],t=0,n=r.length;n>t;t++)h=r[t],p=h.layoutRect(),y=p.maxFlexSize||p[N],"center"===s?C[D]=Math.round(i[L]/2-p[M]/2):"stretch"===s?(C[M]=z(p[H]||0,i[L]-o[P]-o[O]),C[D]=o[P]):"end"===s&&(C[D]=i[L]-p[M]-o.top),p.flex>0&&(y+=p.flex*x),C[E]=y,C[S]=w,h.layoutRect(C),h.recalc&&h.recalc(),w+=y+c}else if(C.w=C.minW,C.h=C.minH,e.layoutRect(C),this.recalc(e),null===e._lastRect){var V=e.parent();V&&(V._lastRect=null,V.recalc())}}})}),r(et,[Le],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})},isNative:function(){return!0}})}),r(tt,[ee,Pe,ce,d,Ne,u],function(e,t,n,r,i,o){function a(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;s(i.parents,function(e){return s(t,function(t){return n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a?!1:void 0}),a?!1:void 0}),r.value(a)})}}function r(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function i(){function t(e){var n=[];if(e)return s(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){s(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){return this.settings.format?e.formatter.getCssText(this.settings.format):void 0},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&l(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function o(t){return function(){function n(){return e.undoManager?e.undoManager[t]():!1}var r=this;t="redo"==t?"hasRedo":"hasUndo",r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos",function(){r.disabled(!n())})}}function a(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function l(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var c;c=i(),s({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})},onclick:function(){l(n)}})}),s({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),s({blockquote:["Blockquote","mceBlockQuote"],numlist:["Numbered list","InsertOrderedList"],bullist:["Bullet list","InsertUnorderedList"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})}})}),e.addButton("undo",{tooltip:"Undo",onPostRender:o("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:o("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:a,cmd:"mceToggleVisualAid"}),e.addButton("remove",{tooltip:"Remove",icon:"remove",cmd:"Delete"}),s({cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"],bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{type:"menubutton",text:"Formats",menu:c}),e.addButton("formatselect",function(){var n=[],i=r(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");return s(i,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:i[0][0],values:n,fixedWidth:!0,onselect:l,onPostRender:t(n)}}),e.addButton("fontselect",function(){var n="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=r(e.settings.font_formats||n);return s(o,function(e){i.push({text:{raw:e[0]},value:e[1],textStyle:-1==e[1].indexOf("dings")?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:t(i,"fontname"),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var n=[],r="8pt 10pt 12pt 14pt 18pt 24pt 36pt",i=e.settings.fontsize_formats||r;return s(i.split(" "),function(e){var t=e,r=e,i=e.split("=");i.length>1&&(t=i[0],r=i[1]),n.push({text:t,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:n,fixedWidth:!0,onPostRender:t(n,"fontsize"),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:c})}var s=r.each;i.on("AddEditor",function(t){t.editor.rtl&&(e.rtl=!0),a(t.editor)}),e.translate=function(e){return i.translate(e)},t.tooltips=!o.iOS}),r(nt,[Me],function(e){return e.extend({recalc:function(e){var t=e.settings,n,r,i,o,a,s,l,c,u,d,f,h,p,m,g,v,y,b,x,C,w,_,E=[],N=[],S,k,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,x=t.alignH||t.align,C=t.alignV||t.align,g=e.paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),x&&"string"==typeof x&&(x=[x]),C&&"string"==typeof C&&(C=[C]);for(d=0;r>d;d++)E.push(0);for(f=0;n>f;f++)N.push(0);for(f=0;n>f;f++)for(d=0;r>d&&(u=i[f*r+d],u);d++)c=u.layoutRect(),S=c.minW,k=c.minH,E[d]=S>E[d]?S:E[d],N[f]=k>N[f]?k:N[f];for(T=o.innerW-g.left-g.right,w=0,d=0;r>d;d++)w+=E[d]+(d>0?y:0),T-=(d>0?y:0)+E[d];for(R=o.innerH-g.top-g.bottom,_=0,f=0;n>f;f++)_+=N[f]+(f>0?b:0),R-=(f>0?b:0)+N[f];if(w+=g.left+g.right,_+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=_+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,M=t.flexWidths;if(M)for(d=0;d<M.length;d++)L+=M[d];else L=r;var H=T/L;for(d=0;r>d;d++)E[d]+=M?M[d]*H:H;for(p=g.top,f=0;n>f;f++){for(h=g.left,s=N[f]+D,d=0;r>d&&(B=A?f*r+r-1-d:f*r+d,u=i[B],u);d++)m=u.settings,c=u.layoutRect(),a=Math.max(E[d],c.startMinWidth),c.x=h,c.y=p,v=m.alignH||(x?x[d]||x[0]:null),"center"==v?c.x=h+a/2-c.w/2:"right"==v?c.x=h+a-c.w:"stretch"==v&&(c.w=a),v=m.alignV||(C?C[d]||C[0]:null),"center"==v?c.y=p+s/2-c.h/2:"bottom"==v?c.y=p+s-c.h:"stretch"==v&&(c.h=s),u.layoutRect(c),h+=a+y,u.recalc&&u.recalc();p+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var P=e.parent();P&&(P._lastRect=null,P.recalc())}}})}),r(rt,[Pe],function(e){return e.extend({renderHtml:function(){var e=this;return e.classes.add("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,r=this.getEl().contentWindow.document.body;return r?(r.innerHTML=e,t&&t()):setTimeout(function(){n.html(e)},0),this}})}),r(it,[Pe,X],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("label"),t.canFocus=!1,e.multiline&&t.classes.add("autoscroll"),e.strong&&t.classes.add("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.classes.add("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},renderHtml:function(){var e=this,t=e.settings.forId;return'<label id="'+e._id+'" class="'+e.classes+'"'+(t?' for="'+t+'"':"")+">"+e.encode(e.state.get("text"))+"</label>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.innerHtml(e.encode(t.value))}),e._super()}})}),r(ot,[re],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.classes.add("toolbar")},postRender:function(){var e=this;return e.items().each(function(e){e.classes.add("toolbar-item")}),e._super()}})}),r(at,[ot],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(st,[Oe,te,at],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),e=t.settings,t.classes.add("menubtn"),e.fixedWidth&&t.classes.add("fixed-width"),t.aria("haspopup",!0),t.state.set("menu",e.menu||t.render())},showMenu:function(){var e=this,n;return e.menu&&e.menu.visible()?e.hideMenu():(e.menu||(n=e.state.get("menu")||[],n.length?n={type:"menu",items:n}:n.type=n.type||"menu",n.renderTo?e.menu=n.parent(e).show().renderTo():e.menu=t.create(n).parent(e).renderTo(),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control.parent()===e.menu&&(t.stopPropagation(),e.focus(),e.hideMenu())}),e.menu.on("select",function(){e.focus()}),e.menu.on("show hide",function(t){t.control==e.menu&&e.activeMenu("show"==t.type),e.aria("expanded","show"==t.type)}).fire("show")),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),void e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o,a=e.state.get("text");return o=e.settings.image,o?(i="none","string"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=" style=\"background-image: url('"+o+"')\""):o="",i=e.settings.icon?r+"ico "+r+"i-"+i:"",e.aria("role",e.parent()instanceof n?"menuitem":"button"),'<div id="'+t+'" class="'+e.classes+'" tabindex="-1" aria-labelledby="'+t+'"><button id="'+t+'-open" role="presentation" type="button" tabindex="-1">'+(i?'<i class="'+i+'"'+o+"></i>":"")+(a?(i?"\xa0":"")+e.encode(a):"")+' <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.showMenu(),t.aria&&e.menu.items()[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},bindStates:function(){var e=this;return e.state.on("change:menu",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(lt,[Pe,te,u],function(e,t,n){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this,n;t._super(e),e=t.settings,t.classes.add("menu-item"),e.menu&&t.classes.add("menu-item-expand"),e.preview&&t.classes.add("menu-item-preview"),n=t.state.get("text"),("-"===n||"|"===n)&&(t.classes.add("menu-item-sep"),t.aria("role","separator"),t.state.set("text","-")),e.selectable&&(t.aria("role","menuitemcheckbox"),t.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.classes.add("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.classes.remove("selected")}),r.submenu=!0),r._parentMenu=i,r.classes.add("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.classes.remove(r._lastRel).add(o),r._lastRel=o,e.classes.add("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){function e(e){var t,r,i={};for(i=n.mac?{alt:"&#x2325;",ctrl:"&#x2318;",shift:"&#x21E7;",meta:"&#x2318;"}:{meta:"Ctrl"},e=e.split("+"),t=0;t<e.length;t++)r=i[e[t].toLowerCase()],r&&(e[t]=r);return e.join("+")}var t=this,r=t._id,i=t.settings,o=t.classPrefix,a=t.encode(t.state.get("text")),s=t.settings.icon,l="",c=i.shortcut;return s&&t.parent().classes.add("menu-has-icons"),i.image&&(s="none",l=" style=\"background-image: url('"+i.image+"')\""),c&&(c=e(c)),s=o+"ico "+o+"i-"+(t.settings.icon||"none"),'<div id="'+r+'" class="'+t.classes+'" tabindex="-1">'+("-"!==a?'<i class="'+s+'"'+l+"></i>\xa0":"")+("-"!==a?'<span id="'+r+'-text" class="'+o+'text">'+a+"</span>":"")+(c?'<div id="'+r+'-shortcut" class="'+o+'menu-shortcut">'+c+"</div>":"")+(i.menu?'<div class="'+o+'caret"></div>':"")+"</div>"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var r=e.getEl("text");r&&r.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),e.parent().hideAll()))}),e._super(),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(ct,[ce,lt,d],function(e,t,n){var r=e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,e.itemDefaults)for(var r=e.items,i=r.length;i--;)r[i]=n.extend({},e.itemDefaults,r[i]);t._super(e),t.classes.add("menu")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;return n.icon||n.image||n.selectable?(e._hasIcons=!0,!1):void 0}),e._super()}});return r}),r(ut,[st,ct],function(e,t){return e.extend({init:function(e){function t(r){for(var a=0;a<r.length;a++){if(i=r[a].selected||e.value===r[a].value)return o=o||r[a].text,n.state.set("value",r[a].value),!0;if(r[a].menu&&t(r[a].menu))return!0}}var n=this,r,i,o,a;n._super(e),e=n.settings,n._values=r=e.values,r&&("undefined"!=typeof e.value&&t(r),!i&&r.length>0&&(o=r[0].text,n.state.set("value",r[0].value)),n.state.set("menu",r)),n.state.set("text",e.text||o||r[0].text),n.classes.add("listbox"),n.on("select",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.value()),a=r})},bindStates:function(){function e(e,n){e instanceof t&&e.items().each(function(e){e.hasMenus()||e.active(e.value()===n)})}function n(e,t){var r;if(e)for(var i=0;i<e.length;i++){if(e[i].value===t)return e[i];if(e[i].menu&&(r=n(e[i].menu,t)))return r}}var r=this;return r.on("show",function(t){e(t.control,r.value())}),r.state.on("change:value",function(e){var t=n(r.state.get("menu"),e.value);t?r.text(t.text):r.text(r.settings.text)}),r._super()}})}),r(dt,[Fe],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(ft,[],function(){function e(e,t,n){var r,i,o,a,l,c;return r=t.x,i=t.y,o=e.w,a=e.h,l=t.w,c=t.h,n=(n||"").split(""),"b"===n[0]&&(i+=c),"r"===n[1]&&(r+=l),"c"===n[0]&&(i+=s(c/2)),"c"===n[1]&&(r+=s(l/2)),"b"===n[3]&&(i-=a),"r"===n[4]&&(r-=o),"c"===n[3]&&(i-=s(a/2)),"c"===n[4]&&(r-=s(o/2)),{x:r,y:i,w:o,h:a}}function t(t,n,r,i){var o,a;for(a=0;a<i.length;a++)if(o=e(t,n,i[a]),o.x>=r.x&&o.x+o.w<=r.w+r.x&&o.y>=r.y&&o.y+o.h<=r.h+r.y)return i[a]}function n(e,t,n){return{x:e.x-t,y:e.y-n,w:e.w+2*t,h:e.h+2*n}}function r(e,t){var n,r,i,s;return n=a(e.x,t.x),r=a(e.y,t.y),i=o(e.x+e.w,t.x+t.w),s=o(e.y+e.h,t.y+t.h),0>i-n||0>s-r?null:{x:n,y:r,w:i-n,h:s-r}}function i(e,t,n){var r,i,o,s,l,c,u,d,f,h;return l=e.x,c=e.y,u=e.x+e.w,d=e.y+e.h,f=t.x+t.w,h=t.y+t.h,r=a(0,t.x-l),i=a(0,t.y-c),o=a(0,u-f),s=a(0,d-h),l+=r,c+=i,n&&(u+=r,d+=i,l-=o,c-=s),u-=o,d-=s,{x:l,y:c,w:u-l,h:d-c}}var o=Math.min,a=Math.max,s=Math.round;return{inflate:n,relativePosition:e,findBestRelativePosition:t,intersect:r,clamp:i}}),r(ht,[Pe,ie],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.classes.add("resizehandle"),"both"==e.settings.direction&&e.classes.add("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(pt,[Pe,ie,X],function(e,t,n){function r(e,t,n){return t>e&&(e=t),e>n&&(e=n),e}function i(e,t){var r,i,o,a,s;"v"==e.settings.orientation?(a="top",o="height",i="h"):(a="left",o="width",i="w"),r=(e.layoutRect()[i]||100)-n.getSize(e.getEl("handle"))[o],s=r*((t-e._minValue)/(e._maxValue-e._minValue))+"px",e.getEl("handle").style[a]=s,e.getEl("handle").style.height=e.layoutRect().h+"px"}return e.extend({init:function(e){var t=this;e.previewFilter||(e.previewFilter=function(e){return Math.round(100*e)/100}),t._super(e),t.classes.add("slider"),"v"==e.orientation&&t.classes.add("vertical"),t._minValue=e.minValue||0,t._maxValue=e.maxValue||100,t._initValue=t.state.get("value")},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes+'"><div id="'+t+'-handle" class="'+n+'slider-handle"></div></div>'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){var e=this,i,o,a=0,s,l,c,u,d,f,h,p;l=e._minValue,c=e._maxValue,s=e.value(),"v"==e.settings.orientation?(d="screenY",f="top",h="height",p="h"):(d="screenX",f="left",h="width",p="w"),e._super(),e._dragHelper=new t(e._id,{handle:e._id+"-handle",start:function(t){i=t[d],o=parseInt(e.getEl("handle").style[f],10),u=(e.layoutRect()[p]||100)-n.getSize(e.getEl("handle"))[h],e.fire("dragstart",{value:s})},drag:function(t){var n=t[d]-i,h=e.getEl("handle");a=r(o+n,0,u),h.style[f]=a+"px",s=l+a/u*(c-l),e.value(s),e.tooltip().text(""+e.settings.previewFilter(s)).show().moveRel(h,"bc tc"),e.fire("drag",{value:s})},stop:function(){e.tooltip().hide(),e.fire("dragend",{value:s})}})},repaint:function(){this._super(),i(this,this.value())},bindStates:function(){var e=this;return e.state.on("change:value",function(t){i(e,t.value)}),e._super()}})}),r(mt,[Pe],function(e){return e.extend({renderHtml:function(){var e=this;return e.classes.add("spacer"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes+'"></div>'}})}),r(gt,[st,X,f],function(e,t,n){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,r=e.getEl(),i=e.layoutRect(),o,a;return e._super(),o=r.firstChild,a=r.lastChild,n(o).css({width:i.w-t.getSize(a).width,height:i.h-2}),n(a).css({height:i.h-2}),e},activeMenu:function(e){var t=this;n(t.getEl().lastChild).toggleClass(t.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.state.get("icon"),o=e.state.get("text");return r=e.settings.image,r?(i="none","string"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=" style=\"background-image: url('"+r+"')\""):r="",i=e.settings.icon?n+"ico "+n+"i-"+i:"",'<div id="'+t+'" class="'+e.classes+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(i?'<i class="'+i+'"'+r+"></i>":"")+(o?(i?" ":"")+o:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(i?"\xa0":"")+e._menuBtnText:"")+' <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&-1==n.className.indexOf("open"))return e.stopImmediatePropagation(),void(t&&t.call(this,e));
+n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(vt,[et],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}})}),r(yt,[ae,f,X],function(e,t,n){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t(n).removeClass(this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t(n).addClass(this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+r+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+r+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(t.target.parentNode.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,t,r,i;r=n.getSize(e.getEl("head")).width,r=0>r?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=n.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,t=e._super(),t.deltaH+=o,t.innerH=t.h-t.deltaH,t}})}),r(bt,[Pe],function(e){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("textbox"),e.multiline?t.classes.add("multiline"):(t.on("keydown",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){return e.toJSON?(n=e,!1):void 0}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){t.state.set("value",e.target.value)}))},repaint:function(){var e=this,t,n,r,i=0,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e.borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.encode(e.state.get("value"),!1),i="";return"spellcheck"in n&&(i+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(i+=' maxlength="'+n.maxLength+'"'),n.size&&(i+=' size="'+n.size+'"'),n.subtype&&(i+=' type="'+n.subtype+'"'),e.disabled()&&(i+=' disabled="disabled"'),n.multiline?'<textarea id="'+t+'" class="'+e.classes+'" '+(n.rows?' rows="'+n.rows+'"':"")+' hidefocus="1"'+i+">"+r+"</textarea>":'<input id="'+t+'" class="'+e.classes+'" value="'+r+'" hidefocus="1"'+i+" />"},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var e=this;e._super(),e.$el.on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)})},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl().value!=t.value&&(e.getEl().value=t.value)}),e.state.on("change:disabled",function(t){e.getEl().disabled=t.value}),e._super()},remove:function(){this.$el.off(),this._super()}})}),r(xt,[f,ee],function(e,t){return function(n,r){var i=this,o,a=t.classPrefix;i.show=function(t,s){return i.hide(),o=!0,window.setTimeout(function(){o&&(e(n).append('<div class="'+a+"throbber"+(r?" "+a+"throbber-inline":"")+'"></div>'),s&&s())},t||0),i},i.hide=function(){var e=n.lastChild;return e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,i}}}),a([l,c,u,d,f,h,p,m,g,y,b,x,C,_,E,N,S,k,T,R,A,B,D,L,M,H,O,I,F,z,W,V,U,$,q,j,K,Y,G,X,J,Q,Z,ee,te,ne,re,ie,oe,ae,se,le,ce,ue,de,fe,he,pe,me,ge,ye,we,_e,Ee,Ne,Se,ke,Te,Re,Ae,Be,De,Le,Me,He,Pe,Oe,Ie,Fe,ze,We,Ve,Ue,$e,qe,je,Ke,Ye,Ge,Xe,Je,Qe,Ze,et,tt,nt,rt,it,ot,at,st,lt,ct,ut,dt,ft,ht,pt,mt,gt,vt,yt,bt,xt])}(this);
\ No newline at end of file
index 8d30787d5d51532c01f2819064e909ffeb25cd65..de9843932df34f898c3e31b5271ff469dd6d2a00 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * editable_selects.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 5c7134fcae21db68b262091cb9f9378797412aae..45667a7b9b364edb5a4432a78fa33edf6d16c5a1 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * form_utils.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
index 2391c782f8091b18a5df40ee9522fc5af50853f6..e5ca889064a5d844431d0cd8e5f1e41723a460d5 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * mctabs.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -48,14 +48,14 @@ MCTabs.prototype.hideTab =function(tab){
 };
 
 MCTabs.prototype.showPanel = function(panel) {
-       panel.className = 'current'; 
+       panel.className = 'current';
        panel.setAttribute("aria-hidden", false);
 };
 
 MCTabs.prototype.hidePanel = function(panel) {
        panel.className = 'panel';
        panel.setAttribute("aria-hidden", true);
-}; 
+};
 
 MCTabs.prototype.getPanelForTab = function(tabElm) {
        return tinyMCEPopup.dom.getAttrib(tabElm, "aria-controls");
@@ -98,7 +98,7 @@ MCTabs.prototype.displayTab = function(tab_id, panel_id, avoid_focus) {
                                t.hidePanel(nodes[i]);
                }
 
-               if (!avoid_focus) { 
+               if (!avoid_focus) {
                        tabElm.focus();
                }
 
index d13aaa1baa9741fdce6e6a7d689729ce8f55eab0..bfdbc787a5ecffb1f5aab0cfada4401e9bd7d12f 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * validate.js
  *
- * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
+ * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
  *
  * License: http://www.tinymce.com/license
  * Contributing: http://www.tinymce.com/contributing
@@ -111,7 +111,7 @@ var AutoValidator = {
        invalidate : function(n) {
                this.mark(n.form, n);
        },
-       
+
        getErrorMessages : function(f) {
                var nl, i, s = this.settings, field, msg, values, messages = [], ed = tinyMCEPopup.editor;
                nl = this.tags(f, "label");
@@ -129,7 +129,7 @@ var AutoValidator = {
                                } else {
                                        message = ed.getLang('invalid_data');
                                }
-                               
+
                                message = message.replace(/{\#([^}]+)\}/g, function(a, b) {
                                        return values[b] || '{#' + b + '}';
                                });
diff --git a/wp-includes/js/tinymce/wp-mce-help.php b/wp-includes/js/tinymce/wp-mce-help.php
deleted file mode 100644 (file)
index 53d649e..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-/**
- * @package TinyMCE
- * @author Moxiecode
- * @copyright Copyright © 2005-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-/** @ignore */
-require_once( dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/wp-load.php' );
-header('Content-Type: text/html; charset=' . get_bloginfo('charset'));
-?>
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
-<head>
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
-<title><?php _e('Keyboard Shortcuts'); ?></title>
-
-<?php wp_admin_css( 'wp-admin', true ); ?>
-<style type="text/css">
-
-       html {
-               background: #fcfcfc;
-               overflow: hidden;
-       }
-
-       body {
-               min-width: 0;
-       }
-
-       .wrap {
-               background-color: #fff;
-               border-top: 1px solid #ddd;
-               height: 390px;
-               margin: 0;
-               overflow: auto;
-               padding: 10px 16px;
-       }
-
-       th {
-               text-align: center;
-       }
-
-       .top th {
-               text-decoration: underline;
-       }
-
-       .top .key {
-               text-align: center;
-               width: 5em;
-       }
-
-       .keys {
-               border: 0 none;
-               margin-bottom: 15px;
-               width: 100%;
-       }
-
-       .keys p {
-               display: inline-block;
-               margin: 0px;
-               padding: 0px;
-       }
-
-       .keys .left {
-               text-align: left;
-       }
-
-       .keys .center {
-               text-align: center;
-       }
-
-       .keys .right {
-               text-align: right;
-       }
-</style>
-<?php if ( is_rtl() ) : ?>
-<style type="text/css">
-
-       .keys .left {
-               text-align: right;
-       }
-
-       .keys .right {
-               text-align: left;
-       }
-
-</style>
-<?php endif; ?>
-</head>
-<body class="windows wp-core-ui">
-
-<div class="wrap">
-
-<div>
-       <p><?php _e('Rather than reaching for your mouse to click on the toolbar, use these access keys. Windows and Linux use Ctrl + letter. Macintosh uses Command + letter.'); ?></p>
-
-       <table class="keys">
-               <tr class="top"><th class="key center"><?php _e('Letter'); ?></th><th class="left"><?php _e('Action'); ?></th><th class="key center"><?php _e('Letter'); ?></th><th class="left"><?php _e('Action'); ?></th></tr>
-               <tr><th>c</th><td><?php _e('Copy'); ?></td><th>v</th><td><?php _e('Paste'); ?></td></tr>
-               <tr><th>a</th><td><?php _e('Select all'); ?></td><th>x</th><td><?php _e('Cut'); ?></td></tr>
-               <tr><th>z</th><td><?php _e('Undo'); ?></td><th>y</th><td><?php _e('Redo'); ?></td></tr>
-               <tr><th>b</th><td><?php _e('Bold'); ?></td><th>i</th><td><?php _e('Italic'); ?></td></tr>
-               <tr><th>u</th><td><?php _e('Underline'); ?></td><th>k</th><td><?php _e('Insert/edit link'); ?></td></tr>
-       </table>
-
-       <p>
-               <?php _e('The following shortcuts use different access keys: Alt + Shift + letter.'); ?>
-               <?php _e('Macintosh uses Ctrl + Alt + letter.'); ?>
-       </p>
-       <table class="keys">
-               <tr class="top"><th class="key center"><?php _e('Letter'); ?></th><th class="left"><?php _e('Action'); ?></th><th class="key center"><?php _e('Letter'); ?></th><th class="left"><?php _e('Action'); ?></th></tr>
-
-               <tr><th>1</th><td><?php _e('Heading 1'); ?></td><th>2</th><td><?php _e('Heading 2'); ?></td></tr>
-               <tr><th>3</th><td><?php _e('Heading 3'); ?></td><th>4</th><td><?php _e('Heading 4'); ?></td></tr>
-               <tr><th>5</th><td><?php _e('Heading 5'); ?></td><th>6</th><td><?php _e('Heading 6'); ?></td></tr>
-
-               <tr><th>n</th><td><?php _e('Check Spelling'); ?></td><th>l</th><td><?php _e('Align Left'); ?></td></tr>
-               <tr><th>j</th><td><?php _e('Justify Text'); ?></td><th>c</th><td><?php _e('Align Center'); ?></td></tr>
-               <tr><th>d</th><td><span style="text-decoration: line-through;"><?php _e('Strikethrough'); ?></span></td><th>r</th><td><?php _e('Align Right'); ?></td></tr>
-               <tr><th>u</th><td><strong>&bull;</strong> <?php _e('List'); ?></td><th>a</th><td><?php _e('Insert/edit link'); ?></td></tr>
-               <tr><th>o</th><td>1. <?php _e('List'); ?></td><th>s</th><td><?php _e('Remove link'); ?></td></tr>
-               <tr><th>q</th><td><?php _e('Quote'); ?></td><th>m</th><td><?php _e('Insert Image'); ?></td></tr>
-               <tr><th>w</th><td><?php _e('Distraction-free writing mode'); ?></td><th>t</th><td><?php _e('Insert More Tag'); ?></td></tr>
-               <tr><th>p</th><td><?php _e('Insert Page Break tag'); ?></td><th>h</th><td><?php _e('Help'); ?></td></tr>
-               <tr><th>x</th><td><?php _e('Add/remove code tag'); ?></td><th> </th><td>&nbsp;</td></tr>
-       </table>
-
-       <p><?php _e('Focus shortcuts:'); ?></p>
-
-       <table class="keys focus">
-               <tr><th class="left">Alt + F8</th><td><?php _e('Image toolbar (when an image is selected)'); ?></td></tr>
-               <tr><th class="left">Alt + F9</th><td><?php _e('Editor menu (when enabled)'); ?></td></tr>
-               <tr><th class="left">Alt + F10</th><td><?php _e('Editor toolbar'); ?></td></tr>
-               <tr><th class="left">Alt + F11</th><td><?php _e('Elements path'); ?></td></tr>
-       </table>
-
-       <p><?php _e('To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.'); ?></p>
-</div>
-
-</div>
-</body>
-</html>
index 020648bba5e1f2a6a911f62836ff86bcf05082e5..1bb6ed9643ff109c0ec963a394728e03061dc0df 100644 (file)
Binary files a/wp-includes/js/tinymce/wp-tinymce.js.gz and b/wp-includes/js/tinymce/wp-tinymce.js.gz differ
index 075e91838d93c8d2a8cf20ecded96873d9353899..6f7812bbda8a405368a67247cc1e9e0de0d112a7 100644 (file)
@@ -1 +1 @@
-function sack(file){this.xmlhttp=null,this.resetData=function(){this.method="POST",this.queryStringSeparator="?",this.argumentSeparator="&",this.URLString="",this.encodeURIString=!0,this.execute=!1,this.element=null,this.elementObj=null,this.requestFile=file,this.vars=new Object,this.responseStatus=new Array(2)},this.resetFunctions=function(){this.onLoading=function(){},this.onLoaded=function(){},this.onInteractive=function(){},this.onCompletion=function(){},this.onError=function(){},this.onFail=function(){}},this.reset=function(){this.resetFunctions(),this.resetData()},this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(a){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){this.xmlhttp=null}}this.xmlhttp||("undefined"!=typeof XMLHttpRequest?this.xmlhttp=new XMLHttpRequest:this.failed=!0)},this.setVar=function(a,b){this.vars[a]=Array(b,!1)},this.encVar=function(a,b,c){return 1==c?Array(encodeURIComponent(a),encodeURIComponent(b)):void(this.vars[encodeURIComponent(a)]=Array(encodeURIComponent(b),!0))},this.processURLString=function(a,b){for(encoded=encodeURIComponent(this.argumentSeparator),regexp=new RegExp(this.argumentSeparator+"|"+encoded),varArray=a.split(regexp),i=0;i<varArray.length;i++)urlVars=varArray[i].split("="),1==b?this.encVar(urlVars[0],urlVars[1]):this.setVar(urlVars[0],urlVars[1])},this.createURLString=function(a){this.encodeURIString&&this.URLString.length&&this.processURLString(this.URLString,!0),a&&(this.URLString.length?this.URLString+=this.argumentSeparator+a:this.URLString=a),this.setVar("rndval",(new Date).getTime()),urlstringtemp=new Array;for(key in this.vars)0==this.vars[key][1]&&1==this.encodeURIString&&(encoded=this.encVar(key,this.vars[key][0],!0),delete this.vars[key],this.vars[encoded[0]]=Array(encoded[1],!0),key=encoded[0]),urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];this.URLString+=a?this.argumentSeparator+urlstringtemp.join(this.argumentSeparator):urlstringtemp.join(this.argumentSeparator)},this.runResponse=function(){eval(this.response)},this.runAJAX=function(a){if(this.failed)this.onFail();else if(this.createURLString(a),this.element&&(this.elementObj=document.getElementById(this.element)),this.xmlhttp){var b=this;if("GET"==this.method)totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString,this.xmlhttp.open(this.method,totalurlstring,!0);else{this.xmlhttp.open(this.method,this.requestFile,!0);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(c){}}this.xmlhttp.onreadystatechange=function(){switch(b.xmlhttp.readyState){case 1:b.onLoading();break;case 2:b.onLoaded();break;case 3:b.onInteractive();break;case 4:b.response=b.xmlhttp.responseText,b.responseXML=b.xmlhttp.responseXML,b.responseStatus[0]=b.xmlhttp.status,b.responseStatus[1]=b.xmlhttp.statusText,b.execute&&b.runResponse(),b.elementObj&&(elemNodeName=b.elementObj.nodeName,elemNodeName.toLowerCase(),"input"==elemNodeName||"select"==elemNodeName||"option"==elemNodeName||"textarea"==elemNodeName?b.elementObj.value=b.response:b.elementObj.innerHTML=b.response),"200"==b.responseStatus[0]?b.onCompletion():b.onError(),b.URLString=""}},this.xmlhttp.send(this.URLString)}},this.reset(),this.createAJAX()}
\ No newline at end of file
+function sack(file){this.xmlhttp=null,this.resetData=function(){this.method="POST",this.queryStringSeparator="?",this.argumentSeparator="&",this.URLString="",this.encodeURIString=!0,this.execute=!1,this.element=null,this.elementObj=null,this.requestFile=file,this.vars=new Object,this.responseStatus=new Array(2)},this.resetFunctions=function(){this.onLoading=function(){},this.onLoaded=function(){},this.onInteractive=function(){},this.onCompletion=function(){},this.onError=function(){},this.onFail=function(){}},this.reset=function(){this.resetFunctions(),this.resetData()},this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(a){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){this.xmlhttp=null}}this.xmlhttp||("undefined"!=typeof XMLHttpRequest?this.xmlhttp=new XMLHttpRequest:this.failed=!0)},this.setVar=function(a,b){this.vars[a]=Array(b,!1)},this.encVar=function(a,b,c){return 1==c?Array(encodeURIComponent(a),encodeURIComponent(b)):void(this.vars[encodeURIComponent(a)]=Array(encodeURIComponent(b),!0))},this.processURLString=function(a,b){for(encoded=encodeURIComponent(this.argumentSeparator),regexp=new RegExp(this.argumentSeparator+"|"+encoded),varArray=a.split(regexp),i=0;i<varArray.length;i++)urlVars=varArray[i].split("="),1==b?this.encVar(urlVars[0],urlVars[1]):this.setVar(urlVars[0],urlVars[1])},this.createURLString=function(a){this.encodeURIString&&this.URLString.length&&this.processURLString(this.URLString,!0),a&&(this.URLString.length?this.URLString+=this.argumentSeparator+a:this.URLString=a),this.setVar("rndval",(new Date).getTime()),urlstringtemp=new Array;for(key in this.vars)0==this.vars[key][1]&&1==this.encodeURIString&&(encoded=this.encVar(key,this.vars[key][0],!0),delete this.vars[key],this.vars[encoded[0]]=Array(encoded[1],!0),key=encoded[0]),urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];a?this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator):this.URLString+=urlstringtemp.join(this.argumentSeparator)},this.runResponse=function(){eval(this.response)},this.runAJAX=function(a){if(this.failed)this.onFail();else if(this.createURLString(a),this.element&&(this.elementObj=document.getElementById(this.element)),this.xmlhttp){var b=this;if("GET"==this.method)totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString,this.xmlhttp.open(this.method,totalurlstring,!0);else{this.xmlhttp.open(this.method,this.requestFile,!0);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(c){}}this.xmlhttp.onreadystatechange=function(){switch(b.xmlhttp.readyState){case 1:b.onLoading();break;case 2:b.onLoaded();break;case 3:b.onInteractive();break;case 4:b.response=b.xmlhttp.responseText,b.responseXML=b.xmlhttp.responseXML,b.responseStatus[0]=b.xmlhttp.status,b.responseStatus[1]=b.xmlhttp.statusText,b.execute&&b.runResponse(),b.elementObj&&(elemNodeName=b.elementObj.nodeName,elemNodeName.toLowerCase(),"input"==elemNodeName||"select"==elemNodeName||"option"==elemNodeName||"textarea"==elemNodeName?b.elementObj.value=b.response:b.elementObj.innerHTML=b.response),"200"==b.responseStatus[0]?b.onCompletion():b.onError(),b.URLString=""}},this.xmlhttp.send(this.URLString)}},this.reset(),this.createAJAX()}
\ No newline at end of file
index 3ff788b39ecd99bd600eacd79d452b5da5a8c09a..8922e1308c696f1ab73432bd5d6356eb63c71aaf 100644 (file)
@@ -222,12 +222,24 @@ var twemoji = (function (
       test: test
     },
 
+    // used to escape HTML special chars in attributes
+    escaper = {
+      '&': '&amp;',
+      '<': '&lt;',
+      '>': '&gt;',
+      "'": '&#39;',
+      '"': '&quot;'
+    },
+
     // RegExp based on emoji's official Unicode standards
     // http://www.unicode.org/Public/UNIDATA/EmojiSources.txt
     re = /((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,
 
-    // nodes with type 1 which should **not** be parsed
-    shouldntBeParsed = /IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA/,
+    // used to find HTML special chars in attributes
+    rescaper = /[&<>'"]/g,
+
+    // nodes with type 1 which should **not** be parsed (including lower case svg)
+    shouldntBeParsed = /IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA|[a-z]/,
 
     // just a private shortcut
     fromCharCode = String.fromCharCode;
@@ -249,6 +261,15 @@ var twemoji = (function (
     return document.createTextNode(text);
   }
 
+  /**
+   * Utility function to escape html attribute text
+   * @param   string  text use in HTML attribute
+   * @return  string  text encoded to use in HTML attribute
+   */
+  function escapeHTML(s) {
+    return s.replace(rescaper, replacer);
+  }
+
   /**
    * Default callback used to generate emoji src
    *  based on Twitter CDN
@@ -326,6 +347,8 @@ var twemoji = (function (
     var
       allText = grabAllTextNodes(node, []),
       length = allText.length,
+      attrib,
+      attrname,
       modified,
       fragment,
       subnode,
@@ -337,8 +360,7 @@ var twemoji = (function (
       alt,
       icon,
       variant,
-      src,
-      attr;
+      src;
     while (length--) {
       modified = false;
       fragment = document.createDocumentFragment();
@@ -364,17 +386,20 @@ var twemoji = (function (
           );
           if (src) {
             img = new Image();
-
-                       // Set additional image attributes.
-            if ( options.imgAttr ) {
-              for ( attr in options.imgAttr ) {
-                img.setAttribute( attr, options.imgAttr[attr] );
+            img.onerror = twemoji.onerror;
+            img.setAttribute('draggable', 'false');
+            attrib = options.attributes(icon, variant);
+            for (attrname in attrib) {
+              if (
+                attrib.hasOwnProperty(attrname) &&
+                // don't allow any handlers to be set + don't allow overrides
+                attrname.indexOf('on') !== 0 &&
+                !img.hasAttribute(attrname)
+              ) {
+                img.setAttribute(attrname, attrib[attrname]);
               }
             }
-
-            img.onerror = twemoji.onerror;
             img.className = options.className;
-            img.setAttribute('draggable', 'false');
             img.alt = alt;
             img.src = src;
             modified = true;
@@ -415,7 +440,11 @@ var twemoji = (function (
    */
   function parseString(str, options) {
     return replace(str, function (match, icon, variant) {
-      var src, attr, attributes = '';
+      var
+        ret = match,
+        attrib,
+        attrname,
+        src;
       // verify the variant is not the FE0E one
       // this variant means "emoji as text" and should not
       // require any action/replacement
@@ -427,37 +456,55 @@ var twemoji = (function (
           variant
         );
         if (src) {
-          // Set additional image attributes.
-          if ( options.imgAttr ) {
-            for ( attr in options.imgAttr ) {
-              if ( ! /draggable|class|alt|src/i.test( attr ) ) {
-                attributes += ' '.concat( attr, '="', options.imgAttr[attr], '"' );
-              }
-            }
-          }
-
           // recycle the match string replacing the emoji
           // with its image counter part
-          match = '<img '.concat(
+          ret = '<img '.concat(
             'class="', options.className, '" ',
             'draggable="false" ',
             // needs to preserve user original intent
             // when variants should be copied and pasted too
             'alt="',
             match,
-            '" ',
-            'src="',
-            src,
             '"',
-            attributes,
-            '>'
+            ' src="',
+            src,
+            '"'
           );
+          attrib = options.attributes(icon, variant);
+          for (attrname in attrib) { 
+            if (
+              attrib.hasOwnProperty(attrname) &&
+              // don't allow any handlers to be set + don't allow overrides
+              attrname.indexOf('on') !== 0 &&
+              ret.indexOf(' ' + attrname + '=') === -1
+            ) {
+              ret = ret.concat(' ', attrname, '="', escapeHTML(attrib[attrname]), '"');
+            }
+          }
+          ret = ret.concat('>');
         }
       }
-      return match;
+      return ret;
     });
   }
 
+  /**
+   * Function used to actually replace HTML special chars
+   * @param   string  HTML special char
+   * @return  string  encoded HTML special char
+   */
+  function replacer(m) {
+    return escaper[m];
+  }
+
+  /**
+   * Default options.attribute callback
+   * @return  null
+   */
+  function returnNull() {
+    return null;
+  }
+
   /**
    * Given a generic value, creates its squared counterpart if it's a number.
    *  As example, number 36 will return '36x36'.
@@ -498,12 +545,12 @@ var twemoji = (function (
     // if first argument is string, inject html <img> tags
     // otherwise use the DOM tree and parse text nodes only
     return (typeof what === 'string' ? parseString : parseNode)(what, {
-      callback: how.callback || defaultImageSrcGenerator,
-      base:     typeof how.base === 'string' ? how.base : twemoji.base,
-      ext:      how.ext || twemoji.ext,
-      size:     how.folder || toSizeSquaredAsset(how.size || twemoji.size),
-      className:how.className || twemoji.className,
-      imgAttr:  how.imgAttr
+      callback:   how.callback || defaultImageSrcGenerator,
+      attributes: typeof how.attributes === 'function' ? how.attributes : returnNull,
+      base:       typeof how.base === 'string' ? how.base : twemoji.base,
+      ext:        how.ext || twemoji.ext,
+      size:       how.folder || toSizeSquaredAsset(how.size || twemoji.size),
+      className:  how.className || twemoji.className
     });
   }
 
index fec7ec6d17ecf5900e36b2e0711ab0096a6db3de..b5d45c5cf8335da63d302d4d5f0a2cd7ac407c10 100644 (file)
@@ -1 +1 @@
-var twemoji=function(){"use strict";function a(a){return document.createTextNode(a)}function b(a,b){return"".concat(b.base,b.size,"/",a,b.ext)}function c(a,b){for(var d,e,f=a.childNodes,g=f.length;g--;)d=f[g],e=d.nodeType,3===e?b.push(d):1!==e||o.test(d.nodeName)||c(d,b);return b}function d(a,b){return l("️"===b?a.slice(0,-1):3===a.length&&"️"===a.charAt(1)?a.charAt(0)+a.charAt(2):a)}function e(b,e){for(var f,g,h,i,j,k,l,o,p,q,r,s,t,u=c(b,[]),v=u.length;v--;){for(f=!1,g=document.createDocumentFragment(),h=u[v],i=h.nodeValue,k=0;j=n.exec(i);){if(l=j.index,l!==k&&g.appendChild(a(i.slice(k,l))),p=j[0],q=j[1],r=j[2],k=l+p.length,"︎"!==r&&(s=e.callback(d(q,r),e,r))){if(o=new Image,e.imgAttr)for(t in e.imgAttr)o.setAttribute(t,e.imgAttr[t]);o.onerror=m.onerror,o.className=e.className,o.setAttribute("draggable","false"),o.alt=p,o.src=s,f=!0,g.appendChild(o)}o||g.appendChild(a(p)),o=null}f&&(k<i.length&&g.appendChild(a(i.slice(k))),h.parentNode.replaceChild(g,h))}return b}function f(a,b){return j(a,function(a,c,e){var f,g,h="";if("︎"!==e&&(f=b.callback(d(c,e),b,e))){if(b.imgAttr)for(g in b.imgAttr)/draggable|class|alt|src/i.test(g)||(h+=" ".concat(g,'="',b.imgAttr[g],'"'));a="<img ".concat('class="',b.className,'" ','draggable="false" ','alt="',a,'" ','src="',f,'"',h,">")}return a})}function g(a){return"number"==typeof a?a+"x"+a:a}function h(a){var b="string"==typeof a?parseInt(a,16):a;return 65536>b?p(b):(b-=65536,p(55296+(b>>10),56320+(1023&b)))}function i(a,c){return c&&"function"!=typeof c||(c={callback:c}),("string"==typeof a?f:e)(a,{callback:c.callback||b,base:"string"==typeof c.base?c.base:m.base,ext:c.ext||m.ext,size:c.folder||g(c.size||m.size),className:c.className||m.className,imgAttr:c.imgAttr})}function j(a,b){return String(a).replace(n,b)}function k(a){n.lastIndex=0;var b=n.test(a);return n.lastIndex=0,b}function l(a,b){for(var c=[],d=0,e=0,f=0;f<a.length;)d=a.charCodeAt(f++),e?(c.push((65536+(e-55296<<10)+(d-56320)).toString(16)),e=0):d>=55296&&56319>=d?e=d:c.push(d.toString(16));return c.join(b||"-")}var m={base:("https:"===location.protocol?"https:":"http:")+"//twemoji.maxcdn.com/",ext:".png",size:"36x36",className:"emoji",convert:{fromCodePoint:h,toCodePoint:l},onerror:function(){this.parentNode&&this.parentNode.replaceChild(a(this.alt),this)},parse:i,replace:j,test:k},n=/((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,o=/IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA/,p=String.fromCharCode;return m}();
\ No newline at end of file
+var twemoji=function(){"use strict";function a(a){return document.createTextNode(a)}function b(a){return a.replace(s,h)}function c(a,b){return"".concat(b.base,b.size,"/",a,b.ext)}function d(a,b){for(var c,e,f=a.childNodes,g=f.length;g--;)c=f[g],e=c.nodeType,3===e?b.push(c):1!==e||t.test(c.nodeName)||d(c,b);return b}function e(a,b){return o("\ufe0f"===b?a.slice(0,-1):3===a.length&&"\ufe0f"===a.charAt(1)?a.charAt(0)+a.charAt(2):a)}function f(b,c){for(var f,g,h,i,j,k,l,m,n,o,q,s,t,u,v=d(b,[]),w=v.length;w--;){for(h=!1,i=document.createDocumentFragment(),j=v[w],k=j.nodeValue,m=0;l=r.exec(k);){if(n=l.index,n!==m&&i.appendChild(a(k.slice(m,n))),q=l[0],s=l[1],t=l[2],m=n+q.length,"\ufe0e"!==t&&(u=c.callback(e(s,t),c,t))){o=new Image,o.onerror=p.onerror,o.setAttribute("draggable","false"),f=c.attributes(s,t);for(g in f)f.hasOwnProperty(g)&&0!==g.indexOf("on")&&!o.hasAttribute(g)&&o.setAttribute(g,f[g]);o.className=c.className,o.alt=q,o.src=u,h=!0,i.appendChild(o)}o||i.appendChild(a(q)),o=null}h&&(m<k.length&&i.appendChild(a(k.slice(m))),j.parentNode.replaceChild(i,j))}return b}function g(a,c){return m(a,function(a,d,f){var g,h,i,j=a;if("\ufe0e"!==f&&(i=c.callback(e(d,f),c,f))){j="<img ".concat('class="',c.className,'" ','draggable="false" ','alt="',a,'"',' src="',i,'"'),g=c.attributes(d,f);for(h in g)g.hasOwnProperty(h)&&0!==h.indexOf("on")&&-1===j.indexOf(" "+h+"=")&&(j=j.concat(" ",h,'="',b(g[h]),'"'));j=j.concat(">")}return j})}function h(a){return q[a]}function i(){return null}function j(a){return"number"==typeof a?a+"x"+a:a}function k(a){var b="string"==typeof a?parseInt(a,16):a;return 65536>b?u(b):(b-=65536,u(55296+(b>>10),56320+(1023&b)))}function l(a,b){return b&&"function"!=typeof b||(b={callback:b}),("string"==typeof a?g:f)(a,{callback:b.callback||c,attributes:"function"==typeof b.attributes?b.attributes:i,base:"string"==typeof b.base?b.base:p.base,ext:b.ext||p.ext,size:b.folder||j(b.size||p.size),className:b.className||p.className})}function m(a,b){return String(a).replace(r,b)}function n(a){r.lastIndex=0;var b=r.test(a);return r.lastIndex=0,b}function o(a,b){for(var c=[],d=0,e=0,f=0;f<a.length;)d=a.charCodeAt(f++),e?(c.push((65536+(e-55296<<10)+(d-56320)).toString(16)),e=0):d>=55296&&56319>=d?e=d:c.push(d.toString(16));return c.join(b||"-")}var p={base:("https:"===location.protocol?"https:":"http:")+"//twemoji.maxcdn.com/",ext:".png",size:"36x36",className:"emoji",convert:{fromCodePoint:k,toCodePoint:o},onerror:function(){this.parentNode&&this.parentNode.replaceChild(a(this.alt),this)},parse:l,replace:m,test:n},q={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},r=/((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,s=/[&<>'"]/g,t=/IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA|[a-z]/,u=String.fromCharCode;return p}();
\ No newline at end of file
index ffb45b82ce4abb1e3445d8954ce84bfafefa29e9..14f419a06bc2b2ceee0c17a96b6701b1b98fb5c5 100644 (file)
@@ -3,44 +3,86 @@ window.wp = window.wp || {};
 ( function ( wp, $ ) {
        'use strict';
 
-       var $container;
+       var $containerPolite,
+               $containerAssertive,
+               role;
 
        /**
         * Update the ARIA live notification area text node.
         *
         * @since 4.2.0
+        * @since 4.3.0 Introduced the 'ariaLive' argument.
         *
-        * @param {String} message
+        * @param {String} message  The message to be announced by Assistive Technologies.
+        * @param {String} ariaLive Optional. The politeness level for aria-live. Possible values:
+        *                          polite or assertive. Default polite.
         */
-       function speak( message ) {
-               if ( $container ) {
-                       $container.text( message );
+       function speak( message, ariaLive ) {
+               // Clear previous messages to allow repeated strings being read out.
+               clear();
+
+               if ( $containerAssertive && 'assertive' === ariaLive ) {
+                       $containerAssertive.text( message );
+               } else if ( $containerPolite ) {
+                       $containerPolite.text( message );
                }
        }
 
+       /**
+        * Build the live regions markup.
+        *
+        * @since 4.3.0
+        *
+        * @param {String} ariaLive Optional. Value for the 'aria-live' attribute, default 'polite'.
+        *
+        * @return {Object} $container The ARIA live region jQuery object.
+        */
+       function addContainer( ariaLive ) {
+               ariaLive = ariaLive || 'polite';
+               role = 'assertive' === ariaLive ? 'alert' : 'status';
+
+               var $container = $( '<div>', {
+                       'id': 'wp-a11y-speak-' + ariaLive,
+                       'role': role,
+                       'aria-live': ariaLive,
+                       'aria-relevant': 'additions text',
+                       'aria-atomic': 'true',
+                       'class': 'screen-reader-text wp-a11y-speak-region'
+               });
+
+               $( document.body ).append( $container );
+               return $container;
+       }
+
+       /**
+        * Clear the live regions.
+        *
+        * @since 4.3.0
+        */
+       function clear() {
+               $( '.wp-a11y-speak-region' ).text( '' );
+       }
+
        /**
         * Initialize wp.a11y and define ARIA live notification area.
         *
         * @since 4.2.0
+        * @since 4.3.0 Added the assertive live region.
         */
        $( document ).ready( function() {
-               $container = $( '#wp-a11y-speak' );
-
-               if ( ! $container.length ) {
-                       $container = $( '<div>', {
-                               id: 'wp-a11y-speak',
-                               role: 'status',
-                               'aria-live': 'polite',
-                               'aria-relevant': 'all',
-                               'aria-atomic': 'true',
-                               'class': 'screen-reader-text'
-                       } );
-
-                       $( document.body ).append( $container );
+               $containerPolite = $( '#wp-a11y-speak-polite' );
+               $containerAssertive = $( '#wp-a11y-speak-assertive' );
+
+               if ( ! $containerPolite.length ) {
+                       $containerPolite = addContainer( 'polite' );
+               }
+
+               if ( ! $containerAssertive.length ) {
+                       $containerAssertive = addContainer( 'assertive' );
                }
-       } );
+       });
 
        wp.a11y = wp.a11y || {};
        wp.a11y.speak = speak;
 
-} )( window.wp, window.jQuery );
+}( window.wp, window.jQuery ));
index 78ec9b5d9524bcfcee9178ed5e56717f9b3bc7d3..736d66447db3cdc497e54f72b4b8d79b4d6f7f5f 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){"use strict";function c(a){d&&d.text(a)}var d;b(document).ready(function(){d=b("#wp-a11y-speak"),d.length||(d=b("<div>",{id:"wp-a11y-speak",role:"status","aria-live":"polite","aria-relevant":"all","aria-atomic":"true","class":"screen-reader-text"}),b(document.body).append(d))}),a.a11y=a.a11y||{},a.a11y.speak=c}(window.wp,window.jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){"use strict";function c(a,b){e(),g&&"assertive"===b?g.text(a):f&&f.text(a)}function d(a){a=a||"polite",h="assertive"===a?"alert":"status";var c=b("<div>",{id:"wp-a11y-speak-"+a,role:h,"aria-live":a,"aria-relevant":"additions text","aria-atomic":"true","class":"screen-reader-text wp-a11y-speak-region"});return b(document.body).append(c),c}function e(){b(".wp-a11y-speak-region").text("")}var f,g,h;b(document).ready(function(){f=b("#wp-a11y-speak-polite"),g=b("#wp-a11y-speak-assertive"),f.length||(f=d("polite")),g.length||(g=d("assertive"))}),a.a11y=a.a11y||{},a.a11y.speak=c}(window.wp,window.jQuery);
\ No newline at end of file
index 761106531c0269e1857c420b9dff242918424e05..8273d09076ea1edfd107d018ddc542127b77b75d 100644 (file)
@@ -1,4 +1,4 @@
 // Source: wp-includes/js/twemoji.min.js
-var twemoji=function(){"use strict";function a(a){return document.createTextNode(a)}function b(a,b){return"".concat(b.base,b.size,"/",a,b.ext)}function c(a,b){for(var d,e,f=a.childNodes,g=f.length;g--;)d=f[g],e=d.nodeType,3===e?b.push(d):1!==e||o.test(d.nodeName)||c(d,b);return b}function d(a,b){return l("️"===b?a.slice(0,-1):3===a.length&&"️"===a.charAt(1)?a.charAt(0)+a.charAt(2):a)}function e(b,e){for(var f,g,h,i,j,k,l,o,p,q,r,s,t,u=c(b,[]),v=u.length;v--;){for(f=!1,g=document.createDocumentFragment(),h=u[v],i=h.nodeValue,k=0;j=n.exec(i);){if(l=j.index,l!==k&&g.appendChild(a(i.slice(k,l))),p=j[0],q=j[1],r=j[2],k=l+p.length,"︎"!==r&&(s=e.callback(d(q,r),e,r))){if(o=new Image,e.imgAttr)for(t in e.imgAttr)o.setAttribute(t,e.imgAttr[t]);o.onerror=m.onerror,o.className=e.className,o.setAttribute("draggable","false"),o.alt=p,o.src=s,f=!0,g.appendChild(o)}o||g.appendChild(a(p)),o=null}f&&(k<i.length&&g.appendChild(a(i.slice(k))),h.parentNode.replaceChild(g,h))}return b}function f(a,b){return j(a,function(a,c,e){var f,g,h="";if("︎"!==e&&(f=b.callback(d(c,e),b,e))){if(b.imgAttr)for(g in b.imgAttr)/draggable|class|alt|src/i.test(g)||(h+=" ".concat(g,'="',b.imgAttr[g],'"'));a="<img ".concat('class="',b.className,'" ','draggable="false" ','alt="',a,'" ','src="',f,'"',h,">")}return a})}function g(a){return"number"==typeof a?a+"x"+a:a}function h(a){var b="string"==typeof a?parseInt(a,16):a;return 65536>b?p(b):(b-=65536,p(55296+(b>>10),56320+(1023&b)))}function i(a,c){return c&&"function"!=typeof c||(c={callback:c}),("string"==typeof a?f:e)(a,{callback:c.callback||b,base:"string"==typeof c.base?c.base:m.base,ext:c.ext||m.ext,size:c.folder||g(c.size||m.size),className:c.className||m.className,imgAttr:c.imgAttr})}function j(a,b){return String(a).replace(n,b)}function k(a){n.lastIndex=0;var b=n.test(a);return n.lastIndex=0,b}function l(a,b){for(var c=[],d=0,e=0,f=0;f<a.length;)d=a.charCodeAt(f++),e?(c.push((65536+(e-55296<<10)+(d-56320)).toString(16)),e=0):d>=55296&&56319>=d?e=d:c.push(d.toString(16));return c.join(b||"-")}var m={base:("https:"===location.protocol?"https:":"http:")+"//twemoji.maxcdn.com/",ext:".png",size:"36x36",className:"emoji",convert:{fromCodePoint:h,toCodePoint:l},onerror:function(){this.parentNode&&this.parentNode.replaceChild(a(this.alt),this)},parse:i,replace:j,test:k},n=/((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,o=/IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA/,p=String.fromCharCode;return m}();
+var twemoji=function(){"use strict";function a(a){return document.createTextNode(a)}function b(a){return a.replace(s,h)}function c(a,b){return"".concat(b.base,b.size,"/",a,b.ext)}function d(a,b){for(var c,e,f=a.childNodes,g=f.length;g--;)c=f[g],e=c.nodeType,3===e?b.push(c):1!==e||t.test(c.nodeName)||d(c,b);return b}function e(a,b){return o("\ufe0f"===b?a.slice(0,-1):3===a.length&&"\ufe0f"===a.charAt(1)?a.charAt(0)+a.charAt(2):a)}function f(b,c){for(var f,g,h,i,j,k,l,m,n,o,q,s,t,u,v=d(b,[]),w=v.length;w--;){for(h=!1,i=document.createDocumentFragment(),j=v[w],k=j.nodeValue,m=0;l=r.exec(k);){if(n=l.index,n!==m&&i.appendChild(a(k.slice(m,n))),q=l[0],s=l[1],t=l[2],m=n+q.length,"\ufe0e"!==t&&(u=c.callback(e(s,t),c,t))){o=new Image,o.onerror=p.onerror,o.setAttribute("draggable","false"),f=c.attributes(s,t);for(g in f)f.hasOwnProperty(g)&&0!==g.indexOf("on")&&!o.hasAttribute(g)&&o.setAttribute(g,f[g]);o.className=c.className,o.alt=q,o.src=u,h=!0,i.appendChild(o)}o||i.appendChild(a(q)),o=null}h&&(m<k.length&&i.appendChild(a(k.slice(m))),j.parentNode.replaceChild(i,j))}return b}function g(a,c){return m(a,function(a,d,f){var g,h,i,j=a;if("\ufe0e"!==f&&(i=c.callback(e(d,f),c,f))){j="<img ".concat('class="',c.className,'" ','draggable="false" ','alt="',a,'"',' src="',i,'"'),g=c.attributes(d,f);for(h in g)g.hasOwnProperty(h)&&0!==h.indexOf("on")&&-1===j.indexOf(" "+h+"=")&&(j=j.concat(" ",h,'="',b(g[h]),'"'));j=j.concat(">")}return j})}function h(a){return q[a]}function i(){return null}function j(a){return"number"==typeof a?a+"x"+a:a}function k(a){var b="string"==typeof a?parseInt(a,16):a;return 65536>b?u(b):(b-=65536,u(55296+(b>>10),56320+(1023&b)))}function l(a,b){return b&&"function"!=typeof b||(b={callback:b}),("string"==typeof a?g:f)(a,{callback:b.callback||c,attributes:"function"==typeof b.attributes?b.attributes:i,base:"string"==typeof b.base?b.base:p.base,ext:b.ext||p.ext,size:b.folder||j(b.size||p.size),className:b.className||p.className})}function m(a,b){return String(a).replace(r,b)}function n(a){r.lastIndex=0;var b=r.test(a);return r.lastIndex=0,b}function o(a,b){for(var c=[],d=0,e=0,f=0;f<a.length;)d=a.charCodeAt(f++),e?(c.push((65536+(e-55296<<10)+(d-56320)).toString(16)),e=0):d>=55296&&56319>=d?e=d:c.push(d.toString(16));return c.join(b||"-")}var p={base:("https:"===location.protocol?"https:":"http:")+"//twemoji.maxcdn.com/",ext:".png",size:"36x36",className:"emoji",convert:{fromCodePoint:k,toCodePoint:o},onerror:function(){this.parentNode&&this.parentNode.replaceChild(a(this.alt),this)},parse:l,replace:m,test:n},q={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},r=/((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,s=/[&<>'"]/g,t=/IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA|[a-z]/,u=String.fromCharCode;return p}();
 // Source: wp-includes/js/wp-emoji.min.js
-!function(a,b){function c(){function c(){if(!i){if("undefined"==typeof a.twemoji){if(j>600)return;return a.clearTimeout(f),f=a.setTimeout(c,50),void j++}e=a.twemoji,i=!0,g&&new g(function(a){for(var b,c,e,f,g=a.length;g--;){if(b=a[g].addedNodes,c=a[g].removedNodes,e=b.length,1===e&&1===c.length&&3===b[0].nodeType&&"IMG"===c[0].nodeName&&b[0].data===c[0].alt)return;for(;e--;)f=b[e],3===f.nodeType&&(f=f.parentNode),!f||1!==f.nodeType||"ownerSVGElement"in f||f.className&&"string"==typeof f.className&&-1!==f.className.indexOf("wp-exclude-emoji")||d(f)}}).observe(document.body,{childList:!0,subtree:!0}),d(document.body)}}function d(a,c){return h&&e?(c=c||{},e.parse(a,{base:b.baseUrl,ext:b.ext,className:c.className||"emoji",imgAttr:c.imgAttr,callback:function(a,c){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return b.supports.flag||!b.supports.simple||/^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test(a)?"".concat(c.base,a,c.ext):!1}})):a}var e,f,g=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,h=!1,i=!1,j=0;return b&&(h=!b.supports.simple||!b.supports.flag,b.DOMReady?c():b.readyCallback=c),{replaceEmoji:h,parse:d}}a.wp=a.wp||{},a.wp.emoji=new c}(window,window._wpemojiSettings);
\ No newline at end of file
+!function(a,b){function c(){function c(){if(!j){if("undefined"==typeof a.twemoji){if(k>600)return;return a.clearTimeout(g),g=a.setTimeout(c,50),void k++}f=a.twemoji,j=!0,h&&new h(function(a){for(var b,c,f,g,h=a.length;h--;){if(b=a[h].addedNodes,c=a[h].removedNodes,f=b.length,1===f&&1===c.length&&3===b[0].nodeType&&"IMG"===c[0].nodeName&&b[0].data===c[0].alt)return;for(;f--;)g=b[f],3===g.nodeType&&(g=g.parentNode),!g||1!==g.nodeType||g.className&&"string"==typeof g.className&&-1!==g.className.indexOf("wp-exclude-emoji")||d(g.textContent)&&e(g)}}).observe(document.body,{childList:!0,subtree:!0}),e(document.body)}}function d(a){var b=/[\u203C\u2049\u20E3\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2300\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692\u2693\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753\u2754\u2755\u2757\u2763\u2764\u2795\u2796\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05\u2B06\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]/,c=/[\uDC00-\uDFFF]/;return a?c.test(a)||b.test(a):!1}function e(a,c){var d;return i&&f&&a&&("string"==typeof a||a.childNodes&&a.childNodes.length)?(c=c||{},d={base:b.baseUrl,ext:b.ext,className:c.className||"emoji",callback:function(a,c){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return b.supports.flag||!b.supports.simple||/^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test(a)?"".concat(c.base,a,c.ext):!1}},"object"==typeof c.imgAttr&&(d.attributes=function(){return c.imgAttr}),f.parse(a,d)):a}var f,g,h=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,i=!1,j=!1,k=0;return b&&(i=!b.supports.simple||!b.supports.flag,b.DOMReady?c():b.readyCallback=c),{replaceEmoji:i,parse:e,test:d}}a.wp=a.wp||{},a.wp.emoji=new c}(window,window._wpemojiSettings);
\ No newline at end of file
index b54259b472de1fddc6209197fb0e4e223f401440..4acf43421d7fe9905a0cc359ca91bab142a7fb71 100644 (file)
                                                                node = node.parentNode;
                                                        }
 
-                                                       if ( ! node || node.nodeType !== 1 || ( 'ownerSVGElement' in node ) ||
+                                                       if ( ! node || node.nodeType !== 1 ||
                                                                ( node.className && typeof node.className === 'string' && node.className.indexOf( 'wp-exclude-emoji' ) !== -1 ) ) {
 
-                                                               continue;
-                                                       }
+                                                               continue;
+                                                       }
 
-                                                       parse( node );
+                                                       if ( test( node.textContent ) ) {
+                                                               parse( node );
+                                                       }
                                                }
                                        }
                                } ).observe( document.body, {
                        parse( document.body );
                }
 
+               /**
+                * Test if a text string contains emoji characters.
+                *
+                * @since 4.3.0
+                *
+                * @param {String} text The string to test
+                *
+                * @return {Boolean} Whether the string contains emoji characters.
+                */
+               function test( text ) {
+                       // Single char. U+20E3 to detect keycaps. U+00A9 "copyright sign" and U+00AE "registered sign" not included.
+                       var single = /[\u203C\u2049\u20E3\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2300\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692\u2693\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753\u2754\u2755\u2757\u2763\u2764\u2795\u2796\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05\u2B06\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]/,
+                       // Surrogate pair range. Only tests for the second half. 
+                       pair = /[\uDC00-\uDFFF]/;
+
+                       if ( text ) {
+                               return  pair.test( text ) || single.test( text );
+                       }
+
+                       return false;
+               }
+
                /**
                 * Given an element or string, parse any emoji characters into Twemoji images.
                 *
                 * @param {Object} args Additional options for Twemoji.
                 */
                function parse( object, args ) {
-                       if ( ! replaceEmoji || ! twemoji ) {
+                       var params;
+
+                       if ( ! replaceEmoji || ! twemoji || ! object ||
+                               ( 'string' !== typeof object && ( ! object.childNodes || ! object.childNodes.length ) ) ) {
+
                                return object;
                        }
 
                        args = args || {};
-
-                       return twemoji.parse( object, {
+                       params = {
                                base: settings.baseUrl,
                                ext: settings.ext,
                                className: args.className || 'emoji',
-                               imgAttr: args.imgAttr,
                                callback: function( icon, options ) {
                                        // Ignore some standard characters that TinyMCE recommends in its character map.
                                        switch ( icon ) {
 
                                        return ''.concat( options.base, icon, options.ext );
                                }
-                       } );
+                       };
+
+                       if ( typeof args.imgAttr === 'object' ) {
+                               params.attributes = function() {
+                                       return args.imgAttr;
+                               };
+                       }
+
+                       return twemoji.parse( object, params );
                }
 
                /**
 
                return {
                        replaceEmoji: replaceEmoji,
-                       parse: parse
+                       parse: parse,
+                       test: test
                };
        }
 
index abe1a076b676ec178e08f97bf810418e2f57d0b3..87e5866f709679ab031ff16a4ab3613663692bcc 100644 (file)
@@ -1 +1 @@
-!function(a,b){function c(){function c(){if(!i){if("undefined"==typeof a.twemoji){if(j>600)return;return a.clearTimeout(f),f=a.setTimeout(c,50),void j++}e=a.twemoji,i=!0,g&&new g(function(a){for(var b,c,e,f,g=a.length;g--;){if(b=a[g].addedNodes,c=a[g].removedNodes,e=b.length,1===e&&1===c.length&&3===b[0].nodeType&&"IMG"===c[0].nodeName&&b[0].data===c[0].alt)return;for(;e--;)f=b[e],3===f.nodeType&&(f=f.parentNode),!f||1!==f.nodeType||"ownerSVGElement"in f||f.className&&"string"==typeof f.className&&-1!==f.className.indexOf("wp-exclude-emoji")||d(f)}}).observe(document.body,{childList:!0,subtree:!0}),d(document.body)}}function d(a,c){return h&&e?(c=c||{},e.parse(a,{base:b.baseUrl,ext:b.ext,className:c.className||"emoji",imgAttr:c.imgAttr,callback:function(a,c){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return b.supports.flag||!b.supports.simple||/^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test(a)?"".concat(c.base,a,c.ext):!1}})):a}var e,f,g=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,h=!1,i=!1,j=0;return b&&(h=!b.supports.simple||!b.supports.flag,b.DOMReady?c():b.readyCallback=c),{replaceEmoji:h,parse:d}}a.wp=a.wp||{},a.wp.emoji=new c}(window,window._wpemojiSettings);
\ No newline at end of file
+!function(a,b){function c(){function c(){if(!j){if("undefined"==typeof a.twemoji){if(k>600)return;return a.clearTimeout(g),g=a.setTimeout(c,50),void k++}f=a.twemoji,j=!0,h&&new h(function(a){for(var b,c,f,g,h=a.length;h--;){if(b=a[h].addedNodes,c=a[h].removedNodes,f=b.length,1===f&&1===c.length&&3===b[0].nodeType&&"IMG"===c[0].nodeName&&b[0].data===c[0].alt)return;for(;f--;)g=b[f],3===g.nodeType&&(g=g.parentNode),!g||1!==g.nodeType||g.className&&"string"==typeof g.className&&-1!==g.className.indexOf("wp-exclude-emoji")||d(g.textContent)&&e(g)}}).observe(document.body,{childList:!0,subtree:!0}),e(document.body)}}function d(a){var b=/[\u203C\u2049\u20E3\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2300\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692\u2693\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753\u2754\u2755\u2757\u2763\u2764\u2795\u2796\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05\u2B06\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]/,c=/[\uDC00-\uDFFF]/;return a?c.test(a)||b.test(a):!1}function e(a,c){var d;return i&&f&&a&&("string"==typeof a||a.childNodes&&a.childNodes.length)?(c=c||{},d={base:b.baseUrl,ext:b.ext,className:c.className||"emoji",callback:function(a,c){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return b.supports.flag||!b.supports.simple||/^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test(a)?"".concat(c.base,a,c.ext):!1}},"object"==typeof c.imgAttr&&(d.attributes=function(){return c.imgAttr}),f.parse(a,d)):a}var f,g,h=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,i=!1,j=!1,k=0;return b&&(i=!b.supports.simple||!b.supports.flag,b.DOMReady?c():b.readyCallback=c),{replaceEmoji:i,parse:e,test:d}}a.wp=a.wp||{},a.wp.emoji=new c}(window,window._wpemojiSettings);
\ No newline at end of file
index f19cc225dfc3adbe5711b3d4a36b6f9245adb5af..3f461f834ab78f57752da62df18b6c65dff1375d 100644 (file)
@@ -1 +1 @@
-!function(a){var b,c={add:"ajaxAdd",del:"ajaxDel",dim:"ajaxDim",process:"process",recolor:"recolor"};b={settings:{url:ajaxurl,type:"POST",response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:null,delColor:null,dimAddColor:null,dimDelColor:null,confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(b,c){var d=wpAjax.unserialize(b.attr("href"));return c.nonce||d._ajax_nonce||a("#"+c.element+' input[name="_ajax_nonce"]').val()||d._wpnonce||a("#"+c.element+' input[name="_wpnonce"]').val()||0},parseData:function(b,c){var d,e=[];try{d=a(b).attr("data-wp-lists")||"",d=d.match(new RegExp(c+":[\\S]+")),d&&(e=d[0].split(":"))}catch(f){}return e},pre:function(b,c,d){var e,f;return c=a.extend({},this.wpList.settings,{element:null,nonce:0,target:b.get(0)},c||{}),a.isFunction(c.confirm)&&("add"!=d&&(e=a("#"+c.element).css("backgroundColor"),a("#"+c.element).css("backgroundColor","#FF9966")),f=c.confirm.call(this,b,c,d,e),"add"!=d&&a("#"+c.element).css("backgroundColor",e),!f)?!1:c},ajaxAdd:function(c,d){c=a(c),d=d||{};var e,f,g,h,i,j=this,k=b.parseData(c,"add");return d=b.pre.call(j,c,d,"add"),d.element=k[2]||c.attr("id")||d.element||null,d.addColor=k[3]?"#"+k[3]:d.addColor||"#FFFF33",d?c.is('[id="'+d.element+'-submit"]')?d.element?(d.action="add-"+d.what,d.nonce=b.nonce(c,d),e=a("#"+d.element+" :input").not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]'),(f=wpAjax.validateForm("#"+d.element))?(d.data=a.param(a.extend({_ajax_nonce:d.nonce,action:d.action},wpAjax.unserialize(k[4]||""))),g=a.isFunction(e.fieldSerialize)?e.fieldSerialize():e.serialize(),g&&(d.data+="&"+g),a.isFunction(d.addBefore)&&(d=d.addBefore(d),!d)?!0:d.data.match(/_ajax_nonce=[a-f0-9]+/)?(d.success=function(c){return h=wpAjax.parseAjaxResponse(c,d.response,d.element),i=c,!h||h.errors?!1:!0===h?!0:(jQuery.each(h.responses,function(){b.add.call(j,this.data,a.extend({},d,{pos:this.position||0,id:this.id||0,oldId:this.oldId||null}))}),j.wpList.recolor(),a(j).trigger("wpListAddEnd",[d,j.wpList]),void b.clear.call(j,"#"+d.element))},d.complete=function(b,c){if(a.isFunction(d.addAfter)){var e=a.extend({xml:b,status:c,parsed:h},d);d.addAfter(i,e)}},a.ajax(d),!1):!0):!1):!0:!b.add.call(j,c,d):!1},ajaxDel:function(c,d){c=a(c),d=d||{};var e,f,g,h=this,i=b.parseData(c,"delete");return d=b.pre.call(h,c,d,"delete"),d.element=i[2]||d.element||null,d.delColor=i[3]?"#"+i[3]:d.delColor||"#faa",d&&d.element?(d.action="delete-"+d.what,d.nonce=b.nonce(c,d),d.data=a.extend({action:d.action,id:d.element.split("-").pop(),_ajax_nonce:d.nonce},wpAjax.unserialize(i[4]||"")),a.isFunction(d.delBefore)&&(d=d.delBefore(d,h),!d)?!0:d.data._ajax_nonce?(e=a("#"+d.element),"none"!=d.delColor?e.css("backgroundColor",d.delColor).fadeOut(350,function(){h.wpList.recolor(),a(h).trigger("wpListDelEnd",[d,h.wpList])}):(h.wpList.recolor(),a(h).trigger("wpListDelEnd",[d,h.wpList])),d.success=function(b){return f=wpAjax.parseAjaxResponse(b,d.response,d.element),g=b,!f||f.errors?(e.stop().stop().css("backgroundColor","#faa").show().queue(function(){h.wpList.recolor(),a(this).dequeue()}),!1):void 0},d.complete=function(b,c){a.isFunction(d.delAfter)&&e.queue(function(){var e=a.extend({xml:b,status:c,parsed:f},d);d.delAfter(g,e)}).dequeue()},a.ajax(d),!1):!0):!1},ajaxDim:function(c,d){if("none"==a(c).parent().css("display"))return!1;c=a(c),d=d||{};var e,f,g,h,i,j,k=this,l=b.parseData(c,"dim");return d=b.pre.call(k,c,d,"dim"),d.element=l[2]||d.element||null,d.dimClass=l[3]||d.dimClass||null,d.dimAddColor=l[4]?"#"+l[4]:d.dimAddColor||"#FFFF33",d.dimDelColor=l[5]?"#"+l[5]:d.dimDelColor||"#FF3333",d&&d.element&&d.dimClass?(d.action="dim-"+d.what,d.nonce=b.nonce(c,d),d.data=a.extend({action:d.action,id:d.element.split("-").pop(),dimClass:d.dimClass,_ajax_nonce:d.nonce},wpAjax.unserialize(l[6]||"")),a.isFunction(d.dimBefore)&&(d=d.dimBefore(d),!d)?!0:(e=a("#"+d.element),f=e.toggleClass(d.dimClass).is("."+d.dimClass),g=b.getColor(e),e.toggleClass(d.dimClass),h=f?d.dimAddColor:d.dimDelColor,"none"!=h?e.animate({backgroundColor:h},"fast").queue(function(){e.toggleClass(d.dimClass),a(this).dequeue()}).animate({backgroundColor:g},{complete:function(){a(this).css("backgroundColor",""),a(k).trigger("wpListDimEnd",[d,k.wpList])}}):a(k).trigger("wpListDimEnd",[d,k.wpList]),d.data._ajax_nonce?(d.success=function(b){return i=wpAjax.parseAjaxResponse(b,d.response,d.element),j=b,!i||i.errors?(e.stop().stop().css("backgroundColor","#FF3333")[f?"removeClass":"addClass"](d.dimClass).show().queue(function(){k.wpList.recolor(),a(this).dequeue()}),!1):void 0},d.complete=function(b,c){a.isFunction(d.dimAfter)&&e.queue(function(){var e=a.extend({xml:b,status:c,parsed:i},d);d.dimAfter(j,e)}).dequeue()},a.ajax(d),!1):!0)):!0},getColor:function(a){var b=jQuery(a).css("backgroundColor");return b||"#ffffff"},add:function(c,d){c=a("string"==typeof c?a.trim(c):c);var e,f,g,h=a(this),i=!1,j={pos:0,id:0,oldId:null};return"string"==typeof d&&(d={what:d}),d=a.extend(j,this.wpList.settings,d),c.size()&&d.what?(d.oldId&&(i=a("#"+d.what+"-"+d.oldId)),!d.id||d.id==d.oldId&&i&&i.size()||a("#"+d.what+"-"+d.id).remove(),i&&i.size()?(i.before(c),i.remove()):isNaN(d.pos)?(e="after","-"==d.pos.substr(0,1)&&(d.pos=d.pos.substr(1),e="before"),f=h.find("#"+d.pos),1===f.size()?f[e](c):h.append(c)):("comment"!=d.what||0===a("#"+d.element).length)&&(d.pos<0?h.prepend(c):h.append(c)),d.alt&&((h.children(":visible").index(c[0])+d.altOffset)%2?c.removeClass(d.alt):c.addClass(d.alt)),"none"!=d.addColor&&(g=b.getColor(c),c.css("backgroundColor",d.addColor).animate({backgroundColor:g},{complete:function(){a(this).css("backgroundColor","")}})),h.each(function(){this.wpList.process(c)}),c):!1},clear:function(b){var c,d,e=this;b=a(b),e.wpList&&b.parents("#"+e.id).size()||b.find(":input").each(function(){a(this).parents(".form-no-clear").size()||(c=this.type.toLowerCase(),d=this.tagName.toLowerCase(),"text"==c||"password"==c||"textarea"==d?this.value="":"checkbox"==c||"radio"==c?this.checked=!1:"select"==d&&(this.selectedIndex=null))})},process:function(b){var c=this,d=a(b||document);d.delegate('form[data-wp-lists^="add:'+c.id+':"]',"submit",function(){return c.wpList.add(this)}),d.delegate('a[data-wp-lists^="add:'+c.id+':"], input[data-wp-lists^="add:'+c.id+':"]',"click",function(){return c.wpList.add(this)}),d.delegate('[data-wp-lists^="delete:'+c.id+':"]',"click",function(){return c.wpList.del(this)}),d.delegate('[data-wp-lists^="dim:'+c.id+':"]',"click",function(){return c.wpList.dim(this)})},recolor:function(){var b,c,d=this;d.wpList.settings.alt&&(b=a(".list-item:visible",d),b.size()||(b=a(d).children(":visible")),c=[":even",":odd"],d.wpList.settings.altOffset%2&&c.reverse(),b.filter(c[0]).addClass(d.wpList.settings.alt).end().filter(c[1]).removeClass(d.wpList.settings.alt))},init:function(){var a=this;a.wpList.process=function(b){a.each(function(){this.wpList.process(b)})},a.wpList.recolor=function(){a.each(function(){this.wpList.recolor()})}}},a.fn.wpList=function(d){return this.each(function(){var e=this;this.wpList={settings:a.extend({},b.settings,{what:b.parseData(this,"list")[1]||""},d)},a.each(c,function(a,c){e.wpList[a]=function(a,d){return b[c].call(e,a,d)}})}),b.init.call(this),this.wpList.process(),this}}(jQuery);
\ No newline at end of file
+!function(a){var b,c={add:"ajaxAdd",del:"ajaxDel",dim:"ajaxDim",process:"process",recolor:"recolor"};b={settings:{url:ajaxurl,type:"POST",response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:null,delColor:null,dimAddColor:null,dimDelColor:null,confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(b,c){var d=wpAjax.unserialize(b.attr("href"));return c.nonce||d._ajax_nonce||a("#"+c.element+' input[name="_ajax_nonce"]').val()||d._wpnonce||a("#"+c.element+' input[name="_wpnonce"]').val()||0},parseData:function(b,c){var d,e=[];try{d=a(b).attr("data-wp-lists")||"",d=d.match(new RegExp(c+":[\\S]+")),d&&(e=d[0].split(":"))}catch(f){}return e},pre:function(b,c,d){var e,f;return c=a.extend({},this.wpList.settings,{element:null,nonce:0,target:b.get(0)},c||{}),a.isFunction(c.confirm)&&("add"!=d&&(e=a("#"+c.element).css("backgroundColor"),a("#"+c.element).css("backgroundColor","#FF9966")),f=c.confirm.call(this,b,c,d,e),"add"!=d&&a("#"+c.element).css("backgroundColor",e),!f)?!1:c},ajaxAdd:function(c,d){c=a(c),d=d||{};var e,f,g,h,i,j=this,k=b.parseData(c,"add");return d=b.pre.call(j,c,d,"add"),d.element=k[2]||c.attr("id")||d.element||null,k[3]?d.addColor="#"+k[3]:d.addColor=d.addColor||"#FFFF33",d?c.is('[id="'+d.element+'-submit"]')?d.element?(d.action="add-"+d.what,d.nonce=b.nonce(c,d),e=a("#"+d.element+" :input").not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]'),(f=wpAjax.validateForm("#"+d.element))?(d.data=a.param(a.extend({_ajax_nonce:d.nonce,action:d.action},wpAjax.unserialize(k[4]||""))),g=a.isFunction(e.fieldSerialize)?e.fieldSerialize():e.serialize(),g&&(d.data+="&"+g),a.isFunction(d.addBefore)&&(d=d.addBefore(d),!d)?!0:d.data.match(/_ajax_nonce=[a-f0-9]+/)?(d.success=function(c){return h=wpAjax.parseAjaxResponse(c,d.response,d.element),i=c,!h||h.errors?!1:!0===h?!0:(jQuery.each(h.responses,function(){b.add.call(j,this.data,a.extend({},d,{pos:this.position||0,id:this.id||0,oldId:this.oldId||null}))}),j.wpList.recolor(),a(j).trigger("wpListAddEnd",[d,j.wpList]),void b.clear.call(j,"#"+d.element))},d.complete=function(b,c){if(a.isFunction(d.addAfter)){var e=a.extend({xml:b,status:c,parsed:h},d);d.addAfter(i,e)}},a.ajax(d),!1):!0):!1):!0:!b.add.call(j,c,d):!1},ajaxDel:function(c,d){c=a(c),d=d||{};var e,f,g,h=this,i=b.parseData(c,"delete");return d=b.pre.call(h,c,d,"delete"),d.element=i[2]||d.element||null,i[3]?d.delColor="#"+i[3]:d.delColor=d.delColor||"#faa",d&&d.element?(d.action="delete-"+d.what,d.nonce=b.nonce(c,d),d.data=a.extend({action:d.action,id:d.element.split("-").pop(),_ajax_nonce:d.nonce},wpAjax.unserialize(i[4]||"")),a.isFunction(d.delBefore)&&(d=d.delBefore(d,h),!d)?!0:d.data._ajax_nonce?(e=a("#"+d.element),"none"!=d.delColor?e.css("backgroundColor",d.delColor).fadeOut(350,function(){h.wpList.recolor(),a(h).trigger("wpListDelEnd",[d,h.wpList])}):(h.wpList.recolor(),a(h).trigger("wpListDelEnd",[d,h.wpList])),d.success=function(b){return f=wpAjax.parseAjaxResponse(b,d.response,d.element),g=b,!f||f.errors?(e.stop().stop().css("backgroundColor","#faa").show().queue(function(){h.wpList.recolor(),a(this).dequeue()}),!1):void 0},d.complete=function(b,c){a.isFunction(d.delAfter)&&e.queue(function(){var e=a.extend({xml:b,status:c,parsed:f},d);d.delAfter(g,e)}).dequeue()},a.ajax(d),!1):!0):!1},ajaxDim:function(c,d){if("none"==a(c).parent().css("display"))return!1;c=a(c),d=d||{};var e,f,g,h,i,j,k=this,l=b.parseData(c,"dim");return d=b.pre.call(k,c,d,"dim"),d.element=l[2]||d.element||null,d.dimClass=l[3]||d.dimClass||null,l[4]?d.dimAddColor="#"+l[4]:d.dimAddColor=d.dimAddColor||"#FFFF33",l[5]?d.dimDelColor="#"+l[5]:d.dimDelColor=d.dimDelColor||"#FF3333",d&&d.element&&d.dimClass?(d.action="dim-"+d.what,d.nonce=b.nonce(c,d),d.data=a.extend({action:d.action,id:d.element.split("-").pop(),dimClass:d.dimClass,_ajax_nonce:d.nonce},wpAjax.unserialize(l[6]||"")),a.isFunction(d.dimBefore)&&(d=d.dimBefore(d),!d)?!0:(e=a("#"+d.element),f=e.toggleClass(d.dimClass).is("."+d.dimClass),g=b.getColor(e),e.toggleClass(d.dimClass),h=f?d.dimAddColor:d.dimDelColor,"none"!=h?e.animate({backgroundColor:h},"fast").queue(function(){e.toggleClass(d.dimClass),a(this).dequeue()}).animate({backgroundColor:g},{complete:function(){a(this).css("backgroundColor",""),a(k).trigger("wpListDimEnd",[d,k.wpList])}}):a(k).trigger("wpListDimEnd",[d,k.wpList]),d.data._ajax_nonce?(d.success=function(b){return i=wpAjax.parseAjaxResponse(b,d.response,d.element),j=b,!i||i.errors?(e.stop().stop().css("backgroundColor","#FF3333")[f?"removeClass":"addClass"](d.dimClass).show().queue(function(){k.wpList.recolor(),a(this).dequeue()}),!1):void 0},d.complete=function(b,c){a.isFunction(d.dimAfter)&&e.queue(function(){var e=a.extend({xml:b,status:c,parsed:i},d);d.dimAfter(j,e)}).dequeue()},a.ajax(d),!1):!0)):!0},getColor:function(a){var b=jQuery(a).css("backgroundColor");return b||"#ffffff"},add:function(c,d){c=a("string"==typeof c?a.trim(c):c);var e,f,g,h=a(this),i=!1,j={pos:0,id:0,oldId:null};return"string"==typeof d&&(d={what:d}),d=a.extend(j,this.wpList.settings,d),c.size()&&d.what?(d.oldId&&(i=a("#"+d.what+"-"+d.oldId)),!d.id||d.id==d.oldId&&i&&i.size()||a("#"+d.what+"-"+d.id).remove(),i&&i.size()?(i.before(c),i.remove()):isNaN(d.pos)?(e="after","-"==d.pos.substr(0,1)&&(d.pos=d.pos.substr(1),e="before"),f=h.find("#"+d.pos),1===f.size()?f[e](c):h.append(c)):("comment"!=d.what||0===a("#"+d.element).length)&&(d.pos<0?h.prepend(c):h.append(c)),d.alt&&((h.children(":visible").index(c[0])+d.altOffset)%2?c.removeClass(d.alt):c.addClass(d.alt)),"none"!=d.addColor&&(g=b.getColor(c),c.css("backgroundColor",d.addColor).animate({backgroundColor:g},{complete:function(){a(this).css("backgroundColor","")}})),h.each(function(){this.wpList.process(c)}),c):!1},clear:function(b){var c,d,e=this;b=a(b),e.wpList&&b.parents("#"+e.id).size()||b.find(":input").each(function(){a(this).parents(".form-no-clear").size()||(c=this.type.toLowerCase(),d=this.tagName.toLowerCase(),"text"==c||"password"==c||"textarea"==d?this.value="":"checkbox"==c||"radio"==c?this.checked=!1:"select"==d&&(this.selectedIndex=null))})},process:function(b){var c=this,d=a(b||document);d.delegate('form[data-wp-lists^="add:'+c.id+':"]',"submit",function(){return c.wpList.add(this)}),d.delegate('a[data-wp-lists^="add:'+c.id+':"], input[data-wp-lists^="add:'+c.id+':"]',"click",function(){return c.wpList.add(this)}),d.delegate('[data-wp-lists^="delete:'+c.id+':"]',"click",function(){return c.wpList.del(this)}),d.delegate('[data-wp-lists^="dim:'+c.id+':"]',"click",function(){return c.wpList.dim(this)})},recolor:function(){var b,c,d=this;d.wpList.settings.alt&&(b=a(".list-item:visible",d),b.size()||(b=a(d).children(":visible")),c=[":even",":odd"],d.wpList.settings.altOffset%2&&c.reverse(),b.filter(c[0]).addClass(d.wpList.settings.alt).end().filter(c[1]).removeClass(d.wpList.settings.alt))},init:function(){var a=this;a.wpList.process=function(b){a.each(function(){this.wpList.process(b)})},a.wpList.recolor=function(){a.each(function(){this.wpList.recolor()})}}},a.fn.wpList=function(d){return this.each(function(){var e=this;this.wpList={settings:a.extend({},b.settings,{what:b.parseData(this,"list")[1]||""},d)},a.each(c,function(a,c){e.wpList[a]=function(a,d){return b[c].call(e,a,d)}})}),b.init.call(this),this.wpList.process(),this}}(jQuery);
\ No newline at end of file
index 1985b35e6fdb29c2675b4c343fa51f0e44580b3f..84cb5510bbdece7103385d6bb98b3498bc4fbb49 100644 (file)
@@ -50,7 +50,8 @@ window.wp = window.wp || {};
                 *
                 * @param  {string} action The slug of the action to fire in WordPress.
                 * @param  {object} data   The data to populate $_POST with.
-                * @return {$.promise}     A jQuery promise that represents the request.
+                * @return {$.promise}     A jQuery promise that represents the request,
+                *                         decorated with an abort() method.
                 */
                post: function( action, data ) {
                        return wp.ajax.send({
@@ -65,9 +66,11 @@ window.wp = window.wp || {};
                 *
                 * @param  {string} action  The slug of the action to fire in WordPress.
                 * @param  {object} options The options passed to jQuery.ajax.
-                * @return {$.promise}      A jQuery promise that represents the request.
+                * @return {$.promise}      A jQuery promise that represents the request,
+                *                          decorated with an abort() method.
                 */
                send: function( action, options ) {
+                       var promise, deferred;
                        if ( _.isObject( action ) ) {
                                options = action;
                        } else {
@@ -81,7 +84,7 @@ window.wp = window.wp || {};
                                context: this
                        });
 
-                       return $.Deferred( function( deferred ) {
+                       deferred = $.Deferred( function( deferred ) {
                                // Transfer success/error callbacks.
                                if ( options.success )
                                        deferred.done( options.success );
@@ -92,7 +95,7 @@ window.wp = window.wp || {};
                                delete options.error;
 
                                // Use with PHP's wp_send_json_success() and wp_send_json_error()
-                               $.ajax( options ).done( function( response ) {
+                               deferred.jqXHR = $.ajax( options ).done( function( response ) {
                                        // Treat a response of `1` as successful for backwards
                                        // compatibility with existing handlers.
                                        if ( response === '1' || response === 1 )
@@ -105,7 +108,15 @@ window.wp = window.wp || {};
                                }).fail( function() {
                                        deferred.rejectWith( this, arguments );
                                });
-                       }).promise();
+                       });
+
+                       promise = deferred.promise();
+                       promise.abort = function() {
+                               deferred.jqXHR.abort();
+                               return this;
+                       };
+
+                       return promise;
                }
        };
 
index a74a80f8e50ab5ef56ae71933b87fcc45e880403..18db8302e04e635bf50df67c641d0fa0e6cd8239 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(b){var c,d={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(e){return(c=c||_.template(a("#tmpl-"+b).html(),null,d))(e)}}),wp.ajax={settings:b.ajax||{},post:function(a,b){return wp.ajax.send({data:_.isObject(a)?a:_.extend(b||{},{action:a})})},send:function(b,c){return _.isObject(b)?c=b:(c=c||{},c.data=_.extend(c.data||{},{action:b})),c=_.defaults(c||{},{type:"POST",url:wp.ajax.settings.url,context:this}),a.Deferred(function(b){c.success&&b.done(c.success),c.error&&b.fail(c.error),delete c.success,delete c.error,a.ajax(c).done(function(a){("1"===a||1===a)&&(a={success:!0}),_.isObject(a)&&!_.isUndefined(a.success)?b[a.success?"resolveWith":"rejectWith"](this,[a.data]):b.rejectWith(this,[a])}).fail(function(){b.rejectWith(this,arguments)})}).promise()}}}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(b){var c,d={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(e){return(c=c||_.template(a("#tmpl-"+b).html(),null,d))(e)}}),wp.ajax={settings:b.ajax||{},post:function(a,b){return wp.ajax.send({data:_.isObject(a)?a:_.extend(b||{},{action:a})})},send:function(b,c){var d,e;return _.isObject(b)?c=b:(c=c||{},c.data=_.extend(c.data||{},{action:b})),c=_.defaults(c||{},{type:"POST",url:wp.ajax.settings.url,context:this}),e=a.Deferred(function(b){c.success&&b.done(c.success),c.error&&b.fail(c.error),delete c.success,delete c.error,b.jqXHR=a.ajax(c).done(function(a){("1"===a||1===a)&&(a={success:!0}),_.isObject(a)&&!_.isUndefined(a.success)?b[a.success?"resolveWith":"rejectWith"](this,[a.data]):b.rejectWith(this,[a])}).fail(function(){b.rejectWith(this,arguments)})}),d=e.promise(),d.abort=function(){return e.jqXHR.abort(),this},d}}}(jQuery);
\ No newline at end of file
index 31489f83570e3078e785064b79e3fe348b8337bf..5b69c88d302944617ce655556fa279af69d12d5e 100644 (file)
@@ -68,7 +68,7 @@ var wpLink;
                                inputs.queryNoticeTextHint.addClass( 'screen-reader-text' ).hide();
                        } );
 
-                       inputs.search.keyup( function() {
+                       inputs.search.on( 'keyup input', function() {
                                var self = this;
 
                                window.clearTimeout( searchTimer );
@@ -77,26 +77,28 @@ var wpLink;
                                }, 500 );
                        });
 
-                       function correctURL() {
-                               var url = $.trim( inputs.url.val() );
-
-                               if ( url && correctedURL !== url && ! /^(?:[a-z]+:|#|\?|\.|\/)/.test( url ) ) {
-                                       inputs.url.val( 'http://' + url );
-                                       correctedURL = url;
-                               }
-                       }
-
                        inputs.url.on( 'paste', function() {
-                               setTimeout( correctURL, 0 );
+                               setTimeout( wpLink.correctURL, 0 );
                        } );
 
-                       inputs.url.on( 'blur', correctURL );
+                       inputs.url.on( 'blur', wpLink.correctURL );
+               },
+
+               // If URL wasn't corrected last time and doesn't start with http:, https:, ? # or /, prepend http://
+               correctURL: function () {
+                       var url = $.trim( inputs.url.val() );
+
+                       if ( url && correctedURL !== url && ! /^(?:[a-z]+:|#|\?|\.|\/)/.test( url ) ) {
+                               inputs.url.val( 'http://' + url );
+                               correctedURL = url;
+                       }
                },
 
                open: function( editorId ) {
-                       var ed;
+                       var ed,
+                               $body = $( document.body );
 
-                       $( document.body ).addClass( 'modal-open' );
+                       $body.addClass( 'modal-open' );
 
                        wpLink.range = null;
 
@@ -111,6 +113,10 @@ var wpLink;
                        this.textarea = $( '#' + window.wpActiveEditor ).get( 0 );
 
                        if ( typeof tinymce !== 'undefined' ) {
+                               // Make sure the link wrapper is the last element in the body,
+                               // or the inline editor toolbar may show above the backdrop.
+                               $body.append( inputs.backdrop, inputs.wrap );
+
                                ed = tinymce.get( wpActiveEditor );
 
                                if ( ed && ! ed.isHidden() ) {
@@ -260,12 +266,24 @@ var wpLink;
                },
 
                getAttrs: function() {
+                       wpLink.correctURL();
+
                        return {
                                href: $.trim( inputs.url.val() ),
                                target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : ''
                        };
                },
 
+               buildHtml: function(attrs) {
+                       var html = '<a href="' + attrs.href + '"';
+
+                       if ( attrs.target ) {
+                               html += ' target="' + attrs.target + '"';
+                       }
+
+                       return html + '>';
+               },
+
                update: function() {
                        if ( wpLink.isMCE() ) {
                                wpLink.mceUpdate();
@@ -290,14 +308,7 @@ var wpLink;
                                return;
                        }
 
-                       // Build HTML
-                       html = '<a href="' + attrs.href + '"';
-
-                       if ( attrs.target ) {
-                               html += ' target="' + attrs.target + '"';
-                       }
-
-                       html += '>';
+                       html = wpLink.buildHtml(attrs);
 
                        // Insert HTML
                        if ( document.selection && wpLink.range ) {
@@ -354,7 +365,10 @@ var wpLink;
                        }
 
                        link = getLink();
-                       text = inputs.text.val();
+
+                       if ( inputs.wrap.hasClass( 'has-text-field' ) ) {
+                               text = inputs.text.val() || attrs.href;
+                       }
 
                        if ( link ) {
                                if ( text ) {
@@ -373,6 +387,8 @@ var wpLink;
                                        editor.execCommand( 'mceInsertLink', false, attrs );
                                }
                        }
+
+                       editor.nodeChanged();
                },
 
                updateFields: function( e, li ) {
index f787c3df99080ff309be8afc90be197f34bb2080..2bdd4d5ad68a24802559ab4a77cc617e7c7dd20a 100644 (file)
@@ -1 +1 @@
-var wpLink;!function(a){function b(){return c.dom.getParent(c.selection.getNode(),"a")}var c,d,e,f,g,h={},i={},j="ontouchend"in document;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){function b(){var b=a.trim(h.url.val());b&&g!==b&&!/^(?:[a-z]+:|#|\?|\.|\/)/.test(b)&&(h.url.val("http://"+b),g=b)}h.wrap=a("#wp-link-wrap"),h.dialog=a("#wp-link"),h.backdrop=a("#wp-link-backdrop"),h.submit=a("#wp-link-submit"),h.close=a("#wp-link-close"),h.text=a("#wp-link-text"),h.url=a("#wp-link-url"),h.nonce=a("#_ajax_linking_nonce"),h.openInNewTab=a("#wp-link-target"),h.search=a("#wp-link-search"),i.search=new e(a("#search-results")),i.recent=new e(a("#most-recent-results")),i.elements=h.dialog.find(".query-results"),h.queryNotice=a("#query-notice-message"),h.queryNoticeTextDefault=h.queryNotice.find(".query-notice-default"),h.queryNoticeTextHint=h.queryNotice.find(".query-notice-hint"),h.dialog.keydown(wpLink.keydown),h.dialog.keyup(wpLink.keyup),h.submit.click(function(a){a.preventDefault(),wpLink.update()}),h.close.add(h.backdrop).add("#wp-link-cancel a").click(function(a){a.preventDefault(),wpLink.close()}),a("#wp-link-search-toggle").on("click",wpLink.toggleInternalLinking),i.elements.on("river-select",wpLink.updateFields),h.search.on("focus.wplink",function(){h.queryNoticeTextDefault.hide(),h.queryNoticeTextHint.removeClass("screen-reader-text").show()}).on("blur.wplink",function(){h.queryNoticeTextDefault.show(),h.queryNoticeTextHint.addClass("screen-reader-text").hide()}),h.search.keyup(function(){var a=this;window.clearTimeout(d),d=window.setTimeout(function(){wpLink.searchInternalLinks.call(a)},500)}),h.url.on("paste",function(){setTimeout(b,0)}),h.url.on("blur",b)},open:function(b){var d;a(document.body).addClass("modal-open"),wpLink.range=null,b&&(window.wpActiveEditor=b),window.wpActiveEditor&&(this.textarea=a("#"+window.wpActiveEditor).get(0),"undefined"!=typeof tinymce&&(d=tinymce.get(wpActiveEditor),c=d&&!d.isHidden()?d:null,c&&tinymce.isIE&&(c.windowManager.bookmark=c.selection.getBookmark())),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),h.wrap.show(),h.backdrop.show(),wpLink.refresh(),a(document).trigger("wplink-open",h.wrap))},isMCE:function(){return c&&!c.isHidden()},refresh:function(){var a="";i.search.refresh(),i.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():(h.wrap.hasClass("has-text-field")||h.wrap.addClass("has-text-field"),document.selection?a=document.selection.createRange().text||"":"undefined"!=typeof this.textarea.selectionStart&&this.textarea.selectionStart!==this.textarea.selectionEnd&&(a=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)||""),h.text.val(a),wpLink.setDefaultValues()),j?h.url.focus().blur():h.url.focus()[0].select(),i.recent.ul.children().length||i.recent.ajax(),g=h.url.val().replace(/^http:\/\//,"")},hasSelectedText:function(a){var b=c.selection.getContent();if(/</.test(b)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(b)||-1===b.indexOf("href=")))return!1;if(a){var d,e=a.childNodes;if(0===e.length)return!1;for(d=e.length-1;d>=0;d--)if(3!=e[d].nodeType)return!1}return!0},mceRefresh:function(){var a,b=c.selection.getNode(),d=c.dom.getParent(b,"a[href]"),e=this.hasSelectedText(d);d?(a=d.innerText||d.textContent,h.url.val(c.dom.getAttrib(d,"href")),h.openInNewTab.prop("checked","_blank"===c.dom.getAttrib(d,"target")),h.submit.val(wpLinkL10n.update)):(a=c.selection.getContent({format:"text"}),this.setDefaultValues()),e?(h.text.val(a||""),h.wrap.addClass("has-text-field")):(h.text.val(""),h.wrap.removeClass("has-text-field"))},close:function(){a(document.body).removeClass("modal-open"),wpLink.isMCE()?c.focus():(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select())),h.backdrop.hide(),h.wrap.hide(),g=!1,a(document).trigger("wplink-close",h.wrap)},getAttrs:function(){return{href:a.trim(h.url.val()),target:h.openInNewTab.prop("checked")?"_blank":""}},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f,g,i=wpLink.textarea;i&&(a=wpLink.getAttrs(),b=h.text.val(),a.href&&(c='<a href="'+a.href+'"',a.target&&(c+=' target="'+a.target+'"'),c+=">",document.selection&&wpLink.range?(i.focus(),wpLink.range.text=c+(b||wpLink.range.text)+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof i.selectionStart&&(d=i.selectionStart,e=i.selectionEnd,g=b||i.value.substring(d,e),c=c+g+"</a>",f=d+c.length,d!==e||g||(f-=4),i.value=i.value.substring(0,d)+c+i.value.substring(e,i.value.length),i.selectionStart=i.selectionEnd=f),wpLink.close(),i.focus()))},mceUpdate:function(){var a,d,e=wpLink.getAttrs();return wpLink.close(),c.focus(),tinymce.isIE&&c.selection.moveToBookmark(c.windowManager.bookmark),e.href?(a=b(),d=h.text.val(),void(a?(d&&("innerText"in a?a.innerText=d:a.textContent=d),c.dom.setAttribs(a,e)):d?c.selection.setNode(c.dom.create("a",e,d)):c.execCommand("mceInsertLink",!1,e))):void c.execCommand("unlink")},updateFields:function(a,b){h.url.val(b.children(".item-permalink").val())},setDefaultValues:function(){var a,b=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,d=/^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,4}[^ "]*$/i;this.isMCE()?a=c.selection.getContent():document.selection&&wpLink.range?a=wpLink.range.text:"undefined"!=typeof this.textarea.selectionStart&&(a=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)),h.url.val(a&&b.test(a)?"mailto:"+a:a&&d.test(a)?a.replace(/&amp;|&#0?38;/gi,"&"):""),h.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(i.recent.hide(),i.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").addClass("is-active"),i.search.change(d),i.search.ajax(function(){b.removeClass("is-active")})}else i.search.hide(),i.recent.show()},next:function(){i.search.next(),i.recent.next()},prev:function(){i.search.prev(),i.recent.prev()},keydown:function(b){var c,d,e=a.ui.keyCode;e.ESCAPE===b.keyCode?(wpLink.close(),b.stopImmediatePropagation()):e.TAB===b.keyCode&&(d=b.target.id,"wp-link-submit"!==d||b.shiftKey?"wp-link-close"===d&&b.shiftKey&&(h.submit.focus(),b.preventDefault()):(h.close.focus(),b.preventDefault())),(b.keyCode===e.UP||b.keyCode===e.DOWN)&&(!document.activeElement||"link-title-field"!==document.activeElement.id&&"url-field"!==document.activeElement.id)&&(c=b.keyCode===e.UP?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[c](),wpLink.keyInterval=setInterval(wpLink[c],wpLink.keySensitivity),b.preventDefault())},keyup:function(b){var c=a.ui.keyCode;(b.which===c.UP||b.which===c.DOWN)&&(clearInterval(wpLink.keyInterval),b.preventDefault())},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):void(c=!0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,void(d=!0))}):a},toggleInternalLinking:function(a){var b=h.wrap.hasClass("search-panel-visible");h.wrap.toggleClass("search-panel-visible",!b),setUserSetting("wplink",b?"0":"1"),h[b?"url":"search"].focus(),a.preventDefault()}},e=function(b,c){var d=this;this.element=b,this.ul=b.children("ul"),this.contentHeight=b.children("#link-selector-height"),this.waiting=b.find(".river-waiting"),this.change(c),this.refresh(),a("#wp-link .query-results, #wp-link #link-selector").scroll(function(){d.maybeLoad()}),b.on("click","li",function(b){d.select(a(this),b)})},a.extend(e.prototype,{refresh:function(){this.deselect(),this.visible=this.element.is(":visible")},show:function(){this.visible||(this.deselect(),this.element.show(),this.visible=!0)},hide:function(){this.element.hide(),this.visible=!1},select:function(a,b){var c,d,e,f;a.hasClass("unselectable")||a==this.selected||(this.deselect(),this.selected=a.addClass("selected"),c=a.outerHeight(),d=this.element.height(),e=a.position().top,f=this.element.scrollTop(),0>e?this.element.scrollTop(f+e):e+c>d&&this.element.scrollTop(f+e-d+c),this.element.trigger("river-select",[a,b,this]))},deselect:function(){this.selected&&this.selected.removeClass("selected"),this.selected=!1},prev:function(){if(this.visible){var a;this.selected&&(a=this.selected.prev("li"),a.length&&this.select(a))}},next:function(){if(this.visible){var b=this.selected?this.selected.next("li"):a("li:not(.unselectable):first",this.element);b.length&&this.select(b)}},ajax:function(a){var b=this,c=1==this.query.page?0:wpLink.minRiverAJAXDuration,d=wpLink.delayedCallback(function(c,d){b.process(c,d),a&&a(c,d)},c);this.query.ajax(d)},change:function(a){this.query&&this._search==a||(this._search=a,this.query=new f(a),this.element.scrollTop(0))},process:function(b,c){var d="",e=!0,f="",g=1==c.page;b?a.each(b,function(){f=e?"alternate":"",f+=this.title?"":" no-title",d+=f?'<li class="'+f+'">':"<li>",d+='<input type="hidden" class="item-permalink" value="'+this.permalink+'" />',d+='<span class="item-title">',d+=this.title?this.title:wpLinkL10n.noTitle,d+='</span><span class="item-info">'+this.info+"</span></li>",e=!e}):g&&(d+='<li class="unselectable no-matches-found"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"),this.ul[g?"html":"append"](d)},maybeLoad:function(){var a=this,b=this.element,c=b.scrollTop()+b.height();!this.query.ready()||c<this.contentHeight.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.contentHeight.height()-wpLink.riverBottomThreshold||(a.waiting.addClass("is-active"),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.removeClass("is-active")}))},wpLink.timeToTriggerRiver)}}),f=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(f.prototype,{ready:function(){return!(this.querying||this.allLoaded)},ajax:function(b){var c=this,d={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:h.nonce.val()};this.search&&(d.search=this.search),this.querying=!0,a.post(ajaxurl,d,function(a){c.page++,c.querying=!1,c.allLoaded=!a,b(a,d)},"json")}}),a(document).ready(wpLink.init)}(jQuery);
\ No newline at end of file
+var wpLink;!function(a){function b(){return c.dom.getParent(c.selection.getNode(),"a")}var c,d,e,f,g,h={},i={},j="ontouchend"in document;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){h.wrap=a("#wp-link-wrap"),h.dialog=a("#wp-link"),h.backdrop=a("#wp-link-backdrop"),h.submit=a("#wp-link-submit"),h.close=a("#wp-link-close"),h.text=a("#wp-link-text"),h.url=a("#wp-link-url"),h.nonce=a("#_ajax_linking_nonce"),h.openInNewTab=a("#wp-link-target"),h.search=a("#wp-link-search"),i.search=new e(a("#search-results")),i.recent=new e(a("#most-recent-results")),i.elements=h.dialog.find(".query-results"),h.queryNotice=a("#query-notice-message"),h.queryNoticeTextDefault=h.queryNotice.find(".query-notice-default"),h.queryNoticeTextHint=h.queryNotice.find(".query-notice-hint"),h.dialog.keydown(wpLink.keydown),h.dialog.keyup(wpLink.keyup),h.submit.click(function(a){a.preventDefault(),wpLink.update()}),h.close.add(h.backdrop).add("#wp-link-cancel a").click(function(a){a.preventDefault(),wpLink.close()}),a("#wp-link-search-toggle").on("click",wpLink.toggleInternalLinking),i.elements.on("river-select",wpLink.updateFields),h.search.on("focus.wplink",function(){h.queryNoticeTextDefault.hide(),h.queryNoticeTextHint.removeClass("screen-reader-text").show()}).on("blur.wplink",function(){h.queryNoticeTextDefault.show(),h.queryNoticeTextHint.addClass("screen-reader-text").hide()}),h.search.on("keyup input",function(){var a=this;window.clearTimeout(d),d=window.setTimeout(function(){wpLink.searchInternalLinks.call(a)},500)}),h.url.on("paste",function(){setTimeout(wpLink.correctURL,0)}),h.url.on("blur",wpLink.correctURL)},correctURL:function(){var b=a.trim(h.url.val());b&&g!==b&&!/^(?:[a-z]+:|#|\?|\.|\/)/.test(b)&&(h.url.val("http://"+b),g=b)},open:function(b){var d,e=a(document.body);e.addClass("modal-open"),wpLink.range=null,b&&(window.wpActiveEditor=b),window.wpActiveEditor&&(this.textarea=a("#"+window.wpActiveEditor).get(0),"undefined"!=typeof tinymce&&(e.append(h.backdrop,h.wrap),d=tinymce.get(wpActiveEditor),c=d&&!d.isHidden()?d:null,c&&tinymce.isIE&&(c.windowManager.bookmark=c.selection.getBookmark())),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),h.wrap.show(),h.backdrop.show(),wpLink.refresh(),a(document).trigger("wplink-open",h.wrap))},isMCE:function(){return c&&!c.isHidden()},refresh:function(){var a="";i.search.refresh(),i.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():(h.wrap.hasClass("has-text-field")||h.wrap.addClass("has-text-field"),document.selection?a=document.selection.createRange().text||"":"undefined"!=typeof this.textarea.selectionStart&&this.textarea.selectionStart!==this.textarea.selectionEnd&&(a=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)||""),h.text.val(a),wpLink.setDefaultValues()),j?h.url.focus().blur():h.url.focus()[0].select(),i.recent.ul.children().length||i.recent.ajax(),g=h.url.val().replace(/^http:\/\//,"")},hasSelectedText:function(a){var b=c.selection.getContent();if(/</.test(b)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(b)||-1===b.indexOf("href=")))return!1;if(a){var d,e=a.childNodes;if(0===e.length)return!1;for(d=e.length-1;d>=0;d--)if(3!=e[d].nodeType)return!1}return!0},mceRefresh:function(){var a,b=c.selection.getNode(),d=c.dom.getParent(b,"a[href]"),e=this.hasSelectedText(d);d?(a=d.innerText||d.textContent,h.url.val(c.dom.getAttrib(d,"href")),h.openInNewTab.prop("checked","_blank"===c.dom.getAttrib(d,"target")),h.submit.val(wpLinkL10n.update)):(a=c.selection.getContent({format:"text"}),this.setDefaultValues()),e?(h.text.val(a||""),h.wrap.addClass("has-text-field")):(h.text.val(""),h.wrap.removeClass("has-text-field"))},close:function(){a(document.body).removeClass("modal-open"),wpLink.isMCE()?c.focus():(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select())),h.backdrop.hide(),h.wrap.hide(),g=!1,a(document).trigger("wplink-close",h.wrap)},getAttrs:function(){return wpLink.correctURL(),{href:a.trim(h.url.val()),target:h.openInNewTab.prop("checked")?"_blank":""}},buildHtml:function(a){var b='<a href="'+a.href+'"';return a.target&&(b+=' target="'+a.target+'"'),b+">"},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f,g,i=wpLink.textarea;i&&(a=wpLink.getAttrs(),b=h.text.val(),a.href&&(c=wpLink.buildHtml(a),document.selection&&wpLink.range?(i.focus(),wpLink.range.text=c+(b||wpLink.range.text)+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof i.selectionStart&&(d=i.selectionStart,e=i.selectionEnd,g=b||i.value.substring(d,e),c=c+g+"</a>",f=d+c.length,d!==e||g||(f-=4),i.value=i.value.substring(0,d)+c+i.value.substring(e,i.value.length),i.selectionStart=i.selectionEnd=f),wpLink.close(),i.focus()))},mceUpdate:function(){var a,d,e=wpLink.getAttrs();return wpLink.close(),c.focus(),tinymce.isIE&&c.selection.moveToBookmark(c.windowManager.bookmark),e.href?(a=b(),h.wrap.hasClass("has-text-field")&&(d=h.text.val()||e.href),a?(d&&("innerText"in a?a.innerText=d:a.textContent=d),c.dom.setAttribs(a,e)):d?c.selection.setNode(c.dom.create("a",e,d)):c.execCommand("mceInsertLink",!1,e),void c.nodeChanged()):void c.execCommand("unlink")},updateFields:function(a,b){h.url.val(b.children(".item-permalink").val())},setDefaultValues:function(){var a,b=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,d=/^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,4}[^ "]*$/i;this.isMCE()?a=c.selection.getContent():document.selection&&wpLink.range?a=wpLink.range.text:"undefined"!=typeof this.textarea.selectionStart&&(a=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)),a&&b.test(a)?h.url.val("mailto:"+a):a&&d.test(a)?h.url.val(a.replace(/&amp;|&#0?38;/gi,"&")):h.url.val(""),h.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(i.recent.hide(),i.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").addClass("is-active"),i.search.change(d),i.search.ajax(function(){b.removeClass("is-active")})}else i.search.hide(),i.recent.show()},next:function(){i.search.next(),i.recent.next()},prev:function(){i.search.prev(),i.recent.prev()},keydown:function(b){var c,d,e=a.ui.keyCode;e.ESCAPE===b.keyCode?(wpLink.close(),b.stopImmediatePropagation()):e.TAB===b.keyCode&&(d=b.target.id,"wp-link-submit"!==d||b.shiftKey?"wp-link-close"===d&&b.shiftKey&&(h.submit.focus(),b.preventDefault()):(h.close.focus(),b.preventDefault())),(b.keyCode===e.UP||b.keyCode===e.DOWN)&&(!document.activeElement||"link-title-field"!==document.activeElement.id&&"url-field"!==document.activeElement.id)&&(c=b.keyCode===e.UP?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[c](),wpLink.keyInterval=setInterval(wpLink[c],wpLink.keySensitivity),b.preventDefault())},keyup:function(b){var c=a.ui.keyCode;(b.which===c.UP||b.which===c.DOWN)&&(clearInterval(wpLink.keyInterval),b.preventDefault())},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):void(c=!0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,void(d=!0))}):a},toggleInternalLinking:function(a){var b=h.wrap.hasClass("search-panel-visible");h.wrap.toggleClass("search-panel-visible",!b),setUserSetting("wplink",b?"0":"1"),h[b?"url":"search"].focus(),a.preventDefault()}},e=function(b,c){var d=this;this.element=b,this.ul=b.children("ul"),this.contentHeight=b.children("#link-selector-height"),this.waiting=b.find(".river-waiting"),this.change(c),this.refresh(),a("#wp-link .query-results, #wp-link #link-selector").scroll(function(){d.maybeLoad()}),b.on("click","li",function(b){d.select(a(this),b)})},a.extend(e.prototype,{refresh:function(){this.deselect(),this.visible=this.element.is(":visible")},show:function(){this.visible||(this.deselect(),this.element.show(),this.visible=!0)},hide:function(){this.element.hide(),this.visible=!1},select:function(a,b){var c,d,e,f;a.hasClass("unselectable")||a==this.selected||(this.deselect(),this.selected=a.addClass("selected"),c=a.outerHeight(),d=this.element.height(),e=a.position().top,f=this.element.scrollTop(),0>e?this.element.scrollTop(f+e):e+c>d&&this.element.scrollTop(f+e-d+c),this.element.trigger("river-select",[a,b,this]))},deselect:function(){this.selected&&this.selected.removeClass("selected"),this.selected=!1},prev:function(){if(this.visible){var a;this.selected&&(a=this.selected.prev("li"),a.length&&this.select(a))}},next:function(){if(this.visible){var b=this.selected?this.selected.next("li"):a("li:not(.unselectable):first",this.element);b.length&&this.select(b)}},ajax:function(a){var b=this,c=1==this.query.page?0:wpLink.minRiverAJAXDuration,d=wpLink.delayedCallback(function(c,d){b.process(c,d),a&&a(c,d)},c);this.query.ajax(d)},change:function(a){this.query&&this._search==a||(this._search=a,this.query=new f(a),this.element.scrollTop(0))},process:function(b,c){var d="",e=!0,f="",g=1==c.page;b?a.each(b,function(){f=e?"alternate":"",f+=this.title?"":" no-title",d+=f?'<li class="'+f+'">':"<li>",d+='<input type="hidden" class="item-permalink" value="'+this.permalink+'" />',d+='<span class="item-title">',d+=this.title?this.title:wpLinkL10n.noTitle,d+='</span><span class="item-info">'+this.info+"</span></li>",e=!e}):g&&(d+='<li class="unselectable no-matches-found"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"),this.ul[g?"html":"append"](d)},maybeLoad:function(){var a=this,b=this.element,c=b.scrollTop()+b.height();!this.query.ready()||c<this.contentHeight.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.contentHeight.height()-wpLink.riverBottomThreshold||(a.waiting.addClass("is-active"),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.removeClass("is-active")}))},wpLink.timeToTriggerRiver)}}),f=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(f.prototype,{ready:function(){return!(this.querying||this.allLoaded)},ajax:function(b){var c=this,d={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:h.nonce.val()};this.search&&(d.search=this.search),this.querying=!0,a.post(ajaxurl,d,function(a){c.page++,c.querying=!1,c.allLoaded=!a,b(a,d)},"json")}}),a(document).ready(wpLink.init)}(jQuery);
\ No newline at end of file
index 8733f53689108b622e44804b1870afceb16d9b01..578c5ba4ff69bfcd49f9bebe3bf2fe9056a6caf4 100644 (file)
@@ -513,15 +513,15 @@ if ( ! CUSTOM_TAGS ) {
  *
  * @since 1.0.0
  *
- * @param string $string Content to filter through kses
- * @param array $allowed_html List of allowed HTML elements
- * @param array $allowed_protocols Optional. Allowed protocol in links.
+ * @param string $string            Content to filter through kses
+ * @param array  $allowed_html      List of allowed HTML elements
+ * @param array  $allowed_protocols Optional. Allowed protocol in links.
  * @return string Filtered content with only allowed HTML elements
  */
 function wp_kses( $string, $allowed_html, $allowed_protocols = array() ) {
        if ( empty( $allowed_protocols ) )
                $allowed_protocols = wp_allowed_protocols();
-       $string = wp_kses_no_null($string);
+       $string = wp_kses_no_null( $string, array( 'slash_zero' => 'keep' ) );
        $string = wp_kses_js_entities($string);
        $string = wp_kses_normalize_entities($string);
        $string = wp_kses_hook($string, $allowed_html, $allowed_protocols); // WP changed the order of these funcs and added args to wp_kses_hook
@@ -546,8 +546,7 @@ function wp_kses_one_attr( $string, $element ) {
        $allowed_protocols = wp_allowed_protocols();
        $string = wp_kses_no_null( $string, array( 'slash_zero' => 'keep' ) );
        $string = wp_kses_js_entities( $string );
-       $string = wp_kses_normalize_entities( $string );
-
+       
        // Preserve leading and trailing whitespace.
        $matches = array();
        preg_match('/^\s*/', $string, $matches);
@@ -582,8 +581,8 @@ function wp_kses_one_attr( $string, $element ) {
                        $quote = '"';
                }
 
-               // Sanitize quotes and angle braces.
-               $value = htmlspecialchars( $value, ENT_QUOTES, null, false );
+               // Sanitize quotes, angle braces, and entities.
+               $value = esc_attr( $value );
 
                // Sanitize URI values.
                if ( in_array( strtolower( $name ), $uris ) ) {
@@ -609,8 +608,13 @@ function wp_kses_one_attr( $string, $element ) {
  *
  * @since 3.5.0
  *
- * @param string $context The context for which to retrieve tags. Allowed values are
- *  post | strip | data | entities or the name of a field filter such as pre_user_description.
+ * @global array $allowedposttags
+ * @global array $allowedtags
+ * @global array $allowedentitynames
+ *
+ * @param string $context The context for which to retrieve tags.
+ *                        Allowed values are post, strip, data,entities, or
+ *                        the name of a field filter such as pre_user_description.
  * @return array List of allowed tags and their allowed attributes.
  */
 function wp_kses_allowed_html( $context = '' ) {
@@ -664,9 +668,9 @@ function wp_kses_allowed_html( $context = '' ) {
  *
  * @since 1.0.0
  *
- * @param string $string Content to filter through kses
- * @param array $allowed_html List of allowed HTML elements
- * @param array $allowed_protocols Allowed protocol in links
+ * @param string $string            Content to filter through kses
+ * @param array  $allowed_html      List of allowed HTML elements
+ * @param array  $allowed_protocols Allowed protocol in links
  * @return string Filtered content through 'pre_kses' hook
  */
 function wp_kses_hook( $string, $allowed_html, $allowed_protocols ) {
@@ -679,8 +683,7 @@ function wp_kses_hook( $string, $allowed_html, $allowed_protocols ) {
         * @param array  $allowed_html      Allowed HTML elements.
         * @param array  $allowed_protocols Allowed protocol in links.
         */
-       $string = apply_filters( 'pre_kses', $string, $allowed_html, $allowed_protocols );
-       return $string;
+       return apply_filters( 'pre_kses', $string, $allowed_html, $allowed_protocols );
 }
 
 /**
@@ -701,9 +704,12 @@ function wp_kses_version() {
  *
  * @since 1.0.0
  *
- * @param string $string Content to filter
- * @param array $allowed_html Allowed HTML elements
- * @param array $allowed_protocols Allowed protocols to keep
+ * @global array $pass_allowed_html
+ * @global array $pass_allowed_protocols
+ *
+ * @param string $string            Content to filter
+ * @param array  $allowed_html      Allowed HTML elements
+ * @param array  $allowed_protocols Allowed protocols to keep
  * @return string Content with fixed HTML tags
  */
 function wp_kses_split( $string, $allowed_html, $allowed_protocols ) {
@@ -718,6 +724,11 @@ function wp_kses_split( $string, $allowed_html, $allowed_protocols ) {
  *
  * @since 3.1.0
  * @access private
+ *
+ * @global array $pass_allowed_html
+ * @global array $pass_allowed_protocols
+ *
+ * @return string
  */
 function _wp_kses_split_callback( $match ) {
        global $pass_allowed_html, $pass_allowed_protocols;
@@ -739,9 +750,9 @@ function _wp_kses_split_callback( $match ) {
  * @access private
  * @since 1.0.0
  *
- * @param string $string Content to filter
- * @param array $allowed_html Allowed HTML elements
- * @param array $allowed_protocols Allowed protocols to keep
+ * @param string $string            Content to filter
+ * @param array  $allowed_html      Allowed HTML elements
+ * @param array  $allowed_protocols Allowed protocols to keep
  * @return string Fixed HTML element
  */
 function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
@@ -798,18 +809,17 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
  *
  * @since 1.0.0
  *
- * @param string $element HTML element/tag
- * @param string $attr HTML attributes from HTML element to closing HTML element tag
- * @param array $allowed_html Allowed HTML elements
- * @param array $allowed_protocols Allowed protocols to keep
+ * @param string $element           HTML element/tag
+ * @param string $attr              HTML attributes from HTML element to closing HTML element tag
+ * @param array  $allowed_html      Allowed HTML elements
+ * @param array  $allowed_protocols Allowed protocols to keep
  * @return string Sanitized HTML element
  */
 function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
-       // Is there a closing XHTML slash at the end of the attributes?
-
        if ( ! is_array( $allowed_html ) )
                $allowed_html = wp_kses_allowed_html( $allowed_html );
 
+       // Is there a closing XHTML slash at the end of the attributes?
        $xhtml_slash = '';
        if (preg_match('%\s*/\s*$%', $attr))
                $xhtml_slash = ' /';
@@ -896,8 +906,8 @@ function wp_kses_attr_check( &$name, &$value, &$whole, $vless, $element, $allowe
  *
  * @since 1.0.0
  *
- * @param string $attr Attribute list from HTML element to closing HTML element tag
- * @param array $allowed_protocols Allowed protocols to keep
+ * @param string $attr              Attribute list from HTML element to closing HTML element tag
+ * @param array  $allowed_protocols Allowed protocols to keep
  * @return array List of attributes after parsing
  */
 function wp_kses_hair($attr, $allowed_protocols) {
@@ -1123,10 +1133,10 @@ function wp_kses_hair_parse( $attr ) {
  *
  * @since 1.0.0
  *
- * @param string $value Attribute value
- * @param string $vless Whether the value is valueless. Use 'y' or 'n'
- * @param string $checkname What $checkvalue is checking for.
- * @param mixed $checkvalue What constraint the value should pass
+ * @param string $value      Attribute value
+ * @param string $vless      Whether the value is valueless. Use 'y' or 'n'
+ * @param string $checkname  What $checkvalue is checking for.
+ * @param mixed  $checkvalue What constraint the value should pass
  * @return bool Whether check passes
  */
 function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
@@ -1197,8 +1207,8 @@ function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
  *
  * @since 1.0.0
  *
- * @param string $string Content to filter bad protocols from
- * @param array $allowed_protocols Allowed protocols to keep
+ * @param string $string            Content to filter bad protocols from
+ * @param array  $allowed_protocols Allowed protocols to keep
  * @return string Filtered content
  */
 function wp_kses_bad_protocol($string, $allowed_protocols) {
@@ -1224,11 +1234,18 @@ function wp_kses_bad_protocol($string, $allowed_protocols) {
  * @since 1.0.0
  *
  * @param string $string
+ * @param array $options Set 'slash_zero' => 'keep' when '\0' is allowed. Default is 'remove'.
  * @return string
  */
-function wp_kses_no_null($string) {
-       $string = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F]/', '', $string);
-       $string = preg_replace('/(\\\\0)+/', '', $string);
+function wp_kses_no_null( $string, $options = null ) {
+       if ( ! isset( $options['slash_zero'] ) ) {
+               $options = array( 'slash_zero' => 'remove' );
+       }
+
+       $string = preg_replace( '/[\x00-\x08\x0B\x0C\x0E-\x1F]/', '', $string );
+       if ( 'remove' == $options['slash_zero'] ) {
+               $string = preg_replace( '/\\\\+0+/', '', $string );
+       }
 
        return $string;
 }
@@ -1308,7 +1325,7 @@ function wp_kses_html_error($string) {
  *
  * @since 1.0.0
  *
- * @param string $string Content to check for bad protocols
+ * @param string $string            Content to check for bad protocols
  * @param string $allowed_protocols Allowed protocols
  * @return string Sanitized content
  */
@@ -1339,7 +1356,7 @@ function wp_kses_bad_protocol_once($string, $allowed_protocols, $count = 1 ) {
  * @access private
  * @since 1.0.0
  *
- * @param string $string URI scheme to check against the whitelist
+ * @param string $string            URI scheme to check against the whitelist
  * @param string $allowed_protocols Allowed protocols
  * @return string Sanitized content
  */
@@ -1375,11 +1392,9 @@ function wp_kses_bad_protocol_once2( $string, $allowed_protocols ) {
  */
 function wp_kses_normalize_entities($string) {
        // Disarm all entities by converting & to &amp;
-
        $string = str_replace('&', '&amp;', $string);
 
        // Change back the allowed entities in our entity whitelist
-
        $string = preg_replace_callback('/&amp;([A-Za-z]{2,8}[0-9]{0,2});/', 'wp_kses_named_entities', $string);
        $string = preg_replace_callback('/&amp;#(0*[0-9]{1,7});/', 'wp_kses_normalize_entities2', $string);
        $string = preg_replace_callback('/&amp;#[Xx](0*[0-9A-Fa-f]{1,6});/', 'wp_kses_normalize_entities3', $string);
@@ -1395,6 +1410,8 @@ function wp_kses_normalize_entities($string) {
  *
  * @since 3.0.0
  *
+ * @global array $allowedentitynames
+ *
  * @param array $matches preg_replace_callback() matches array
  * @return string Correctly encoded entity
  */
@@ -1405,7 +1422,7 @@ function wp_kses_named_entities($matches) {
                return '';
 
        $i = $matches[1];
-       return ( ( ! in_array($i, $allowedentitynames) ) ? "&amp;$i;" : "&$i;" );
+       return ( ! in_array( $i, $allowedentitynames ) ) ? "&amp;$i;" : "&$i;";
 }
 
 /**
@@ -1451,7 +1468,7 @@ function wp_kses_normalize_entities3($matches) {
                return '';
 
        $hexchars = $matches[1];
-       return ( ( ! valid_unicode(hexdec($hexchars)) ) ? "&amp;#x$hexchars;" : '&#x'.ltrim($hexchars,'0').';' );
+       return ( ! valid_unicode( hexdec( $hexchars ) ) ) ? "&amp;#x$hexchars;" : '&#x'.ltrim($hexchars,'0').';';
 }
 
 /**
@@ -1527,7 +1544,7 @@ function wp_filter_kses( $data ) {
  * @return string Filtered content
  */
 function wp_kses_data( $data ) {
-       return wp_kses( $data , current_filter() );
+       return wp_kses( $data, current_filter() );
 }
 
 /**
@@ -1541,8 +1558,8 @@ function wp_kses_data( $data ) {
  * @param string $data Post content to filter, expected to be escaped with slashes
  * @return string Filtered post content with allowed HTML tags and attributes intact.
  */
-function wp_filter_post_kses($data) {
-       return addslashes ( wp_kses( stripslashes( $data ), 'post' ) );
+function wp_filter_post_kses( $data ) {
+       return addslashes( wp_kses( stripslashes( $data ), 'post' ) );
 }
 
 /**
@@ -1556,8 +1573,8 @@ function wp_filter_post_kses($data) {
  * @param string $data Post content to filter
  * @return string Filtered post content with allowed HTML tags and attributes intact.
  */
-function wp_kses_post($data) {
-       return wp_kses( $data , 'post' );
+function wp_kses_post( $data ) {
+       return wp_kses( $data, 'post' );
 }
 
 /**
@@ -1569,7 +1586,7 @@ function wp_kses_post($data) {
  * @return string Filtered content without any HTML
  */
 function wp_filter_nohtml_kses( $data ) {
-       return addslashes ( wp_kses( stripslashes( $data ), 'strip' ) );
+       return addslashes( wp_kses( stripslashes( $data ), 'strip' ) );
 }
 
 /**
@@ -1641,8 +1658,9 @@ function kses_remove_filters() {
 function kses_init() {
        kses_remove_filters();
 
-       if (current_user_can('unfiltered_html') == false)
+       if ( ! current_user_can( 'unfiltered_html' ) ) {
                kses_init_filters();
+       }
 }
 
 /**
index 339602b1e8148b958e28a291653d3420416fdf5e..7caf8790594c9a07913d876f91c8a4b82b69954c 100644 (file)
@@ -21,6 +21,9 @@
  *
  * @since 1.5.0
  *
+ * @global string $locale
+ * @global string $wp_local_package
+ *
  * @return string The locale of the blog or from the 'locale' hook.
  */
 function get_locale() {
@@ -113,7 +116,7 @@ function translate( $text, $domain = 'default' ) {
  */
 function before_last_bar( $string ) {
        $last_bar = strrpos( $string, '|' );
-       if ( false == $last_bar )
+       if ( false === $last_bar )
                return $string;
        else
                return substr( $string, 0, $last_bar );
@@ -431,6 +434,8 @@ function translate_nooped_plural( $nooped_plural, $count, $domain = 'default' )
  *
  * @since 1.5.0
  *
+ * @global array $l10n
+ *
  * @param string $domain Text domain. Unique identifier for retrieving translated strings.
  * @param string $mofile Path to the .mo file.
  * @return bool True on success, false on failure.
@@ -491,6 +496,8 @@ function load_textdomain( $domain, $mofile ) {
  *
  * @since 3.0.0
  *
+ * @global array $l10n
+ *
  * @param string $domain Text domain. Unique identifier for retrieving translated strings.
  * @return bool Whether textdomain was unloaded.
  */
@@ -704,6 +711,8 @@ function load_child_theme_textdomain( $domain, $path = false ) {
  *
  * @since 2.8.0
  *
+ * @global array $l10n
+ *
  * @param string $domain Text domain. Unique identifier for retrieving translated strings.
  * @return NOOP_Translations A Translations instance.
  */
@@ -720,6 +729,8 @@ function get_translations_for_domain( $domain ) {
  *
  * @since 3.0.0
  *
+ * @global array $l10n
+ *
  * @param string $domain Text domain. Unique identifier for retrieving translated strings.
  * @return bool Whether there are translations.
  */
@@ -813,7 +824,7 @@ function wp_get_installed_translations( $type ) {
                if ( substr( $file, -3 ) !== '.po' ) {
                        continue;
                }
-               if ( ! preg_match( '/(?:(.+)-)?([A-Za-z_]{2,6}).po/', $file, $match ) ) {
+               if ( ! preg_match( '/(?:(.+)-)?([a-z]{2,3}(?:_[A-Z]{2})?(?:_[a-z0-9]+)?).po/', $file, $match ) ) {
                        continue;
                }
                if ( ! in_array( substr( $file, 0, -3 ) . '.mo', $files ) )  {
@@ -855,6 +866,7 @@ function wp_get_pomo_file_data( $po_file ) {
  * Language selector.
  *
  * @since 4.0.0
+ * @since 4.3.0 Introduced the `echo` argument.
  *
  * @see get_available_languages()
  * @see wp_get_available_translations()
@@ -862,15 +874,18 @@ function wp_get_pomo_file_data( $po_file ) {
  * @param string|array $args {
  *     Optional. Array or string of arguments for outputting the language selector.
  *
- *     @type string  $id                           ID attribute of the select element. Default empty.
- *     @type string  $name                         Name attribute of the select element. Default empty.
- *     @type array   $languages                    List of installed languages, contain only the locales.
- *                                                 Default empty array.
- *     @type array   $translations                 List of available translations. Default result of
- *                                                 {@see wp_get_available_translations()}.
- *     @type string  $selected                     Language which should be selected. Default empty.
- *     @type bool    $show_available_translations  Whether to show available translations. Default true.
+ *     @type string   $id                           ID attribute of the select element. Default empty.
+ *     @type string   $name                         Name attribute of the select element. Default empty.
+ *     @type array    $languages                    List of installed languages, contain only the locales.
+ *                                                  Default empty array.
+ *     @type array    $translations                 List of available translations. Default result of
+ *                                                  wp_get_available_translations().
+ *     @type string   $selected                     Language which should be selected. Default empty.
+ *     @type bool|int $echo                         Whether to echo or return the generated markup. Accepts 0, 1, or their
+ *                                                  bool equivalents. Default 1.
+ *     @type bool     $show_available_translations  Whether to show available translations. Default true.
  * }
+ * @return string HTML content only if 'echo' argument is 0.
  */
 function wp_dropdown_languages( $args = array() ) {
 
@@ -880,6 +895,7 @@ function wp_dropdown_languages( $args = array() ) {
                'languages'    => array(),
                'translations' => array(),
                'selected'     => '',
+               'echo'         => 1,
                'show_available_translations' => true,
        ) );
 
@@ -916,7 +932,7 @@ function wp_dropdown_languages( $args = array() ) {
 
        $translations_available = ( ! empty( $translations ) && $args['show_available_translations'] );
 
-       printf( '<select name="%s" id="%s">', esc_attr( $args['name'] ), esc_attr( $args['id'] ) );
+       $output = sprintf( '<select name="%s" id="%s">', esc_attr( $args['name'] ), esc_attr( $args['id'] ) );
 
        // Holds the HTML markup.
        $structure = array();
@@ -954,7 +970,13 @@ function wp_dropdown_languages( $args = array() ) {
                $structure[] = '</optgroup>';
        }
 
-       echo join( "\n", $structure );
+       $output .= join( "\n", $structure );
+
+       $output .= '</select>';
+
+       if ( $args['echo'] ) {
+               echo $output;
+       }
 
-       echo '</select>';
+       return $output;
 }
index 58b722cbad6d919a422b62d1623690fb3a127472..0929004e1666ebcb31b1ca65ec2092b6d385d640 100644 (file)
@@ -31,7 +31,7 @@ function the_permalink() {
  * blog is not set to have them.
  *
  * @since 2.2.0
- * @uses $wp_rewrite
+ * @global WP_Rewrite $wp_rewrite
  *
  * @param string $string URL with or without a trailing slash.
  * @param string $type_of_url The type of URL being considered (e.g. single, category, etc) for use in the filter.
@@ -55,8 +55,7 @@ function user_trailingslashit($string, $type_of_url = '') {
         *                            'single_feed', 'single_paged', 'feed', 'category', 'page', 'year',
         *                            'month', 'day', 'paged', 'post_type_archive'.
         */
-       $string = apply_filters( 'user_trailingslashit', $string, $type_of_url );
-       return $string;
+       return apply_filters( 'user_trailingslashit', $string, $type_of_url );
 }
 
 /**
@@ -94,7 +93,7 @@ function permalink_anchor( $mode = 'id' ) {
  *
  * @param int|WP_Post $id        Optional. Post ID or post object. Default is the current post.
  * @param bool        $leavename Optional. Whether to keep post name or page name. Default false.
- * @return string|bool The permalink URL or false if post does not exist.
+ * @return string|false The permalink URL or false if post does not exist.
  */
 function get_the_permalink( $id = 0, $leavename = false ) {
        return get_permalink( $id, $leavename );
@@ -107,7 +106,7 @@ function get_the_permalink( $id = 0, $leavename = false ) {
  *
  * @param int|WP_Post $id        Optional. Post ID or post object. Default current post.
  * @param bool        $leavename Optional. Whether to keep post name or page name. Default false.
- * @return string|bool The permalink URL or false if post does not exist.
+ * @return string|false The permalink URL or false if post does not exist.
  */
 function get_permalink( $id = 0, $leavename = false ) {
        $rewritecode = array(
@@ -236,10 +235,12 @@ function get_permalink( $id = 0, $leavename = false ) {
  *
  * @since 3.0.0
  *
- * @param int $id Optional. Post ID.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param int $id         Optional. Post ID.
  * @param bool $leavename Optional, defaults to false. Whether to keep post name.
- * @param bool $sample Optional, defaults to false. Is it a sample permalink.
- * @return string The post permalink.
+ * @param bool $sample    Optional, defaults to false. Is it a sample permalink.
+ * @return string|WP_Error The post permalink.
  */
 function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {
        global $wp_rewrite;
@@ -292,9 +293,9 @@ function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {
  *
  * @since 1.0.0
  *
- * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
- * @param mixed $deprecated Not used.
- * @return string
+ * @param int|WP_Post $post_id    Optional. Post ID or WP_Post object. Default is global $post.
+ * @param mixed       $deprecated Not used.
+ * @return string|false
  */
 function post_permalink( $post_id = 0, $deprecated = '' ) {
        if ( !empty( $deprecated ) )
@@ -310,9 +311,9 @@ function post_permalink( $post_id = 0, $deprecated = '' ) {
  *
  * @since 1.5.0
  *
- * @param int|object $post Optional. Post ID or object.
- * @param bool $leavename Optional, defaults to false. Whether to keep page name.
- * @param bool $sample Optional, defaults to false. Is it a sample permalink.
+ * @param int|object $post      Optional. Post ID or object.
+ * @param bool       $leavename Optional, defaults to false. Whether to keep page name.
+ * @param bool       $sample    Optional, defaults to false. Is it a sample permalink.
  * @return string The page permalink.
  */
 function get_page_link( $post = false, $leavename = false, $sample = false ) {
@@ -343,9 +344,11 @@ function get_page_link( $post = false, $leavename = false, $sample = false ) {
  * @since 2.1.0
  * @access private
  *
- * @param int|object $post Optional. Post ID or object.
- * @param bool $leavename Optional. Leave name.
- * @param bool $sample Optional. Sample permalink.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param int|object $post      Optional. Post ID or object.
+ * @param bool       $leavename Optional. Leave name.
+ * @param bool       $sample    Optional. Sample permalink.
  * @return string The page permalink.
  */
 function _get_page_link( $post = false, $leavename = false, $sample = false ) {
@@ -386,8 +389,10 @@ function _get_page_link( $post = false, $leavename = false, $sample = false ) {
  *
  * @since 2.0.0
  *
- * @param int|object $post Optional. Post ID or object.
- * @param bool $leavename Optional. Leave name.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param int|object $post      Optional. Post ID or object.
+ * @param bool       $leavename Optional. Leave name.
  * @return string The attachment permalink.
  */
 function get_attachment_link( $post = null, $leavename = false ) {
@@ -435,6 +440,8 @@ function get_attachment_link( $post = null, $leavename = false ) {
  *
  * @since 1.5.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param int|bool $year False for current year or year for permalink.
  * @return string The permalink for the specified year archive.
  */
@@ -466,7 +473,9 @@ function get_year_link($year) {
  *
  * @since 1.0.0
  *
- * @param bool|int $year False for current year. Integer of year.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param bool|int $year  False for current year. Integer of year.
  * @param bool|int $month False for current month. Integer of month.
  * @return string The permalink for the specified month and year archive.
  */
@@ -502,9 +511,11 @@ function get_month_link($year, $month) {
  *
  * @since 1.0.0
  *
- * @param bool|int $year False for current year. Integer of year.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param bool|int $year  False for current year. Integer of year.
  * @param bool|int $month False for current month. Integer of month.
- * @param bool|int $day False for current day. Integer of day.
+ * @param bool|int $day   False for current day. Integer of day.
  * @return string The permalink for the specified day, month, and year archive.
  */
 function get_day_link($year, $month, $day) {
@@ -545,7 +556,7 @@ function get_day_link($year, $month, $day) {
  * @since 3.0.0
  *
  * @param string $anchor The link's anchor text.
- * @param string $feed Optional, defaults to default feed. Feed type.
+ * @param string $feed   Optional, defaults to default feed. Feed type.
  */
 function the_feed_link( $anchor, $feed = '' ) {
        $link = '<a href="' . esc_url( get_feed_link( $feed ) ) . '">' . $anchor . '</a>';
@@ -567,6 +578,8 @@ function the_feed_link( $anchor, $feed = '' ) {
  *
  * @since 1.5.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string $feed Optional, defaults to default feed. Feed type.
  * @return string The feed permalink.
  */
@@ -612,8 +625,8 @@ function get_feed_link($feed = '') {
  *
  * @since 2.2.0
  *
- * @param int $post_id Optional. Post ID.
- * @param string $feed Optional. Feed type.
+ * @param int    $post_id Optional. Post ID.
+ * @param string $feed    Optional. Feed type.
  * @return string The permalink for the comments feed for the given post.
  */
 function get_post_comments_feed_link($post_id = 0, $feed = '') {
@@ -663,9 +676,8 @@ function get_post_comments_feed_link($post_id = 0, $feed = '') {
  * @since 2.5.0
  *
  * @param string $link_text Descriptive text.
- * @param int $post_id Optional post ID. Default to current post.
- * @param string $feed Optional. Feed format.
- * @return string Link to the comment feed for the current post.
+ * @param int    $post_id   Optional post ID. Default to current post.
+ * @param string $feed      Optional. Feed format.
 */
 function post_comments_feed_link( $link_text = '', $post_id = '', $feed = '' ) {
        $url = esc_url( get_post_comments_feed_link( $post_id, $feed ) );
@@ -692,8 +704,8 @@ function post_comments_feed_link( $link_text = '', $post_id = '', $feed = '' ) {
  *
  * @since 2.5.0
  *
- * @param int $author_id ID of an author.
- * @param string $feed Optional. Feed type.
+ * @param int    $author_id ID of an author.
+ * @param string $feed      Optional. Feed type.
  * @return string Link to the feed for the author specified by $author_id.
 */
 function get_author_feed_link( $author_id, $feed = '' ) {
@@ -736,12 +748,12 @@ function get_author_feed_link( $author_id, $feed = '' ) {
  *
  * @since 2.5.0
  *
- * @param int $cat_id ID of a category.
- * @param string $feed Optional. Feed type.
+ * @param int    $cat_id ID of a category.
+ * @param string $feed   Optional. Feed type.
  * @return string Link to the feed for the category specified by $cat_id.
 */
-function get_category_feed_link($cat_id, $feed = '') {
-       return get_term_feed_link($cat_id, 'category', $feed);
+function get_category_feed_link( $cat_id, $feed = '' ) {
+       return get_term_feed_link( $cat_id, 'category', $feed );
 }
 
 /**
@@ -752,10 +764,10 @@ function get_category_feed_link($cat_id, $feed = '') {
  *
  * @since 3.0.0
  *
- * @param int $term_id ID of a category.
+ * @param int    $term_id  ID of a category.
  * @param string $taxonomy Optional. Taxonomy of $term_id
- * @param string $feed Optional. Feed type.
- * @return string Link to the feed for the term specified by $term_id and $taxonomy.
+ * @param string $feed     Optional. Feed type.
+ * @return string|false Link to the feed for the term specified by $term_id and $taxonomy.
 */
 function get_term_feed_link( $term_id, $taxonomy = 'category', $feed = '' ) {
        $term_id = ( int ) $term_id;
@@ -831,12 +843,12 @@ function get_term_feed_link( $term_id, $taxonomy = 'category', $feed = '' ) {
  *
  * @since 2.3.0
  *
- * @param int $tag_id Tag ID.
- * @param string $feed Optional. Feed type.
+ * @param int    $tag_id Tag ID.
+ * @param string $feed   Optional. Feed type.
  * @return string The feed permalink for the given tag.
  */
-function get_tag_feed_link($tag_id, $feed = '') {
-       return get_term_feed_link($tag_id, 'post_tag', $feed);
+function get_tag_feed_link( $tag_id, $feed = '' ) {
+       return get_term_feed_link( $tag_id, 'post_tag', $feed );
 }
 
 /**
@@ -844,7 +856,7 @@ function get_tag_feed_link($tag_id, $feed = '') {
  *
  * @since 2.7.0
  *
- * @param int $tag_id Tag ID
+ * @param int    $tag_id   Tag ID
  * @param string $taxonomy Taxonomy
  * @return string The edit tag link URL for the given tag.
  */
@@ -864,11 +876,10 @@ function get_edit_tag_link( $tag_id, $taxonomy = 'post_tag' ) {
  *
  * @since 2.7.0
  *
- * @param string $link Optional. Anchor text.
+ * @param string $link   Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
- * @param string $after Optional. Display after edit link.
- * @param object $tag Tag object.
- * @return string HTML content.
+ * @param string $after  Optional. Display after edit link.
+ * @param object $tag    Tag object.
  */
 function edit_tag_link( $link = '', $before = '', $after = '', $tag = null ) {
        $link = edit_term_link( $link, '', '', $tag, false );
@@ -892,14 +903,18 @@ function edit_tag_link( $link = '', $before = '', $after = '', $tag = null ) {
  * @param string $taxonomy    Taxonomy.
  * @param string $object_type The object type. Used to highlight the proper post type menu on the linked page.
  *                            Defaults to the first object_type associated with the taxonomy.
- * @return string The edit term link URL for the given term.
+ * @return string|null The edit term link URL for the given term, or null on failure.
  */
 function get_edit_term_link( $term_id, $taxonomy, $object_type = '' ) {
        $tax = get_taxonomy( $taxonomy );
-       if ( !current_user_can( $tax->cap->edit_terms ) )
+       if ( ! $tax || ! current_user_can( $tax->cap->edit_terms ) ) {
                return;
+       }
 
        $term = get_term( $term_id, $taxonomy );
+       if ( ! $term || is_wp_error( $term ) ) {
+               return;
+       }
 
        $args = array(
                'action' => 'edit',
@@ -909,7 +924,7 @@ function get_edit_term_link( $term_id, $taxonomy, $object_type = '' ) {
 
        if ( $object_type ) {
                $args['post_type'] = $object_type;
-       } else if ( ! empty( $tax->object_type ) ) {
+       } elseif ( ! empty( $tax->object_type ) ) {
                $args['post_type'] = reset( $tax->object_type );
        }
 
@@ -933,11 +948,12 @@ function get_edit_term_link( $term_id, $taxonomy, $object_type = '' ) {
  *
  * @since 3.1.0
  *
- * @param string $link Optional. Anchor text.
- * @param string $before Optional. Display before edit link.
- * @param string $after Optional. Display after edit link.
- * @param object $term Term object.
- * @return string HTML content.
+ * @param string $link   Optional. Anchor text. Default empty.
+ * @param string $before Optional. Display before edit link. Default empty.
+ * @param string $after  Optional. Display after edit link. Default empty.
+ * @param object $term   Optional. Term object. If null, the queried object will be inspected. Default null.
+ * @param bool   $echo   Optional. Whether or not to echo the return. Default true.
+ * @return string|void HTML content.
  */
 function edit_term_link( $link = '', $before = '', $after = '', $term = null, $echo = true ) {
        if ( is_null( $term ) )
@@ -976,6 +992,8 @@ function edit_term_link( $link = '', $before = '', $after = '', $term = null, $e
  *
  * @since  3.0.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string $query Optional. The query string to use. If empty the current query is used.
  * @return string The search permalink.
  */
@@ -1014,8 +1032,10 @@ function get_search_link( $query = '' ) {
  *
  * @since 2.5.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string $search_query Optional. Search query.
- * @param string $feed Optional. Feed type.
+ * @param string $feed         Optional. Feed type.
  * @return string The search results feed permalink.
  */
 function get_search_feed_link($search_query = '', $feed = '') {
@@ -1043,9 +1063,7 @@ function get_search_feed_link($search_query = '', $feed = '') {
         * @param string $feed Feed type.
         * @param string $type The search type. One of 'posts' or 'comments'.
         */
-       $link = apply_filters( 'search_feed_link', $link, $feed, 'posts' );
-
-       return $link;
+       return apply_filters( 'search_feed_link', $link, $feed, 'posts' );
 }
 
 /**
@@ -1053,8 +1071,10 @@ function get_search_feed_link($search_query = '', $feed = '') {
  *
  * @since 2.5.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string $search_query Optional. Search query.
- * @param string $feed Optional. Feed type.
+ * @param string $feed         Optional. Feed type.
  * @return string The comments feed search results permalink.
  */
 function get_search_comments_feed_link($search_query = '', $feed = '') {
@@ -1073,9 +1093,7 @@ function get_search_comments_feed_link($search_query = '', $feed = '') {
                $link = add_query_arg('withcomments', 1, $link);
 
        /** This filter is documented in wp-includes/link-template.php */
-       $link = apply_filters('search_feed_link', $link, $feed, 'comments');
-
-       return $link;
+       return apply_filters( 'search_feed_link', $link, $feed, 'comments' );
 }
 
 /**
@@ -1083,8 +1101,10 @@ function get_search_comments_feed_link($search_query = '', $feed = '') {
  *
  * @since 3.1.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string $post_type Post type
- * @return string The post type archive permalink.
+ * @return string|false The post type archive permalink.
  */
 function get_post_type_archive_link( $post_type ) {
        global $wp_rewrite;
@@ -1122,8 +1142,8 @@ function get_post_type_archive_link( $post_type ) {
  * @since 3.1.0
  *
  * @param string $post_type Post type
- * @param string $feed Optional. Feed type
- * @return string The post type feed permalink.
+ * @param string $feed      Optional. Feed type
+ * @return string|false The post type feed permalink.
  */
 function get_post_type_archive_feed_link( $post_type, $feed = '' ) {
        $default_feed = get_default_feed();
@@ -1162,9 +1182,9 @@ function get_post_type_archive_feed_link( $post_type, $feed = '' ) {
  *
  * @since 2.3.0
  *
- * @param int $id Optional. Post ID.
+ * @param int    $id      Optional. Post ID.
  * @param string $context Optional, defaults to display. How to write the '&', defaults to '&amp;'.
- * @return string The edit post link for the given post.
+ * @return string|void The edit post link for the given post.
  */
 function get_edit_post_link( $id = 0, $context = 'display' ) {
        if ( ! $post = get_post( $id ) )
@@ -1202,10 +1222,10 @@ function get_edit_post_link( $id = 0, $context = 'display' ) {
  *
  * @since 1.0.0
  *
- * @param string $text Optional. Anchor text.
+ * @param string $text   Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
- * @param string $after Optional. Display after edit link.
- * @param int $id Optional. Post ID.
+ * @param string $after  Optional. Display after edit link.
+ * @param int    $id     Optional. Post ID.
  */
 function edit_post_link( $text = null, $before = '', $after = '', $id = 0 ) {
        if ( ! $post = get_post( $id ) ) {
@@ -1241,10 +1261,10 @@ function edit_post_link( $text = null, $before = '', $after = '', $id = 0 ) {
  *
  * @since 2.9.0
  *
- * @param int $id Optional. Post ID.
- * @param string $deprecated Not used.
- * @param bool $force_delete Whether to bypass trash and force deletion. Default is false.
- * @return string The delete post link URL for the given post.
+ * @param int    $id           Optional. Post ID.
+ * @param string $deprecated   Not used.
+ * @param bool   $force_delete Whether to bypass trash and force deletion. Default is false.
+ * @return string|void The delete post link URL for the given post.
  */
 function get_delete_post_link( $id = 0, $deprecated = '', $force_delete = false ) {
        if ( ! empty( $deprecated ) )
@@ -1282,7 +1302,7 @@ function get_delete_post_link( $id = 0, $deprecated = '', $force_delete = false
  * @since 2.3.0
  *
  * @param int $comment_id Optional. Comment ID.
- * @return string The edit comment link URL for the given comment.
+ * @return string|void The edit comment link URL for the given comment.
  */
 function get_edit_comment_link( $comment_id = 0 ) {
        $comment = get_comment( $comment_id );
@@ -1307,9 +1327,11 @@ function get_edit_comment_link( $comment_id = 0 ) {
  *
  * @since 1.0.0
  *
- * @param string $text Optional. Anchor text.
+ * @global object $comment
+ *
+ * @param string $text   Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
- * @param string $after Optional. Display after edit link.
+ * @param string $after  Optional. Display after edit link.
  */
 function edit_comment_link( $text = null, $before = '', $after = '' ) {
        global $comment;
@@ -1342,7 +1364,7 @@ function edit_comment_link( $text = null, $before = '', $after = '' ) {
  * @since 2.7.0
  *
  * @param int|stdClass $link Optional. Bookmark ID.
- * @return string The edit bookmark link URL.
+ * @return string|void The edit bookmark link URL.
  */
 function get_edit_bookmark_link( $link = 0 ) {
        $link = get_bookmark( $link );
@@ -1368,10 +1390,10 @@ function get_edit_bookmark_link( $link = 0 ) {
  *
  * @since 2.7.0
  *
- * @param string $link Optional. Anchor text.
- * @param string $before Optional. Display before edit link.
- * @param string $after Optional. Display after edit link.
- * @param int $bookmark Optional. Bookmark ID.
+ * @param string $link     Optional. Anchor text.
+ * @param string $before   Optional. Display before edit link.
+ * @param string $after    Optional. Display after edit link.
+ * @param int    $bookmark Optional. Bookmark ID.
  */
 function edit_bookmark_link( $link = '', $before = '', $after = '', $bookmark = null ) {
        $bookmark = get_bookmark($bookmark);
@@ -1441,7 +1463,7 @@ function get_edit_user_link( $user_id = null ) {
  * @param bool         $in_same_term   Optional. Whether post should be in a same taxonomy term.
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
- * @return mixed       Post object if successful. Null if global $post is not set. Empty string if no corresponding post exists.
+ * @return null|string|WP_Post Post object if successful. Null if global $post is not set. Empty string if no corresponding post exists.
  */
 function get_previous_post( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
        return get_adjacent_post( $in_same_term, $excluded_terms, true, $taxonomy );
@@ -1455,7 +1477,7 @@ function get_previous_post( $in_same_term = false, $excluded_terms = '', $taxono
  * @param bool         $in_same_term   Optional. Whether post should be in a same taxonomy term.
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
- * @return mixed       Post object if successful. Null if global $post is not set. Empty string if no corresponding post exists.
+ * @return null|string|WP_Post Post object if successful. Null if global $post is not set. Empty string if no corresponding post exists.
  */
 function get_next_post( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
        return get_adjacent_post( $in_same_term, $excluded_terms, false, $taxonomy );
@@ -1468,11 +1490,13 @@ function get_next_post( $in_same_term = false, $excluded_terms = '', $taxonomy =
  *
  * @since 2.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param bool         $in_same_term   Optional. Whether post should be in a same taxonomy term.
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs.
  * @param bool         $previous       Optional. Whether to retrieve previous post.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
- * @return mixed       Post object if successful. Null if global $post is not set. Empty string if no corresponding post exists.
+ * @return null|string|WP_Post Post object if successful. Null if global $post is not set. Empty string if no corresponding post exists.
  */
 function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) {
        global $wpdb;
@@ -1628,7 +1652,7 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs.
  * @param bool         $previous       Optional. Whether to display link to previous or next post. Default true.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
- * @return string The adjacent post relational link URL.
+ * @return string|void The adjacent post relational link URL.
  */
 function get_adjacent_post_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) {
        if ( $previous && is_attachment() && $post = get_post() )
@@ -1737,7 +1761,7 @@ function prev_post_rel_link( $title = '%title', $in_same_term = false, $excluded
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs.
  * @param bool         $start          Optional. Whether to retrieve first or last post.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
- * @return mixed Array containing the boundary post object if successful, null otherwise.
+ * @return null|array Array containing the boundary post object if successful, null otherwise.
  */
 function get_boundary_post( $in_same_term = false, $excluded_terms = '', $start = true, $taxonomy = 'category' ) {
        $post = get_post();
@@ -1933,9 +1957,11 @@ function adjacent_post_link( $format, $link, $in_same_term = false, $excluded_te
  *
  * @since 1.5.0
  *
- * @param int $pagenum Optional. Page ID.
- * @param bool $escape Optional. Whether to escape the URL for display, with esc_url(). Defaults to true.
-*      Otherwise, prepares the URL with esc_url_raw().
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param int  $pagenum Optional. Page ID.
+ * @param bool $escape  Optional. Whether to escape the URL for display, with esc_url(). Defaults to true.
+*                          Otherwise, prepares the URL with esc_url_raw().
  * @return string The link URL for the given page number.
  */
 function get_pagenum_link($pagenum = 1, $escape = true ) {
@@ -2009,8 +2035,10 @@ function get_pagenum_link($pagenum = 1, $escape = true ) {
  *
  * @since 2.0.10
  *
+ * @global int $paged
+ *
  * @param int $max_page Optional. Max pages.
- * @return string The link URL for next posts page.
+ * @return string|void The link URL for next posts page.
  */
 function get_next_posts_page_link($max_page = 0) {
        global $paged;
@@ -2029,9 +2057,9 @@ function get_next_posts_page_link($max_page = 0) {
  *
  * @since 0.71
  *
- * @param int $max_page Optional. Max pages.
- * @param boolean $echo Optional. Echo or return;
- * @return string The link URL for next posts page if `$echo = false`.
+ * @param int   $max_page Optional. Max pages.
+ * @param bool  $echo     Optional. Echo or return;
+ * @return string|void The link URL for next posts page if `$echo = false`.
  */
 function next_posts( $max_page = 0, $echo = true ) {
        $output = esc_url( get_next_posts_page_link( $max_page ) );
@@ -2047,9 +2075,12 @@ function next_posts( $max_page = 0, $echo = true ) {
  *
  * @since 2.7.0
  *
- * @param string $label Content for link text.
- * @param int $max_page Optional. Max pages.
- * @return string|null HTML-formatted next posts page link.
+ * @global int      $paged
+ * @global WP_Query $wp_query
+ *
+ * @param string $label    Content for link text.
+ * @param int    $max_page Optional. Max pages.
+ * @return string|void HTML-formatted next posts page link.
  */
 function get_next_posts_link( $label = null, $max_page = 0 ) {
        global $paged, $wp_query;
@@ -2084,8 +2115,8 @@ function get_next_posts_link( $label = null, $max_page = 0 ) {
  *
  * @since 0.71
  *
- * @param string $label Content for link text.
- * @param int $max_page Optional. Max pages.
+ * @param string $label    Content for link text.
+ * @param int    $max_page Optional. Max pages.
  */
 function next_posts_link( $label = null, $max_page = 0 ) {
        echo get_next_posts_link( $label, $max_page );
@@ -2100,7 +2131,9 @@ function next_posts_link( $label = null, $max_page = 0 ) {
  *
  * @since 2.0.10
  *
- * @return string|null The link for the previous posts page.
+ * @global int $paged
+ *
+ * @return string|void The link for the previous posts page.
  */
 function get_previous_posts_page_link() {
        global $paged;
@@ -2118,8 +2151,8 @@ function get_previous_posts_page_link() {
  *
  * @since 0.71
  *
- * @param boolean $echo Optional. Echo or return;
- * @return string The previous posts page link if `$echo = false`.
+ * @param bool $echo Optional. Echo or return;
+ * @return string|void The previous posts page link if `$echo = false`.
  */
 function previous_posts( $echo = true ) {
        $output = esc_url( get_previous_posts_page_link() );
@@ -2135,8 +2168,10 @@ function previous_posts( $echo = true ) {
  *
  * @since 2.7.0
  *
+ * @global int $paged
+ *
  * @param string $label Optional. Previous page link text.
- * @return string|null HTML-formatted previous page link.
+ * @return string|void HTML-formatted previous page link.
  */
 function get_previous_posts_link( $label = null ) {
        global $paged;
@@ -2173,6 +2208,8 @@ function previous_posts_link( $label = null ) {
  *
  * @since 2.8.0
  *
+ * @global WP_Query $wp_query
+ *
  * @param string|array $args Optional args.
  * @return string The posts link navigation.
  */
@@ -2212,7 +2249,7 @@ function get_posts_nav_link( $args = array() ) {
  *
  * @since 0.71
  *
- * @param string $sep Optional. Separator for posts navigation links.
+ * @param string $sep      Optional. Separator for posts navigation links.
  * @param string $prelabel Optional. Label for previous pages.
  * @param string $nxtlabel Optional Label for next pages.
  */
@@ -2410,7 +2447,9 @@ function _navigation_markup( $links, $class = 'posts-navigation', $screen_reader
  *
  * @since 2.7.0
  *
- * @param int $pagenum Optional. Page number.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param int $pagenum  Optional. Page number.
  * @param int $max_page Optional. The maximum number of comment pages.
  * @return string The comments page number link URL.
  */
@@ -2444,9 +2483,7 @@ function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) {
         *
         * @param string $result The comments page number link.
         */
-       $result = apply_filters( 'get_comments_pagenum_link', $result );
-
-       return $result;
+       return apply_filters( 'get_comments_pagenum_link', $result );
 }
 
 /**
@@ -2454,9 +2491,11 @@ function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) {
  *
  * @since 2.7.1
  *
- * @param string $label Optional. Label for link text.
- * @param int $max_page Optional. Max page.
- * @return string|null HTML-formatted link for the next page of comments.
+ * @global WP_Query $wp_query
+ *
+ * @param string $label    Optional. Label for link text.
+ * @param int    $max_page Optional. Max page.
+ * @return string|void HTML-formatted link for the next page of comments.
  */
 function get_next_comments_link( $label = '', $max_page = 0 ) {
        global $wp_query;
@@ -2499,8 +2538,8 @@ function get_next_comments_link( $label = '', $max_page = 0 ) {
  *
  * @since 2.7.0
  *
- * @param string $label Optional. Label for link text.
- * @param int $max_page Optional. Max page.
+ * @param string $label    Optional. Label for link text.
+ * @param int    $max_page Optional. Max page.
  */
 function next_comments_link( $label = '', $max_page = 0 ) {
        echo get_next_comments_link( $label, $max_page );
@@ -2512,7 +2551,7 @@ function next_comments_link( $label = '', $max_page = 0 ) {
  * @since 2.7.1
  *
  * @param string $label Optional. Label for comments link text.
- * @return string|null HTML-formatted link for the previous page of comments.
+ * @return string|void HTML-formatted link for the previous page of comments.
  */
 function get_previous_comments_link( $label = '' ) {
        if ( !is_singular() || !get_option('page_comments') )
@@ -2555,8 +2594,10 @@ function previous_comments_link( $label = '' ) {
  * @see paginate_links()
  * @since 2.7.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param string|array $args Optional args. See paginate_links().
- * @return string Markup for pagination links.
+ * @return string|void Markup for pagination links.
 */
 function paginate_comments_links($args = array()) {
        global $wp_rewrite;
@@ -2595,6 +2636,10 @@ function paginate_comments_links($args = array()) {
  *
  * @since 2.6.0
  *
+ * @global bool          $is_IE
+ * @global string        $wp_version
+ * @global WP_Press_This $wp_press_this
+ *
  * @return string The Press This bookmarklet link URL.
  */
 function get_shortcut_link() {
@@ -2674,6 +2719,8 @@ function home_url( $path = '', $scheme = null ) {
  *
  * @since 3.0.0
  *
+ * @global string $pagenow
+ *
  * @param  int         $blog_id     Optional. Blog ID. Default null (current blog).
  * @param  string      $path        Optional. Path relative to the home URL. Default empty.
  * @param  string|null $orig_scheme Optional. Scheme to give the home URL context. Accepts
@@ -2725,7 +2772,7 @@ function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
  *
  * @since 3.0.0
  *
- * @param string $path Optional. Path relative to the site url.
+ * @param string $path   Optional. Path relative to the site url.
  * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
  * @return string Site url link with optional path appended.
 */
@@ -2782,7 +2829,7 @@ function get_site_url( $blog_id = null, $path = '', $scheme = null ) {
  *
  * @since 2.6.0
  *
- * @param string $path Optional path relative to the admin url.
+ * @param string $path   Optional path relative to the admin url.
  * @param string $scheme The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). 'http' or 'https' can be passed to force those schemes.
  * @return string Admin url link with optional path appended.
 */
@@ -2825,7 +2872,7 @@ function get_admin_url( $blog_id = null, $path = '', $scheme = 'admin' ) {
  *
  * @since 2.6.0
  *
- * @param string $path Optional. Path relative to the includes url.
+ * @param string $path   Optional. Path relative to the includes url.
  * @param string $scheme Optional. Scheme to give the includes url context.
  * @return string Includes url link with optional path appended.
 */
@@ -2933,7 +2980,7 @@ function plugins_url( $path = '', $plugin = '' ) {
  *
  * @since 3.0.0
  *
- * @param string $path Optional. Path relative to the site url.
+ * @param string $path   Optional. Path relative to the site url.
  * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
  * @return string Site url link with optional path appended.
 */
@@ -3016,7 +3063,7 @@ function network_home_url( $path = '', $scheme = null ) {
  *
  * @since 3.0.0
  *
- * @param string $path Optional path relative to the admin url.
+ * @param string $path   Optional path relative to the admin url.
  * @param string $scheme The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). 'http' or 'https' can be passed to force those schemes.
  * @return string Admin url link with optional path appended.
 */
@@ -3046,7 +3093,7 @@ function network_admin_url( $path = '', $scheme = 'admin' ) {
  *
  * @since 3.0.0
  *
- * @param string $path Optional path relative to the admin url.
+ * @param string $path   Optional path relative to the admin url.
  * @param string $scheme The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). 'http' or 'https' can be passed to force those schemes.
  * @return string Admin url link with optional path appended.
 */
@@ -3073,7 +3120,7 @@ function user_admin_url( $path = '', $scheme = 'admin' ) {
  *
  * @since 3.1.0
  *
- * @param string $path Optional path relative to the admin url.
+ * @param string $path   Optional path relative to the admin url.
  * @param string $scheme The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). 'http' or 'https' can be passed to force those schemes.
  * @return string Admin url link with optional path appended.
 */
@@ -3091,7 +3138,7 @@ function self_admin_url($path = '', $scheme = 'admin') {
  *
  * @since 3.4.0
  *
- * @param string $url Absolute url that includes a scheme
+ * @param string $url    Absolute url that includes a scheme
  * @param string $scheme Optional. Scheme to give $url. Currently 'http', 'https', 'login', 'login_post', 'admin', or 'relative'.
  * @return string $url URL with chosen scheme.
  */
@@ -3140,9 +3187,9 @@ function set_url_scheme( $url, $scheme = null ) {
  *
  * @since 3.1.0
  *
- * @param int $user_id Optional. User ID. Defaults to current user.
- * @param string $path Optional path relative to the dashboard. Use only paths known to both blog and user admins.
- * @param string $scheme The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). 'http' or 'https' can be passed to force those schemes.
+ * @param int    $user_id Optional. User ID. Defaults to current user.
+ * @param string $path    Optional path relative to the dashboard. Use only paths known to both blog and user admins.
+ * @param string $scheme  The scheme to use. Default is 'admin', which obeys force_ssl_admin() and is_ssl(). 'http' or 'https' can be passed to force those schemes.
  * @return string Dashboard url link with optional path appended.
  */
 function get_dashboard_url( $user_id = 0, $path = '', $scheme = 'admin' ) {
@@ -3217,6 +3264,8 @@ function get_edit_profile_url( $user_id = 0, $scheme = 'admin' ) {
  * Output rel=canonical for singular queries.
  *
  * @since 2.9.0
+ *
+ * @global WP_Query $wp_the_query
 */
 function rel_canonical() {
        if ( !is_singular() )
@@ -3244,9 +3293,14 @@ function rel_canonical() {
  *
  * @since 3.0.0.
  *
- * @param int $id A post or blog id. Default is 0, which means the current post or blog.
- * @param string $context Whether the id is a 'blog' id, 'post' id, or 'media' id. If 'post', the post_type of the post is consulted. If 'query', the current query is consulted to determine the id and context. Default is 'post'.
- * @param bool $allow_slugs Whether to allow post slugs in the shortlink. It is up to the plugin how and whether to honor this.
+ * @global WP_Query $wp_query
+ *
+ * @param int    $id          A post or blog id. Default is 0, which means the current post or blog.
+ * @param string $context     Whether the id is a 'blog' id, 'post' id, or 'media' id.
+ *                            If 'post', the post_type of the post is consulted.
+ *                            If 'query', the current query is consulted to determine the id and context.
+ *                            Default is 'post'.
+ * @param bool   $allow_slugs Whether to allow post slugs in the shortlink. It is up to the plugin how and whether to honor this.
  * @return string A shortlink or an empty string if no shortlink exists for the requested resource or if shortlinks are not enabled.
  */
 function wp_get_shortlink($id = 0, $context = 'post', $allow_slugs = true) {
@@ -3349,10 +3403,10 @@ function wp_shortlink_header() {
  *
  * @since 3.0.0
  *
- * @param string $text Optional The link text or HTML to be displayed. Defaults to 'This is the short link.'
- * @param string $title Optional The tooltip for the link. Must be sanitized. Defaults to the sanitized post title.
+ * @param string $text   Optional The link text or HTML to be displayed. Defaults to 'This is the short link.'
+ * @param string $title  Optional The tooltip for the link. Must be sanitized. Defaults to the sanitized post title.
  * @param string $before Optional HTML to display before the link.
- * @param string $after Optional HTML to display after the link.
+ * @param string $after  Optional HTML to display after the link.
  */
 function the_shortlink( $text = '', $title = '', $before = '', $after = '' ) {
        $post = get_post();
@@ -3601,7 +3655,11 @@ function get_avatar_data( $id_or_email, $args = null ) {
                'r' => $args['rating'],
        );
 
-       $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash );
+       if ( is_ssl() ) {
+               $url = 'https://secure.gravatar.com/avatar/' . $email_hash;
+       } else {
+               $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash );
+       }
 
        $url = add_query_arg(
                rawurlencode_deep( array_filter( $url_args ) ),
index b41e650b6bd169bd16bba25bf4fcda6d6b277dc2..a6ad0222a29be9a2411e795cf8b2ebecd76b3820 100644 (file)
@@ -12,8 +12,6 @@
  *
  * @since 2.1.0
  * @access private
- *
- * @return null Will return null if register_globals PHP directive was disabled.
  */
 function wp_unregister_GLOBALS() {
        if ( !ini_get( 'register_globals' ) )
@@ -386,13 +384,13 @@ function wp_set_wpdb_vars() {
 }
 
 /**
- * Access/Modify private global variable `$_wp_using_ext_object_cache`.
- *
  * Toggle `$_wp_using_ext_object_cache` on and off without directly
  * touching global.
  *
  * @since 3.7.0
  *
+ * @global bool $_wp_using_ext_object_cache
+ *
  * @param bool $using Whether external object cache is being used.
  * @return bool The current 'using' setting.
  */
@@ -637,6 +635,8 @@ function wp_clone( $object ) {
  *
  * @since 1.5.1
  *
+ * @global WP_Screen $current_screen
+ *
  * @return bool True if inside WordPress administration interface, false otherwise.
  */
 function is_admin() {
@@ -658,6 +658,8 @@ function is_admin() {
  *
  * @since 3.1.0
  *
+ * @global WP_Screen $current_screen
+ *
  * @return bool True if inside WordPress blog administration pages.
  */
 function is_blog_admin() {
@@ -679,6 +681,8 @@ function is_blog_admin() {
  *
  * @since 3.1.0
  *
+ * @global WP_Screen $current_screen
+ *
  * @return bool True if inside WordPress network administration pages.
  */
 function is_network_admin() {
@@ -701,6 +705,8 @@ function is_network_admin() {
  *
  * @since 3.1.0
  *
+ * @global WP_Screen $current_screen
+ *
  * @return bool True if inside WordPress user administration pages.
  */
 function is_user_admin() {
@@ -734,6 +740,8 @@ function is_multisite() {
  *
  * @since 3.1.0
  *
+ * @global int $blog_id
+ *
  * @return int Blog id
  */
 function get_current_blog_id() {
@@ -754,7 +762,10 @@ function get_current_blog_id() {
  * @since 3.4.0
  * @access private
  *
- * @global $wp_locale The WordPress date and time locale object.
+ * @global string    $text_direction
+ * @global WP_Locale $wp_locale      The WordPress date and time locale object.
+ *
+ * @staticvar bool $loaded
  */
 function wp_load_translations_early() {
        global $text_direction, $wp_locale;
index b3f4b455e18f097e6bdbc0b4125fc5d0cf568f12..1319c49daebdd81acfec6d618fdc7176dd5c8738 100644 (file)
@@ -91,8 +91,11 @@ class WP_Locale {
         *
         * @since 2.1.0
         * @access private
+        *
+        * @global string $text_direction
+        * @global string $wp_version
         */
-       function init() {
+       public function init() {
                // The Weekdays
                $this->weekday[0] = /* translators: weekday */ __('Sunday');
                $this->weekday[1] = /* translators: weekday */ __('Monday');
@@ -188,8 +191,12 @@ class WP_Locale {
                }
        }
 
-       function rtl_src_admin_notice() {
-               echo '<div class="error"><p>' . 'The <code>build</code> directory of the develop repository must be used for RTL.' . '</p></div>';
+       /**
+        * @since 3.8.0
+        */
+       public function rtl_src_admin_notice() {
+               /* translators: %s: Name of the directory (build) */
+               echo '<div class="error"><p>' . sprintf( __( 'The %s directory of the develop repository must be used for RTL.' ), '<code>build</code>' ) . '</p></div>';
        }
 
        /**
@@ -205,7 +212,7 @@ class WP_Locale {
         * @param int $weekday_number 0 for Sunday through 6 Saturday
         * @return string Full translated weekday
         */
-       function get_weekday($weekday_number) {
+       public function get_weekday($weekday_number) {
                return $this->weekday[$weekday_number];
        }
 
@@ -223,7 +230,7 @@ class WP_Locale {
         * @param string $weekday_name
         * @return string
         */
-       function get_weekday_initial($weekday_name) {
+       public function get_weekday_initial($weekday_name) {
                return $this->weekday_initial[$weekday_name];
        }
 
@@ -239,7 +246,7 @@ class WP_Locale {
         * @param string $weekday_name Full translated weekday word
         * @return string Translated weekday abbreviation
         */
-       function get_weekday_abbrev($weekday_name) {
+       public function get_weekday_abbrev($weekday_name) {
                return $this->weekday_abbrev[$weekday_name];
        }
 
@@ -260,7 +267,7 @@ class WP_Locale {
         * @param string|int $month_number '01' through '12'
         * @return string Translated full month name
         */
-       function get_month($month_number) {
+       public function get_month($month_number) {
                return $this->month[zeroise($month_number, 2)];
        }
 
@@ -276,7 +283,7 @@ class WP_Locale {
         * @param string $month_name Translated month to get abbreviated version
         * @return string Translated abbreviated month
         */
-       function get_month_abbrev($month_name) {
+       public function get_month_abbrev($month_name) {
                return $this->month_abbrev[$month_name];
        }
 
@@ -291,7 +298,7 @@ class WP_Locale {
         * @param string $meridiem Either 'am', 'pm', 'AM', or 'PM'. Not translated version.
         * @return string Translated version
         */
-       function get_meridiem($meridiem) {
+       public function get_meridiem($meridiem) {
                return $this->meridiem[$meridiem];
        }
 
@@ -301,9 +308,15 @@ class WP_Locale {
         * @deprecated For backwards compatibility only.
         * @access private
         *
+        * @global array $weekday
+        * @global array $weekday_initial
+        * @global array $weekday_abbrev
+        * @global array $month
+        * @global array $month_abbrev
+        *
         * @since 2.1.0
         */
-       function register_globals() {
+       public function register_globals() {
                $GLOBALS['weekday']         = $this->weekday;
                $GLOBALS['weekday_initial'] = $this->weekday_initial;
                $GLOBALS['weekday_abbrev']  = $this->weekday_abbrev;
@@ -314,12 +327,9 @@ class WP_Locale {
        /**
         * Constructor which calls helper methods to set up object variables
         *
-        * @uses WP_Locale::init()
-        * @uses WP_Locale::register_globals()
         * @since 2.1.0
-        *
         */
-       function __construct() {
+       public function __construct() {
                $this->init();
                $this->register_globals();
        }
@@ -330,7 +340,7 @@ class WP_Locale {
         * @since 3.0.0
         * @return bool Whether locale is RTL.
         */
-       function is_rtl() {
+       public function is_rtl() {
                return 'rtl' == $this->text_direction;
        }
 
@@ -343,7 +353,7 @@ class WP_Locale {
         *
         * @since 3.6.0
         */
-       function _strings_for_pot() {
+       public function _strings_for_pot() {
                /* translators: localized date format, see http://php.net/date */
                __( 'F j, Y' );
                /* translators: localized time format, see http://php.net/date */
@@ -357,6 +367,9 @@ class WP_Locale {
  * Checks if current locale is RTL.
  *
  * @since 3.0.0
+ *
+ * @global WP_Locale $wp_locale
+ *
  * @return bool Whether locale is RTL.
  */
 function is_rtl() {
index 6999f1bdf34f4669ee6ce93c6e42e1c42091f6e4..8edeb62ebf2df5863d388578ce0ec83c8cf3bc8c 100644 (file)
@@ -136,6 +136,8 @@ function wp_underscore_video_template() {
  * Prints the templates used in the media manager.
  *
  * @since 3.5.0
+ *
+ * @global bool $is_IE
  */
 function wp_print_media_templates() {
        global $is_IE;
@@ -164,7 +166,7 @@ function wp_print_media_templates() {
 
        <script type="text/html" id="tmpl-media-modal">
                <div class="<?php echo $class; ?>">
-                       <a class="media-modal-close" href="#"><span class="media-modal-icon"><span class="screen-reader-text"><?php _e( 'Close media panel' ); ?></span></span></a>
+                       <button type="button" class="button-link media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"><?php _e( 'Close media panel' ); ?></span></span></button>
                        <div class="media-modal-content"></div>
                </div>
                <div class="media-modal-backdrop"></div>
@@ -203,7 +205,7 @@ function wp_print_media_templates() {
                        <div class="upload-ui">
                                <h3 class="upload-instructions drop-instructions"><?php _e( 'Drop files anywhere to upload' ); ?></h3>
                                <p class="upload-instructions drop-instructions"><?php _ex( 'or', 'Uploader: Drop files here - or - Select Files' ); ?></p>
-                               <a href="#" class="browser button button-hero"><?php _e( 'Select Files' ); ?></a>
+                               <button type="button" class="browser button button-hero"><?php _e( 'Select Files' ); ?></button>
                        </div>
 
                        <div class="upload-inline-status"></div>
@@ -259,7 +261,7 @@ function wp_print_media_templates() {
 
        <script type="text/html" id="tmpl-uploader-status">
                <h3><?php _e( 'Uploading' ); ?></h3>
-               <a class="upload-dismiss-errors" href="#"><?php _e('Dismiss Errors'); ?></a>
+               <button type="button" class="button-link upload-dismiss-errors"><span class="screen-reader-text"><?php _e( 'Dismiss Errors' ); ?></span></button>
 
                <div class="media-progress-bar"><div></div></div>
                <div class="upload-details">
@@ -273,7 +275,6 @@ function wp_print_media_templates() {
        </script>
 
        <script type="text/html" id="tmpl-uploader-status-error">
-               <span class="upload-error-label"><?php _e('Error'); ?></span>
                <span class="upload-error-filename">{{{ data.filename }}}</span>
                <span class="upload-error-message">{{ data.message }}</span>
        </script>
@@ -297,7 +298,7 @@ function wp_print_media_templates() {
                                <# } else if ( 'image' === data.type && data.sizes && data.sizes.full ) { #>
                                        <img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" />
                                <# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #>
-                                       <img class="details-image" src="{{ data.icon }}" class="icon" draggable="false" />
+                                       <img class="details-image icon" src="{{ data.icon }}" draggable="false" />
                                <# } #>
 
                                <# if ( 'audio' === data.type ) { #>
@@ -329,7 +330,7 @@ function wp_print_media_templates() {
 
                                <div class="attachment-actions">
                                        <# if ( 'image' === data.type && ! data.uploading && data.sizes && data.can.save ) { #>
-                                               <a class="button edit-attachment" href="#"><?php _e( 'Edit Image' ); ?></a>
+                                       <button type="button" class="button edit-attachment"><?php _e( 'Edit Image' ); ?></button>
                                        <# } #>
                                </div>
                        </div>
@@ -377,10 +378,12 @@ function wp_print_media_templates() {
                                        <input type="text" value="{{ data.url }}" readonly />
                                </label>
                                <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #>
+                               <?php if ( post_type_supports( 'attachment', 'title' ) ) : ?>
                                <label class="setting" data-setting="title">
                                        <span class="name"><?php _e('Title'); ?></span>
                                        <input type="text" value="{{ data.title }}" {{ maybeReadOnly }} />
                                </label>
+                               <?php endif; ?>
                                <# if ( 'audio' === data.type ) { #>
                                <?php foreach ( array(
                                        'artist' => __( 'Artist' ),
@@ -431,12 +434,12 @@ function wp_print_media_templates() {
                                <# if ( ! data.uploading && data.can.remove ) { #> |
                                        <?php if ( MEDIA_TRASH ): ?>
                                                <# if ( 'trash' === data.status ) { #>
-                                                       <a class="untrash-attachment" href="#"><?php _e( 'Untrash' ); ?></a>
+                                                       <button type="button" class="button-link untrash-attachment"><?php _e( 'Untrash' ); ?></button>
                                                <# } else { #>
-                                                       <a class="trash-attachment" href="#"><?php _ex( 'Trash', 'verb' ); ?></a>
+                                                       <button type="button" class="button-link trash-attachment"><?php _ex( 'Trash', 'verb' ); ?></button>
                                                <# } #>
                                        <?php else: ?>
-                                               <a class="delete-attachment" href="#"><?php _e( 'Delete Permanently' ); ?></a>
+                                               <button type="button" class="button-link delete-attachment"><?php _e( 'Delete Permanently' ); ?></button>
                                        <?php endif; ?>
                                <# } #>
                        </div>
@@ -467,11 +470,11 @@ function wp_print_media_templates() {
                                <# } #>
                        </div>
                        <# if ( data.buttons.close ) { #>
-                               <a class="close media-modal-icon" href="#" title="<?php esc_attr_e('Remove'); ?>"></a>
+                               <button type="button" class="button-link attachment-close media-modal-icon"><span class="screen-reader-text"><?php _e( 'Remove' ); ?></span></button>
                        <# } #>
                </div>
                <# if ( data.buttons.check ) { #>
-                       <a class="check" href="#" title="<?php esc_attr_e('Deselect'); ?>" tabindex="-1"><div class="media-modal-icon"></div></a>
+                       <button type="button" class="button-link check" tabindex="-1"><span class="media-modal-icon"></span><span class="screen-reader-text"><?php _e( 'Deselect' ); ?></span></button>
                <# } #>
                <#
                var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly';
@@ -523,7 +526,6 @@ function wp_print_media_templates() {
 
                                        <# if ( data.can.save && data.sizes ) { #>
                                                <a class="edit-attachment" href="{{ data.editLink }}&amp;image-editor" target="_blank"><?php _e( 'Edit Image' ); ?></a>
-                                               <a class="refresh-attachment" href="#"><?php _e( 'Refresh' ); ?></a>
                                        <# } #>
                                <# } #>
 
@@ -534,12 +536,12 @@ function wp_print_media_templates() {
                                <# if ( ! data.uploading && data.can.remove ) { #>
                                        <?php if ( MEDIA_TRASH ): ?>
                                        <# if ( 'trash' === data.status ) { #>
-                                               <a class="untrash-attachment" href="#"><?php _e( 'Untrash' ); ?></a>
+                                               <button type="button" class="button-link untrash-attachment"><?php _e( 'Untrash' ); ?></button>
                                        <# } else { #>
-                                               <a class="trash-attachment" href="#"><?php _ex( 'Trash', 'verb' ); ?></a>
+                                               <button type="button" class="button-link trash-attachment"><?php _ex( 'Trash', 'verb' ); ?></button>
                                        <# } #>
                                        <?php else: ?>
-                                               <a class="delete-attachment" href="#"><?php _e( 'Delete Permanently' ); ?></a>
+                                               <button type="button" class="button-link delete-attachment"><?php _e( 'Delete Permanently' ); ?></button>
                                        <?php endif; ?>
                                <# } #>
 
@@ -556,10 +558,12 @@ function wp_print_media_templates() {
                        <input type="text" value="{{ data.url }}" readonly />
                </label>
                <# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #>
+               <?php if ( post_type_supports( 'attachment', 'title' ) ) : ?>
                <label class="setting" data-setting="title">
                        <span class="name"><?php _e('Title'); ?></span>
                        <input type="text" value="{{ data.title }}" {{ maybeReadOnly }} />
                </label>
+               <?php endif; ?>
                <# if ( 'audio' === data.type ) { #>
                <?php foreach ( array(
                        'artist' => __( 'Artist' ),
@@ -591,10 +595,10 @@ function wp_print_media_templates() {
                <div class="selection-info">
                        <span class="count"></span>
                        <# if ( data.editable ) { #>
-                               <a class="edit-selection" href="#"><?php _e( 'Edit Selection' ); ?></a>
+                               <button type="button" class="button-link edit-selection"><?php _e( 'Edit Selection' ); ?></button>
                        <# } #>
                        <# if ( data.clearable ) { #>
-                               <a class="clear-selection" href="#"><?php _e('Clear'); ?></a>
+                               <button type="button" class="button-link clear-selection"><?php _e( 'Clear' ); ?></button>
                        <# } #>
                </div>
                <div class="selection-view"></div>
@@ -987,7 +991,7 @@ function wp_print_media_templates() {
                                                <input type="text" class="link-to-custom" data-setting="linkUrl" />
                                        </div>
                                        <div class="advanced-section">
-                                               <h3><a class="advanced-toggle" href="#"><?php _e('Advanced Options'); ?></a></h3>
+                                               <h3><button type="button" class="button-link advanced-toggle"><?php _e( 'Advanced Options' ); ?></button></h3>
                                                <div class="advanced-settings hidden">
                                                        <div class="advanced-image">
                                                                <label class="setting title-text">
@@ -1044,7 +1048,7 @@ function wp_print_media_templates() {
                                <label class="setting">
                                        <span>SRC</span>
                                        <input type="text" disabled="disabled" data-setting="src" value="{{ data.model.src }}" />
-                                       <a class="remove-setting"><?php _e( 'Remove' ); ?></a>
+                                       <button type="button" class="button-link remove-setting"><?php _e( 'Remove audio source' ); ?></button>
                                </label>
                                <# } #>
                                <?php
@@ -1058,7 +1062,7 @@ function wp_print_media_templates() {
                                <label class="setting">
                                        <span><?php echo strtoupper( $type ) ?></span>
                                        <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ data.model.<?php echo $type ?> }}" />
-                                       <a class="remove-setting"><?php _e( 'Remove' ); ?></a>
+                                       <button type="button" class="button-link remove-setting"><?php _e( 'Remove audio source' ); ?></button>
                                </label>
                                <# } #>
                                <?php endforeach ?>
@@ -1127,7 +1131,7 @@ function wp_print_media_templates() {
                                <label class="setting">
                                        <span>SRC</span>
                                        <input type="text" disabled="disabled" data-setting="src" value="{{ data.model.src }}" />
-                                       <a class="remove-setting"><?php _e( 'Remove' ); ?></a>
+                                       <button type="button" class="button-link remove-setting"><?php _e( 'Remove video source' ); ?></button>
                                </label>
                                <# } #>
                                <?php foreach ( $video_types as $type ):
@@ -1139,7 +1143,7 @@ function wp_print_media_templates() {
                                <label class="setting">
                                        <span><?php echo strtoupper( $type ) ?></span>
                                        <input type="text" disabled="disabled" data-setting="<?php echo $type ?>" value="{{ data.model.<?php echo $type ?> }}" />
-                                       <a class="remove-setting"><?php _e( 'Remove' ); ?></a>
+                                       <button type="button" class="button-link remove-setting"><?php _e( 'Remove video source' ); ?></button>
                                </label>
                                <# } #>
                                <?php endforeach ?>
@@ -1160,7 +1164,7 @@ function wp_print_media_templates() {
                                <label class="setting">
                                        <span><?php _e( 'Poster Image' ); ?></span>
                                        <input type="text" disabled="disabled" data-setting="poster" value="{{ data.model.poster }}" />
-                                       <a class="remove-setting"><?php _e( 'Remove' ); ?></a>
+                                       <button type="button" class="button-link remove-setting"><?php _e( 'Remove poster image' ); ?></button>
                                </label>
                                <# } #>
                                <div class="setting preload">
@@ -1192,7 +1196,7 @@ function wp_print_media_templates() {
                                                        content += track.outerHTML; #>
                                                <p>
                                                        <input class="content-track" type="text" value="{{ track.outerHTML }}" />
-                                                       <a class="remove-setting remove-track"><?php _e( 'Remove' ); ?></a>
+                                                       <button type="button" class="button-link remove-setting remove-track"><?php _ex( 'Remove video track', 'media' ); ?></button>
                                                </p>
                                                <# } ); #>
                                        <# } else { #>
@@ -1239,6 +1243,24 @@ function wp_print_media_templates() {
                <div class="upload-errors"></div>
        </script>
 
+       <script type="text/html" id="tmpl-site-icon-preview">
+               <h2><?php _e( 'Preview' ); ?></h2>
+               <strong><?php _e( 'As a browser icon' ); ?></strong>
+               <div class="favicon-preview">
+                       <img src="images/browser.png" class="browser-preview" width="182" height="" alt=""/>
+
+                       <div class="favicon">
+                               <img id="preview-favicon" src="{{ data.url }}" alt="<?php esc_attr_e( 'Preview as a browser icon' ); ?>"/>
+                       </div>
+                       <span class="browser-title"><?php bloginfo( 'name' ); ?></span>
+               </div>
+
+               <strong><?php _e( 'As an app icon' ); ?></strong>
+               <div class="app-icon-preview">
+                       <img id="preview-app-icon" src="{{ data.url }}" alt="<?php esc_attr_e( 'Preview as an app icon' ); ?>"/>
+               </div>
+       </script>
+
        <?php
 
        /**
index 35ecdd95691cb863395d9d721b9366006dd05e32..95bbca732e46d42c9a867d5c3f9c418380e4da4f 100644 (file)
@@ -26,6 +26,9 @@
  *
  * @since 2.5.0
  *
+ * @global int   $content_width
+ * @global array $_wp_additional_image_sizes
+ *
  * @param int          $width   Width of the image in pixels.
  * @param int          $height  Height of the image in pixels.
  * @param string|array $size    Optional. Size or array of sizes of what the result image
@@ -145,7 +148,7 @@ function image_hwstring( $width, $height ) {
  * @param int          $id   Attachment ID for image.
  * @param array|string $size Optional. Image size to scale to. Accepts a registered image size
  *                           or flat array of height and width values. Default 'medium'.
- * @return bool|array False on failure, array on success.
+ * @return false|array False on failure, array on success.
  */
 function image_downsize( $id, $size = 'medium' ) {
 
@@ -242,6 +245,8 @@ function add_image_size( $name, $width = 0, $height = 0, $crop = false ) {
  *
  * @since 3.9.0
  *
+ * @global array $_wp_additional_image_sizes
+ *
  * @param string $name The image size to check.
  * @return bool True if the image size exists, false if not.
  */
@@ -256,6 +261,8 @@ function has_image_size( $name ) {
  *
  * @since 3.9.0
  *
+ * @global array $_wp_additional_image_sizes
+ *
  * @param string $name The image size to remove.
  * @return bool True if the image size was successfully removed, false on failure.
  */
@@ -343,9 +350,7 @@ function get_image_tag( $id, $alt, $title, $align, $size = 'medium' ) {
         * @param string $align Part of the class name for aligning the image.
         * @param string $size  Optional. Default is 'medium'.
         */
-       $html = apply_filters( 'get_image_tag', $html, $id, $alt, $title, $align, $size );
-
-       return $html;
+       return apply_filters( 'get_image_tag', $html, $id, $alt, $title, $align, $size );
 }
 
 /**
@@ -445,7 +450,7 @@ function wp_constrain_dimensions( $current_width, $current_height, $max_width =
  * @param int        $dest_h New height in pixels.
  * @param bool|array $crop   Optional. Whether to crop image to specified height and width or resize.
  *                           An array can specify positioning of the crop area. Default false.
- * @return bool|array False on failure. Returned array matches parameters for `imagecopyresampled()`.
+ * @return false|array False on failure. Returned array matches parameters for `imagecopyresampled()`.
  */
 function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = false) {
 
@@ -551,7 +556,7 @@ function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = fal
  * @param int    $height Image height.
  * @param bool   $crop   Optional. Whether to crop image to specified height and width or resize.
  *                       Default false.
- * @return bool|array False, if no image was created. Metadata array on success.
+ * @return false|array False, if no image was created. Metadata array on success.
  */
 function image_make_intermediate_size( $file, $width, $height, $crop = false ) {
        if ( $width || $height ) {
@@ -594,7 +599,7 @@ function image_make_intermediate_size( $file, $width, $height, $crop = false ) {
  * @param int          $post_id Attachment ID.
  * @param array|string $size    Optional. Registered image size to retrieve or flat array of height
  *                              and width dimensions. Default 'thumbnail'.
- * @return bool|array False on failure or array of file path, width, and height on success.
+ * @return false|array False on failure or array of file path, width, and height on success.
  */
 function image_get_intermediate_size( $post_id, $size = 'thumbnail' ) {
        if ( !is_array( $imagedata = wp_get_attachment_metadata( $post_id ) ) )
@@ -685,26 +690,38 @@ function get_intermediate_image_sizes() {
  * @param string|array $size          Optional. Registered image size to retrieve the source for or a flat
  *                                    array of height and width dimensions. Default 'thumbnail'.
  * @param bool         $icon          Optional. Whether the image should be treated as an icon. Default false.
- * @return bool|array Returns an array (url, width, height), or false, if no image is available.
+ * @return false|array Returns an array (url, width, height), or false, if no image is available.
  */
 function wp_get_attachment_image_src( $attachment_id, $size = 'thumbnail', $icon = false ) {
-
        // get a thumbnail or intermediate image if there is one
-       if ( $image = image_downsize($attachment_id, $size) )
-               return $image;
+       $image = image_downsize( $attachment_id, $size );
+       if ( ! $image ) {
+               $src = false;
 
-       $src = false;
+               if ( $icon && $src = wp_mime_type_icon( $attachment_id ) ) {
+                       /** This filter is documented in wp-includes/post.php */
+                       $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );
 
-       if ( $icon && $src = wp_mime_type_icon($attachment_id) ) {
-               /** This filter is documented in wp-includes/post.php */
-               $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );
+                       $src_file = $icon_dir . '/' . wp_basename( $src );
+                       @list( $width, $height ) = getimagesize( $src_file );
+               }
 
-               $src_file = $icon_dir . '/' . wp_basename($src);
-               @list($width, $height) = getimagesize($src_file);
+               if ( $src && $width && $height ) {
+                       $image = array( $src, $width, $height );
+               }
        }
-       if ( $src && $width && $height )
-               return array( $src, $width, $height );
-       return false;
+       /**
+        * Filter the image src result.
+        *
+        * @since 4.3.0
+        *
+        * @param array|false  $image         Either array with src, width & height, icon src, or false.
+        * @param int          $attachment_id Image attachment ID.
+        * @param string|array $size          Registered image size to retrieve the source for or a flat
+        *                                    array of height and width dimensions. Default 'thumbnail'.
+        * @param bool         $icon          Whether the image should be treated as an icon. Default false.
+        */
+       return apply_filters( 'wp_get_attachment_image_src', $image, $attachment_id, $size, $icon );
 }
 
 /**
@@ -725,7 +742,6 @@ function wp_get_attachment_image_src( $attachment_id, $size = 'thumbnail', $icon
  * @return string HTML img element or empty string on failure.
  */
 function wp_get_attachment_image($attachment_id, $size = 'thumbnail', $icon = false, $attr = '') {
-
        $html = '';
        $image = wp_get_attachment_image_src($attachment_id, $size, $icon);
        if ( $image ) {
@@ -847,8 +863,6 @@ function img_caption_shortcode( $attr, $content = null ) {
                        $content = $matches[1];
                        $attr['caption'] = trim( $matches[2] );
                }
-       } elseif ( strpos( $attr['caption'], '<' ) !== false ) {
-               $attr['caption'] = wp_kses( $attr['caption'], 'post' );
        }
 
        /**
@@ -882,7 +896,7 @@ function img_caption_shortcode( $attr, $content = null ) {
                return $content;
 
        if ( ! empty( $atts['id'] ) )
-               $atts['id'] = 'id="' . esc_attr( $atts['id'] ) . '" ';
+               $atts['id'] = 'id="' . esc_attr( sanitize_html_class( $atts['id'] ) ) . '" ';
 
        $class = trim( 'wp-caption ' . $atts['align'] . ' ' . $atts['class'] );
 
@@ -928,6 +942,8 @@ add_shortcode('gallery', 'gallery_shortcode');
  *
  * @since 2.5.0
  *
+ * @staticvar int $instance
+ *
  * @param array $attr {
  *     Attributes of the gallery shortcode.
  *
@@ -1201,6 +1217,9 @@ function wp_playlist_scripts( $type ) {
  *
  * @since 3.9.0
  *
+ * @global int $content_width
+ * @staticvar int $instance
+ *
  * @param array $attr {
  *     Array of default playlist attributes.
  *
@@ -1521,6 +1540,8 @@ function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
  *
  * @since 3.6.0
  *
+ * @staticvar int $instance
+ *
  * @param array  $attr {
  *     Attributes of the audio shortcode.
  *
@@ -1529,11 +1550,10 @@ function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
  *     @type string $autoplay The 'autoplay' attribute for the `<audio>` element. Default empty.
  *     @type string $preload  The 'preload' attribute for the `<audio>` element. Default empty.
  *     @type string $class    The 'class' attribute for the `<audio>` element. Default 'wp-audio-shortcode'.
- *     @type string $id       The 'id' attribute for the `<audio>` element. Default 'audio-{$post_id}-{$instance}'.
  *     @type string $style    The 'style' attribute for the `<audio>` element. Default 'width: 100%'.
  * }
  * @param string $content Shortcode content.
- * @return string HTML content to display audio.
+ * @return string|void HTML content to display audio.
  */
 function wp_audio_shortcode( $attr, $content = '' ) {
        $post_id = get_post() ? get_the_ID() : 0;
@@ -1714,6 +1734,9 @@ function wp_get_video_extensions() {
  *
  * @since 3.6.0
  *
+ * @global int $content_width
+ * @staticvar int $instance
+ *
  * @param array  $attr {
  *     Attributes of the shortcode.
  *
@@ -1727,11 +1750,9 @@ function wp_get_video_extensions() {
  *                            Default 'metadata'.
  *     @type string $class    The 'class' attribute for the `<video>` element.
  *                            Default 'wp-video-shortcode'.
- *     @type string $id       The 'id' attribute for the `<video>` element.
- *                            Default 'video-{$post_id}-{$instance}'.
  * }
  * @param string $content Shortcode content.
- * @return string HTML content to display video.
+ * @return string|void HTML content to display video.
  */
 function wp_video_shortcode( $attr, $content = '' ) {
        global $content_width;
@@ -1951,7 +1972,6 @@ add_shortcode( 'video', 'wp_video_shortcode' );
  * @param string|array $size Optional. Registered image size or flat array of height and width dimensions.
  *                           0 or 'none' will default to 'post_title' or `$text`. Default 'thumbnail'.
  * @param string       $text Optional. Link text. Default false.
- * @return string HTML output for the previous image link.
  */
 function previous_image_link( $size = 'thumbnail', $text = false ) {
        adjacent_image_link(true, $size, $text);
@@ -1967,7 +1987,6 @@ function previous_image_link( $size = 'thumbnail', $text = false ) {
  * @param string|array $size Optional. Registered image size or flat array of height and width dimensions.
  *                           0 or 'none' will default to 'post_title' or `$text`. Default 'thumbnail'.
  * @param string       $text Optional. Link text. Default false.
- * @return string HTML output for the next image link.
  */
 function next_image_link($size = 'thumbnail', $text = false) {
        adjacent_image_link(false, $size, $text);
@@ -1984,7 +2003,6 @@ function next_image_link($size = 'thumbnail', $text = false) {
  * @param string|array $size Optional. Registered image size or flat array of height and width dimensions.
  *                                     Default 'thumbnail'.
  * @param bool         $text Optional. Link text. Default false.
- * @return string The adjacent image link.
  */
 function adjacent_image_link( $prev = true, $size = 'thumbnail', $text = false ) {
        $post = get_post();
@@ -2122,7 +2140,7 @@ function wp_imagecreatetruecolor($width, $height) {
  *
  * @since 2.9.0
  *
- * @see WP_Embed::register_handler()
+ * @global WP_Embed $wp_embed
  *
  * @param string   $id       An internal ID/name for the handler. Needs to be unique.
  * @param string   $regex    The regex that will be used to see if this handler should be used for a URL.
@@ -2140,7 +2158,7 @@ function wp_embed_register_handler( $id, $regex, $callback, $priority = 10 ) {
  *
  * @since 2.9.0
  *
- * @see WP_Embed::unregister_handler()
+ * @global WP_Embed $wp_embed
  *
  * @param string $id       The handler ID that should be removed.
  * @param int    $priority Optional. The priority of the handler to be removed. Default 10.
@@ -2162,6 +2180,8 @@ function wp_embed_unregister_handler( $id, $priority = 10 ) {
  *
  * @since 2.9.0
  *
+ * @global int $content_width
+ *
  * @param string $url Optional. The URL that should be embedded. Default empty.
  *
  * @return array Default embed parameters.
@@ -2301,7 +2321,7 @@ function wp_maybe_load_embeds() {
                return;
        }
 
-       wp_embed_register_handler( 'youtube_embed_url', '#https?://(www.)?youtube\.com/embed/([^/]+)#i', 'wp_embed_handler_youtube' );
+       wp_embed_register_handler( 'youtube_embed_url', '#https?://(www.)?youtube\.com/(?:v|embed)/([^/]+)#i', 'wp_embed_handler_youtube' );
 
        wp_embed_register_handler( 'googlevideo', '#http://video\.google\.([A-Za-z.]{2,5})/videoplay\?docid=([\d-]+)(.*?)#i', 'wp_embed_handler_googlevideo' );
 
@@ -2368,6 +2388,8 @@ function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
  *
  * @since 4.0.0
  *
+ * @global WP_Embed $wp_embed
+ *
  * @param array  $matches The RegEx matches from the provided regex when calling
  *                        wp_embed_register_handler().
  * @param array  $attr    Embed attributes.
@@ -2399,10 +2421,10 @@ function wp_embed_handler_youtube( $matches, $attr, $url, $rawattr ) {
  *
  * @since 3.6.0
  *
- * @param array $matches The RegEx matches from the provided regex when calling wp_embed_register_handler().
- * @param array $attr Embed attributes.
+ * @param array  $matches The RegEx matches from the provided regex when calling wp_embed_register_handler().
+ * @param array  $attr Embed attributes.
  * @param string $url The original URL that was matched by the regex.
- * @param array $rawattr The original unmodified attributes.
+ * @param array  $rawattr The original unmodified attributes.
  * @return string The embed HTML.
  */
 function wp_embed_handler_audio( $matches, $attr, $url, $rawattr ) {
@@ -2554,7 +2576,7 @@ function wp_image_editor_supports( $args = array() ) {
  * @since 3.5.0
  *
  * @param array $args Optional. Array of arguments for choosing a capable editor. Default empty array.
- * @return string|bool Class name for the first editor that claims to support the request. False if no
+ * @return string|false Class name for the first editor that claims to support the request. False if no
  *                     editor claims to support the request.
  */
 function _wp_image_editor_choose( $args = array() ) {
@@ -2600,7 +2622,7 @@ function _wp_image_editor_choose( $args = array() ) {
  * @since 3.4.0
  */
 function wp_plupload_default_settings() {
-       global $wp_scripts;
+       $wp_scripts = wp_scripts();
 
        $data = $wp_scripts->get_data( 'wp-plupload', 'data' );
        if ( $data && false !== strpos( $data, '_wpPluploadSettings' ) )
@@ -2675,7 +2697,7 @@ function wp_plupload_default_settings() {
  * @since 3.5.0
  *
  * @param mixed $attachment Attachment ID or object.
- * @return array Array of attachment details.
+ * @return array|void Array of attachment details.
  */
 function wp_prepare_attachment_for_js( $attachment ) {
        if ( ! $attachment = get_post( $attachment ) )
@@ -2695,7 +2717,7 @@ function wp_prepare_attachment_for_js( $attachment ) {
        $response = array(
                'id'          => $attachment->ID,
                'title'       => $attachment->post_title,
-               'filename'    => wp_basename( $attachment->guid ),
+               'filename'    => wp_basename( get_attached_file( $attachment->ID ) ),
                'url'         => $attachment_url,
                'link'        => get_attachment_link( $attachment->ID ),
                'alt'         => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ),
@@ -2868,15 +2890,17 @@ function wp_prepare_attachment_for_js( $attachment ) {
  *
  * @since 3.5.0
  *
+ * @global int       $content_width
+ * @global wpdb      $wpdb
+ * @global WP_Locale $wp_locale
+ *
  * @param array $args {
  *     Arguments for enqueuing media scripts.
  *
  *     @type int|WP_Post A post object or ID.
  * }
- * @return array List of media view settings.
  */
 function wp_enqueue_media( $args = array() ) {
-
        // Enqueue me just once per page, please.
        if ( did_action( 'wp_enqueue_media' ) )
                return;
@@ -2993,6 +3017,12 @@ function wp_enqueue_media( $args = array() ) {
 
        $hier = $post && is_post_type_hierarchical( $post->post_type );
 
+       if ( $post ) {
+               $post_type_object = get_post_type_object( $post->post_type );
+       } else {
+               $post_type_object = get_post_type_object( 'post' );
+       }
+
        $strings = array(
                // Generic
                'url'         => __( 'URL' ),
@@ -3051,8 +3081,8 @@ function wp_enqueue_media( $args = array() ) {
                'insertFromUrlTitle' => __( 'Insert from URL' ),
 
                // Featured Images
-               'setFeaturedImageTitle' => __( 'Set Featured Image' ),
-               'setFeaturedImage'    => __( 'Set featured image' ),
+               'setFeaturedImageTitle' => $post_type_object->labels->featured_image,
+               'setFeaturedImage'      => $post_type_object->labels->set_featured_image,
 
                // Gallery
                'createGalleryTitle' => __( 'Create Gallery' ),
@@ -3429,7 +3459,7 @@ function attachment_url_to_postid( $url ) {
  *
  * @since 4.0.0
  *
- * @global $wp_version
+ * @global string $wp_version
  *
  * @return array The relevant CSS file URLs.
  */
index b57e761f46b6a8391e1407b98963f752ded258a8..a0700b07b4d4938be3726316d626c309723fc767 100644 (file)
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $object_id ID of the object metadata is for
- * @param string $meta_key Metadata key
- * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
- * @param bool $unique Optional, default is false. Whether the specified metadata key should be
- *             unique for the object. If true, and the object already has a value for the specified
- *             metadata key, no change will be made
- * @return int|bool The meta ID on success, false on failure.
+ * @param string $meta_type  Type of object metadata is for (e.g., comment, post, or user)
+ * @param int    $object_id  ID of the object metadata is for
+ * @param string $meta_key   Metadata key
+ * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
+ * @param bool   $unique     Optional, default is false.
+ *                           Whether the specified metadata key should be unique for the object.
+ *                           If true, and the object already has a value for the specified metadata key,
+ *                           no change will be made.
+ * @return int|false The meta ID on success, false on failure.
  */
 function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique = false) {
        global $wpdb;
@@ -132,12 +133,12 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $object_id ID of the object metadata is for
- * @param string $meta_key Metadata key
- * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
- * @param mixed $prev_value Optional. If specified, only update existing metadata entries with
- *             the specified value. Otherwise, update all entries.
+ * @param string $meta_type  Type of object metadata is for (e.g., comment, post, or user)
+ * @param int    $object_id  ID of the object metadata is for
+ * @param string $meta_key   Metadata key
+ * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
+ * @param mixed  $prev_value Optional. If specified, only update existing metadata entries with
+ *                                  the specified value. Otherwise, update all entries.
  * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
  */
 function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_value = '') {
@@ -294,14 +295,17 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $object_id ID of the object metadata is for
- * @param string $meta_key Metadata key
- * @param mixed $meta_value Optional. Metadata value. Must be serializable if non-scalar. If specified, only delete metadata entries
- *             with this value. Otherwise, delete all entries with the specified meta_key.
- * @param bool $delete_all Optional, default is false. If true, delete matching metadata entries
- *             for all objects, ignoring the specified object_id. Otherwise, only delete matching
- *             metadata entries for the specified object_id.
+ * @param string $meta_type  Type of object metadata is for (e.g., comment, post, or user)
+ * @param int    $object_id  ID of the object metadata is for
+ * @param string $meta_key   Metadata key
+ * @param mixed  $meta_value Optional. Metadata value. Must be serializable if non-scalar. If specified, only delete
+ *                           metadata entries with this value. Otherwise, delete all entries with the specified meta_key.
+ *                           Pass `null, `false`, or an empty string to skip this check. (For backward compatibility,
+ *                           it is not possible to pass an empty string to delete those entries with an empty string
+ *                           for a value.)
+ * @param bool   $delete_all Optional, default is false. If true, delete matching metadata entries for all objects,
+ *                           ignoring the specified object_id. Otherwise, only delete matching metadata entries for
+ *                           the specified object_id.
  * @return bool True on successful delete, false on failure.
  */
 function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $delete_all = false) {
@@ -356,7 +360,7 @@ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $d
        if ( !$delete_all )
                $query .= $wpdb->prepare(" AND $type_column = %d", $object_id );
 
-       if ( $meta_value )
+       if ( '' !== $meta_value && null !== $meta_value && false !== $meta_value )
                $query .= $wpdb->prepare(" AND meta_value = %s", $meta_value );
 
        $meta_ids = $wpdb->get_col( $query );
@@ -444,11 +448,12 @@ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $d
  * @since 2.9.0
  *
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $object_id ID of the object metadata is for
- * @param string $meta_key Optional. Metadata key. If not specified, retrieve all metadata for
- *             the specified object.
- * @param bool $single Optional, default is false. If true, return only the first value of the
- *             specified meta_key. This parameter has no effect if meta_key is not specified.
+ * @param int    $object_id ID of the object metadata is for
+ * @param string $meta_key  Optional. Metadata key. If not specified, retrieve all metadata for
+ *                                 the specified object.
+ * @param bool   $single    Optional, default is false.
+ *                          If true, return only the first value of the specified meta_key.
+ *                          This parameter has no effect if meta_key is not specified.
  * @return mixed Single metadata value, or array of values
  */
 function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
@@ -515,9 +520,9 @@ function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
  * @since 3.3.0
  *
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $object_id ID of the object metadata is for
- * @param string $meta_key Metadata key.
- * @return boolean true of the key is set, false if not.
+ * @param int    $object_id ID of the object metadata is for
+ * @param string $meta_key  Metadata key.
+ * @return bool True of the key is set, false if not.
  */
 function metadata_exists( $meta_type, $object_id, $meta_key ) {
        if ( ! $meta_type || ! is_numeric( $object_id ) ) {
@@ -552,9 +557,11 @@ function metadata_exists( $meta_type, $object_id, $meta_key ) {
  *
  * @since 3.3.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $meta_id ID for a specific meta row
- * @return object Meta object or false.
+ * @param int    $meta_id   ID for a specific meta row
+ * @return object|false Meta object or false.
  */
 function get_metadata_by_mid( $meta_type, $meta_id ) {
        global $wpdb;
@@ -591,10 +598,12 @@ function get_metadata_by_mid( $meta_type, $meta_id ) {
  *
  * @since 3.3.0
  *
- * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $meta_id ID for a specific meta row
+ * @global wpdb $wpdb
+ *
+ * @param string $meta_type  Type of object metadata is for (e.g., comment, post, or user)
+ * @param int    $meta_id    ID for a specific meta row
  * @param string $meta_value Metadata value
- * @param string $meta_key Optional, you can provide a meta key to update it
+ * @param string $meta_key   Optional, you can provide a meta key to update it
  * @return bool True on successful update, false on failure.
  */
 function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key = false ) {
@@ -682,8 +691,10 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
  *
  * @since 3.3.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int $meta_id ID for a specific meta row
+ * @param int    $meta_id   ID for a specific meta row
  * @return bool True on successful delete, false on failure.
  */
 function delete_metadata_by_mid( $meta_type, $meta_id ) {
@@ -769,9 +780,9 @@ function delete_metadata_by_mid( $meta_type, $meta_id ) {
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
- * @param int|array $object_ids array or comma delimited list of object IDs to update cache for
- * @return mixed Metadata cache for the specified objects, or false on failure.
+ * @param string    $meta_type  Type of object metadata is for (e.g., comment, post, or user)
+ * @param int|array $object_ids Array or comma delimited list of object IDs to update cache for
+ * @return array|false Metadata cache for the specified objects, or false on failure.
  */
 function update_meta_cache($meta_type, $object_ids) {
        global $wpdb;
@@ -942,6 +953,15 @@ class WP_Meta_Query {
         */
        protected $clauses = array();
 
+       /**
+        * Whether the query contains any OR relations.
+        *
+        * @since 4.3.0
+        * @access protected
+        * @var bool
+        */
+       protected $has_or_relation = false;
+
        /**
         * Constructor.
         *
@@ -1035,6 +1055,7 @@ class WP_Meta_Query {
                // Sanitize the 'relation' key provided in the query.
                if ( isset( $relation ) && 'OR' === strtoupper( $relation ) ) {
                        $clean_queries['relation'] = 'OR';
+                       $this->has_or_relation = true;
 
                /*
                 * If there is only a single clause, call the relation 'OR'.
@@ -1150,7 +1171,7 @@ class WP_Meta_Query {
         * @param string $primary_table     Database table where the object being filtered is stored (eg wp_users).
         * @param string $primary_id_column ID column for the filtered object in $primary_table.
         * @param object $context           Optional. The main query object.
-        * @return array {
+        * @return false|array {
         *     Array containing JOIN and WHERE SQL clauses to append to the main query.
         *
         *     @type string $join  SQL fragment to append to the main JOIN clause.
@@ -1321,6 +1342,8 @@ class WP_Meta_Query {
         * @since 4.1.0
         * @access public
         *
+        * @global wpdb $wpdb
+        *
         * @param array  $clause       Query clause, passed by reference.
         * @param array  $parent_query Parent query array.
         * @param string $clause_key   Optional. The array key used to name the clause in the original `$meta_query`
@@ -1565,6 +1588,21 @@ class WP_Meta_Query {
                 */
                return apply_filters( 'meta_query_find_compatible_table_alias', $alias, $clause, $parent_query, $this ) ;
        }
+
+       /**
+        * Checks whether the current query has any OR relations.
+        *
+        * In some cases, the presence of an OR relation somewhere in the query will require
+        * the use of a `DISTINCT` or `GROUP BY` keyword in the `SELECT` clause. The current
+        * method can be used in these cases to determine whether such a clause is necessary.
+        *
+        * @since 4.3.0
+        *
+        * @return bool True if the query contains any `OR` relations, otherwise false.
+        */
+       public function has_or_relation() {
+               return $this->has_or_relation;
+       }
 }
 
 /**
@@ -1575,7 +1613,7 @@ class WP_Meta_Query {
  * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param string $type Type of object to get metadata table for (e.g., comment, post, or user)
- * @return mixed Metadata table name, or false if no metadata table exists
+ * @return string|false Metadata table name, or false if no metadata table exists
  */
 function _get_meta_table($type) {
        global $wpdb;
@@ -1617,9 +1655,9 @@ function is_protected_meta( $meta_key, $meta_type = null ) {
  *
  * @since 3.1.3
  *
- * @param string $meta_key Meta key
- * @param mixed $meta_value Meta value to sanitize
- * @param string $meta_type Type of meta
+ * @param string $meta_key   Meta key
+ * @param mixed  $meta_value Meta value to sanitize
+ * @param string $meta_type  Type of meta
  * @return mixed Sanitized $meta_value
  */
 function sanitize_meta( $meta_key, $meta_value, $meta_type ) {
@@ -1646,10 +1684,10 @@ function sanitize_meta( $meta_key, $meta_value, $meta_type ) {
  *
  * @since 3.3.0
  *
- * @param string $meta_type Type of meta
- * @param string $meta_key Meta key
+ * @param string       $meta_type         Type of meta
+ * @param string       $meta_key          Meta key
  * @param string|array $sanitize_callback A function or method to call when sanitizing the value of $meta_key.
- * @param string|array $auth_callback Optional. A function or method to call when performing edit_post_meta, add_post_meta, and delete_post_meta capability checks.
+ * @param string|array $auth_callback     Optional. A function or method to call when performing edit_post_meta, add_post_meta, and delete_post_meta capability checks.
  */
 function register_meta( $meta_type, $meta_key, $sanitize_callback, $auth_callback = null ) {
        if ( is_callable( $sanitize_callback ) )
index 74885b135064a114f47c7ca2d14c929c38026c4f..966fb73f1dbf33fe5d5c703b5d85884eb82fb514 100644 (file)
@@ -12,6 +12,8 @@
  * Update the last_updated field for the current blog.
  *
  * @since MU
+ *
+ * @global wpdb $wpdb
  */
 function wpmu_update_blogs_date() {
        global $wpdb;
@@ -66,6 +68,8 @@ function get_blogaddress_by_name( $blogname ) {
  *
  * @since MU
  *
+ * @global wpdb $wpdb
+ *
  * @param string $slug
  * @return int A blog id
  */
@@ -97,8 +101,12 @@ function get_id_from_blogname( $slug ) {
  *
  * @since MU
  *
- * @param int|string|array $fields A blog ID, a blog slug, or an array of fields to query against. Optional. If not specified the current blog ID is used.
- * @param bool $get_all Whether to retrieve all details or only the details in the blogs table. Default is true.
+ * @global wpdb $wpdb
+ *
+ * @param int|string|array $fields  Optional. A blog ID, a blog slug, or an array of fields to query against.
+ *                                  If not specified the current blog ID is used.
+ * @param bool             $get_all Whether to retrieve all details or only the details in the blogs table.
+ *                                  Default is true.
  * @return object|false Blog details on success. False on failure.
  */
 function get_blog_details( $fields = null, $get_all = true ) {
@@ -272,7 +280,9 @@ function refresh_blog_details( $blog_id = 0 ) {
  *
  * @since MU
  *
- * @param int $blog_id Blog ID
+ * @global wpdb $wpdb
+ *
+ * @param int   $blog_id Blog ID
  * @param array $details Array of details keyed by blogs table field names.
  * @return bool True if update succeeds, false otherwise.
  */
@@ -444,9 +454,9 @@ function clean_blog_cache( $blog ) {
  *
  * @since MU
  *
- * @param int $id A blog ID. Can be null to refer to the current blog.
- * @param string $option Name of option to retrieve. Expected to not be SQL-escaped.
- * @param mixed $default Optional. Default value to return if the option does not exist.
+ * @param int    $id      A blog ID. Can be null to refer to the current blog.
+ * @param string $option  Name of option to retrieve. Expected to not be SQL-escaped.
+ * @param mixed  $default Optional. Default value to return if the option does not exist.
  * @return mixed Value set for the option.
  */
 function get_blog_option( $id, $option, $default = false ) {
@@ -489,9 +499,9 @@ function get_blog_option( $id, $option, $default = false ) {
  *
  * @since MU
  *
- * @param int $id A blog ID. Can be null to refer to the current blog.
+ * @param int    $id     A blog ID. Can be null to refer to the current blog.
  * @param string $option Name of option to add. Expected to not be SQL-escaped.
- * @param mixed $value Optional. Option value, can be anything. Expected to not be SQL-escaped.
+ * @param mixed  $value  Optional. Option value, can be anything. Expected to not be SQL-escaped.
  * @return bool False if option was not added and true if option was added.
  */
 function add_blog_option( $id, $option, $value ) {
@@ -515,7 +525,7 @@ function add_blog_option( $id, $option, $value ) {
  *
  * @since MU
  *
- * @param int $id A blog ID. Can be null to refer to the current blog.
+ * @param int    $id     A blog ID. Can be null to refer to the current blog.
  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
  * @return bool True, if option is successfully deleted. False on failure.
  */
@@ -540,9 +550,9 @@ function delete_blog_option( $id, $option ) {
  *
  * @since MU
  *
- * @param int $id The blog id
+ * @param int    $id     The blog id
  * @param string $option The option key
- * @param mixed $value The option value
+ * @param mixed  $value  The option value
  * @return bool True on success, false on failure.
  */
 function update_blog_option( $id, $option, $value, $deprecated = null ) {
@@ -576,12 +586,19 @@ function update_blog_option( $id, $option, $value, $deprecated = null ) {
  * @see restore_current_blog()
  * @since MU
  *
- * @param int $new_blog The id of the blog you want to switch to. Default: current blog
+ * @global wpdb            $wpdb
+ * @global int             $blog_id
+ * @global array           $_wp_switched_stack
+ * @global bool            $switched
+ * @global string          $table_prefix
+ * @global WP_Object_Cache $wp_object_cache
+ *
+ * @param int  $new_blog   The id of the blog you want to switch to. Default: current blog
  * @param bool $deprecated Deprecated argument
- * @return bool Always returns True.
+ * @return true Always returns True.
  */
 function switch_to_blog( $new_blog, $deprecated = null ) {
-       global $wpdb, $wp_roles;
+       global $wpdb;
 
        if ( empty( $new_blog ) )
                $new_blog = $GLOBALS['blog_id'];
@@ -635,7 +652,7 @@ function switch_to_blog( $new_blog, $deprecated = null ) {
        }
 
        if ( did_action( 'init' ) ) {
-               $wp_roles->reinit();
+               wp_roles()->reinit();
                $current_user = wp_get_current_user();
                $current_user->for_blog( $new_blog );
        }
@@ -653,10 +670,17 @@ function switch_to_blog( $new_blog, $deprecated = null ) {
  * @see switch_to_blog()
  * @since MU
  *
+ * @global wpdb            $wpdb
+ * @global array           $_wp_switched_stack
+ * @global int             $blog_id
+ * @global bool            $switched
+ * @global string          $table_prefix
+ * @global WP_Object_Cache $wp_object_cache
+ *
  * @return bool True on success, false if we're already on the current blog
  */
 function restore_current_blog() {
-       global $wpdb, $wp_roles;
+       global $wpdb;
 
        if ( empty( $GLOBALS['_wp_switched_stack'] ) )
                return false;
@@ -699,7 +723,7 @@ function restore_current_blog() {
        }
 
        if ( did_action( 'init' ) ) {
-               $wp_roles->reinit();
+               wp_roles()->reinit();
                $current_user = wp_get_current_user();
                $current_user->for_blog( $blog );
        }
@@ -718,6 +742,8 @@ function restore_current_blog() {
  *
  * @since 3.5.0
  *
+ * @global array $_wp_switched_stack
+ *
  * @return bool True if switched, false otherwise.
  */
 function ms_is_switched() {
@@ -741,7 +767,7 @@ function is_archived( $id ) {
  *
  * @since MU
  *
- * @param int $id The blog id
+ * @param int    $id       The blog id
  * @param string $archived The new status
  * @return string $archived
  */
@@ -755,10 +781,13 @@ function update_archived( $id, $archived ) {
  *
  * @since MU
  *
- * @param int $blog_id BLog ID
- * @param string $pref A field name
- * @param string $value Value for $pref
- * @return string $value
+ * @global wpdb $wpdb
+ *
+ * @param int    $blog_id BLog ID
+ * @param string $pref    A field name
+ * @param string $value   Value for $pref
+ * @param null   $deprecated
+ * @return string|false $value
  */
 function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {
        global $wpdb;
@@ -828,9 +857,11 @@ function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {
  *
  * @since MU
  *
- * @param int $id The blog id
+ * @global wpdb $wpdb
+ *
+ * @param int    $id   The blog id
  * @param string $pref A field name
- * @return bool $value
+ * @return bool|string|null $value
  */
 function get_blog_status( $id, $pref ) {
        global $wpdb;
@@ -847,9 +878,11 @@ function get_blog_status( $id, $pref ) {
  *
  * @since MU
  *
+ * @global wpdb $wpdb
+ *
  * @param mixed $deprecated Not used
- * @param int $start The offset
- * @param int $quantity The maximum number of blogs to retrieve. Default is 40.
+ * @param int   $start      The offset
+ * @param int   $quantity   The maximum number of blogs to retrieve. Default is 40.
  * @return array The list of blogs
  */
 function get_last_updated( $deprecated = '', $start = 0, $quantity = 40 ) {
@@ -868,7 +901,7 @@ function get_last_updated( $deprecated = '', $start = 0, $quantity = 40 ) {
  *
  * @param string $new_status The new post status
  * @param string $old_status The old post status
- * @param object $post Post object
+ * @param object $post       Post object
  */
 function _update_blog_date_on_post_publish( $new_status, $old_status, $post ) {
        $post_type_obj = get_post_type_object( $post->post_type );
index 0f7d0ff6d37b88ed498df18c0c91f3140b7db3b3..05b1eeb2d01a341c86b4d06e0403f2c97a2c2942 100644 (file)
@@ -14,6 +14,8 @@
  * wp-includes/ms-files.php (wp-content/blogs.php in MU).
  *
  * @since 3.0.0
+ *
+ * @global wpdb $wpdb
  */
 function ms_upload_constants() {
        global $wpdb;
@@ -114,6 +116,9 @@ function ms_file_constants() {
  * we will have translations loaded and can trigger warnings easily.
  *
  * @since 3.0.0
+ *
+ * @staticvar bool $subdomain_error
+ * @staticvar bool $subdomain_error_warn
  */
 function ms_subdomain_constants() {
        static $subdomain_error = null;
@@ -150,4 +155,3 @@ function ms_subdomain_constants() {
                define( 'VHOST', 'no' );
        }
 }
-add_action( 'init', 'ms_subdomain_constants' );
index 3a3979c111199c67c67551629aa62281b129af45..5fa60baa3087f8701b251cd3393e710cea99b0f8 100644 (file)
@@ -13,6 +13,8 @@
  * @since 3.0.0
  */
 
+add_action( 'init', 'ms_subdomain_constants' );
+
 // Functions
 add_action( 'update_option_blog_public', 'update_blog_public', 10, 2 );
 add_filter( 'option_users_can_register', 'users_can_register_signup_filter' );
index beae326fe141b090d157332caeae6dec44e37f5d..5b6702090bf2d91ec893007b298139415ccd1add 100644 (file)
@@ -210,7 +210,7 @@ function get_most_active_blogs( $num = 10, $display = true ) {
                $most_active = $t;
        }
 
-       if ( $display == true ) {
+       if ( $display ) {
                if ( is_array( $most_active ) ) {
                        reset( $most_active );
                        foreach ( (array) $most_active as $key => $details ) {
@@ -253,7 +253,7 @@ function wpmu_admin_do_redirect( $url = '' ) {
                wp_redirect( $ref );
                exit();
        }
-       if ( empty( $_SERVER['HTTP_REFERER'] ) == false ) {
+       if ( ! empty( $_SERVER['HTTP_REFERER'] ) ) {
                wp_redirect( $_SERVER['HTTP_REFERER'] );
                exit();
        }
index de6d15dbdd1205881758440f8a1bcab13dcd7230..87fa70f4b982e7e58e530037fef59d7b72a8e3b1 100644 (file)
@@ -11,7 +11,7 @@
 define( 'SHORTINIT', true );
 require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 
-if( !is_multisite() )
+if ( !is_multisite() )
        die( 'Multisite support not enabled' );
 
 ms_file_constants();
@@ -30,10 +30,10 @@ if ( !is_file( $file ) ) {
 }
 
 $mime = wp_check_filetype( $file );
-if( false === $mime[ 'type' ] && function_exists( 'mime_content_type' ) )
+if ( false === $mime[ 'type' ] && function_exists( 'mime_content_type' ) )
        $mime[ 'type' ] = mime_content_type( $file );
 
-if( $mime[ 'type' ] )
+if ( $mime[ 'type' ] )
        $mimetype = $mime[ 'type' ];
 else
        $mimetype = 'image/' . substr( $file, strrpos( $file, '.' ) + 1 );
@@ -60,7 +60,7 @@ header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 100000000 ) . ' GMT' );
 // Support for Conditional GET - use stripslashes to avoid formatting.php dependency
 $client_etag = isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) ? stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) : false;
 
-if( ! isset( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) )
+if ( ! isset( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) )
        $_SERVER['HTTP_IF_MODIFIED_SINCE'] = false;
 
 $client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE'] );
index 6dbcf086d828433ced83bed1006b3a7003d3ed8d..edbb98425543221bc58f91ceed6b419c3eba5dcd 100644 (file)
@@ -28,9 +28,11 @@ function get_sitestats() {
  *
  * @since MU 1.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $sitedomain Optional. Site domain.
- * @param string $path Optional. Site path.
- * @return array The network admins
+ * @param string $path       Optional. Site path.
+ * @return array|false The network admins
  */
 function get_admin_users_for_domain( $sitedomain = '', $path = '' ) {
        global $wpdb;
@@ -57,14 +59,16 @@ function get_admin_users_for_domain( $sitedomain = '', $path = '' ) {
  *
  * @since MU 1.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $user_id The unique ID of the user
- * @return object The blog object
+ * @return object|void The blog object
  */
 function get_active_blog_for_user( $user_id ) {
        global $wpdb;
        $blogs = get_blogs_of_user( $user_id );
        if ( empty( $blogs ) )
-               return null;
+               return;
 
        if ( !is_multisite() )
                return $blogs[$wpdb->blogid];
@@ -103,7 +107,7 @@ function get_active_blog_for_user( $user_id ) {
                                }
                        }
                } else {
-                       return null;
+                       return;
                }
                return $ret;
        } else {
@@ -166,10 +170,10 @@ function get_blog_post( $blog_id, $post_id ) {
  *
  * @since MU 1.0
  *
- * @param int $blog_id ID of the blog you're adding the user to.
- * @param int $user_id ID of the user you're adding.
- * @param string $role The role you want the user to have
- * @return bool
+ * @param int    $blog_id ID of the blog you're adding the user to.
+ * @param int    $user_id ID of the user you're adding.
+ * @param string $role    The role you want the user to have
+ * @return true|WP_Error
  */
 function add_user_to_blog( $blog_id, $user_id, $role ) {
        switch_to_blog($blog_id);
@@ -200,6 +204,7 @@ function add_user_to_blog( $blog_id, $user_id, $role ) {
         */
        do_action( 'add_user_to_blog', $user_id, $role, $blog_id );
        wp_cache_delete( $user_id, 'users' );
+       wp_cache_delete( $blog_id . '_user_count', 'blog-details' );
        restore_current_blog();
        return true;
 }
@@ -215,10 +220,12 @@ function add_user_to_blog( $blog_id, $user_id, $role ) {
  *
  * @since MU 1.0
  *
- * @param int $user_id ID of the user you're removing.
- * @param int $blog_id ID of the blog you're removing the user from.
+ * @global wpdb $wpdb
+ *
+ * @param int    $user_id  ID of the user you're removing.
+ * @param int    $blog_id  ID of the blog you're removing the user from.
  * @param string $reassign Optional. A user to whom to reassign posts.
- * @return bool
+ * @return true|WP_Error
  */
 function remove_user_from_blog($user_id, $blog_id = '', $reassign = '') {
        global $wpdb;
@@ -294,11 +301,11 @@ function remove_user_from_blog($user_id, $blog_id = '', $reassign = '') {
  *
  * @since MU 1.0
  *
- * @param string $domain The new blog's domain.
- * @param string $path The new blog's path.
+ * @param string $domain       The new blog's domain.
+ * @param string $path         The new blog's path.
  * @param string $weblog_title The new blog's title.
- * @param int $site_id Optional. Defaults to 1.
- * @return int The ID of the newly created blog
+ * @param int    $site_id      Optional. Defaults to 1.
+ * @return string|int The ID of the newly created blog
  */
 function create_empty_blog( $domain, $path, $weblog_title, $site_id = 1 ) {
        if ( empty($path) )
@@ -349,8 +356,10 @@ function get_blog_permalink( $blog_id, $post_id ) {
  *
  * @since MU 2.6.5
  *
+ * @global wpdb $wpdb
+ *
  * @param string $domain
- * @param string $path Optional. Not required for subdomain installations.
+ * @param string $path   Optional. Not required for subdomain installations.
  * @return int 0 if no blog found, otherwise the ID of the matching blog
  */
 function get_blog_id_from_url( $domain, $path = '/' ) {
@@ -447,6 +456,8 @@ function is_email_address_unsafe( $user_email ) {
  *
  * @since MU
  *
+ * @global wpdb $wpdb
+ *
  * @param string $user_name  The login name provided by the user.
  * @param string $user_email The email provided by the user.
  * @return array Contains username, email, and error messages.
@@ -470,11 +481,11 @@ function wpmu_validate_user_signup($user_name, $user_email) {
                $errors->add('user_name', __( 'Please enter a username.' ) );
 
        $illegal_names = get_site_option( 'illegal_names' );
-       if ( is_array( $illegal_names ) == false ) {
+       if ( ! is_array( $illegal_names ) ) {
                $illegal_names = array(  'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator' );
                add_site_option( 'illegal_names', $illegal_names );
        }
-       if ( in_array( $user_name, $illegal_names ) == true )
+       if ( in_array( $user_name, $illegal_names ) )
                $errors->add('user_name',  __( 'That username is not allowed.' ) );
 
        if ( is_email_address_unsafe( $user_email ) )
@@ -483,7 +494,11 @@ function wpmu_validate_user_signup($user_name, $user_email) {
        if ( strlen( $user_name ) < 4 )
                $errors->add('user_name',  __( 'Username must be at least 4 characters.' ) );
 
-       if ( strpos( ' ' . $user_name, '_' ) != false )
+       if ( strlen( $user_name ) > 60 ) {
+               $errors->add( 'user_name', __( 'Username may not be longer than 60 characters.' ) );
+       }
+
+       if ( strpos( $user_name, '_' ) !== false )
                $errors->add( 'user_name', __( 'Sorry, usernames may not contain the character &#8220;_&#8221;!' ) );
 
        // all numeric?
@@ -494,10 +509,11 @@ function wpmu_validate_user_signup($user_name, $user_email) {
                $errors->add('user_email', __( 'Please enter a valid email address.' ) );
 
        $limited_email_domains = get_site_option( 'limited_email_domains' );
-       if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) {
+       if ( is_array( $limited_email_domains ) && ! empty( $limited_email_domains ) ) {
                $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) );
-               if ( in_array( $emaildomain, $limited_email_domains ) == false )
+               if ( ! in_array( $emaildomain, $limited_email_domains ) ) {
                        $errors->add('user_email', __('Sorry, that email address is not allowed!'));
+               }
        }
 
        // Check if the username has been used already.
@@ -569,7 +585,10 @@ function wpmu_validate_user_signup($user_name, $user_email) {
  *
  * @since MU
  *
- * @param string $blogname The blog name provided by the user. Must be unique.
+ * @global wpdb   $wpdb
+ * @global string $domain
+ *
+ * @param string $blogname   The blog name provided by the user. Must be unique.
  * @param string $blog_title The blog title provided by the user.
  * @return array Contains the new site data and error messages.
  */
@@ -613,7 +632,7 @@ function wpmu_validate_blog_signup( $blogname, $blog_title, $user = '' ) {
        if ( preg_match( '/[^a-z0-9]+/', $blogname ) )
                $errors->add('blogname', __( 'Only lowercase letters (a-z) and numbers are allowed.' ) );
 
-       if ( in_array( $blogname, $illegal_names ) == true )
+       if ( in_array( $blogname, $illegal_names ) )
                $errors->add('blogname',  __( 'That name is not allowed.' ) );
 
        if ( strlen( $blogname ) < 4 && !is_super_admin() )
@@ -659,7 +678,7 @@ function wpmu_validate_blog_signup( $blogname, $blog_title, $user = '' ) {
                $errors->add( 'blogname', __( 'Sorry, that site already exists!' ) );
 
        if ( username_exists( $blogname ) ) {
-               if ( is_object( $user ) == false || ( is_object($user) && ( $user->user_login != $blogname ) ) )
+               if ( ! is_object( $user ) || ( is_object($user) && ( $user->user_login != $blogname ) ) )
                        $errors->add( 'blogname', __( 'Sorry, that site is reserved!' ) );
        }
 
@@ -700,12 +719,14 @@ function wpmu_validate_blog_signup( $blogname, $blog_title, $user = '' ) {
  *
  * @since MU
  *
- * @param string $domain The requested domain.
- * @param string $path The requested path.
- * @param string $title The requested site title.
- * @param string $user The user's requested login name.
+ * @global wpdb $wpdb
+ *
+ * @param string $domain     The requested domain.
+ * @param string $path       The requested path.
+ * @param string $title      The requested site title.
+ * @param string $user       The user's requested login name.
  * @param string $user_email The user's email address.
- * @param array $meta By default, contains the requested privacy setting and lang_id.
+ * @param array  $meta       By default, contains the requested privacy setting and lang_id.
  */
 function wpmu_signup_blog( $domain, $path, $title, $user, $user_email, $meta = array() )  {
        global $wpdb;
@@ -735,9 +756,11 @@ function wpmu_signup_blog( $domain, $path, $title, $user, $user_email, $meta = a
  *
  * @since MU
  *
- * @param string $user The user's requested login name.
+ * @global wpdb $wpdb
+ *
+ * @param string $user       The user's requested login name.
  * @param string $user_email The user's email address.
- * @param array $meta By default, this is an empty array.
+ * @param array  $meta       By default, this is an empty array.
  */
 function wpmu_signup_user( $user, $user_email, $meta = array() ) {
        global $wpdb;
@@ -777,13 +800,13 @@ function wpmu_signup_user( $user, $user_email, $meta = array() ) {
  *
  * @since MU
  *
- * @param string $domain The new blog domain.
- * @param string $path The new blog path.
- * @param string $title The site title.
- * @param string $user The user's login name.
+ * @param string $domain     The new blog domain.
+ * @param string $path       The new blog path.
+ * @param string $title      The site title.
+ * @param string $user       The user's login name.
  * @param string $user_email The user's email address.
- * @param string $key The activation key created in wpmu_signup_blog()
- * @param array $meta By default, contains the requested privacy setting and lang_id.
+ * @param string $key        The activation key created in wpmu_signup_blog()
+ * @param array  $meta       By default, contains the requested privacy setting and lang_id.
  * @return bool
  */
 function wpmu_signup_blog_notification( $domain, $path, $title, $user, $user_email, $key, $meta = array() ) {
@@ -883,10 +906,10 @@ function wpmu_signup_blog_notification( $domain, $path, $title, $user, $user_ema
  *
  * @since MU
  *
- * @param string $user The user's login name.
+ * @param string $user       The user's login name.
  * @param string $user_email The user's email address.
- * @param string $key The activation key created in wpmu_signup_user()
- * @param array $meta By default, an empty array.
+ * @param string $key        The activation key created in wpmu_signup_user()
+ * @param array  $meta       By default, an empty array.
  * @return bool
  */
 function wpmu_signup_user_notification( $user, $user_email, $key, $meta = array() ) {
@@ -963,8 +986,10 @@ function wpmu_signup_user_notification( $user, $user_email, $key, $meta = array(
  *
  * @since MU
  *
+ * @global wpdb $wpdb
+ *
  * @param string $key The activation key provided to the user.
- * @return array An array containing information about the activated user and/or blog
+ * @return array|WP_Error An array containing information about the activated user and/or blog
  */
 function wpmu_activate_signup($key) {
        global $wpdb;
@@ -1058,9 +1083,9 @@ function wpmu_activate_signup($key) {
  * @since MU
  *
  * @param string $user_name The new user's login name.
- * @param string $password The new user's password.
- * @param string $email The new user's email address.
- * @return int|bool Returns false on failure, or int $user_id on success
+ * @param string $password  The new user's password.
+ * @param string $email     The new user's email address.
+ * @return int|false Returns false on failure, or int $user_id on success
  */
 function wpmu_create_user( $user_name, $password, $email ) {
        $user_name = preg_replace( '/\s+/', '', sanitize_user( $user_name, true ) );
@@ -1099,13 +1124,13 @@ function wpmu_create_user( $user_name, $password, $email ) {
  *
  * @since MU
  *
- * @param string $domain The new site's domain.
- * @param string $path The new site's path.
- * @param string $title The new site's title.
- * @param int $user_id The user ID of the new site's admin.
- * @param array $meta Optional. Used to set initial site options.
- * @param int $site_id Optional. Only relevant on multi-network installs.
- * @return mixed Returns WP_Error object on failure, int $blog_id on success
+ * @param string $domain  The new site's domain.
+ * @param string $path    The new site's path.
+ * @param string $title   The new site's title.
+ * @param int    $user_id The user ID of the new site's admin.
+ * @param array  $meta    Optional. Used to set initial site options.
+ * @param int    $site_id Optional. Only relevant on multi-network installs.
+ * @return int|WP_Error Returns WP_Error object on failure, int $blog_id on success
  */
 function wpmu_create_blog( $domain, $path, $title, $user_id, $meta = array(), $site_id = 1 ) {
        $defaults = array( 'public' => 0 );
@@ -1264,9 +1289,11 @@ Disable these notifications: %3$s'), $user->user_login, wp_unslash( $_SERVER['RE
  *
  * @since MU
  *
- * @param string $domain The domain to be checked.
- * @param string $path The path to be checked.
- * @param int $site_id Optional. Relevant only on multi-network installs.
+ * @global wpdb $wpdb
+ *
+ * @param string $domain  The domain to be checked.
+ * @param string $path    The path to be checked.
+ * @param int    $site_id Optional. Relevant only on multi-network installs.
  * @return int
  */
 function domain_exists($domain, $path, $site_id = 1) {
@@ -1295,10 +1322,12 @@ function domain_exists($domain, $path, $site_id = 1) {
  *
  * @since MU
  *
- * @param string $domain The domain of the new site.
- * @param string $path The path of the new site.
- * @param int $site_id Unless you're running a multi-network install, be sure to set this value to 1.
- * @return int The ID of the new row
+ * @global wpdb $wpdb
+ *
+ * @param string $domain  The domain of the new site.
+ * @param string $path    The path of the new site.
+ * @param int    $site_id Unless you're running a multi-network install, be sure to set this value to 1.
+ * @return int|false The ID of the new row
  */
 function insert_blog($domain, $path, $site_id) {
        global $wpdb;
@@ -1327,7 +1356,10 @@ function insert_blog($domain, $path, $site_id) {
  *
  * @since MU
  *
- * @param int $blog_id The value returned by insert_blog().
+ * @global wpdb     $wpdb
+ * @global WP_Roles $wp_roles
+ *
+ * @param int    $blog_id    The value returned by insert_blog().
  * @param string $blog_title The title of the new site.
  */
 function install_blog( $blog_id, $blog_title = '' ) {
@@ -1381,6 +1413,8 @@ function install_blog( $blog_id, $blog_title = '' ) {
  * @deprecated MU
  * @deprecated Use wp_install_defaults()
  *
+ * @global wpdb $wpdb
+ *
  * @param int $blog_id Ignored in this function.
  * @param int $user_id
  */
@@ -1406,11 +1440,11 @@ function install_blog_defaults($blog_id, $user_id) {
  *
  * @since MU
  *
- * @param int $blog_id
- * @param int $user_id
+ * @param int    $blog_id
+ * @param int    $user_id
  * @param string $password
- * @param string $title The new blog's title
- * @param array $meta Optional. Not used in the default function, but is passed along to hooks for customization.
+ * @param string $title    The new blog's title
+ * @param array  $meta     Optional. Not used in the default function, but is passed along to hooks for customization.
  * @return bool
  */
 function wpmu_welcome_notification( $blog_id, $user_id, $password, $title, $meta = array() ) {
@@ -1433,7 +1467,8 @@ function wpmu_welcome_notification( $blog_id, $user_id, $password, $title, $meta
                return false;
 
        $welcome_email = get_site_option( 'welcome_email' );
-       if ( $welcome_email == false )
+       if ( $welcome_email == false ) {
+               /* translators: Do not translate USERNAME, SITE_NAME, BLOG_URL, PASSWORD: those are placeholders. */
                $welcome_email = __( 'Howdy USERNAME,
 
 Your new SITE_NAME site has been successfully set up at:
@@ -1448,6 +1483,7 @@ Log in here: BLOG_URLwp-login.php
 We hope you enjoy your new site. Thanks!
 
 --The Team @ SITE_NAME' );
+       }
 
        $url = get_blogaddress_by_id($blog_id);
        $user = get_userdata( $user_id );
@@ -1507,9 +1543,9 @@ We hope you enjoy your new site. Thanks!
  *
  * @since MU
  *
- * @param int $user_id
+ * @param int    $user_id
  * @param string $password
- * @param array $meta Optional. Not used in the default function, but is passed along to hooks for customization.
+ * @param array  $meta     Optional. Not used in the default function, but is passed along to hooks for customization.
  * @return bool
  */
 function wpmu_welcome_user_notification( $user_id, $password, $meta = array() ) {
@@ -1585,6 +1621,8 @@ function wpmu_welcome_user_notification( $user_id, $password, $meta = array() )
  *
  * @since MU
  *
+ * @global object $current_site
+ *
  * @return object
  */
 function get_current_site() {
@@ -1600,6 +1638,8 @@ function get_current_site() {
  *
  * @since MU
  *
+ * @global wpdb $wpdb
+ *
  * @param int $user_id
  * @return array Contains the blog_id, post_id, post_date_gmt, and post_gmt_ts
  */
@@ -1646,18 +1686,24 @@ function get_most_recent_post_of_user( $user_id ) {
  *
  * @since MU
  *
- * @param string $directory
- * @return int
+ * @param string $directory Full path of a directory.
+ * @return int Size of the directory in MB.
  */
 function get_dirsize( $directory ) {
        $dirsize = get_transient( 'dirsize_cache' );
        if ( is_array( $dirsize ) && isset( $dirsize[ $directory ][ 'size' ] ) )
                return $dirsize[ $directory ][ 'size' ];
 
-       if ( false == is_array( $dirsize ) )
+       if ( ! is_array( $dirsize ) )
                $dirsize = array();
 
-       $dirsize[ $directory ][ 'size' ] = recurse_dirsize( $directory );
+       // Exclude individual site directories from the total when checking the main site,
+       // as they are subdirectories and should not be counted.
+       if ( is_main_site() ) {
+               $dirsize[ $directory ][ 'size' ] = recurse_dirsize( $directory, $directory . '/sites' );
+       } else {
+               $dirsize[ $directory ][ 'size' ] = recurse_dirsize( $directory );
+       }
 
        set_transient( 'dirsize_cache', $dirsize, HOUR_IN_SECONDS );
        return $dirsize[ $directory ][ 'size' ];
@@ -1670,17 +1716,20 @@ function get_dirsize( $directory ) {
  * other directories.
  *
  * @since MU
+ * @since 4.3.0 $exclude parameter added.
  *
- * @param string $directory
- * @return int
+ * @param string $directory Full path of a directory.
+ * @param string $exclude   Optional. Full path of a subdirectory to exclude from the total.
+ * @return int|false Size in MB if a valid directory. False if not.
  */
-function recurse_dirsize( $directory ) {
+function recurse_dirsize( $directory, $exclude = null ) {
        $size = 0;
 
        $directory = untrailingslashit( $directory );
 
-       if ( !file_exists($directory) || !is_dir( $directory ) || !is_readable( $directory ) )
+       if ( ! file_exists( $directory ) || ! is_dir( $directory ) || ! is_readable( $directory ) || $directory === $exclude ) {
                return false;
+       }
 
        if ($handle = opendir($directory)) {
                while(($file = readdir($handle)) !== false) {
@@ -1689,7 +1738,7 @@ function recurse_dirsize( $directory ) {
                                if (is_file($path)) {
                                        $size += filesize($path);
                                } elseif (is_dir($path)) {
-                                       $handlesize = recurse_dirsize($path);
+                                       $handlesize = recurse_dirsize( $path, $exclude );
                                        if ($handlesize > 0)
                                                $size += $handlesize;
                                }
@@ -1735,6 +1784,8 @@ function check_upload_mimes( $mimes ) {
  * are published or unpublished to make sure the count stays current.
  *
  * @since MU
+ *
+ * @global wpdb $wpdb
  */
 function update_posts_count( $deprecated = '' ) {
        global $wpdb;
@@ -1746,6 +1797,8 @@ function update_posts_count( $deprecated = '' ) {
  *
  * @since MU
  *
+ * @global wpdb $wpdb
+ *
  * @param int $blog_id
  * @param int $user_id
  */
@@ -1763,6 +1816,9 @@ function wpmu_log_new_registrations( $blog_id, $user_id ) {
  *
  * @see term_id_filter
  *
+ * @global wpdb $wpdb
+ * @staticvar int $global_terms_recurse
+ *
  * @param int $term_id An ID for a term on the current blog.
  * @return int An ID from the global terms table mapped from $term_id.
  */
@@ -1820,7 +1876,7 @@ function global_terms( $term_id, $deprecated = '' ) {
 
                clean_term_cache($term_id);
        }
-       if( $recurse_start )
+       if ( $recurse_start )
                $global_terms_recurse = null;
 
        return $global_id;
@@ -1844,10 +1900,10 @@ function redirect_this_site( $deprecated = '' ) {
  * @since MU
  *
  * @param array $upload
- * @return mixed If the upload is under the size limit, $upload is returned. Otherwise returns an error message.
+ * @return string|array If the upload is under the size limit, $upload is returned. Otherwise returns an error message.
  */
 function upload_is_file_too_big( $upload ) {
-       if ( is_array( $upload ) == false || defined( 'WP_IMPORTING' ) || get_site_option( 'upload_space_check_disabled' ) )
+       if ( ! is_array( $upload ) || defined( 'WP_IMPORTING' ) || get_site_option( 'upload_space_check_disabled' ) )
                return $upload;
 
        if ( strlen( $upload['bits'] )  > ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) )
@@ -1919,7 +1975,7 @@ function maybe_redirect_404() {
  */
 function maybe_add_existing_user_to_blog() {
        if ( false === strpos( $_SERVER[ 'REQUEST_URI' ], '/newbloguser/' ) )
-               return false;
+               return;
 
        $parts = explode( '/', $_SERVER[ 'REQUEST_URI' ] );
        $key = array_pop( $parts );
@@ -1942,7 +1998,10 @@ function maybe_add_existing_user_to_blog() {
  *
  * @since MU
  *
+ * @global int $blog_id
+ *
  * @param array $details
+ * @return true|WP_Error|void
  */
 function add_existing_user_to_blog( $details = false ) {
        global $blog_id;
@@ -1958,8 +2017,8 @@ function add_existing_user_to_blog( $details = false ) {
                 * @param mixed $result  True on success or a WP_Error object if the user doesn't exist.
                 */
                do_action( 'added_existing_user', $details['user_id'], $result );
+               return $result;
        }
-       return $result;
 }
 
 /**
@@ -1971,7 +2030,7 @@ function add_existing_user_to_blog( $details = false ) {
  * @since MU
  * @see add_user_to_blog()
  *
- * @param int $user_id
+ * @param int   $user_id
  * @param mixed $password Ignored.
  * @param array $meta
  */
@@ -2000,7 +2059,7 @@ function fix_phpmailer_messageid( $phpmailer ) {
  * @since MU
  *
  * @param string|WP_User $user Optional. Defaults to current user. WP_User object,
- *     or user login name as a string.
+ *                                or user login name as a string.
  * @return bool
  */
 function is_user_spammy( $user = null ) {
@@ -2023,7 +2082,7 @@ function is_user_spammy( $user = null ) {
  * @since MU
  *
  * @param int $old_value
- * @param int $value The new public value
+ * @param int $value     The new public value
  */
 function update_blog_public( $old_value, $value ) {
        update_blog_status( get_current_blog_id(), 'public', (int) $value );
@@ -2034,9 +2093,11 @@ function update_blog_public( $old_value, $value ) {
  *
  * @since MU
  *
+ * @global wpdb $wpdb
+ *
  * @param string $key
- * @param int $user_id Optional. Defaults to current user.
- * @param int $blog_id Optional. Defaults to current blog.
+ * @param int    $user_id Optional. Defaults to current user.
+ * @param int    $blog_id Optional. Defaults to current blog.
  * @return bool
  */
 function is_user_option_local( $key, $user_id = 0, $blog_id = 0 ) {
@@ -2048,10 +2109,7 @@ function is_user_option_local( $key, $user_id = 0, $blog_id = 0 ) {
        }
        $local_key = $wpdb->get_blog_prefix( $blog_id ) . $key;
 
-       if ( isset( $current_user->$local_key ) )
-               return true;
-
-       return false;
+       return isset( $current_user->$local_key );
 }
 
 /**
@@ -2063,10 +2121,7 @@ function is_user_option_local( $key, $user_id = 0, $blog_id = 0 ) {
  */
 function users_can_register_signup_filter() {
        $registration = get_site_option('registration');
-       if ( $registration == 'all' || $registration == 'user' )
-               return true;
-
-       return false;
+       return ( $registration == 'all' || $registration == 'user' );
 }
 
 /**
@@ -2080,6 +2135,8 @@ function users_can_register_signup_filter() {
 function welcome_user_msg_filter( $text ) {
        if ( !$text ) {
                remove_filter( 'site_option_welcome_user_email', 'welcome_user_msg_filter' );
+
+               /* translators: Do not translate USERNAME, PASSWORD, LOGINLINK, SITE_NAME: those are placeholders. */
                $text = __( 'Howdy USERNAME,
 
 Your new account is set up.
@@ -2102,11 +2159,13 @@ Thanks!
  *
  * @since 2.8.5
  *
- * @param string|bool $force
+ * @staticvar bool $forced_content
+ *
+ * @param bool $force
  * @return bool True if forced, false if not forced.
  */
 function force_ssl_content( $force = '' ) {
-       static $forced_content;
+       static $forced_content = false;
 
        if ( '' != $force ) {
                $old_forced = $forced_content;
@@ -2209,6 +2268,8 @@ function wp_maybe_update_network_user_counts() {
  * Update the network-wide site count.
  *
  * @since 3.7.0
+ *
+ * @global wpdb $wpdb
  */
 function wp_update_network_site_counts() {
        global $wpdb;
@@ -2221,6 +2282,8 @@ function wp_update_network_site_counts() {
  * Update the network-wide user count.
  *
  * @since 3.7.0
+ *
+ * @global wpdb $wpdb
  */
 function wp_update_network_user_counts() {
        global $wpdb;
@@ -2361,6 +2424,8 @@ function wp_is_large_network( $using = 'sites' ) {
  *
  * @since 3.7.0
  *
+ * @global wpdb $wpdb
+ *
  * @param array $args {
  *     Array of default arguments. Optional.
  *
index bc925baaa9b465676eaf89a75ce1f42af4212d99..e067193f46c5389f0aa16f1d9d827fd8cdfcd3b0 100644 (file)
@@ -19,10 +19,7 @@ function is_subdomain_install() {
        if ( defined('SUBDOMAIN_INSTALL') )
                return SUBDOMAIN_INSTALL;
 
-       if ( defined('VHOST') && VHOST == 'yes' )
-               return true;
-
-       return false;
+       return ( defined( 'VHOST' ) && VHOST == 'yes' );
 }
 
 /**
@@ -68,7 +65,7 @@ function wp_get_active_network_plugins() {
  *
  * @since 3.0.0
  *
- * @return bool|string Returns true on success, or drop-in file to include.
+ * @return true|string Returns true on success, or drop-in file to include.
  */
 function ms_site_check() {
        $blog = get_blog_details();
@@ -117,10 +114,12 @@ function ms_site_check() {
  *
  * @since 3.9.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string   $domain   Domain to check.
  * @param string   $path     Path to check.
  * @param int|null $segments Path segments to use. Defaults to null, or the full path.
- * @return object|bool Network object if successful. False when no network is found.
+ * @return object|false Network object if successful. False when no network is found.
  */
 function get_network_by_path( $domain, $path, $segments = null ) {
        global $wpdb;
@@ -260,8 +259,10 @@ function get_network_by_path( $domain, $path, $segments = null ) {
  *
  * @since 3.9.0
  *
+ * @global wpdb $wpdb
+ *
  * @param object|int $network The network's database row or ID.
- * @return object|bool Object containing network information if found, false if not.
+ * @return object|false Object containing network information if found, false if not.
  */
 function wp_get_network( $network ) {
        global $wpdb;
@@ -281,10 +282,12 @@ function wp_get_network( $network ) {
  *
  * @since 3.9.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string   $domain   Domain to check.
  * @param string   $path     Path to check.
  * @param int|null $segments Path segments to use. Defaults to null, or the full path.
- * @return object|bool Site object if successful. False when no site is found.
+ * @return object|false Site object if successful. False when no site is found.
  */
 function get_site_by_path( $domain, $path, $segments = null ) {
        global $wpdb;
@@ -391,6 +394,10 @@ function get_site_by_path( $domain, $path, $segments = null ) {
  *
  * @access private
  * @since 3.0.0
+ *
+ * @global wpdb   $wpdb
+ * @global string $domain
+ * @global string $path
  */
 function ms_not_installed() {
        global $wpdb, $domain, $path;
@@ -463,6 +470,8 @@ function get_current_site_name( $current_site ) {
  * @since 3.0.0
  * @deprecated 3.9.0
  *
+ * @global object $current_site
+ *
  * @return object
  */
 function wpmu_current_site() {
index 5feac802f825beb803a08088333fdc1e4f755f24..bcc9b6325ca06d1a537cee65753908a53959d360 100644 (file)
@@ -195,6 +195,8 @@ class Walker_Nav_Menu extends Walker {
  *
  * @since 3.0.0
  *
+ * @staticvar array $menu_id_slugs
+ *
  * @param array $args {
  *     Optional. Array of nav menu arguments.
  *
@@ -219,7 +221,7 @@ class Walker_Nav_Menu extends Walker {
  *     @type string        $items_wrap      How the list items should be wrapped. Default is a ul with an id and class.
  *                                          Uses printf() format with numbered placeholders.
  * }
- * @return mixed Menu output if $echo is false, false if there are no items or no menu was found.
+ * @return object|false|void Menu output if $echo is false, false if there are no items or no menu was found.
  */
 function wp_nav_menu( $args = array() ) {
        static $menu_id_slugs = array();
@@ -284,6 +286,10 @@ function wp_nav_menu( $args = array() ) {
                }
        }
 
+       if ( empty( $args->menu ) ) {
+               $args->menu = $menu;
+       }
+
        // If the menu exists, get its items.
        if ( $menu && ! is_wp_error($menu) && !isset($menu_items) )
                $menu_items = wp_get_nav_menu_items( $menu->term_id, array( 'update_post_term_cache' => false ) );
@@ -297,7 +303,7 @@ function wp_nav_menu( $args = array() ) {
         *  - Otherwise, bail.
         */
        if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) )
-               && $args->fallback_cb && is_callable( $args->fallback_cb ) )
+               && isset( $args->fallback_cb ) && $args->fallback_cb && is_callable( $args->fallback_cb ) )
                        return call_user_func( $args->fallback_cb, (array) $args );
 
        if ( ! $menu || is_wp_error( $menu ) )
@@ -430,6 +436,9 @@ function wp_nav_menu( $args = array() ) {
  * @access private
  * @since 3.0.0
  *
+ * @global WP_Query   $wp_query
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param array $menu_items The current menu item objects to which to add the class property information.
  */
 function _wp_menu_item_classes_by_context( &$menu_items ) {
@@ -548,7 +557,7 @@ function _wp_menu_item_classes_by_context( &$menu_items ) {
                        $_root_relative_current = untrailingslashit( $_SERVER['REQUEST_URI'] );
                        $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_root_relative_current );
                        $raw_item_url = strpos( $menu_item->url, '#' ) ? substr( $menu_item->url, 0, strpos( $menu_item->url, '#' ) ) : $menu_item->url;
-                       $item_url = untrailingslashit( $raw_item_url );
+                       $item_url = set_url_scheme( untrailingslashit( $raw_item_url ) );
                        $_indexless_current = untrailingslashit( preg_replace( '/' . preg_quote( $wp_rewrite->index, '/' ) . '$/', '', $current_url ) );
 
                        if ( $raw_item_url && in_array( $item_url, array( $current_url, $_indexless_current, $_root_relative_current ) ) ) {
@@ -651,13 +660,17 @@ function _wp_menu_item_classes_by_context( &$menu_items ) {
  *
  * @uses Walker_Nav_Menu to create HTML list content.
  * @since 3.0.0
- * @see Walker::walk() for parameters and return description.
+ *
+ * @param array  $items
+ * @param int    $depth
+ * @param object $r
+ * @return string
  */
 function walk_nav_menu_tree( $items, $depth, $r ) {
        $walker = ( empty($r->walker) ) ? new Walker_Nav_Menu : $r->walker;
        $args = array( $items, $depth, $r );
 
-       return call_user_func_array( array($walker, 'walk'), $args );
+       return call_user_func_array( array( $walker, 'walk' ), $args );
 }
 
 /**
@@ -665,11 +678,17 @@ function walk_nav_menu_tree( $items, $depth, $r ) {
  *
  * @since 3.0.1
  * @access private
+ *
+ * @staticvar array $used_ids
+ * @param string $id
+ * @param object $item
+ * @return string
  */
 function _nav_menu_item_id_use_once( $id, $item ) {
        static $_used_ids = array();
-       if ( in_array( $item->ID, $_used_ids ) )
+       if ( in_array( $item->ID, $_used_ids ) ) {
                return '';
+       }
        $_used_ids[] = $item->ID;
        return $id;
 }
index 48549b1aaa4f464713950f8f04dce4923270e04b..9eb101933c7c5ff59e17fe79081925422b349c96 100644 (file)
  *
  * @since 3.0.0
  *
- * @param string $menu Menu ID, slug, or name.
- * @return mixed false if $menu param isn't supplied or term does not exist, menu object if successful.
+ * @param string $menu Menu ID, slug, or name - or the menu object.
+ * @return object|false False if $menu param isn't supplied or term does not exist, menu object if successful.
  */
 function wp_get_nav_menu_object( $menu ) {
-       if ( ! $menu )
-               return false;
+       $menu_obj = false;
+
+       if ( is_object( $menu ) ) {
+               $menu_obj = $menu;
+       }
 
-       $menu_obj = get_term( $menu, 'nav_menu' );
+       if ( $menu && ! $menu_obj ) {
+               $menu_obj = get_term( $menu, 'nav_menu' );
 
-       if ( ! $menu_obj )
-               $menu_obj = get_term_by( 'slug', $menu, 'nav_menu' );
+               if ( ! $menu_obj ) {
+                       $menu_obj = get_term_by( 'slug', $menu, 'nav_menu' );
+               }
 
-       if ( ! $menu_obj )
-               $menu_obj = get_term_by( 'name', $menu, 'nav_menu' );
+               if ( ! $menu_obj ) {
+                       $menu_obj = get_term_by( 'name', $menu, 'nav_menu' );
+               }
+       }
 
-       if ( ! $menu_obj )
+       if ( ! $menu_obj || is_wp_error( $menu_obj ) ) {
                $menu_obj = false;
+       }
 
-       return $menu_obj;
+       /**
+        * Filter the nav_menu term retrieved for wp_get_nav_menu_object().
+        *
+        * @since 4.3.0
+        *
+        * @param object|false $menu_obj Term from nav_menu taxonomy, or false if nothing had been found.
+        * @param string       $menu     The menu ID, slug, or name passed to wp_get_nav_menu_object().
+        */
+       return apply_filters( 'wp_get_nav_menu_object', $menu_obj, $menu );
 }
 
 /**
@@ -65,6 +81,8 @@ function is_nav_menu( $menu ) {
  *
  * @since 3.0.0
  *
+ * @global array $_wp_registered_nav_menus
+ *
  * @param array $locations Associative array of menu location identifiers (like a slug) and descriptive text.
  */
 function register_nav_menus( $locations = array() ) {
@@ -78,6 +96,8 @@ function register_nav_menus( $locations = array() ) {
 /**
  * Unregisters a navigation menu for a theme.
  *
+ * @global array $_wp_registered_nav_menus
+ *
  * @param string $location The menu location identifier.
  * @return bool True on success, false on failure.
  */
@@ -99,7 +119,7 @@ function unregister_nav_menu( $location ) {
  *
  * @since 3.0.0
  *
- * @param string $location Menu location identifier, like a slug.
+ * @param string $location    Menu location identifier, like a slug.
  * @param string $description Menu location descriptive text.
  */
 function register_nav_menu( $location, $description ) {
@@ -109,6 +129,9 @@ function register_nav_menu( $location, $description ) {
  * Returns an array of all registered navigation menus in a theme
  *
  * @since 3.0.0
+ *
+ * @global array $_wp_registered_nav_menus
+ *
  * @return array
  */
 function get_registered_nav_menus() {
@@ -134,17 +157,28 @@ function get_nav_menu_locations() {
  * Whether a registered nav menu location has a menu assigned to it.
  *
  * @since 3.0.0
+ *
  * @param string $location Menu location identifier.
  * @return bool Whether location has a menu.
  */
 function has_nav_menu( $location ) {
+       $has_nav_menu = false;
+
        $registered_nav_menus = get_registered_nav_menus();
-       if ( ! isset( $registered_nav_menus[ $location ] ) ) {
-               return false;
+       if ( isset( $registered_nav_menus[ $location ] ) ) {
+               $locations = get_nav_menu_locations();
+               $has_nav_menu = ! empty( $locations[ $location ] );
        }
 
-       $locations = get_nav_menu_locations();
-       return ( ! empty( $locations[ $location ] ) );
+       /**
+        * Filter whether a nav menu is assigned to the specified location.
+        *
+        * @since 4.3.0
+        *
+        * @param bool   $has_nav_menu Whether there is a menu assigned to a location.
+        * @param string $location     Menu location.
+        */
+       return apply_filters( 'has_nav_menu', $has_nav_menu, $location );
 }
 
 /**
@@ -220,7 +254,7 @@ function wp_delete_nav_menu( $menu ) {
  *
  * @since 3.0.0
  *
- * @param int $menu_id The ID of the menu or "0" to create a new menu.
+ * @param int   $menu_id   The ID of the menu or "0" to create a new menu.
  * @param array $menu_data The array of menu data.
  * @return int|WP_Error Menu ID on success, WP_Error object on failure.
  */
@@ -281,6 +315,8 @@ function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
        if ( is_wp_error( $update_response ) )
                return $update_response;
 
+       $menu_id = (int) $update_response['term_id'];
+
        /**
         * Fires after a navigation menu has been successfully updated.
         *
@@ -298,9 +334,9 @@ function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
  *
  * @since 3.0.0
  *
- * @param int $menu_id The ID of the menu. Required. If "0", makes the menu item a draft orphan.
- * @param int $menu_item_db_id The ID of the menu item. If "0", creates a new menu item.
- * @param array $menu_item_data The menu item's data.
+ * @param int   $menu_id         The ID of the menu. Required. If "0", makes the menu item a draft orphan.
+ * @param int   $menu_item_db_id The ID of the menu item. If "0", creates a new menu item.
+ * @param array $menu_item_data  The menu item's data.
  * @return int|WP_Error The menu item's database ID or WP_Error object on failure.
  */
 function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item_data = array() ) {
@@ -486,6 +522,8 @@ function wp_get_nav_menus( $args = array() ) {
  * @since 3.0.0
  * @access private
  *
+ * @global string $_menu_item_sort_prop
+ *
  * @param object $a The first object to compare
  * @param object $b The second object to compare
  * @return int -1, 0, or 1 if $a is considered to be respectively less than, equal to, or greater than $b.
@@ -522,10 +560,7 @@ function _sort_nav_menu_items( $a, $b ) {
  * @return bool False if invalid, otherwise true.
  */
 function _is_valid_nav_menu_item( $item ) {
-       if ( ! empty( $item->_invalid ) )
-               return false;
-
-       return true;
+       return empty( $item->_invalid );
 }
 
 /**
@@ -533,32 +568,37 @@ function _is_valid_nav_menu_item( $item ) {
  *
  * @since 3.0.0
  *
+ * @global string $_menu_item_sort_prop
+ * @staticvar array $fetched
+ *
  * @param string $menu Menu name, ID, or slug.
  * @param array  $args Optional. Arguments to pass to {@see get_posts()}.
- * @return mixed $items Array of menu items, otherwise false.
+ * @return false|array $items Array of menu items, otherwise false.
  */
 function wp_get_nav_menu_items( $menu, $args = array() ) {
        $menu = wp_get_nav_menu_object( $menu );
 
-       if ( ! $menu )
+       if ( ! $menu ) {
                return false;
+       }
 
        static $fetched = array();
 
        $items = get_objects_in_term( $menu->term_id, 'nav_menu' );
-
-       if ( empty( $items ) )
-               return $items;
+       if ( is_wp_error( $items ) ) {
+               return false;
+       }
 
        $defaults = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item',
                'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true );
        $args = wp_parse_args( $args, $defaults );
        $args['include'] = $items;
 
-       $items = get_posts( $args );
-
-       if ( is_wp_error( $items ) || ! is_array( $items ) )
-               return false;
+       if ( ! empty( $items ) ) {
+               $items = get_posts( $args );
+       } else {
+               $items = array();
+       }
 
        // Get all posts and terms at once to prime the caches
        if ( empty( $fetched[$menu->term_id] ) || wp_using_ext_object_cache() ) {
@@ -585,7 +625,10 @@ function wp_get_nav_menu_items( $menu, $args = array() ) {
 
                if ( ! empty( $terms ) ) {
                        foreach ( array_keys($terms) as $taxonomy ) {
-                               get_terms($taxonomy, array('include' => $terms[$taxonomy]) );
+                               get_terms( $taxonomy, array(
+                                       'include' => $terms[ $taxonomy ],
+                                       'hierarchical' => false,
+                               ) );
                        }
                }
                unset($terms);
@@ -593,15 +636,16 @@ function wp_get_nav_menu_items( $menu, $args = array() ) {
 
        $items = array_map( 'wp_setup_nav_menu_item', $items );
 
-       if ( ! is_admin() ) // Remove invalid items only in frontend
+       if ( ! is_admin() ) // Remove invalid items only in frontend
                $items = array_filter( $items, '_is_valid_nav_menu_item' );
+       }
 
        if ( ARRAY_A == $args['output'] ) {
                $GLOBALS['_menu_item_sort_prop'] = $args['output_key'];
                usort($items, '_sort_nav_menu_items');
                $i = 1;
                foreach( $items as $k => $item ) {
-                       $items[$k]->$args['output_key'] = $i++;
+                       $items[$k]->{$args['output_key']} = $i++;
                }
        }
 
@@ -614,27 +658,30 @@ function wp_get_nav_menu_items( $menu, $args = array() ) {
         * @param object $menu  The menu object.
         * @param array  $args  An array of arguments used to retrieve menu item objects.
         */
-       return apply_filters( 'wp_get_nav_menu_items',  $items, $menu, $args );
+       return apply_filters( 'wp_get_nav_menu_items', $items, $menu, $args );
 }
 
 /**
  * Decorates a menu item object with the shared navigation menu item properties.
  *
  * Properties:
- * - db_id:            The DB ID of this item as a nav_menu_item object, if it exists (0 if it doesn't exist).
- * - object_id:                The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.
- * - type:             The family of objects originally represented, such as "post_type" or "taxonomy."
- * - object:           The type of object originally represented, such as "category," "post", or "attachment."
- * - type_label:       The singular label used to describe this type of menu item.
- * - post_parent:      The DB ID of the original object's parent object, if any (0 otherwise).
- * - menu_item_parent:         The DB ID of the nav_menu_item that is this item's menu parent, if any. 0 otherwise.
- * - url:              The URL to which this menu item points.
- * - title:            The title of this menu item.
- * - target:           The target attribute of the link element for this menu item.
- * - attr_title:       The title attribute of the link element for this menu item.
- * - classes:          The array of class attribute values for the link element of this menu item.
- * - xfn:              The XFN relationship expressed in the link of this menu item.
- * - description:      The description of this menu item.
+ * - ID:               The term_id if the menu item represents a taxonomy term.
+ * - attr_title:       The title attribute of the link element for this menu item.
+ * - classes:          The array of class attribute values for the link element of this menu item.
+ * - db_id:            The DB ID of this item as a nav_menu_item object, if it exists (0 if it doesn't exist).
+ * - description:      The description of this menu item.
+ * - menu_item_parent: The DB ID of the nav_menu_item that is this item's menu parent, if any. 0 otherwise.
+ * - object:           The type of object originally represented, such as "category," "post", or "attachment."
+ * - object_id:        The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.
+ * - post_parent:      The DB ID of the original object's parent object, if any (0 otherwise).
+ * - post_title:       A "no title" label if menu item represents a post that lacks a title.
+ * - target:           The target attribute of the link element for this menu item.
+ * - title:            The title of this menu item.
+ * - type:             The family of objects originally represented, such as "post_type" or "taxonomy."
+ * - type_label:       The singular label used to describe this type of menu item.
+ * - url:              The URL to which this menu item points.
+ * - xfn:              The XFN relationship expressed in the link of this menu item.
+ * - _invalid:         Whether the menu item represents an object that no longer exists.
  *
  * @since 3.0.0
  *
@@ -645,10 +692,10 @@ function wp_setup_nav_menu_item( $menu_item ) {
        if ( isset( $menu_item->post_type ) ) {
                if ( 'nav_menu_item' == $menu_item->post_type ) {
                        $menu_item->db_id = (int) $menu_item->ID;
-                       $menu_item->menu_item_parent = empty( $menu_item->menu_item_parent ) ? get_post_meta( $menu_item->ID, '_menu_item_menu_item_parent', true ) : $menu_item->menu_item_parent;
-                       $menu_item->object_id = empty( $menu_item->object_id ) ? get_post_meta( $menu_item->ID, '_menu_item_object_id', true ) : $menu_item->object_id;
-                       $menu_item->object = empty( $menu_item->object ) ? get_post_meta( $menu_item->ID, '_menu_item_object', true ) : $menu_item->object;
-                       $menu_item->type = empty( $menu_item->type ) ? get_post_meta( $menu_item->ID, '_menu_item_type', true ) : $menu_item->type;
+                       $menu_item->menu_item_parent = ! isset( $menu_item->menu_item_parent ) ? get_post_meta( $menu_item->ID, '_menu_item_menu_item_parent', true ) : $menu_item->menu_item_parent;
+                       $menu_item->object_id = ! isset( $menu_item->object_id ) ? get_post_meta( $menu_item->ID, '_menu_item_object_id', true ) : $menu_item->object_id;
+                       $menu_item->object = ! isset( $menu_item->object ) ? get_post_meta( $menu_item->ID, '_menu_item_object', true ) : $menu_item->object;
+                       $menu_item->type = ! isset( $menu_item->type ) ? get_post_meta( $menu_item->ID, '_menu_item_type', true ) : $menu_item->type;
 
                        if ( 'post_type' == $menu_item->type ) {
                                $object = get_post_type_object( $menu_item->object );
@@ -665,6 +712,7 @@ function wp_setup_nav_menu_item( $menu_item ) {
                                $original_title = $original_object->post_title;
 
                                if ( '' === $original_title ) {
+                                       /* translators: %d: ID of a post */
                                        $original_title = sprintf( __( '#%d (no title)' ), $original_object->ID );
                                }
 
@@ -690,10 +738,10 @@ function wp_setup_nav_menu_item( $menu_item ) {
                        } else {
                                $menu_item->type_label = __('Custom Link');
                                $menu_item->title = $menu_item->post_title;
-                               $menu_item->url = empty( $menu_item->url ) ? get_post_meta( $menu_item->ID, '_menu_item_url', true ) : $menu_item->url;
+                               $menu_item->url = ! isset( $menu_item->url ) ? get_post_meta( $menu_item->ID, '_menu_item_url', true ) : $menu_item->url;
                        }
 
-                       $menu_item->target = empty( $menu_item->target ) ? get_post_meta( $menu_item->ID, '_menu_item_target', true ) : $menu_item->target;
+                       $menu_item->target = ! isset( $menu_item->target ) ? get_post_meta( $menu_item->ID, '_menu_item_target', true ) : $menu_item->target;
 
                        /**
                         * Filter a navigation menu item's title attribute.
@@ -702,9 +750,9 @@ function wp_setup_nav_menu_item( $menu_item ) {
                         *
                         * @param string $item_title The menu item title attribute.
                         */
-                       $menu_item->attr_title = empty( $menu_item->attr_title ) ? apply_filters( 'nav_menu_attr_title', $menu_item->post_excerpt ) : $menu_item->attr_title;
+                       $menu_item->attr_title = ! isset( $menu_item->attr_title ) ? apply_filters( 'nav_menu_attr_title', $menu_item->post_excerpt ) : $menu_item->attr_title;
 
-                       if ( empty( $menu_item->description ) ) {
+                       if ( ! isset( $menu_item->description ) ) {
                                /**
                                 * Filter a navigation menu item's description.
                                 *
@@ -715,8 +763,8 @@ function wp_setup_nav_menu_item( $menu_item ) {
                                $menu_item->description = apply_filters( 'nav_menu_description', wp_trim_words( $menu_item->post_content, 200 ) );
                        }
 
-                       $menu_item->classes = empty( $menu_item->classes ) ? (array) get_post_meta( $menu_item->ID, '_menu_item_classes', true ) : $menu_item->classes;
-                       $menu_item->xfn = empty( $menu_item->xfn ) ? get_post_meta( $menu_item->ID, '_menu_item_xfn', true ) : $menu_item->xfn;
+                       $menu_item->classes = ! isset( $menu_item->classes ) ? (array) get_post_meta( $menu_item->ID, '_menu_item_classes', true ) : $menu_item->classes;
+                       $menu_item->xfn = ! isset( $menu_item->xfn ) ? get_post_meta( $menu_item->ID, '_menu_item_xfn', true ) : $menu_item->xfn;
                } else {
                        $menu_item->db_id = 0;
                        $menu_item->menu_item_parent = 0;
@@ -727,8 +775,10 @@ function wp_setup_nav_menu_item( $menu_item ) {
                        $menu_item->object = $object->name;
                        $menu_item->type_label = $object->labels->singular_name;
 
-                       if ( '' === $menu_item->post_title )
+                       if ( '' === $menu_item->post_title ) {
+                               /* translators: %d: ID of a post */
                                $menu_item->post_title = sprintf( __( '#%d (no title)' ), $menu_item->ID );
+                       }
 
                        $menu_item->title = $menu_item->post_title;
                        $menu_item->url = get_permalink( $menu_item->ID );
@@ -779,9 +829,9 @@ function wp_setup_nav_menu_item( $menu_item ) {
  *
  * @since 3.0.0
  *
- * @param int $object_id The ID of the original object.
+ * @param int    $object_id   The ID of the original object.
  * @param string $object_type The type of object, such as "taxonomy" or "post_type."
- * @param string $taxonomy If $object_type is "taxonomy", $taxonomy is the name of the tax that $object_id belongs to
+ * @param string $taxonomy    If $object_type is "taxonomy", $taxonomy is the name of the tax that $object_id belongs to
  * @return array The array of menu item IDs; empty array if none;
  */
 function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type', $taxonomy = '' ) {
@@ -865,8 +915,7 @@ function _wp_delete_tax_menu_item( $object_id = 0, $tt_id, $taxonomy ) {
  *
  * @param string $new_status The new status of the post object.
  * @param string $old_status The old status of the post object.
- * @param object $post The post object being transitioned from one status to another.
- * @return void
+ * @param object $post       The post object being transitioned from one status to another.
  */
 function _wp_auto_add_pages_to_menu( $new_status, $old_status, $post ) {
        if ( 'publish' != $new_status || 'publish' == $old_status || 'page' != $post->post_type )
index b7725fc47261713fe6768f0c1e90a030d023a634..1b5dde235cfbc23b47bc152eba6e53ac526cf06f 100644 (file)
  *
  * @since 1.5.0
  *
- * @param string $option Name of option to retrieve. Expected to not be SQL-escaped.
- * @param mixed $default Optional. Default value to return if the option does not exist.
+ * @global wpdb $wpdb
+ *
+ * @param string $option  Name of option to retrieve. Expected to not be SQL-escaped.
+ * @param mixed  $default Optional. Default value to return if the option does not exist.
  * @return mixed Value set for the option.
  */
 function get_option( $option, $default = false ) {
@@ -81,6 +83,9 @@ function get_option( $option, $default = false ) {
                                        $value = $row->option_value;
                                        wp_cache_add( $option, $value, 'options' );
                                } else { // option does not exist, so we must cache its non-existence
+                                       if ( ! is_array( $notoptions ) ) {
+                                                $notoptions = array();
+                                       }
                                        $notoptions[$option] = true;
                                        wp_cache_set( 'notoptions', $notoptions, 'options' );
 
@@ -153,6 +158,8 @@ function form_option( $option ) {
  *
  * @since 2.2.0
  *
+ * @global wpdb $wpdb
+ *
  * @return array List of all options.
  */
 function wp_load_alloptions() {
@@ -184,6 +191,8 @@ function wp_load_alloptions() {
  *
  * @since 3.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int $site_id Optional site ID for which to query the options. Defaults to the current site.
  */
 function wp_load_core_site_options( $site_id = null ) {
@@ -216,19 +225,20 @@ function wp_load_core_site_options( $site_id = null ) {
  * it will be serialized before it is inserted into the database. Remember,
  * resources can not be serialized or added as an option.
  *
- * If the option does not exist, then the option will be added with the option
- * value, but you will not be able to set whether it is autoloaded. If you want
- * to set whether an option is autoloaded, then you need to use the add_option().
+ * If the option does not exist, then the option will be added with the option value,
+ * with an `$autoload` value of 'yes'.
  *
  * @since 1.0.0
  * @since 4.2.0 The `$autoload` parameter was added.
  *
+ * @global wpdb $wpdb
+ *
  * @param string      $option   Option name. Expected to not be SQL-escaped.
  * @param mixed       $value    Option value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
  * @param string|bool $autoload Optional. Whether to load the option when WordPress starts up. For existing options,
  *                              `$autoload` can only be updated using `update_option()` if `$value` is also changed.
- *                              Accepts 'yes' or true to enable, 'no' or false to disable. For non-existent options,
- *                              the default value is 'yes'.
+ *                              Accepts 'yes'|true to enable or 'no'|false to disable. For non-existent options,
+ *                              the default value is 'yes'. Default null.
  * @return bool False if value was not updated and true if value was updated.
  */
 function update_option( $option, $value, $autoload = null ) {
@@ -363,6 +373,8 @@ function update_option( $option, $value, $autoload = null ) {
  *
  * @since 1.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string         $option      Name of option to add. Expected to not be SQL-escaped.
  * @param mixed          $value       Optional. Option value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
  * @param string         $deprecated  Optional. Description. Not used anymore.
@@ -458,6 +470,8 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
  *
  * @since 1.2.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
  * @return bool True, if option is successfully deleted. False on failure.
  */
@@ -608,7 +622,8 @@ function get_transient( $transient ) {
                        $alloptions = wp_load_alloptions();
                        if ( !isset( $alloptions[$transient_option] ) ) {
                                $transient_timeout = '_transient_timeout_' . $transient;
-                               if ( get_option( $transient_timeout ) < time() ) {
+                               $timeout = get_option( $transient_timeout );
+                               if ( false !== $timeout && $timeout < time() ) {
                                        delete_option( $transient_option  );
                                        delete_option( $transient_timeout );
                                        $value = false;
@@ -779,7 +794,7 @@ function wp_user_settings() {
  *
  * @since 2.7.0
  *
- * @param string $name The name of the setting.
+ * @param string $name    The name of the setting.
  * @param string $default Optional default value to return when $name is not set.
  * @return mixed the last saved user setting or the default value/false if it doesn't exist.
  */
@@ -797,12 +812,11 @@ function get_user_setting( $name, $default = false ) {
  *
  * @since 2.8.0
  *
- * @param string $name The name of the setting.
+ * @param string $name  The name of the setting.
  * @param string $value The value for the setting.
- * @return null|bool true if set successfully/false if not.
+ * @return bool|void true if set successfully/false if not.
  */
 function set_user_setting( $name, $value ) {
-
        if ( headers_sent() ) {
                return false;
        }
@@ -822,10 +836,9 @@ function set_user_setting( $name, $value ) {
  * @since 2.7.0
  *
  * @param string $names The name or array of names of the setting to be deleted.
- * @return null|bool true if deleted successfully/false if not.
+ * @return bool|void true if deleted successfully/false if not.
  */
 function delete_user_setting( $names ) {
-
        if ( headers_sent() ) {
                return false;
        }
@@ -853,6 +866,8 @@ function delete_user_setting( $names ) {
  *
  * @since 2.7.0
  *
+ * @global array $_updated_user_settings
+ *
  * @return array the last saved user settings or empty array.
  */
 function get_all_user_settings() {
@@ -891,8 +906,10 @@ function get_all_user_settings() {
  *
  * @since 2.8.0
  *
+ * @global array $_updated_user_settings
+ *
  * @param array $user_settings
- * @return null|bool
+ * @return bool|void
  */
 function wp_set_all_user_settings( $user_settings ) {
        global $_updated_user_settings;
@@ -945,9 +962,11 @@ function delete_all_user_settings() {
  *
  * @see get_option()
  *
- * @param string $option Name of option to retrieve. Expected to not be SQL-escaped.
- * @param mixed $default Optional value to return if option doesn't exist. Default false.
- * @param bool $use_cache Whether to use cache. Multisite only. Default true.
+ * @global wpdb $wpdb
+ *
+ * @param string $option    Name of option to retrieve. Expected to not be SQL-escaped.
+ * @param mixed  $default   Optional value to return if option doesn't exist. Default false.
+ * @param bool   $use_cache Whether to use cache. Multisite only. Default true.
  * @return mixed Value set for the option.
  */
 function get_site_option( $option, $default = false, $use_cache = true ) {
@@ -1009,6 +1028,9 @@ function get_site_option( $option, $default = false, $use_cache = true ) {
                                $value = maybe_unserialize( $value );
                                wp_cache_set( $cache_key, $value, 'site-options' );
                        } else {
+                               if ( ! is_array( $notoptions ) ) {
+                                        $notoptions = array();
+                               }
                                $notoptions[$option] = true;
                                wp_cache_set( $notoptions_key, $notoptions, 'site-options' );
 
@@ -1040,8 +1062,10 @@ function get_site_option( $option, $default = false, $use_cache = true ) {
  *
  * @see add_option()
  *
+ * @global wpdb $wpdb
+ *
  * @param string $option Name of option to add. Expected to not be SQL-escaped.
- * @param mixed $value Optional. Option value, can be anything. Expected to not be SQL-escaped.
+ * @param mixed  $value  Optional. Option value, can be anything. Expected to not be SQL-escaped.
  * @return bool False if option was not added and true if option was added.
  */
 function add_site_option( $option, $value ) {
@@ -1129,6 +1153,8 @@ function add_site_option( $option, $value ) {
  *
  * @see delete_option()
  *
+ * @global wpdb $wpdb
+ *
  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
  * @return bool True, if succeed. False, if failure.
  */
@@ -1193,8 +1219,10 @@ function delete_site_option( $option ) {
  *
  * @see update_option()
  *
+ * @global wpdb $wpdb
+ *
  * @param string $option Name of option. Expected to not be SQL-escaped.
- * @param mixed $value Option value. Expected to not be SQL-escaped.
+ * @param mixed  $value  Option value. Expected to not be SQL-escaped.
  * @return bool False if value was not updated and true if value was updated.
  */
 function update_site_option( $option, $value ) {
index 0779010dce52fed2818e748f8ef0923f3561385f..c4eb8cc56625068f092ed900c564cdfcc20e89e7 100644 (file)
@@ -17,9 +17,9 @@ if ( !function_exists('wp_set_current_user') ) :
  * actions on users who aren't signed in.
  *
  * @since 2.0.3
- * @global object $current_user The current user object which holds the user data.
+ * @global WP_User $current_user The current user object which holds the user data.
  *
- * @param int $id User ID
+ * @param int    $id   User ID
  * @param string $name User's username
  * @return WP_User Current user User object
  */
@@ -50,6 +50,8 @@ if ( !function_exists('wp_get_current_user') ) :
  *
  * @since 2.0.3
  *
+ * @global WP_User $current_user
+ *
  * @return WP_User Current user WP_User object
  */
 function wp_get_current_user() {
@@ -71,9 +73,9 @@ if ( !function_exists('get_currentuserinfo') ) :
  *
  * @since 0.71
  *
- * @uses $current_user Checks if the current user is set
+ * @global WP_User $current_user Checks if the current user is set
  *
- * @return null|false False on XML-RPC Request and invalid auth cookie. Null when current user set.
+ * @return false|void False on XML-RPC Request and invalid auth cookie.
  */
 function get_currentuserinfo() {
        global $current_user;
@@ -131,7 +133,7 @@ if ( !function_exists('get_userdata') ) :
  * @since 0.71
  *
  * @param int $user_id User ID
- * @return WP_User|bool WP_User object on success, false on failure.
+ * @return WP_User|false WP_User object on success, false on failure.
  */
 function get_userdata( $user_id ) {
        return get_user_by( 'id', $user_id );
@@ -144,9 +146,9 @@ if ( !function_exists('get_user_by') ) :
  *
  * @since 2.8.0
  *
- * @param string $field The field to retrieve the user with. id | slug | email | login
+ * @param string     $field The field to retrieve the user with. id | slug | email | login
  * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
- * @return WP_User|bool WP_User object on success, false on failure.
+ * @return WP_User|false WP_User object on success, false on failure.
  */
 function get_user_by( $field, $value ) {
        $userdata = WP_User::get_data_by( $field, $value );
@@ -167,6 +169,8 @@ if ( !function_exists('cache_users') ) :
  *
  * @since 3.0.0
  *
+ * @global wpdb $wpdb
+ *
  * @param array $user_ids User ID numbers list
  */
 function cache_users( $user_ids ) {
@@ -212,12 +216,12 @@ if ( !function_exists( 'wp_mail' ) ) :
  *
  * @since 1.2.1
  *
- * @uses PHPMailer
+ * @global PHPMailer $phpmailer
  *
- * @param string|array $to Array or comma-separated list of email addresses to send message.
- * @param string $subject Email subject
- * @param string $message Message contents
- * @param string|array $headers Optional. Additional headers.
+ * @param string|array $to          Array or comma-separated list of email addresses to send message.
+ * @param string       $subject     Email subject
+ * @param string       $message     Message contents
+ * @param string|array $headers     Optional. Additional headers.
  * @param string|array $attachments Optional. Files to attach.
  * @return bool Whether the email contents were sent successfully.
  */
@@ -405,7 +409,7 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
                try {
                        // Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
                        $recipient_name = '';
-                       if( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
+                       if ( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
                                if ( count( $matches ) == 3 ) {
                                        $recipient_name = $matches[1];
                                        $recipient = $matches[2];
@@ -427,7 +431,7 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
                        try {
                                // Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
                                $recipient_name = '';
-                               if( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
+                               if ( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
                                        if ( count( $matches ) == 3 ) {
                                                $recipient_name = $matches[1];
                                                $recipient = $matches[2];
@@ -445,7 +449,7 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
                        try {
                                // Break $recipient into name and address parts if in the format "Foo <bar@baz.com>"
                                $recipient_name = '';
-                               if( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
+                               if ( preg_match( '/(.*)<(.+)>/', $recipient, $matches ) ) {
                                        if ( count( $matches ) == 3 ) {
                                                $recipient_name = $matches[1];
                                                $recipient = $matches[2];
@@ -616,9 +620,11 @@ if ( !function_exists('wp_validate_auth_cookie') ) :
  *
  * @since 2.5.0
  *
+ * @global int $login_grace_period
+ *
  * @param string $cookie Optional. If used, will validate contents instead of cookie's
  * @param string $scheme Optional. The cookie scheme to use: auth, secure_auth, or logged_in
- * @return bool|int False if invalid cookie, User ID if valid.
+ * @return false|int False if invalid cookie, User ID if valid.
  */
 function wp_validate_auth_cookie($cookie = '', $scheme = '') {
        if ( ! $cookie_elements = wp_parse_auth_cookie($cookie, $scheme) ) {
@@ -723,10 +729,10 @@ if ( !function_exists('wp_generate_auth_cookie') ) :
  *
  * @since 2.5.0
  *
- * @param int $user_id User ID
- * @param int $expiration Cookie expiration in seconds
- * @param string $scheme Optional. The cookie scheme to use: auth, secure_auth, or logged_in
- * @param string $token User's session token to use for this cookie
+ * @param int    $user_id    User ID
+ * @param int    $expiration Cookie expiration in seconds
+ * @param string $scheme     Optional. The cookie scheme to use: auth, secure_auth, or logged_in
+ * @param string $token      User's session token to use for this cookie
  * @return string Authentication cookie contents. Empty string if user does not exist.
  */
 function wp_generate_auth_cookie( $user_id, $expiration, $scheme = 'auth', $token = '' ) {
@@ -773,7 +779,7 @@ if ( !function_exists('wp_parse_auth_cookie') ) :
  *
  * @param string $cookie
  * @param string $scheme Optional. The cookie scheme to use: auth, secure_auth, or logged_in
- * @return array Authentication cookie components
+ * @return array|false Authentication cookie components
  */
 function wp_parse_auth_cookie($cookie = '', $scheme = '') {
        if ( empty($cookie) ) {
@@ -822,13 +828,15 @@ if ( !function_exists('wp_set_auth_cookie') ) :
  * set, the cookies will be kept for 14 days or two weeks.
  *
  * @since 2.5.0
+ * @since 4.3.0 Added the `$token` parameter.
  *
- * @param int $user_id User ID
- * @param bool $remember Whether to remember the user
- * @param mixed $secure  Whether the admin cookies should only be sent over HTTPS.
- *                       Default is_ssl().
+ * @param int    $user_id  User ID
+ * @param bool   $remember Whether to remember the user
+ * @param mixed  $secure   Whether the admin cookies should only be sent over HTTPS.
+ *                         Default is_ssl().
+ * @param string $token    Optional. User's session token to use for this cookie.
  */
-function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
+function wp_set_auth_cookie( $user_id, $remember = false, $secure = '', $token = '' ) {
        if ( $remember ) {
                /**
                 * Filter the duration of the authentication cookie expiration period.
@@ -888,8 +896,10 @@ function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
                $scheme = 'auth';
        }
 
-       $manager = WP_Session_Tokens::get_instance( $user_id );
-       $token = $manager->create( $expiration );
+       if ( '' === $token ) {
+               $manager = WP_Session_Tokens::get_instance( $user_id );
+               $token   = $manager->create( $expiration );
+       }
 
        $auth_cookie = wp_generate_auth_cookie( $user_id, $expiration, $scheme, $token );
        $logged_in_cookie = wp_generate_auth_cookie( $user_id, $expiration, 'logged_in', $token );
@@ -976,10 +986,7 @@ if ( !function_exists('is_user_logged_in') ) :
 function is_user_logged_in() {
        $user = wp_get_current_user();
 
-       if ( ! $user->exists() )
-               return false;
-
-       return true;
+       return $user->exists();
 }
 endif;
 
@@ -1084,10 +1091,6 @@ function check_admin_referer( $action = -1, $query_arg = '_wpnonce' ) {
        $adminurl = strtolower(admin_url());
        $referer = strtolower(wp_get_referer());
        $result = isset($_REQUEST[$query_arg]) ? wp_verify_nonce($_REQUEST[$query_arg], $action) : false;
-       if ( !$result && !(-1 == $action && strpos($referer, $adminurl) === 0) ) {
-               wp_nonce_ays($action);
-               die();
-       }
 
        /**
         * Fires once the admin request has been validated or not.
@@ -1099,6 +1102,12 @@ function check_admin_referer( $action = -1, $query_arg = '_wpnonce' ) {
         *                          0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
         */
        do_action( 'check_admin_referer', $action, $result );
+
+       if ( ! $result && ! ( -1 == $action && strpos( $referer, $adminurl ) === 0 ) ) {
+               wp_nonce_ays( $action );
+               die();
+       }
+
        return $result;
 }
 endif;
@@ -1130,7 +1139,7 @@ function check_ajax_referer( $action = -1, $query_arg = false, $die = true ) {
 
        $result = wp_verify_nonce( $nonce, $action );
 
-       if ( $die && false == $result ) {
+       if ( $die && false === $result ) {
                if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
                        wp_die( -1 );
                else
@@ -1158,8 +1167,10 @@ if ( !function_exists('wp_redirect') ) :
  *
  * @since 1.5.1
  *
+ * @global bool $is_IIS
+ *
  * @param string $location The path to redirect to.
- * @param int $status Status code to use.
+ * @param int    $status   Status code to use.
  * @return bool False if $location is not provided, true otherwise.
  */
 function wp_redirect($location, $status = 302) {
@@ -1226,8 +1237,7 @@ function wp_sanitize_redirect($location) {
 
        // remove %0d and %0a from location
        $strip = array('%0d', '%0a', '%0D', '%0A');
-       $location = _deep_replace($strip, $location);
-       return $location;
+       return _deep_replace( $strip, $location );
 }
 
 /**
@@ -1252,20 +1262,26 @@ if ( !function_exists('wp_safe_redirect') ) :
  * path. A plugin can therefore set or remove allowed host(s) to or from the
  * list.
  *
- * If the host is not allowed, then the redirect is to wp-admin on the siteurl
+ * If the host is not allowed, then the redirect defaults to wp-admin on the siteurl
  * instead. This prevents malicious redirects which redirect to another host,
  * but only used in a few places.
  *
  * @since 2.3.0
- *
- * @return void Does not return anything
- **/
+ */
 function wp_safe_redirect($location, $status = 302) {
 
        // Need to look at the URL the way it will end up in wp_redirect()
        $location = wp_sanitize_redirect($location);
 
-       $location = wp_validate_redirect($location, admin_url());
+       /**
+        * Filter the redirect fallback URL for when the provided redirect is not safe (local).
+        *
+        * @since 4.3.0
+        *
+        * @param string $fallback_url The fallback URL to use by default.
+        * @param int    $status       The redirect status.
+        */
+       $location = wp_validate_redirect( $location, apply_filters( 'wp_safe_redirect_fallback', admin_url(), $status ) );
 
        wp_redirect($location, $status);
 }
@@ -1284,7 +1300,7 @@ if ( !function_exists('wp_validate_redirect') ) :
  * @since 2.8.1
  *
  * @param string $location The redirect to validate
- * @param string $default The value to return if $location is not allowed
+ * @param string $default  The value to return if $location is not allowed
  * @return string redirect-sanitized URL
  **/
 function wp_validate_redirect($location, $default = '') {
@@ -1335,7 +1351,7 @@ if ( ! function_exists('wp_notify_postauthor') ) :
  *
  * @since 1.0.0
  *
- * @param int $comment_id Comment ID
+ * @param int    $comment_id Comment ID
  * @param string $deprecated Not used
  * @return bool True on completion. False if no email addresses were specified.
  */
@@ -1448,7 +1464,6 @@ function wp_notify_postauthor( $comment_id, $deprecated = null ) {
                        $notify_message .= sprintf( __( 'Author: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
                        $notify_message .= sprintf( __( 'E-mail: %s' ), $comment->comment_author_email ) . "\r\n";
                        $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-                       $notify_message .= sprintf( __( 'Whois: %s' ), "http://whois.arin.net/rest/ip/{$comment->comment_author_IP}" ) . "\r\n";
                        $notify_message .= sprintf( __('Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
                        $notify_message .= __( 'You can see all comments on this post here:' ) . "\r\n";
                        /* translators: 1: blog name, 2: post title */
@@ -1531,7 +1546,7 @@ if ( !function_exists('wp_notify_moderator') ) :
  * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param int $comment_id Comment ID
- * @return bool Always returns true
+ * @return true Always returns true
  */
 function wp_notify_moderator($comment_id) {
        global $wpdb;
@@ -1544,7 +1559,7 @@ function wp_notify_moderator($comment_id) {
        $user = get_userdata( $post->post_author );
        // Send to the administration and to the post author if the author can modify the comment.
        $emails = array( get_option( 'admin_email' ) );
-       if ( user_can( $user->ID, 'edit_comment', $comment_id ) && ! empty( $user->user_email ) ) {
+       if ( $user && user_can( $user->ID, 'edit_comment', $comment_id ) && ! empty( $user->user_email ) ) {
                if ( 0 !== strcasecmp( $user->user_email, get_option( 'admin_email' ) ) )
                        $emails[] = $user->user_email;
        }
@@ -1579,7 +1594,6 @@ function wp_notify_moderator($comment_id) {
                        $notify_message .= sprintf( __( 'Author: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
                        $notify_message .= sprintf( __( 'E-mail: %s' ), $comment->comment_author_email ) . "\r\n";
                        $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-                       $notify_message .= sprintf( __( 'Whois: %s' ), "http://whois.arin.net/rest/ip/{$comment->comment_author_IP}" ) . "\r\n";
                        $notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
                        break;
        }
@@ -1674,11 +1688,14 @@ if ( !function_exists('wp_new_user_notification') ) :
  * A new user registration notification is also sent to admin email.
  *
  * @since 2.0.0
+ * @since 4.3.0 The `$plaintext_pass` parameter was changed to `$notify`.
  *
- * @param int    $user_id        User ID.
- * @param string $plaintext_pass Optional. The user's plaintext password. Default empty.
+ * @param int    $user_id User ID.
+ * @param string $notify  Whether admin and user should be notified ('both') or
+ *                        only the admin ('admin' or empty).
  */
-function wp_new_user_notification($user_id, $plaintext_pass = '') {
+function wp_new_user_notification( $user_id, $notify = '' ) {
+       global $wpdb;
        $user = get_userdata( $user_id );
 
        // The blogname option is escaped with esc_html on the way into the database in sanitize_option
@@ -1691,15 +1708,31 @@ function wp_new_user_notification($user_id, $plaintext_pass = '') {
 
        @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), $blogname), $message);
 
-       if ( empty($plaintext_pass) )
+       if ( 'admin' === $notify || empty( $notify ) ) {
                return;
+       }
 
-       $message  = sprintf(__('Username: %s'), $user->user_login) . "\r\n";
-       $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n";
-       $message .= wp_login_url() . "\r\n";
+       // Generate something random for a password reset key.
+       $key = wp_generate_password( 20, false );
 
-       wp_mail($user->user_email, sprintf(__('[%s] Your username and password'), $blogname), $message);
+       /** This action is documented in wp-login.php */
+       do_action( 'retrieve_password_key', $user->user_login, $key );
 
+       // Now insert the key, hashed, into the DB.
+       if ( empty( $wp_hasher ) ) {
+               require_once ABSPATH . WPINC . '/class-phpass.php';
+               $wp_hasher = new PasswordHash( 8, true );
+       }
+       $hashed = time() . ':' . $wp_hasher->HashPassword( $key );
+       $wpdb->update( $wpdb->users, array( 'user_activation_key' => $hashed ), array( 'user_login' => $user->user_login ) );
+
+       $message = sprintf(__('Username: %s'), $user->user_login) . "\r\n\r\n";
+       $message .= __('To set your password, visit the following address:') . "\r\n\r\n";
+       $message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n";
+
+       $message .= wp_login_url() . "\r\n";
+
+       wp_mail($user->user_email, sprintf(__('[%s] Your username and password info'), $blogname), $message);
 }
 endif;
 
@@ -1836,6 +1869,9 @@ if ( !function_exists('wp_salt') ) :
  *
  * @link https://api.wordpress.org/secret-key/1.1/salt/ Create secrets for wp-config.php
  *
+ * @staticvar array $cached_salts
+ * @staticvar array $duplicated_keys
+ *
  * @param string $scheme Authentication scheme (auth, secure_auth, logged_in, nonce)
  * @return string Salt value
  */
@@ -1935,8 +1971,7 @@ if ( !function_exists('wp_hash_password') ) :
  *
  * @since 2.5.0
  *
- * @global object $wp_hasher PHPass object
- * @uses PasswordHash::HashPassword
+ * @global PasswordHash $wp_hasher PHPass object
  *
  * @param string $password Plain text user password to hash
  * @return string The hash string of the password
@@ -1968,12 +2003,12 @@ if ( !function_exists('wp_check_password') ) :
  *
  * @since 2.5.0
  *
- * @global object $wp_hasher PHPass object used for checking the password
+ * @global PasswordHash $wp_hasher PHPass object used for checking the password
  *     against the $hash + $password
  * @uses PasswordHash::CheckPassword
  *
  * @param string $password Plaintext user's password
- * @param string $hash Hash of the user's password to check against.
+ * @param string $hash     Hash of the user's password to check against.
  * @return bool False, if the $password does not match the hashed password
  */
 function wp_check_password($password, $hash, $user_id = '') {
@@ -2058,6 +2093,9 @@ if ( !function_exists('wp_rand') ) :
  *
  * @since 2.6.2
  *
+ * @global string $rnd_value
+ * @staticvar string $seed
+ *
  * @param int $min Lower limit for the generated number
  * @param int $max Upper limit for the generated number
  * @return int A random number between min and max
@@ -2076,8 +2114,9 @@ function wp_rand( $min = 0, $max = 0 ) {
                $rnd_value .= sha1($rnd_value);
                $rnd_value .= sha1($rnd_value . $seed);
                $seed = md5($seed . $rnd_value);
-               if ( ! defined( 'WP_SETUP_CONFIG' ) )
-                       set_transient('random_seed', $seed);
+               if ( ! defined( 'WP_SETUP_CONFIG' ) && ! defined( 'WP_INSTALLING' ) ) {
+                       set_transient( 'random_seed', $seed );
+               }
        }
 
        // Take the first 8 digits for our value
@@ -2115,7 +2154,7 @@ if ( !function_exists('wp_set_password') ) :
  * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param string $password The plaintext new user password
- * @param int $user_id User ID
+ * @param int    $user_id  User ID
  */
 function wp_set_password( $password, $user_id ) {
        global $wpdb;
@@ -2225,13 +2264,13 @@ function get_avatar( $id_or_email, $size = 96, $default = '', $alt = '', $args =
        $url = $args['url'];
 
        if ( ! $url || is_wp_error( $url ) ) {
-        return false;
+               return false;
        }
 
        $class = array( 'avatar', 'avatar-' . (int) $args['size'], 'photo' );
 
        if ( ! $args['found_avatar'] || $args['force_default'] ) {
-        $class[] = 'avatar-default';
+               $class[] = 'avatar-default';
        }
 
        if ( $args['class'] ) {
@@ -2293,9 +2332,9 @@ if ( !function_exists( 'wp_text_diff' ) ) :
  * @uses Text_Diff
  * @uses WP_Text_Diff_Renderer_Table
  *
- * @param string $left_string "old" (left) version of string
- * @param string $right_string "new" (right) version of string
- * @param string|array $args Optional. Change 'title', 'title_left', and 'title_right' defaults.
+ * @param string       $left_string  "old" (left) version of string
+ * @param string       $right_string "new" (right) version of string
+ * @param string|array $args         Optional. Change 'title', 'title_left', and 'title_right' defaults.
  * @return string Empty string if strings are equivalent or HTML with differences.
  */
 function wp_text_diff( $left_string, $right_string, $args = null ) {
index 331633c45c41b6869faa8386d6ddcab110de97ba..0042c5bb60e913c956a3bffc84c5b48903397097 100644 (file)
@@ -76,7 +76,7 @@ if ( ! isset( $wp_current_filter ) )
  *                                  and functions with the same priority are executed
  *                                  in the order in which they were added to the action.
  * @param int      $accepted_args   Optional. The number of arguments the function accepts. Default 1.
- * @return boolean true
+ * @return true
  */
 function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
        global $wp_filter, $merged_filters;
@@ -96,12 +96,12 @@ function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1
  *
  * @param string        $tag               The name of the filter hook.
  * @param callback|bool $function_to_check Optional. The callback to check for. Default false.
- * @return bool|int If $function_to_check is omitted, returns boolean for whether the hook has
- *                  anything registered. When checking a specific function, the priority of that
- *                  hook is returned, or false if the function is not attached. When using the
- *                  $function_to_check argument, this function may return a non-boolean value
- *                  that evaluates to false (e.g.) 0, so use the === operator for testing the
- *                  return value.
+ * @return false|int If $function_to_check is omitted, returns boolean for whether the hook has
+ *                   anything registered. When checking a specific function, the priority of that
+ *                   hook is returned, or false if the function is not attached. When using the
+ *                   $function_to_check argument, this function may return a non-boolean value
+ *                   that evaluates to false (e.g.) 0, so use the === operator for testing the
+ *                   return value.
  */
 function has_filter($tag, $function_to_check = false) {
        // Don't reset the internal array pointer
@@ -124,7 +124,7 @@ function has_filter($tag, $function_to_check = false) {
                }
        }
 
-       if ( false === $function_to_check || false == $has )
+       if ( false === $function_to_check || false === $has )
                return $has;
 
        if ( !$idx = _wp_filter_build_unique_id($tag, $function_to_check, false) )
@@ -288,10 +288,13 @@ function apply_filters_ref_array($tag, $args) {
  *
  * @since 1.2.0
  *
+ * @global array $wp_filter         Stores all of the filters
+ * @global array $merged_filters    Merges the filter hooks using this function.
+ *
  * @param string   $tag                The filter hook to which the function to be removed is hooked.
  * @param callback $function_to_remove The name of the function which should be removed.
  * @param int      $priority           Optional. The priority of the function. Default 10.
- * @return boolean Whether the function existed before it was removed.
+ * @return bool    Whether the function existed before it was removed.
  */
 function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
        $function_to_remove = _wp_filter_build_unique_id( $tag, $function_to_remove, $priority );
@@ -317,9 +320,12 @@ function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
  *
  * @since 2.7.0
  *
+ * @global array $wp_filter         Stores all of the filters
+ * @global array $merged_filters    Merges the filter hooks using this function.
+ *
  * @param string   $tag      The filter to remove hooks from.
  * @param int|bool $priority Optional. The priority number to remove. Default false.
- * @return bool True when finished.
+ * @return true True when finished.
  */
 function remove_all_filters( $tag, $priority = false ) {
        global $wp_filter, $merged_filters;
@@ -332,9 +338,7 @@ function remove_all_filters( $tag, $priority = false ) {
                }
        }
 
-       if ( isset( $merged_filters[ $tag ] ) ) {
-               unset( $merged_filters[ $tag ] );
-       }
+       unset( $merged_filters[ $tag ] );
 
        return true;
 }
@@ -344,6 +348,8 @@ function remove_all_filters( $tag, $priority = false ) {
  *
  * @since 2.5.0
  *
+ * @global array $wp_current_filter Stores the list of current filters with the current one last
+ *
  * @return string Hook name of the current filter or action.
  */
 function current_filter() {
@@ -423,8 +429,8 @@ function doing_action( $action = null ) {
  *                                  Lower numbers correspond with earlier execution,
  *                                  and functions with the same priority are executed
  *                                  in the order in which they were added to the action.
- * @param int      $accepted_args   Optional. The number of arguments the function accept. Default 1.
- * @return bool Will always return true.
+ * @param int      $accepted_args   Optional. The number of arguments the function accepts. Default 1.
+ * @return true Will always return true.
  */
 function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
        return add_filter($tag, $function_to_add, $priority, $accepted_args);
@@ -442,13 +448,14 @@ function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1)
  *
  * @since 1.2.0
  *
- * @global array $wp_filter  Stores all of the filters
- * @global array $wp_actions Increments the amount of times action was triggered.
+ * @global array $wp_filter         Stores all of the filters
+ * @global array $wp_actions        Increments the amount of times action was triggered.
+ * @global array $merged_filters    Merges the filter hooks using this function.
+ * @global array $wp_current_filter Stores the list of current filters with the current one last
  *
  * @param string $tag The name of the action to be executed.
  * @param mixed  $arg Optional. Additional arguments which are passed on to the
  *                    functions hooked to the action. Default empty.
- * @return null Will return null if $tag does not exist in $wp_filter array.
  */
 function do_action($tag, $arg = '') {
        global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
@@ -526,12 +533,13 @@ function did_action($tag) {
  *
  * @see do_action() This function is identical, but the arguments passed to the
  *                  functions hooked to $tag< are supplied using an array.
- * @global array $wp_filter  Stores all of the filters
- * @global array $wp_actions Increments the amount of times action was triggered.
+ * @global array $wp_filter         Stores all of the filters
+ * @global array $wp_actions        Increments the amount of times action was triggered.
+ * @global array $merged_filters    Merges the filter hooks using this function.
+ * @global array $wp_current_filter Stores the list of current filters with the current one last
  *
  * @param string $tag  The name of the action to be executed.
  * @param array  $args The arguments supplied to the functions hooked to `$tag`.
- * @return null Will return null if `$tag` does not exist in `$wp_filter` array.
  */
 function do_action_ref_array($tag, $args) {
        global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
@@ -607,7 +615,7 @@ function has_action($tag, $function_to_check = false) {
  * @param string   $tag                The action hook to which the function to be removed is hooked.
  * @param callback $function_to_remove The name of the function which should be removed.
  * @param int      $priority           Optional. The priority of the function. Default 10.
- * @return boolean Whether the function is removed.
+ * @return bool Whether the function is removed.
  */
 function remove_action( $tag, $function_to_remove, $priority = 10 ) {
        return remove_filter( $tag, $function_to_remove, $priority );
@@ -620,7 +628,7 @@ function remove_action( $tag, $function_to_remove, $priority = 10 ) {
  *
  * @param string   $tag      The action to remove hooks from.
  * @param int|bool $priority The priority number to remove them from. Default false.
- * @return bool True when finished.
+ * @return true True when finished.
  */
 function remove_all_actions($tag, $priority = false) {
        return remove_all_filters($tag, $priority);
@@ -637,6 +645,8 @@ function remove_all_actions($tag, $priority = false) {
  *
  * @since 1.5.0
  *
+ * @global array $wp_plugin_paths
+ *
  * @param string $file The filename of plugin.
  * @return string The name of a plugin.
  */
@@ -667,6 +677,11 @@ function plugin_basename( $file ) {
  *
  * @see plugin_basename()
  *
+ * @global array $wp_plugin_paths
+ *
+ * @staticvar string $wp_plugin_path
+ * @staticvar string $wpmu_plugin_path
+ *
  * @param string $file Known path to the file.
  * @return bool Whether the path was able to be registered.
  */
@@ -674,7 +689,7 @@ function wp_register_plugin_realpath( $file ) {
        global $wp_plugin_paths;
 
        // Normalize, but store as static to avoid recalculation of a constant value
-       static $wp_plugin_path, $wpmu_plugin_path;
+       static $wp_plugin_path = null, $wpmu_plugin_path = null;
        if ( ! isset( $wp_plugin_path ) ) {
                $wp_plugin_path   = wp_normalize_path( WP_PLUGIN_DIR   );
                $wpmu_plugin_path = wp_normalize_path( WPMU_PLUGIN_DIR );
@@ -821,6 +836,8 @@ function register_uninstall_hook( $file, $callback ) {
  * @since 2.5.0
  * @access private
  *
+ * @global array $wp_filter  Stores all of the filters
+ *
  * @param array $args The collected parameters from the hook that was called.
  */
 function _wp_call_all_hook($args) {
@@ -858,15 +875,16 @@ function _wp_call_all_hook($args) {
  * @access private
  *
  * @global array $wp_filter Storage for all of the filters and actions.
+ * @staticvar int $filter_id_count
  *
  * @param string   $tag      Used in counting how many hooks were applied
  * @param callback $function Used for creating unique id
  * @param int|bool $priority Used in counting how many hooks were applied. If === false
  *                           and $function is an object reference, we return the unique
  *                           id only if it already has one, false otherwise.
- * @return string|bool Unique ID for usage as array key or false if $priority === false
- *                     and $function is an object reference, and it does not already have
- *                     a unique id.
+ * @return string|false Unique ID for usage as array key or false if $priority === false
+ *                      and $function is an object reference, and it does not already have
+ *                      a unique id.
  */
 function _wp_filter_build_unique_id($tag, $function, $priority) {
        global $wp_filter;
index 097e92ca55fcc62c04dbb0f859d554cfd9db7dbe..ca706fca16c4022d37ff4b166acb1807f90a25b5 100644 (file)
@@ -40,7 +40,7 @@ class Translation_Entry {
         *      - references (array) -- places in the code this strings is used, in relative_to_root_path/file.php:linenum form
         *      - flags (array) -- flags like php-format
         */
-       function Translation_Entry($args=array()) {
+       function __construct( $args = array() ) {
                // if no singular -- empty object
                if (!isset($args['singular'])) {
                        return;
@@ -55,6 +55,13 @@ class Translation_Entry {
                if (!is_array($this->flags)) $this->flags = array();
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function Translation_Entry( $args = array() ) {
+               self::__construct( $args );
+       }
+
        /**
         * Generates a unique key for this entry
         *
@@ -66,6 +73,9 @@ class Translation_Entry {
                return is_null($this->context)? $this->singular : $this->context.chr(4).$this->singular;
        }
 
+       /**
+        * @param object $other
+        */
        function merge_with(&$other) {
                $this->flags = array_unique( array_merge( $this->flags, $other->flags ) );
                $this->references = array_unique( array_merge( $this->references, $other->references ) );
index e8eecc19d53df8f659dac7e8c962913579b7194b..1757061960f6ebfc59fb7f15cdd18f2428a82292 100644 (file)
@@ -27,6 +27,10 @@ class MO extends Gettext_Translations {
                return $this->import_from_reader($reader);
        }
 
+       /**
+        * @param string $filename
+        * @return bool
+        */
        function export_to_file($filename) {
                $fh = fopen($filename, 'wb');
                if ( !$fh ) return false;
@@ -35,6 +39,9 @@ class MO extends Gettext_Translations {
                return $res;
        }
 
+       /**
+        * @return string|false
+        */
        function export() {
                $tmp_fh = fopen("php://temp", 'r+');
                if ( !$tmp_fh ) return false;
@@ -43,6 +50,10 @@ class MO extends Gettext_Translations {
                return stream_get_contents( $tmp_fh );
        }
 
+       /**
+        * @param Translation_Entry $entry
+        * @return bool
+        */
        function is_entry_good_for_export( $entry ) {
                if ( empty( $entry->translations ) ) {
                        return false;
@@ -55,6 +66,10 @@ class MO extends Gettext_Translations {
                return true;
        }
 
+       /**
+        * @param resource $fh
+        * @return true
+        */
        function export_to_file_handle($fh) {
                $entries = array_filter( $this->entries, array( $this, 'is_entry_good_for_export' ) );
                ksort($entries);
@@ -101,6 +116,10 @@ class MO extends Gettext_Translations {
                return true;
        }
 
+       /**
+        * @param Translation_Entry $entry
+        * @return string
+        */
        function export_original($entry) {
                //TODO: warnings for control characters
                $exported = $entry->singular;
@@ -109,11 +128,18 @@ class MO extends Gettext_Translations {
                return $exported;
        }
 
+       /**
+        * @param Translation_Entry $entry
+        * @return string
+        */
        function export_translations($entry) {
                //TODO: warnings for control characters
                return implode(chr(0), $entry->translations);
        }
 
+       /**
+        * @return string
+        */
        function export_headers() {
                $exported = '';
                foreach($this->headers as $header => $value) {
@@ -122,6 +148,10 @@ class MO extends Gettext_Translations {
                return $exported;
        }
 
+       /**
+        * @param int $magic
+        * @return string|false
+        */
        function get_byteorder($magic) {
                // The magic is 0x950412de
 
@@ -254,10 +284,17 @@ class MO extends Gettext_Translations {
                return $entry;
        }
 
+       /**
+        * @param int $count
+        * @return string
+        */
        function select_plural_form($count) {
                return $this->gettext_select_plural_form($count);
        }
 
+       /**
+        * @return int
+        */
        function get_plural_forms_count() {
                return $this->_nplurals;
        }
index 58a420db6603951592d08e1ac2bd2d80d63cf5a5..381977c5cfd7525c88f3f36505d635881dca72a3 100644 (file)
@@ -355,6 +355,7 @@ class PO extends Gettext_Translations {
        /**
         * @staticvar string   $last_line
         * @staticvar boolean  $use_last_line
+        * 
         * @param     resource $f
         * @param     string   $action
         * @return boolean
index 8e50ab4eac57914bbe1f6aa6de9492f087ca100b..1b6b2282bb396362793cce8faf269b59a711b14d 100644 (file)
@@ -14,11 +14,21 @@ class POMO_Reader {
        var $endian = 'little';
        var $_post = '';
 
-       function POMO_Reader() {
+       /**
+        * PHP5 constructor.
+        */
+       function __construct() {
                $this->is_overloaded = ((ini_get("mbstring.func_overload") & 2) != 0) && function_exists('mb_substr');
                $this->_pos = 0;
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function POMO_Reader() {
+               self::__construct();
+       }
+
        /**
         * Sets the endianness of the file.
         *
@@ -101,15 +111,23 @@ class POMO_Reader {
                }
        }
 
-
+       /**
+        * @return int
+        */
        function pos() {
                return $this->_pos;
        }
 
+       /**
+        * @return true
+        */
        function is_resource() {
                return true;
        }
 
+       /**
+        * @return true
+        */
        function close() {
                return true;
        }
@@ -122,11 +140,18 @@ class POMO_FileReader extends POMO_Reader {
        /**
         * @param string $filename
         */
-       function POMO_FileReader($filename) {
+       function __construct( $filename ) {
                parent::POMO_Reader();
                $this->_f = fopen($filename, 'rb');
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function POMO_FileReader( $filename ) {
+               self::__construct( $filename );
+       }
+
        /**
         * @param int $bytes
         */
@@ -146,18 +171,30 @@ class POMO_FileReader extends POMO_Reader {
                return true;
        }
 
+       /**
+        * @return bool
+        */
        function is_resource() {
                return is_resource($this->_f);
        }
 
+       /**
+        * @return bool
+        */
        function feof() {
                return feof($this->_f);
        }
 
+       /**
+        * @return bool
+        */
        function close() {
                return fclose($this->_f);
        }
 
+       /**
+        * @return string
+        */
        function read_all() {
                $all = '';
                while ( !$this->feof() )
@@ -176,12 +213,22 @@ class POMO_StringReader extends POMO_Reader {
 
        var $_str = '';
 
-       function POMO_StringReader($str = '') {
+       /**
+        * PHP5 constructor.
+        */
+       function __construct( $str = '' ) {
                parent::POMO_Reader();
                $this->_str = $str;
                $this->_pos = 0;
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function POMO_StringReader( $str = '' ) {
+               self::__construct( $str );
+       }
+
        /**
         * @param string $bytes
         * @return string
@@ -203,10 +250,16 @@ class POMO_StringReader extends POMO_Reader {
                return $this->_pos;
        }
 
+       /**
+        * @return int
+        */
        function length() {
                return $this->strlen($this->_str);
        }
 
+       /**
+        * @return string
+        */
        function read_all() {
                return $this->substr($this->_str, $this->_pos, $this->strlen($this->_str));
        }
@@ -219,13 +272,23 @@ if ( !class_exists( 'POMO_CachedFileReader' ) ):
  * Reads the contents of the file in the beginning.
  */
 class POMO_CachedFileReader extends POMO_StringReader {
-       function POMO_CachedFileReader($filename) {
+       /**
+        * PHP5 constructor.
+        */
+       function __construct( $filename ) {
                parent::POMO_StringReader();
                $this->_str = file_get_contents($filename);
                if (false === $this->_str)
                        return false;
                $this->_pos = 0;
        }
+
+       /**
+        * PHP4 constructor.
+        */
+       public function POMO_CachedFileReader( $filename ) {
+               self::__construct( $filename );
+       }
 }
 endif;
 
@@ -234,8 +297,19 @@ if ( !class_exists( 'POMO_CachedIntFileReader' ) ):
  * Reads the contents of the file in the beginning.
  */
 class POMO_CachedIntFileReader extends POMO_CachedFileReader {
-       function POMO_CachedIntFileReader($filename) {
+       /**
+        * PHP5 constructor.
+        */
+       public function __construct( $filename ) {
                parent::POMO_CachedFileReader($filename);
        }
+
+       /**
+        * PHP4 constructor.
+        */
+       function POMO_CachedIntFileReader( $filename ) {
+               self::__construct( $filename );
+       }
 }
-endif;
\ No newline at end of file
+endif;
+
index c01a87fea382ce4f373047c2bbd5ac5fefa71a35..8db80c85a61b0665832e4db23f8d2088213d42a3 100644 (file)
@@ -111,6 +111,9 @@ class Translations {
                return 1 == $count? 0 : 1;
        }
 
+       /**
+        * @return int
+        */
        function get_plural_forms_count() {
                return 2;
        }
@@ -146,6 +149,9 @@ class Translations {
                }
        }
 
+       /**
+        * @param object $other
+        */
        function merge_originals_with(&$other) {
                foreach( $other->entries as $entry ) {
                        if ( !isset( $this->entries[$entry->key()] ) )
@@ -278,16 +284,33 @@ class NOOP_Translations {
                return true;
        }
 
+       /**
+        *
+        * @param string $header
+        * @param string $value
+        */
        function set_header($header, $value) {
        }
 
+       /**
+        *
+        * @param array $headers
+        */
        function set_headers($headers) {
        }
 
+       /**
+        * @param string $header
+        * @return false
+        */
        function get_header($header) {
                return false;
        }
 
+       /**
+        * @param Translation_Entry $entry
+        * @return false
+        */
        function translate_entry(&$entry) {
                return false;
        }
@@ -300,10 +323,18 @@ class NOOP_Translations {
                return $singular;
        }
 
+       /**
+        *
+        * @param int $count
+        * @return bool
+        */
        function select_plural_form($count) {
                return 1 == $count? 0 : 1;
        }
 
+       /**
+        * @return int
+        */
        function get_plural_forms_count() {
                return 2;
        }
@@ -318,6 +349,9 @@ class NOOP_Translations {
                        return 1 == $count? $singular : $plural;
        }
 
+       /**
+        * @param object $other
+        */
        function merge_with(&$other) {
        }
 }
index 94a38581c5eea61711a577e1848555dbd67c59c8..b904408e463df98c4aa52e135b95266bf249c0ad 100644 (file)
@@ -11,8 +11,8 @@
  *
  * @since 3.1.0
  *
- * @param int|object $post Post ID or post object. Optional, default is the current post from the loop.
- * @return mixed The format if successful. False otherwise.
+ * @param int|object|null $post Post ID or post object. Optional, default is the current post from the loop.
+ * @return string|false The format if successful. False otherwise.
  */
 function get_post_format( $post = null ) {
        if ( ! $post = get_post( $post ) )
@@ -36,8 +36,8 @@ function get_post_format( $post = null ) {
  *
  * @since 3.1.0
  *
- * @param string|array $format Optional. The format or formats to check.
- * @param object|int $post Optional. The post to check. If not supplied, defaults to the current post if used in the loop.
+ * @param string|array    $format Optional. The format or formats to check.
+ * @param object|int|null $post   Optional. The post to check. If not supplied, defaults to the current post if used in the loop.
  * @return bool True if the post has any of the given formats (or any format, if no format specified), false otherwise.
  */
 function has_post_format( $format = array(), $post = null ) {
@@ -57,15 +57,15 @@ function has_post_format( $format = array(), $post = null ) {
  *
  * @since 3.1.0
  *
- * @param int|object $post The post for which to assign a format.
- * @param string $format A format to assign. Use an empty string or array to remove all formats from the post.
- * @return mixed WP_Error on error. Array of affected term IDs on success.
+ * @param int|object $post   The post for which to assign a format.
+ * @param string     $format A format to assign. Use an empty string or array to remove all formats from the post.
+ * @return array|WP_Error|false WP_Error on error. Array of affected term IDs on success.
  */
 function set_post_format( $post, $format ) {
        $post = get_post( $post );
 
        if ( empty( $post ) )
-               return new WP_Error( 'invalid_post', __( 'Invalid post' ) );
+               return new WP_Error( 'invalid_post', __( 'Invalid post.' ) );
 
        if ( ! empty( $format ) ) {
                $format = sanitize_key( $format );
@@ -135,7 +135,7 @@ function get_post_format_string( $slug ) {
  * @since 3.1.0
  *
  * @param string $format The post format slug.
- * @return string The post format term link.
+ * @return string|WP_Error|false The post format term link.
  */
 function get_post_format_link( $format ) {
        $term = get_term_by('slug', 'post-format-' . $format, 'post_format' );
@@ -149,6 +149,9 @@ function get_post_format_link( $format ) {
  *
  * @access private
  * @since 3.1.0
+ *
+ * @param array $qvs
+ * @return array
  */
 function _post_format_request( $qvs ) {
        if ( ! isset( $qvs['post_format'] ) )
@@ -167,11 +170,19 @@ function _post_format_request( $qvs ) {
  *
  * @access private
  * @since 3.1.0
+ *
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param string $link
+ * @param object $term
+ * @param string $taxonomy
+ * @return string
  */
 function _post_format_link( $link, $term, $taxonomy ) {
        global $wp_rewrite;
-       if ( 'post_format' != $taxonomy )
+       if ( 'post_format' != $taxonomy ) {
                return $link;
+       }
        if ( $wp_rewrite->get_extra_permastruct( $taxonomy ) ) {
                return str_replace( "/{$term->slug}", '/' . str_replace( 'post-format-', '', $term->slug ), $link );
        } else {
@@ -185,6 +196,9 @@ function _post_format_link( $link, $term, $taxonomy ) {
  *
  * @access private
  * @since 3.1.0
+ *
+ * @param object $term
+ * @return object
  */
 function _post_format_get_term( $term ) {
        if ( isset( $term->slug ) ) {
@@ -198,6 +212,11 @@ function _post_format_get_term( $term ) {
  *
  * @access private
  * @since 3.1.0
+ *
+ * @param array        $terms
+ * @param string|array $taxonomies
+ * @param array        $args
+ * @return array
  */
 function _post_format_get_terms( $terms, $taxonomies, $args ) {
        if ( in_array( 'post_format', (array) $taxonomies ) ) {
@@ -221,6 +240,9 @@ function _post_format_get_terms( $terms, $taxonomies, $args ) {
  *
  * @access private
  * @since 3.1.0
+ *
+ * @param array $terms
+ * @return array
  */
 function _post_format_wp_get_object_terms( $terms ) {
        foreach ( (array) $terms as $order => $term ) {
index 2a6569f29812c4422acd518e9d9ee5fb0d8f7ab1..1b4901cc925e641e8d644be1136066e383a2e50b 100644 (file)
@@ -22,7 +22,7 @@ function the_ID() {
  *
  * @since 2.1.0
  *
- * @return int|bool The ID of the current item in the WordPress Loop. False if $post is not set.
+ * @return int|false The ID of the current item in the WordPress Loop. False if $post is not set.
  */
 function get_the_ID() {
        $post = get_post();
@@ -35,11 +35,11 @@ function get_the_ID() {
  * @since 0.71
  *
  * @param string $before Optional. Content to prepend to the title.
- * @param string $after Optional. Content to append to the title.
- * @param bool $echo Optional, default to true.Whether to display or return.
- * @return null|string Null on no title. String if $echo parameter is false.
+ * @param string $after  Optional. Content to append to the title.
+ * @param bool   $echo   Optional, default to true.Whether to display or return.
+ * @return string|void String if $echo parameter is false.
  */
-function the_title($before = '', $after = '', $echo = true) {
+function the_title( $before = '', $after = '', $echo = true ) {
        $title = get_the_title();
 
        if ( strlen($title) == 0 )
@@ -73,7 +73,7 @@ function the_title($before = '', $after = '', $echo = true) {
  *     @type bool    $echo   Whether to echo or return the title. Default true for echo.
  *     @type WP_Post $post   Current post object to retrieve the title for.
  * }
- * @return string|null Null on failure or display. String when echo is false.
+ * @return string|void String when echo is false.
  */
 function the_title_attribute( $args = '' ) {
        $defaults = array( 'before' => '', 'after' =>  '', 'echo' => true, 'post' => get_post() );
@@ -237,6 +237,12 @@ function the_content( $more_link_text = null, $strip_teaser = false) {
  *
  * @since 0.71
  *
+ * @global int   $page
+ * @global int   $more
+ * @global bool  $preview
+ * @global array $pages
+ * @global int   $multipage
+ *
  * @param string $more_link_text Optional. Content for when there is more text.
  * @param bool $strip_teaser Optional. Strip teaser content before the more text. Default is false.
  * @return string
@@ -521,6 +527,9 @@ function body_class( $class = '' ) {
  *
  * @since 2.8.0
  *
+ * @global WP_Query $wp_query
+ * @global wpdb     $wpdb
+ *
  * @param string|array $class One or more classes to add to the class list.
  * @return array Array of classes.
  */
@@ -726,7 +735,7 @@ function get_body_class( $class = '' ) {
  *
  * @since 2.7.0
  *
- * @param int|WP_Post $post An optional post. Global $post used if not provided.
+ * @param int|WP_Post|null $post An optional post. Global $post used if not provided.
  * @return bool false if a password is not required or the correct password cookie is present, true otherwise.
  */
 function post_password_required( $post = null ) {
@@ -760,6 +769,11 @@ function post_password_required( $post = null ) {
  *
  * @since 1.2.0
  *
+ * @global int $page
+ * @global int $numpages
+ * @global int $multipage
+ * @global int $more
+ *
  * @param string|array $args {
  *     Optional. Array or string of default arguments.
  *
@@ -782,6 +796,8 @@ function post_password_required( $post = null ) {
  * @return string Formatted output in HTML.
  */
 function wp_link_pages( $args = '' ) {
+       global $page, $numpages, $multipage, $more;
+
        $defaults = array(
                'before'           => '<p>' . __( 'Pages:' ),
                'after'            => '</p>',
@@ -806,8 +822,6 @@ function wp_link_pages( $args = '' ) {
         */
        $r = apply_filters( 'wp_link_pages_args', $params );
 
-       global $page, $numpages, $multipage, $more;
-
        $output = '';
        if ( $multipage ) {
                if ( 'number' == $r['next_or_number'] ) {
@@ -877,6 +891,8 @@ function wp_link_pages( $args = '' ) {
  * @since 3.1.0
  * @access private
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param int $i Page number.
  * @return string Link.
  */
@@ -921,7 +937,7 @@ function _wp_link_page( $i ) {
  * @since 1.5.0
  *
  * @param string $key Meta data key name.
- * @return bool|string|array Array of values or single value, if only one element exists. False will be returned if key does not exist.
+ * @return false|string|array Array of values or single value, if only one element exists. False will be returned if key does not exist.
  */
 function post_custom( $key = '' ) {
        $custom = get_post_custom();
@@ -974,6 +990,7 @@ function the_meta() {
  *
  * @since 2.1.0
  * @since 4.2.0 The `$value_field` argument was added.
+ * @since 4.3.0 The `$class` argument was added.
  *
  * @param array|string $args {
  *     Optional. Array or string of arguments to generate a pages drop-down element.
@@ -986,6 +1003,7 @@ function the_meta() {
  *     @type string       $name                  Value for the 'name' attribute of the select element.
  *                                               Default 'page_id'.
  *     @type string       $id                    Value for the 'id' attribute of the select element.
+ *     @type string       $class                 Value for the 'class' attribute of the select element. Default: none.
  *                                               Defaults to the value of `$name`.
  *     @type string       $show_option_none      Text to display for showing no pages. Default empty (does not display).
  *     @type string       $show_option_no_change Text to display for "no change" option. Default empty (does not display).
@@ -1000,6 +1018,7 @@ function wp_dropdown_pages( $args = '' ) {
                'depth' => 0, 'child_of' => 0,
                'selected' => 0, 'echo' => 1,
                'name' => 'page_id', 'id' => '',
+               'class' => '',
                'show_option_none' => '', 'show_option_no_change' => '',
                'option_none_value' => '',
                'value_field' => 'ID',
@@ -1015,7 +1034,12 @@ function wp_dropdown_pages( $args = '' ) {
        }
 
        if ( ! empty( $pages ) ) {
-               $output = "<select name='" . esc_attr( $r['name'] ) . "' id='" . esc_attr( $r['id'] ) . "'>\n";
+               $class = '';
+               if ( ! empty( $r['class'] ) ) {
+                       $class = " class='" . esc_attr( $r['class'] ) . "'";
+               }
+
+               $output = "<select name='" . esc_attr( $r['name'] ) . "'" . $class . " id='" . esc_attr( $r['id'] ) . "'>\n";
                if ( $r['show_option_no_change'] ) {
                        $output .= "\t<option value=\"-1\">" . $r['show_option_no_change'] . "</option>\n";
                }
@@ -1048,6 +1072,8 @@ function wp_dropdown_pages( $args = '' ) {
  *
  * @see get_pages()
  *
+ * @global WP_Query $wp_query
+ *
  * @param array|string $args {
  *     Array or string of arguments. Optional.
  *
@@ -1074,7 +1100,7 @@ function wp_dropdown_pages( $args = '' ) {
  *                                will not be wrapped with unordered list `<ul>` tags. Default 'Pages'.
  *     @type Walker $walker       Walker instance to use for listing pages. Default empty (Walker_Page).
  * }
- * @return string HTML list of pages.
+ * @return string|void HTML list of pages.
  */
 function wp_list_pages( $args = '' ) {
        $defaults = array(
@@ -1172,7 +1198,7 @@ function wp_list_pages( $args = '' ) {
  *     @type int|bool|string $show_home   Whether to display the link to the home page. Can just enter the text
  *                                        you'd like shown for the home link. 1|true defaults to 'Home'.
  * }
- * @return string html menu
+ * @return string|void HTML menu
  */
 function wp_page_menu( $args = array() ) {
        $defaults = array('sort_column' => 'menu_order, post_title', 'menu_class' => 'menu', 'echo' => true, 'link_before' => '', 'link_after' => '');
@@ -1249,9 +1275,14 @@ function wp_page_menu( $args = array() ) {
  *
  * @uses Walker_Page to create HTML list content.
  * @since 2.1.0
- * @see Walker_Page::walk() for parameters and return description.
+ *
+ * @param array $pages
+ * @param int   $depth
+ * @param int   $current_page
+ * @param array $r
+ * @return string
  */
-function walk_page_tree($pages, $depth, $current_page, $r) {
+function walk_page_tree( $pages, $depth, $current_page, $r ) {
        if ( empty($r['walker']) )
                $walker = new Walker_Page;
        else
@@ -1272,6 +1303,8 @@ function walk_page_tree($pages, $depth, $current_page, $r) {
  * @uses Walker_PageDropdown to create HTML dropdown content.
  * @since 2.1.0
  * @see Walker_PageDropdown::walk() for parameters and return description.
+ *
+ * @return string
  */
 function walk_page_dropdown_tree() {
        $args = func_get_args();
@@ -1310,8 +1343,8 @@ class Walker_Page extends Walker {
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param int $depth Depth of page. Used for padding.
-        * @param array $args
+        * @param int    $depth  Depth of page. Used for padding.
+        * @param array  $args
         */
        public function start_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\t", $depth);
@@ -1323,8 +1356,8 @@ class Walker_Page extends Walker {
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param int $depth Depth of page. Used for padding.
-        * @param array $args
+        * @param int    $depth  Depth of page. Used for padding.
+        * @param array  $args
         */
        public function end_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\t", $depth);
@@ -1335,11 +1368,11 @@ class Walker_Page extends Walker {
         * @see Walker::start_el()
         * @since 2.1.0
         *
-        * @param string $output Passed by reference. Used to append additional content.
-        * @param object $page Page data object.
-        * @param int $depth Depth of page. Used for padding.
-        * @param int $current_page Page ID.
-        * @param array $args
+        * @param string $output       Passed by reference. Used to append additional content.
+        * @param object $page         Page data object.
+        * @param int    $depth        Depth of page. Used for padding.
+        * @param int    $current_page Page ID.
+        * @param array  $args
         */
        public function start_el( &$output, $page, $depth = 0, $args = array(), $current_page = 0 ) {
                if ( $depth ) {
@@ -1385,6 +1418,7 @@ class Walker_Page extends Walker {
                $css_classes = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) );
 
                if ( '' === $page->post_title ) {
+                       /* translators: %d: ID of a post */
                        $page->post_title = sprintf( __( '#%d (no title)' ), $page->ID );
                }
 
@@ -1419,8 +1453,8 @@ class Walker_Page extends Walker {
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @param object $page Page data object. Not used.
-        * @param int $depth Depth of page. Not Used.
-        * @param array $args
+        * @param int    $depth Depth of page. Not Used.
+        * @param array  $args
         */
        public function end_el( &$output, $page, $depth = 0, $args = array() ) {
                $output .= "</li>\n";
@@ -1458,8 +1492,8 @@ class Walker_PageDropdown extends Walker {
         * @param object $page   Page data object.
         * @param int    $depth  Depth of page in reference to parent pages. Used for padding.
         * @param array  $args   Uses 'selected' argument for selected page to set selected HTML attribute for option
-        *              element. Uses 'value_field' argument to fill "value" attribute. See {@see wp_dropdown_pages()}.
-        * @param int $id
+        *                       element. Uses 'value_field' argument to fill "value" attribute. See {@see wp_dropdown_pages()}.
+        * @param int    $id
         */
        public function start_el( &$output, $page, $depth = 0, $args = array(), $id = 0 ) {
                $pad = str_repeat('&nbsp;', $depth * 3);
@@ -1475,6 +1509,7 @@ class Walker_PageDropdown extends Walker {
 
                $title = $page->post_title;
                if ( '' === $title ) {
+                       /* translators: %d: ID of a post */
                        $title = sprintf( __( '#%d (no title)' ), $page->ID );
                }
 
@@ -1680,10 +1715,7 @@ function is_page_template( $template = '' ) {
                }
        }
 
-       if ( 'default' == $template && ! $page_template )
-               return true;
-
-       return false;
+       return ( 'default' === $template && ! $page_template );
 }
 
 /**
@@ -1692,7 +1724,7 @@ function is_page_template( $template = '' ) {
  * @since 3.4.0
  *
  * @param int $post_id Optional. The page ID to check. Defaults to the current post, when used in the loop.
- * @return string|bool Page template filename. Returns an empty string when the default page template
+ * @return string|false Page template filename. Returns an empty string when the default page template
  *     is in use. Returns false if the post is not a page.
  */
 function get_page_template_slug( $post_id = null ) {
@@ -1711,8 +1743,8 @@ function get_page_template_slug( $post_id = null ) {
  * @since 2.6.0
  *
  * @param int|object $revision Revision ID or revision object.
- * @param bool $link Optional, default is true. Link to revisions's page?
- * @return string i18n formatted datetimestamp or localized 'Current Revision'.
+ * @param bool       $link     Optional, default is true. Link to revisions's page?
+ * @return string|false i18n formatted datetimestamp or localized 'Current Revision'.
  */
 function wp_post_revision_title( $revision, $link = true ) {
        if ( !$revision = get_post( $revision ) )
@@ -1746,8 +1778,8 @@ function wp_post_revision_title( $revision, $link = true ) {
  * @since 3.6.0
  *
  * @param int|object $revision Revision ID or revision object.
- * @param bool $link Optional, default is true. Link to revisions's page?
- * @return string gravatar, user, i18n formatted datetimestamp or localized 'Current Revision'.
+ * @param bool       $link     Optional, default is true. Link to revisions's page?
+ * @return string|false gravatar, user, i18n formatted datetimestamp or localized 'Current Revision'.
  */
 function wp_post_revision_title_expanded( $revision, $link = true ) {
        if ( !$revision = get_post( $revision ) )
@@ -1796,7 +1828,6 @@ function wp_post_revision_title_expanded( $revision, $link = true ) {
  *
  * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
  * @param string      $type    'all' (default), 'revision' or 'autosave'
- * @return null
  */
 function wp_list_post_revisions( $post_id = 0, $type = 'all' ) {
        if ( ! $post = get_post( $post_id ) )
index f1d70364576e9873cec59003f3eeeead8f31cacb..7b8d1a2f25c7aa3f6e11ac1fa6b5e7867faa5b18 100644 (file)
@@ -26,8 +26,8 @@ function has_post_thumbnail( $post_id = null ) {
  *
  * @since 2.9.0
  *
- * @param int $post_id Optional. Post ID.
- * @return int
+ * @param int|null $post_id Optional. Post ID.
+ * @return mixed
  */
 function get_post_thumbnail_id( $post_id = null ) {
        $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
@@ -61,7 +61,9 @@ function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
  *
  * @since 3.2.0
  *
- * @param object $wp_query Optional. A WP_Query instance. Defaults to the $wp_query global.
+ * @global WP_Query $wp_query
+ *
+ * @param WP_Query $wp_query Optional. A WP_Query instance. Defaults to the $wp_query global.
  */
 function update_post_thumbnail_cache( $wp_query = null ) {
        if ( ! $wp_query )
@@ -99,6 +101,7 @@ function update_post_thumbnail_cache( $wp_query = null ) {
  * @param string|array $size Optional. Registered image size to use, or flat array of height
  *                           and width values. Default 'post-thumbnail'.
  * @param string|array $attr Optional. Query string or array of attributes. Default empty.
+ * @return string
  */
 function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $attr = '' ) {
        $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
index d048cff69f3a37bb8f4a071b0b421f99dcdc209d..912a03c8c83fe47d7b6820723ab02faa2f85bdca 100644 (file)
@@ -181,7 +181,7 @@ function create_initial_post_types() {
  *
  * @param int  $attachment_id Attachment ID.
  * @param bool $unfiltered    Optional. Whether to apply filters. Default false.
- * @return string|bool The file path to where the attached file should be, false otherwise.
+ * @return string|false The file path to where the attached file should be, false otherwise.
  */
 function get_attached_file( $attachment_id, $unfiltered = false ) {
        $file = get_post_meta( $attachment_id, '_wp_attached_file', true );
@@ -308,6 +308,8 @@ function _wp_relative_upload_path( $path ) {
  * @see get_posts()
  * @todo Check validity of description.
  *
+ * @global WP_Post $post
+ *
  * @param mixed  $args   Optional. User defined arguments for replacing the defaults. Default empty.
  * @param string $output Optional. Constant for return type. Accepts OBJECT, ARRAY_A, ARRAY_N.
  *                       Default OBJECt.
@@ -410,11 +412,13 @@ function get_extended( $post ) {
  *
  * @since 1.5.1
  *
- * @param int|WP_Post $post   Optional. Post ID or post object. Defaults to global $post.
- * @param string      $output Optional, default is Object. Accepts OBJECT, ARRAY_A, or ARRAY_N.
- *                            Default OBJECT.
- * @param string      $filter Optional. Type of filter to apply. Accepts 'raw', 'edit', 'db',
- *                            or 'display'. Default 'raw'.
+ * @global WP_Post $post
+ *
+ * @param int|WP_Post|null $post   Optional. Post ID or post object. Defaults to global $post.
+ * @param string           $output Optional, default is Object. Accepts OBJECT, ARRAY_A, or ARRAY_N.
+ *                                 Default OBJECT.
+ * @param string           $filter Optional. Type of filter to apply. Accepts 'raw', 'edit', 'db',
+ *                                 or 'display'. Default 'raw'.
  * @return WP_Post|array|null Type corresponding to $output on success or null on failure.
  *                            When $output is OBJECT, a `WP_Post` instance is returned.
  */
@@ -455,8 +459,9 @@ function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
  *
  * @since 3.5.0
  *
+ * @property string $page_template
+ *
  * @property-read array  $ancestors
- * @property-read string $page_template
  * @property-read int    $post_category
  * @property-read string $tag_input
  *
@@ -644,8 +649,10 @@ final class WP_Post {
         * @static
         * @access public
         *
+        * @global wpdb $wpdb
+        *
         * @param int $post_id Post ID.
-        * @return WP_Post|bool Post object, false otherwise.
+        * @return WP_Post|false Post object, false otherwise.
         */
        public static function get_instance( $post_id ) {
                global $wpdb;
@@ -674,7 +681,7 @@ final class WP_Post {
        /**
         * Constructor.
         *
-        * @param WP_Post $post Post object.
+        * @param WP_Post|object $post Post object.
         */
        public function __construct( $post ) {
                foreach ( get_object_vars( $post ) as $key => $value )
@@ -707,7 +714,7 @@ final class WP_Post {
         * Getter.
         *
         * @param string $key Key to get.
-        * @return array|mixed
+        * @return mixed
         */
        public function __get( $key ) {
                if ( 'page_template' == $key && $this->__isset( $key ) ) {
@@ -750,7 +757,7 @@ final class WP_Post {
         * {@Missing Summary}
         *
         * @param string $filter Filter.
-        * @return $this|array|bool|object|WP_Post
+        * @return self|array|bool|object|WP_Post
         */
        public function filter( $filter ) {
                if ( $this->filter == $filter )
@@ -950,7 +957,7 @@ function get_page_statuses() {
  * Arguments prefixed with an _underscore shouldn't be used by plugins and themes.
  *
  * @since 3.0.0
- * @uses $wp_post_statuses Inserts new post status object into the list
+ * @global array $wp_post_statuses Inserts new post status object into the list
  *
  * @param string $post_status Name of the post status.
  * @param array|string $args {
@@ -965,7 +972,7 @@ function get_page_statuses() {
  *     @type bool        $_builtin                  Whether the status is built-in. Core-use only.
  *                                                  Default false.
  *     @type bool        $public                    Whether posts of this status should be shown
- *                                                  in the front end of the site. Default true.
+ *                                                  in the front end of the site. Default false.
  *     @type bool        $internal                  Whether the status is for internal use only.
  *                                                  Default false.
  *     @type bool        $protected                 Whether posts with this status should be protected.
@@ -981,6 +988,7 @@ function get_page_statuses() {
  *                                                  e.g. All (12) | Published (9) | My Custom Status (2)
  *                                                  Default is value of $internal.
  * }
+ * @return object
  */
 function register_post_status( $post_status, $args = array() ) {
        global $wp_post_statuses;
@@ -1057,7 +1065,7 @@ function register_post_status( $post_status, $args = array() ) {
  * @see register_post_status()
  *
  * @param string $post_status The name of a registered post status.
- * @return object A post status object.
+ * @return object|null A post status object.
  */
 function get_post_status_object( $post_status ) {
        global $wp_post_statuses;
@@ -1132,8 +1140,8 @@ function post_type_exists( $post_type ) {
  *
  * @since 2.1.0
  *
- * @param int|WP_Post $post Optional. Post ID or post object. Default is global $post.
- * @return string|false Post type on success, false on failure.
+ * @param int|WP_Post|null $post Optional. Post ID or post object. Default is global $post.
+ * @return string|false          Post type on success, false on failure.
  */
 function get_post_type( $post = null ) {
        if ( $post = get_post( $post ) )
@@ -1152,7 +1160,7 @@ function get_post_type( $post = null ) {
  * @see register_post_type()
  *
  * @param string $post_type The name of a registered post type.
- * @return object A post type object.
+ * @return object|null A post type object.
  */
 function get_post_type_object( $post_type ) {
        global $wp_post_types;
@@ -1581,7 +1589,9 @@ function get_post_type_capabilities( $args ) {
  * @since 3.1.0
  * @access private
  *
- * @param null|array $capabilities Post type meta capabilities.
+ * @staticvar array $meta_caps
+ *
+ * @param array|void $capabilities Post type meta capabilities.
  */
 function _post_type_meta_capabilities( $capabilities = null ) {
        static $meta_caps = array();
@@ -1615,12 +1625,18 @@ function _post_type_meta_capabilities( $capabilities = null ) {
  * - parent_item_colon - This string isn't used on non-hierarchical types. In hierarchical
  *                       ones the default is 'Parent Page:'.
  * - all_items - String for the submenu. Default is All Posts/All Pages.
+ * - featured_image - Default is Featured Image.
+ * - set_featured_image - Default is Set featured image.
+ * - remove_featured_image - Default is Remove featured image.
+ * - use_featured_image - Default is Use as featured image.
  * - menu_name - Default is the same as `name`.
  *
  * Above, the first default value is for non-hierarchical post types (like posts)
  * and the second one is for hierarchical post types (like pages).
  *
  * @since 3.0.0
+ * @since 4.3.0 Added the `featured_image`, `set_featured_image`, `remove_featured_image`,
+ *              and `use_featured_image` labels.
  * @access private
  *
  * @param object $post_type_object Post type object.
@@ -1639,7 +1655,11 @@ function get_post_type_labels( $post_type_object ) {
                'not_found' => array( __('No posts found.'), __('No pages found.') ),
                'not_found_in_trash' => array( __('No posts found in Trash.'), __('No pages found in Trash.') ),
                'parent_item_colon' => array( null, __('Parent Page:') ),
-               'all_items' => array( __( 'All Posts' ), __( 'All Pages' ) )
+               'all_items' => array( __( 'All Posts' ), __( 'All Pages' ) ),
+               'featured_image' => array( __( 'Featured Image' ), __( 'Featured Image' ) ),
+               'set_featured_image' => array( __( 'Set featured image' ), __( 'Set featured image' ) ),
+               'remove_featured_image' => array( __( 'Remove featured image' ), __( 'Remove featured image' ) ),
+               'use_featured_image' => array( __( 'Use as featured image' ), __( 'Use as featured image' ) ),
        );
        $nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];
 
@@ -1657,7 +1677,7 @@ function get_post_type_labels( $post_type_object ) {
         *
         * @see get_post_type_labels() for the full list of labels.
         *
-        * @param array $labels Array of labels for the given post type.
+        * @param object $labels Object with labels for the post type as member variables.
         */
        return apply_filters( "post_type_labels_{$post_type}", $labels );
 }
@@ -1695,7 +1715,7 @@ function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) {
                $defaults[$key] = $object->hierarchical ? $value[1] : $value[0];
        }
        $labels = array_merge( $defaults, $object->labels );
-       return (object)$labels;
+       return (object) $labels;
 }
 
 /**
@@ -1728,6 +1748,8 @@ function _add_post_type_submenus() {
  *
  * @since 3.0.0
  *
+ * @global array $_wp_post_type_features
+ *
  * @param string       $post_type The post type for which to add the feature.
  * @param string|array $feature   The feature being added, accepts an array of
  *                                feature strings or a single string.
@@ -1749,14 +1771,15 @@ function add_post_type_support( $post_type, $feature ) {
  *
  * @since 3.0.0
  *
+ * @global array $_wp_post_type_features
+ *
  * @param string $post_type The post type for which to remove the feature.
  * @param string $feature   The feature being removed.
  */
 function remove_post_type_support( $post_type, $feature ) {
        global $_wp_post_type_features;
 
-       if ( isset( $_wp_post_type_features[$post_type][$feature] ) )
-               unset( $_wp_post_type_features[$post_type][$feature] );
+       unset( $_wp_post_type_features[ $post_type ][ $feature ] );
 }
 
 /**
@@ -1764,6 +1787,8 @@ function remove_post_type_support( $post_type, $feature ) {
  *
  * @since 3.4.0
  *
+ * @global array $_wp_post_type_features
+ *
  * @param string $post_type The post type.
  * @return array Post type supports list.
  */
@@ -1781,8 +1806,10 @@ function get_all_post_type_supports( $post_type ) {
  *
  * @since 3.0.0
  *
+ * @global array $_wp_post_type_features
+ *
  * @param string $post_type The post type being checked.
- * @param string $feature the feature being checked.
+ * @param string $feature   The feature being checked.
  * @return bool Whether the post type supports the given feature.
  */
 function post_type_supports( $post_type, $feature ) {
@@ -1803,7 +1830,7 @@ function post_type_supports( $post_type, $feature ) {
  * @param int    $post_id   Optional. Post ID to change post type. Default 0.
  * @param string $post_type Optional. Post type. Accepts 'post' or 'page' to
  *                          name a few. Default 'post'.
- * @return int Amount of rows changed. Should be 1 for success and 0 for failure.
+ * @return int|false Amount of rows changed. Should be 1 for success and 0 for failure.
  */
 function set_post_type( $post_id = 0, $post_type = 'post' ) {
        global $wpdb;
@@ -1893,7 +1920,7 @@ function get_posts( $args = null ) {
  * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
  * @param bool   $unique     Optional. Whether the same key should not be added.
  *                           Default false.
- * @return int|bool Meta ID on success, false on failure.
+ * @return int|false Meta ID on success, false on failure.
  */
 function add_post_meta( $post_id, $meta_key, $meta_value, $unique = false ) {
        // Make sure meta is added to the post, not a revision.
@@ -2007,8 +2034,7 @@ function get_post_custom( $post_id = 0 ) {
  * @since 1.2.0
  *
  * @param int $post_id Optional. Post ID. Default is ID of the global $post.
- * @return array|null Either array of the keys, or null if keys could not be
- *                    retrieved.
+ * @return array|void Array of the keys, if retrieved.
  */
 function get_post_custom_keys( $post_id = 0 ) {
        $custom = get_post_custom( $post_id );
@@ -2030,7 +2056,7 @@ function get_post_custom_keys( $post_id = 0 ) {
  *
  * @param string $key     Optional. Meta field key. Default empty.
  * @param int    $post_id Optional. Post ID. Default is ID of the global $post.
- * @return array Meta field values.
+ * @return array|null Meta field values.
  */
 function get_post_custom_values( $key = '', $post_id = 0 ) {
        if ( !$key )
@@ -2343,6 +2369,8 @@ function _count_posts_cache_key( $type = 'post', $perm = '' ) {
  *
  * @since 2.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string $type Optional. Post type to retrieve count. Default 'post'.
  * @param string $perm Optional. 'readable' or empty. Default empty.
  * @return object Number of posts for each status.
@@ -2406,6 +2434,8 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
  *
  * @since 2.5.0
  *
+ * @global wpdb $wpdb
+ *
  * @param string|array $mime_type Optional. Array or comma-separated list of
  *                                MIME patterns. Default empty.
  * @return object An object containing the attachment counts by mime type.
@@ -2580,7 +2610,7 @@ function wp_post_mime_type_where( $post_mime_types, $table_alias = '' ) {
  * @param int  $postid       Optional. Post ID. Default 0.
  * @param bool $force_delete Optional. Whether to bypass trash and force deletion.
  *                           Default false.
- * @return array|bool|WP_Post False on failure.
+ * @return array|false|WP_Post False on failure.
  */
 function wp_delete_post( $postid = 0, $force_delete = false ) {
        global $wpdb;
@@ -2589,7 +2619,7 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
                return $post;
 
        if ( !$force_delete && ( $post->post_type == 'post' || $post->post_type == 'page') && get_post_status( $postid ) != 'trash' && EMPTY_TRASH_DAYS )
-                       return wp_trash_post($postid);
+               return wp_trash_post( $postid );
 
        if ( $post->post_type == 'attachment' )
                return wp_delete_attachment( $postid, $force_delete );
@@ -2723,7 +2753,7 @@ function _reset_front_page_settings_for_post( $post_id ) {
  *
  * @param int $post_id Optional. Post ID. Default is ID of the global $post
  *                     if EMPTY_TRASH_DAYS equals true.
- * @return bool|array Post data array, otherwise false.
+ * @return false|array|WP_Post|null Post data array, otherwise false.
  */
 function wp_trash_post( $post_id = 0 ) {
        if ( !EMPTY_TRASH_DAYS )
@@ -2770,7 +2800,7 @@ function wp_trash_post( $post_id = 0 ) {
  * @since 2.9.0
  *
  * @param int $post_id Optional. Post ID. Default is ID of the global $post.
- * @return WP_Post|bool WP_Post object. False on failure.
+ * @return WP_Post|false WP_Post object. False on failure.
  */
 function wp_untrash_post( $post_id = 0 ) {
        if ( !$post = get_post($post_id, ARRAY_A) )
@@ -2818,8 +2848,8 @@ function wp_untrash_post( $post_id = 0 ) {
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param int|WP_Post $post Optional. Post ID or post object. Defaults to global $post.
- * @return mixed False on failure.
+ * @param int|WP_Post|null $post Optional. Post ID or post object. Defaults to global $post.
+ * @return mixed|void False on failure.
  */
 function wp_trash_post_comments( $post = null ) {
        global $wpdb;
@@ -2872,8 +2902,10 @@ function wp_trash_post_comments( $post = null ) {
  *
  * @since 2.9.0
  *
- * @param int|WP_Post $post Optional. Post ID or post object. Defaults to global $post.
- * @return null|bool Null on failure.
+ * @global wpdb $wpdb
+ *
+ * @param int|WP_Post|null $post Optional. Post ID or post object. Defaults to global $post.
+ * @return true|void
  */
 function wp_untrash_post_comments( $post = null ) {
        global $wpdb;
@@ -2982,7 +3014,8 @@ function wp_get_post_tags( $post_id = 0, $args = array() ) {
  *                         global $post. Default 0.
  * @param string $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'.
  * @param array  $args     Optional. {@link wp_get_object_terms()} arguments. Default empty array.
- * @return array List of post tags.
+ * @return array|WP_Error  List of post terms or empty array if no terms were found. WP_Error object
+ *                         if `$taxonomy` doesn't exist.
  */
 function wp_get_post_terms( $post_id = 0, $taxonomy = 'post_tag', $args = array() ) {
        $post_id = (int) $post_id;
@@ -3004,7 +3037,7 @@ function wp_get_post_terms( $post_id = 0, $taxonomy = 'post_tag', $args = array(
  *
  * @param array  $args       Optional. Arguments to retrieve posts. Default empty array.
  * @param string $output     Optional. Type of output. Accepts ARRAY_A or ''. Default ARRAY_A.
- * @return array|bool Associative array if $output equals ARRAY_A, array or false if no results.
+ * @return array|false Associative array if $output equals ARRAY_A, array or false if no results.
  */
 function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
 
@@ -3097,11 +3130,25 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 
        $user_id = get_current_user_id();
 
-       $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_id,
-               'ping_status' => get_option('default_ping_status'), 'post_parent' => 0,
-               'menu_order' => 0, 'to_ping' =>  '', 'pinged' => '', 'post_password' => '',
-               'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0,
-               'post_content' => '', 'post_title' => '', 'context' => '');
+       $defaults = array(
+               'post_author' => $user_id,
+               'post_content' => '',
+               'post_content_filtered' => '',
+               'post_title' => '',
+               'post_excerpt' => '',
+               'post_status' => 'draft',
+               'post_type' => 'post',
+               'comment_status' => '',
+               'ping_status' => '',
+               'post_password' => '',
+               'to_ping' =>  '',
+               'pinged' => '',
+               'post_parent' => 0,
+               'menu_order' => 0,
+               'guid' => '',
+               'import_id' => 0,
+               'context' => '',
+       );
 
        $postarr = wp_parse_args($postarr, $defaults);
 
@@ -3264,7 +3311,7 @@ function wp_insert_post( $postarr, $wp_error = false ) {
                        if ( mysql2date('U', $post_date_gmt, false) > mysql2date('U', $now, false) ) {
                                $post_status = 'future';
                        }
-               } elseif( 'future' == $post_status ) {
+               } elseif ( 'future' == $post_status ) {
                        $now = gmdate('Y-m-d H:i:59');
                        if ( mysql2date('U', $post_date_gmt, false) <= mysql2date('U', $now, false) ) {
                                $post_status = 'publish';
@@ -3272,11 +3319,12 @@ function wp_insert_post( $postarr, $wp_error = false ) {
                }
        }
 
+       // Comment status.
        if ( empty( $postarr['comment_status'] ) ) {
                if ( $update ) {
                        $comment_status = 'closed';
                } else {
-                       $comment_status = get_option('default_comment_status');
+                       $comment_status = get_default_comment_status( $post_type );
                }
        } else {
                $comment_status = $postarr['comment_status'];
@@ -3285,7 +3333,7 @@ function wp_insert_post( $postarr, $wp_error = false ) {
        // These variables are needed by compact() later.
        $post_content_filtered = $postarr['post_content_filtered'];
        $post_author = empty( $postarr['post_author'] ) ? $user_id : $postarr['post_author'];
-       $ping_status = empty( $postarr['ping_status'] ) ? get_option( 'default_ping_status' ) : $postarr['ping_status'];
+       $ping_status = empty( $postarr['ping_status'] ) ? get_default_comment_status( $post_type, 'pingback' ) : $postarr['ping_status'];
        $to_ping = isset( $postarr['to_ping'] ) ? sanitize_trackback_urls( $postarr['to_ping'] ) : '';
        $pinged = isset( $postarr['pinged'] ) ? $postarr['pinged'] : '';
        $import_id = isset( $postarr['import_id'] ) ? $postarr['import_id'] : 0;
@@ -3405,8 +3453,9 @@ function wp_insert_post( $postarr, $wp_error = false ) {
        }
 
        if ( empty( $data['post_name'] ) && ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
-               $data['post_name'] = sanitize_title( $data['post_title'], $post_ID );
+               $data['post_name'] = wp_unique_post_slug( sanitize_title( $data['post_title'], $post_ID ), $post_ID, $data['post_status'], $post_type, $post_parent );
                $wpdb->update( $wpdb->posts, array( 'post_name' => $data['post_name'] ), $where );
+               clean_post_cache( $post_ID );
        }
 
        if ( is_object_in_taxonomy( $post_type, 'category' ) ) {
@@ -3663,11 +3712,8 @@ function wp_publish_post( $post ) {
  * @since 2.5.0
  *
  * @param int|WP_Post $post_id Post ID or post object.
- * @return null Nothing is returned. Which can mean that no action is required
- *              or post was published.
  */
 function check_and_publish_future_post( $post_id ) {
-
        $post = get_post($post_id);
 
        if ( empty($post) )
@@ -3685,7 +3731,8 @@ function check_and_publish_future_post( $post_id ) {
                return;
        }
 
-       return wp_publish_post($post_id);
+       // wp_publish_post(_ returns no meaninful value
+       wp_publish_post( $post_id );
 }
 
 /**
@@ -3693,7 +3740,7 @@ function check_and_publish_future_post( $post_id ) {
  *
  * @since 2.8.0
  *
- * @global wpdb $wpdb WordPress database abstraction object.
+ * @global wpdb       $wpdb WordPress database abstraction object.
  * @global WP_Rewrite $wp_rewrite
  *
  * @param string $slug        The desired slug (post_name).
@@ -3772,6 +3819,28 @@ function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_p
                $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type = %s AND ID != %d LIMIT 1";
                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_type, $post_ID ) );
 
+               // Prevent new post slugs that could result in URLs that conflict with date archives.
+               $post = get_post( $post_ID );
+               $conflicts_with_date_archive = false;
+               if ( 'post' === $post_type && ( ! $post || $post->post_name !== $slug ) && preg_match( '/^[0-9]+$/', $slug ) && $slug_num = intval( $slug ) ) {
+                       $permastructs   = array_values( array_filter( explode( '/', get_option( 'permalink_structure' ) ) ) );
+                       $postname_index = array_search( '%postname%', $permastructs );
+
+                       /*
+                        * Potential date clashes are as follows:
+                        *
+                        * - Any integer in the first permastruct position could be a year.
+                        * - An integer between 1 and 12 that follows 'year' conflicts with 'monthnum'.
+                        * - An integer between 1 and 31 that follows 'monthnum' conflicts with 'day'.
+                        */
+                       if ( 0 === $postname_index ||
+                               ( $postname_index && '%year%' === $permastructs[ $postname_index - 1 ] && 13 > $slug_num ) ||
+                               ( $postname_index && '%monthnum%' === $permastructs[ $postname_index - 1 ] && 32 > $slug_num )
+                       ) {
+                               $conflicts_with_date_archive = true;
+                       }
+               }
+
                /**
                 * Filter whether the post slug would be bad as a flat slug.
                 *
@@ -3781,7 +3850,7 @@ function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_p
                 * @param string $slug      The post slug.
                 * @param string $post_type Post type.
                 */
-               if ( $post_name_check || in_array( $slug, $feeds ) || apply_filters( 'wp_unique_post_slug_is_bad_flat_slug', false, $slug, $post_type ) ) {
+               if ( $post_name_check || in_array( $slug, $feeds ) || $conflicts_with_date_archive || apply_filters( 'wp_unique_post_slug_is_bad_flat_slug', false, $slug, $post_type ) ) {
                        $suffix = 2;
                        do {
                                $alt_post_name = _truncate_post_slug( $slug, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";
@@ -3841,7 +3910,7 @@ function _truncate_post_slug( $slug, $length = 200 ) {
  * @param int    $post_id Optional. The Post ID. Does not default to the ID of the global $post.
  *                        Default 0.
  * @param string $tags    Optional. The tags to set for the post, separated by commas. Default empty.
- * @return bool|null Will return false if $post_id is not an integer or is 0. Will return null otherwise.
+ * @return array|false|WP_Error Will return false if $post_id is not an integer or is 0.
  */
 function wp_add_post_tags( $post_id = 0, $tags = '' ) {
        return wp_set_post_tags($post_id, $tags, true);
@@ -3859,7 +3928,7 @@ function wp_add_post_tags( $post_id = 0, $tags = '' ) {
  *                        Default empty.
  * @param bool   $append  Optional. If true, don't delete existing tags, just add on. If false,
  *                        replace the tags with the new tags. Default false.
- * @return mixed Array of affected term IDs. WP_Error or false on failure.
+ * @return array|false|WP_Error Array of affected term IDs. WP_Error or false on failure.
  */
 function wp_set_post_tags( $post_id = 0, $tags = '', $append = false ) {
        return wp_set_post_terms( $post_id, $tags, 'post_tag', $append);
@@ -3877,7 +3946,7 @@ function wp_set_post_tags( $post_id = 0, $tags = '', $append = false ) {
  * @param string $taxonomy Optional. Taxonomy name. Default 'post_tag'.
  * @param bool   $append   Optional. If true, don't delete existing tags, just add on. If false,
  *                         replace the tags with the new tags. Default false.
- * @return mixed Array of affected term IDs. WP_Error or false on failure.
+ * @return array|false|WP_Error Array of affected term IDs. WP_Error or false on failure.
  */
 function wp_set_post_terms( $post_id = 0, $tags = '', $taxonomy = 'post_tag', $append = false ) {
        $post_id = (int) $post_id;
@@ -3920,7 +3989,7 @@ function wp_set_post_terms( $post_id = 0, $tags = '', $taxonomy = 'post_tag', $a
  *                                   Default empty array.
  * @param bool      $append         If true, don't delete existing categories, just add on.
  *                                  If false, replace the categories with the new categories.
- * @return bool|mixed
+ * @return array|bool|WP_Error
  */
 function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $append = false ) {
        $post_ID = (int) $post_ID;
@@ -3943,11 +4012,14 @@ function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $appe
 }
 
 /**
- * Transition the post status of a post.
+ * Fires actions related to the transitioning of a post's status.
  *
  * When a post is saved, the post status is "transitioned" from one status to another,
  * though this does not always mean the status has actually changed before and after
- * the save.
+ * the save. This function fires a number of action hooks related to that transition:
+ * the generic 'transition_post_status' action, as well as the dynamic hooks
+ * `"{$old_status}_to_{$new_status}"` and `"{$new_status}_{$post->post_type}"`. Note
+ * that the function does not transition the post object in the database.
  *
  * For instance: When publishing a post for the first time, the post status may transition
  * from 'draft' – or some other status – to 'publish'. However, if a post is already
@@ -4007,7 +4079,7 @@ function wp_transition_post_status( $new_status, $old_status, $post ) {
 }
 
 //
-// Trackback and ping functions
+// Comment, trackback, and pingback functions.
 //
 
 /**
@@ -4019,7 +4091,7 @@ function wp_transition_post_status( $new_status, $old_status, $post ) {
  *
  * @param int    $post_id Post ID.
  * @param string $uri     Ping URI.
- * @return int How many rows were updated.
+ * @return int|false How many rows were updated.
  */
 function add_ping( $post_id, $uri ) {
        global $wpdb;
@@ -4074,8 +4146,7 @@ function get_enclosed( $post_id ) {
         * @param array $pung    Array of enclosures for the given post.
         * @param int   $post_id Post ID.
         */
-       $pung = apply_filters( 'get_enclosed', $pung, $post_id );
-       return $pung;
+       return apply_filters( 'get_enclosed', $pung, $post_id );
 }
 
 /**
@@ -4101,8 +4172,7 @@ function get_pung( $post_id ) {
         *
         * @param array $pung Array of URLs already pinged for the given post.
         */
-       $pung = apply_filters( 'get_pung', $pung );
-       return $pung;
+       return apply_filters( 'get_pung', $pung );
 }
 
 /**
@@ -4128,8 +4198,7 @@ function get_to_ping( $post_id ) {
         *
         * @param array $to_ping List of URLs yet to ping.
         */
-       $to_ping = apply_filters( 'get_to_ping', $to_ping );
-       return $to_ping;
+       return apply_filters( 'get_to_ping', $to_ping );
 }
 
 /**
@@ -4198,7 +4267,7 @@ function get_all_page_ids() {
  *                       Default OBJECT.
  * @param string $filter Optional. How the return value should be filtered. Accepts 'raw',
  *                       'edit', 'db', 'display'. Default 'raw'.
- * @return WP_Post|null WP_Post on success or null on failure.
+ * @return WP_Post|array|null WP_Post on success or null on failure.
  */
 function get_page( $page, $output = OBJECT, $filter = 'raw') {
        return get_post( $page, $output, $filter );
@@ -4215,7 +4284,7 @@ function get_page( $page, $output = OBJECT, $filter = 'raw') {
  * @param string       $output    Optional. Output type. Accepts OBJECT, ARRAY_N, or ARRAY_A.
  *                                Default OBJECT.
  * @param string|array $post_type Optional. Post type or array of post types. Default 'page'.
- * @return WP_Post|null WP_Post on success or null on failure.
+ * @return WP_Post|array|void WP_Post on success.
  */
 function get_page_by_path( $page_path, $output = OBJECT, $post_type = 'page' ) {
        global $wpdb;
@@ -4269,10 +4338,9 @@ function get_page_by_path( $page_path, $output = OBJECT, $post_type = 'page' ) {
                }
        }
 
-       if ( $foundid )
+       if ( $foundid ) {
                return get_post( $foundid, $output );
-
-       return null;
+       }
 }
 
 /**
@@ -4286,7 +4354,7 @@ function get_page_by_path( $page_path, $output = OBJECT, $post_type = 'page' ) {
  * @param string       $output     Optional. Output type. OBJECT, ARRAY_N, or ARRAY_A.
  *                                 Default OBJECT.
  * @param string|array $post_type  Optional. Post type or array of post types. Default 'page'.
- * @return WP_Post|null WP_Post on success or null on failure
+ * @return WP_Post|array|void WP_Post on success or null on failure
  */
 function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' ) {
        global $wpdb;
@@ -4311,32 +4379,44 @@ function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' )
 
        $page = $wpdb->get_var( $sql );
 
-       if ( $page )
+       if ( $page ) {
                return get_post( $page, $output );
-
-       return null;
+       }
 }
 
 /**
- * Retrieve child pages from list of pages matching page ID.
+ * Identify descendants of a given page ID in a list of page objects.
  *
- * Matches against the pages parameter against the page ID. Also matches all
- * children for the same to retrieve all children of a page. Does not make any
- * SQL queries to get the children.
+ * Descendants are identified from the `$pages` array passed to the function. No database queries are performed.
  *
  * @since 1.5.1
  *
- * @param int   $page_id    Page ID.
- * @param array $pages      List of pages' objects.
+ * @param int   $page_id Page ID.
+ * @param array $pages   List of page objects from which descendants should be identified.
  * @return array List of page children.
  */
 function get_page_children( $page_id, $pages ) {
-       $page_list = array();
+       // Build a hash of ID -> children.
+       $children = array();
        foreach ( (array) $pages as $page ) {
-               if ( $page->post_parent == $page_id ) {
-                       $page_list[] = $page;
-                       if ( $children = get_page_children( $page->ID, $pages ) ) {
-                               $page_list = array_merge( $page_list, $children );
+               $children[ intval( $page->post_parent ) ][] = $page;
+       }
+
+       $page_list = array();
+
+       // Start the search by looking at immediate children.
+       if ( isset( $children[ $page_id ] ) ) {
+               // Always start at the end of the stack in order to preserve original `$pages` order.
+               $to_look = array_reverse( $children[ $page_id ] );
+
+               while ( $to_look ) {
+                       $p = array_pop( $to_look );
+                       $page_list[] = $p;
+                       if ( isset( $children[ $p->ID ] ) ) {
+                               foreach ( array_reverse( $children[ $p->ID ] ) as $child ) {
+                                       // Append to the `$to_look` stack to descend the tree.
+                                       $to_look[] = $child;
+                               }
                        }
                }
        }
@@ -4358,8 +4438,7 @@ function get_page_children( $page_id, $pages ) {
  */
 function get_page_hierarchy( &$pages, $page_id = 0 ) {
        if ( empty( $pages ) ) {
-               $result = array();
-               return $result;
+               return array();
        }
 
        $children = array();
@@ -4459,7 +4538,7 @@ function get_page_uri( $page ) {
  *     @type string       $post_status  A comma-separated list of post status types to include.
  *                                      Default 'publish'.
  * }
- * @return array List of pages matching defaults or `$args`.
+ * @return array|false List of pages matching defaults or `$args`.
  */
 function get_pages( $args = array() ) {
        global $wpdb;
@@ -4711,9 +4790,7 @@ function get_pages( $args = array() ) {
         * @param array $pages List of pages to retrieve.
         * @param array $r     Array of get_pages() arguments.
         */
-       $pages = apply_filters( 'get_pages', $pages, $r );
-
-       return $pages;
+       return apply_filters( 'get_pages', $pages, $r );
 }
 
 //
@@ -4899,7 +4976,7 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
  *
  * @param int  $post_id    Attachment ID. Default 0.
  * @param bool $unfiltered Optional. If true, filters are not run. Default false.
- * @return string|bool Attachment meta field. False on failure.
+ * @return mixed Attachment meta field. False on failure.
  */
 function wp_get_attachment_metadata( $post_id = 0, $unfiltered = false ) {
        $post_id = (int) $post_id;
@@ -4956,8 +5033,10 @@ function wp_update_attachment_metadata( $post_id, $data ) {
  *
  * @since 2.1.0
  *
+ * @global string $pagenow
+ *
  * @param int $post_id Optional. Attachment ID. Default 0.
- * @return string|bool Attachment URL, otherwise false.
+ * @return string|false Attachment URL, otherwise false.
  */
 function wp_get_attachment_url( $post_id = 0 ) {
        $post_id = (int) $post_id;
@@ -5020,7 +5099,7 @@ function wp_get_attachment_url( $post_id = 0 ) {
  * @since 2.1.0
  *
  * @param int $post_id Optional. Attachment ID. Default 0.
- * @return mixed False on failure. Thumbnail file path on success.
+ * @return string|false False on failure. Thumbnail file path on success.
  */
 function wp_get_attachment_thumb_file( $post_id = 0 ) {
        $post_id = (int) $post_id;
@@ -5051,7 +5130,7 @@ function wp_get_attachment_thumb_file( $post_id = 0 ) {
  * @since 2.1.0
  *
  * @param int $post_id Optional. Attachment ID. Default 0.
- * @return string|bool False on failure. Thumbnail URL on success.
+ * @return string|false False on failure. Thumbnail URL on success.
  */
 function wp_get_attachment_thumb_url( $post_id = 0 ) {
        $post_id = (int) $post_id;
@@ -5133,7 +5212,8 @@ function wp_attachment_is( $type, $post_id = 0 ) {
  * Checks if the attachment is an image.
  *
  * @since 2.1.0
- * @since 4.2.0 Modified into wrapper for wp_attachment_is()
+ * @since 4.2.0 Modified into wrapper for wp_attachment_is() and
+ *              allowed WP_Post object to be passed.
  *
  * @param int|WP_Post $post Optional. Attachment ID. Default 0.
  * @return bool Whether the attachment is an image.
@@ -5148,7 +5228,7 @@ function wp_attachment_is_image( $post = 0 ) {
  * @since 2.1.0
  *
  * @param string|int $mime MIME type or attachment ID.
- * @return string|bool Icon, false otherwise.
+ * @return string|false Icon, false otherwise.
  */
 function wp_mime_type_icon( $mime = 0 ) {
        if ( !is_numeric($mime) )
@@ -5282,7 +5362,6 @@ function wp_mime_type_icon( $mime = 0 ) {
  * @param int     $post_id     Post ID.
  * @param WP_Post $post        The Post Object
  * @param WP_Post $post_before The Previous Post Object
- * @return int Same as $post_id
  */
 function wp_check_for_changed_slugs( $post_id, $post, $post_before ) {
        // Don't bother if it hasnt changed.
@@ -5313,8 +5392,9 @@ function wp_check_for_changed_slugs( $post_id, $post, $post_before ) {
  * published posts, and all private posts to which the user has access.
  *
  * @since 2.2.0
+ * @since 4.3.0 Added the ability to pass an array to `$post_type`.
  *
- * @param string $post_type Post type. Currently only supports 'post' or 'page'.
+ * @param string|array $post_type Single post type or an array of post types. Currently only supports 'post' or 'page'.
  * @return string SQL code that can be added to a where clause.
  */
 function get_private_posts_cap_sql( $post_type ) {
@@ -5325,62 +5405,78 @@ function get_private_posts_cap_sql( $post_type ) {
  * Retrieve the post SQL based on capability, author, and type.
  *
  * @since 3.0.0
+ * @since 4.3.0 Introduced the ability to pass an array of post types to `$post_type`.
  *
  * @see get_private_posts_cap_sql()
  *
- * @param string $post_type   Post type.
- * @param bool   $full        Optional. Returns a full WHERE statement instead of just
- *                            an 'andalso' term. Default true.
- * @param int    $post_author Optional. Query posts having a single author ID. Default null.
- * @param bool   $public_only Optional. Only return public posts. Skips cap checks for
- *                            $current_user.  Default false.
+ * @global wpdb $wpdb
+ *
+ * @param array|string   $post_type   Single post type or an array of post types.
+ * @param bool           $full        Optional. Returns a full WHERE statement instead of just
+ *                                    an 'andalso' term. Default true.
+ * @param int            $post_author Optional. Query posts having a single author ID. Default null.
+ * @param bool           $public_only Optional. Only return public posts. Skips cap checks for
+ *                                    $current_user.  Default false.
  * @return string SQL WHERE code that can be added to a query.
  */
 function get_posts_by_author_sql( $post_type, $full = true, $post_author = null, $public_only = false ) {
        global $wpdb;
 
-       // Private posts.
-       $post_type_obj = get_post_type_object( $post_type );
-       if ( ! $post_type_obj )
-               return $full ? 'WHERE 1 = 0' : ' 1 = 0 ';
-
-       /**
-        * Filter the capability to read private posts for a custom post type
-        * when generating SQL for getting posts by author.
-        *
-        * @since 2.2.0
-        * @deprecated 3.2.0 The hook transitioned from "somewhat useless" to "totally useless".
-        *
-        * @param string $cap Capability.
-        */
-       if ( ! $cap = apply_filters( 'pub_priv_sql_capability', '' ) ) {
-               $cap = $post_type_obj->cap->read_private_posts;
+       if ( is_array( $post_type ) ) {
+               $post_types = $post_type;
+       } else {
+               $post_types = array( $post_type );
        }
 
-       $sql = $wpdb->prepare( 'post_type = %s', $post_type );
+       $post_type_clauses = array();
+       foreach ( $post_types as $post_type ) {
+               $post_type_obj = get_post_type_object( $post_type );
+               if ( ! $post_type_obj ) {
+                       continue;
+               }
 
-       if ( null !== $post_author ) {
-               $sql .= $wpdb->prepare( ' AND post_author = %d', $post_author );
-       }
+               /**
+                * Filter the capability to read private posts for a custom post type
+                * when generating SQL for getting posts by author.
+                *
+                * @since 2.2.0
+                * @deprecated 3.2.0 The hook transitioned from "somewhat useless" to "totally useless".
+                *
+                * @param string $cap Capability.
+                */
+               if ( ! $cap = apply_filters( 'pub_priv_sql_capability', '' ) ) {
+                       $cap = current_user_can( $post_type_obj->cap->read_private_posts );
+               }
 
-       // Only need to check the cap if $public_only is false.
-       $post_status_sql = "post_status = 'publish'";
-       if ( false === $public_only ) {
-               if ( current_user_can( $cap ) ) {
-                       // Does the user have the capability to view private posts? Guess so.
-                       $post_status_sql .= " OR post_status = 'private'";
-               } elseif ( is_user_logged_in() ) {
-                       // Users can view their own private posts.
-                       $id = get_current_user_id();
-                       if ( null === $post_author || ! $full ) {
-                               $post_status_sql .= " OR post_status = 'private' AND post_author = $id";
-                       } elseif ( $id == (int) $post_author ) {
+               // Only need to check the cap if $public_only is false.
+               $post_status_sql = "post_status = 'publish'";
+               if ( false === $public_only ) {
+                       if ( $cap ) {
+                               // Does the user have the capability to view private posts? Guess so.
                                $post_status_sql .= " OR post_status = 'private'";
+                       } elseif ( is_user_logged_in() ) {
+                               // Users can view their own private posts.
+                               $id = get_current_user_id();
+                               if ( null === $post_author || ! $full ) {
+                                       $post_status_sql .= " OR post_status = 'private' AND post_author = $id";
+                               } elseif ( $id == (int) $post_author ) {
+                                       $post_status_sql .= " OR post_status = 'private'";
+                               } // else none
                        } // else none
-               } // else none
+               }
+
+               $post_type_clauses[] = "( post_type = '" . $post_type . "' AND ( $post_status_sql ) )";
+       }
+
+       if ( empty( $post_type_clauses ) ) {
+               return $full ? 'WHERE 1 = 0' : '1 = 0';
        }
 
-       $sql .= " AND ($post_status_sql)";
+       $sql = '( '. implode( ' OR ', $post_type_clauses ) . ' )';
+
+       if ( null !== $post_author ) {
+               $sql .= $wpdb->prepare( ' AND post_author = %d', $post_author );
+       }
 
        if ( $full ) {
                $sql = 'WHERE ' . $sql;
@@ -5456,10 +5552,12 @@ function get_lastpostmodified( $timezone = 'server' ) {
  * @since 3.1.0
  * @access private
  *
+ * @global wpdb $wpdb
+ *
  * @param string $timezone The timezone for the timestamp. See {@see get_lastpostmodified()}
  *                         for information on accepted values.
  * @param string $field    Post field to check. Accepts 'date' or 'modified'.
- * @return string The timestamp.
+ * @return string|false The timestamp.
  */
 function _get_last_post_time( $timezone, $field ) {
        global $wpdb;
@@ -5525,6 +5623,7 @@ function update_post_cache( &$posts ) {
  *
  * @since 2.0.0
  *
+ * @global bool $_wp_suspend_cache_invalidation
  * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param int|WP_Post $post Post ID or post object to remove from the cache.
@@ -5628,8 +5727,8 @@ function update_post_caches( &$posts, $post_type = 'post', $update_term_cache =
  * @since 2.1.0
  *
  * @param array $post_ids List of post IDs.
- * @return bool|array Returns false if there is nothing to update or an array
- *                    of metadata.
+ * @return array|false Returns false if there is nothing to update or an array
+ *                     of metadata.
  */
 function update_postmeta_cache( $post_ids ) {
        return update_meta_cache('post', $post_ids);
@@ -5645,7 +5744,7 @@ function update_postmeta_cache( $post_ids ) {
  *
  * @since 3.0.0
  *
- * @see wp_suspend_cache_invalidation()
+ * @global bool $_wp_suspend_cache_invalidation
  *
  * @param int  $id          The attachment ID in the cache to clean.
  * @param bool $clean_terms Optional. Whether to clean terms cache. Default false.
@@ -5785,7 +5884,7 @@ function _publish_post_hook( $post_id ) {
  *
  * @param int $post_ID
  *
- * @return int|bool Post parent ID, otherwise false.
+ * @return int|false Post parent ID, otherwise false.
  */
 function wp_get_post_parent_id( $post_ID ) {
        $post = get_post( $post_ID );
@@ -5843,7 +5942,7 @@ function wp_check_post_hierarchy_for_loops( $post_parent, $post_ID ) {
  *
  * @param int|WP_Post $post         Post ID or post object where thumbnail should be attached.
  * @param int         $thumbnail_id Thumbnail to attach.
- * @return bool True on success, false on failure.
+ * @return int|bool True on success, false on failure.
  */
 function set_post_thumbnail( $post, $thumbnail_id ) {
        $post = get_post( $post );
@@ -5919,6 +6018,8 @@ function _update_term_count_on_transition_post_status( $new_status, $old_status,
  *
  * @see update_post_caches()
  *
+ * @global wpdb $wpdb
+ *
  * @param array $ids               ID list
  * @param bool  $update_term_cache Optional. Whether to update the term cache. Default true.
  * @param bool  $update_meta_cache Optional. Whether to update the meta cache. Default true.
index 6cfdd2ee5d1f6f46cf5ec0401fbc2d23890da844..7cbac9db8886aa6a9134003bf55f95e6ab9684be 100644 (file)
@@ -14,9 +14,9 @@
 /**
  * Retrieve variable in the WP_Query class.
  *
- * @see WP_Query::get()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param string $var       The variable key to retrieve.
  * @param mixed  $default   Value to return if the query variable is not set. Default ''.
  */
 function get_query_var( $var, $default = '' ) {
        global $wp_query;
-
        return $wp_query->get( $var, $default );
 }
 
 /**
  * Retrieve the currently-queried object. Wrapper for $wp_query->get_queried_object()
  *
- * @uses WP_Query::get_queried_object
- *
  * @since 3.1.0
  * @access public
  *
+ * @global WP_Query $wp_query
+ *
  * @return object
  */
 function get_queried_object() {
@@ -46,11 +45,11 @@ function get_queried_object() {
 /**
  * Retrieve ID of the current queried object. Wrapper for $wp_query->get_queried_object_id()
  *
- * @uses WP_Query::get_queried_object_id()
- *
  * @since 3.1.0
  * @access public
  *
+ * @global WP_Query $wp_query
+ *
  * @return int
  */
 function get_queried_object_id() {
@@ -61,18 +60,16 @@ function get_queried_object_id() {
 /**
  * Set query variable.
  *
- * @see WP_Query::set()
  * @since 2.2.0
- * @uses $wp_query
  *
- * @param string $var Query variable key.
- * @param mixed $value
- * @return null
+ * @global WP_Query $wp_query
+ *
+ * @param string $var   Query variable key.
+ * @param mixed  $value
  */
-function set_query_var($var, $value) {
+function set_query_var( $var, $value ) {
        global $wp_query;
-
-       return $wp_query->set($var, $value);
+       $wp_query->set( $var, $value );
 }
 
 /**
@@ -82,7 +79,8 @@ function set_query_var($var, $value) {
  * once. This must not be used within the WordPress Loop.
  *
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param string $query
  * @return array List of posts
@@ -100,7 +98,9 @@ function query_posts($query) {
  * wp_query object is not destroyed properly before another is set up.
  *
  * @since 2.3.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
+ * @global WP_Query $wp_the_query
  */
 function wp_reset_query() {
        $GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
@@ -112,7 +112,8 @@ function wp_reset_query() {
  * the $post global to the current post in the main query.
  *
  * @since 3.0.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  */
 function wp_reset_postdata() {
        global $wp_query;
@@ -131,9 +132,9 @@ function wp_reset_postdata() {
  *
  * Month, Year, Category, Author, Post Type archive...
  *
- * @see WP_Query::is_archive()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -151,11 +152,11 @@ function is_archive() {
 /**
  * Is the query for an existing post type archive page?
  *
- * @see WP_Query::is_post_type_archive()
  * @since 3.1.0
- * @uses $wp_query
  *
- * @param mixed $post_types Optional. Post type or array of posts types to check against.
+ * @global WP_Query $wp_query
+ *
+ * @param string|array $post_types Optional. Post type or array of posts types to check against.
  * @return bool
  */
 function is_post_type_archive( $post_types = '' ) {
@@ -172,9 +173,9 @@ function is_post_type_archive( $post_types = '' ) {
 /**
  * Is the query for an existing attachment page?
  *
- * @see WP_Query::is_attachment()
  * @since 2.0.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param int|string|array|object $attachment Attachment ID, title, slug, or array of such.
  * @return bool
@@ -196,9 +197,9 @@ function is_attachment( $attachment = '' ) {
  * If the $author parameter is specified, this function will additionally
  * check if the query is for one of the authors specified.
  *
- * @see WP_Query::is_author()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param mixed $author Optional. User ID, nickname, nicename, or array of User IDs, nicknames, and nicenames
  * @return bool
@@ -220,9 +221,9 @@ function is_author( $author = '' ) {
  * If the $category parameter is specified, this function will additionally
  * check if the query is for one of the categories specified.
  *
- * @see WP_Query::is_category()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param mixed $category Optional. Category ID, name, slug, or array of Category IDs, names, and slugs.
  * @return bool
@@ -244,9 +245,9 @@ function is_category( $category = '' ) {
  * If the $tag parameter is specified, this function will additionally
  * check if the query is for one of the tags specified.
  *
- * @see WP_Query::is_tag()
  * @since 2.3.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param mixed $tag Optional. Tag ID, name, slug, or array of Tag IDs, names, and slugs.
  * @return bool
@@ -272,12 +273,12 @@ function is_tag( $tag = '' ) {
  * this function will additionally check if the query is for one of the terms
  * specified.
  *
- * @see WP_Query::is_tax()
  * @since 2.5.0
- * @uses $wp_query
  *
- * @param string|array $taxonomy Optional. Taxonomy slug or slugs.
- * @param int|string|array $term Optional. Term ID, name, slug or array of Term IDs, names, and slugs.
+ * @global WP_Query $wp_query
+ *
+ * @param string|array     $taxonomy Optional. Taxonomy slug or slugs.
+ * @param int|string|array $term     Optional. Term ID, name, slug or array of Term IDs, names, and slugs.
  * @return bool
  */
 function is_tax( $taxonomy = '', $term = '' ) {
@@ -294,9 +295,9 @@ function is_tax( $taxonomy = '', $term = '' ) {
 /**
  * Whether the current URL is within the comments popup window.
  *
- * @see WP_Query::is_comments_popup()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -314,9 +315,9 @@ function is_comments_popup() {
 /**
  * Is the query for an existing date archive?
  *
- * @see WP_Query::is_date()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -334,9 +335,9 @@ function is_date() {
 /**
  * Is the query for an existing day archive?
  *
- * @see WP_Query::is_day()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -354,9 +355,9 @@ function is_day() {
 /**
  * Is the query for a feed?
  *
- * @see WP_Query::is_feed()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param string|array $feeds Optional feed types to check.
  * @return bool
@@ -375,9 +376,9 @@ function is_feed( $feeds = '' ) {
 /**
  * Is the query for a comments feed?
  *
- * @see WP_Query::is_comments_feed()
  * @since 3.0.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -404,9 +405,10 @@ function is_comment_feed() {
  *
  * Otherwise the same as @see is_home()
  *
- * @see WP_Query::is_front_page()
  * @since 2.5.0
  *
+ * @global WP_Query $wp_query
+ *
  * @return bool True, if front of site.
  */
 function is_front_page() {
@@ -432,9 +434,9 @@ function is_front_page() {
  *
  * @see is_front_page()
  *
- * @see WP_Query::is_home()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool True if blog view homepage.
  */
@@ -452,9 +454,9 @@ function is_home() {
 /**
  * Is the query for an existing month archive?
  *
- * @see WP_Query::is_month()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -478,9 +480,9 @@ function is_month() {
  * @see is_single()
  * @see is_singular()
  *
- * @see WP_Query::is_page()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param mixed $page Page ID, title, slug, or array of such.
  * @return bool
@@ -499,9 +501,9 @@ function is_page( $page = '' ) {
 /**
  * Is the query for paged result and not for the first page?
  *
- * @see WP_Query::is_paged()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -519,9 +521,9 @@ function is_paged() {
 /**
  * Is the query for a post or page preview?
  *
- * @see WP_Query::is_preview()
  * @since 2.0.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -539,9 +541,9 @@ function is_preview() {
 /**
  * Is the query for the robots file?
  *
- * @see WP_Query::is_robots()
  * @since 2.1.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -559,9 +561,9 @@ function is_robots() {
 /**
  * Is the query for a search?
  *
- * @see WP_Query::is_search()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -587,9 +589,9 @@ function is_search() {
  * @see is_page()
  * @see is_singular()
  *
- * @see WP_Query::is_single()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param mixed $post Post ID, title, slug, or array of such.
  * @return bool
@@ -614,9 +616,9 @@ function is_single( $post = '' ) {
  * @see is_page()
  * @see is_single()
  *
- * @see WP_Query::is_singular()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @param mixed $post_types Optional. Post Type or array of Post Types
  * @return bool
@@ -635,9 +637,9 @@ function is_singular( $post_types = '' ) {
 /**
  * Is the query for a specific time?
  *
- * @see WP_Query::is_time()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -655,9 +657,9 @@ function is_time() {
 /**
  * Is the query for a trackback endpoint call?
  *
- * @see WP_Query::is_trackback()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -675,9 +677,9 @@ function is_trackback() {
 /**
  * Is the query for an existing year archive?
  *
- * @see WP_Query::is_year()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -695,9 +697,9 @@ function is_year() {
 /**
  * Is the query a 404 (returns no results)?
  *
- * @see WP_Query::is_404()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -717,6 +719,8 @@ function is_404() {
  *
  * @since 3.3.0
  *
+ * @global WP_Query $wp_query
+ *
  * @return bool
  */
 function is_main_query() {
@@ -737,15 +741,14 @@ function is_main_query() {
 /**
  * Whether current WordPress query has results to loop over.
  *
- * @see WP_Query::have_posts()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
 function have_posts() {
        global $wp_query;
-
        return $wp_query->have_posts();
 }
 
@@ -753,41 +756,37 @@ function have_posts() {
  * Whether the caller is in the Loop.
  *
  * @since 2.0.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool True if caller is within loop, false if loop hasn't started or ended.
  */
 function in_the_loop() {
        global $wp_query;
-
        return $wp_query->in_the_loop;
 }
 
 /**
  * Rewind the loop posts.
  *
- * @see WP_Query::rewind_posts()
  * @since 1.5.0
- * @uses $wp_query
  *
- * @return null
+ * @global WP_Query $wp_query
  */
 function rewind_posts() {
        global $wp_query;
-
-       return $wp_query->rewind_posts();
+       $wp_query->rewind_posts();
 }
 
 /**
  * Iterate the post index in the loop.
  *
- * @see WP_Query::the_post()
  * @since 1.5.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  */
 function the_post() {
        global $wp_query;
-
        $wp_query->the_post();
 }
 
@@ -798,9 +797,9 @@ function the_post() {
 /**
  * Whether there are comments to loop over.
  *
- * @see WP_Query::have_comments()
  * @since 2.2.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return bool
  */
@@ -812,9 +811,9 @@ function have_comments() {
 /**
  * Iterate comment index in the comment loop.
  *
- * @see WP_Query::the_comment()
  * @since 2.2.0
- * @uses $wp_query
+ *
+ * @global WP_Query $wp_query
  *
  * @return object
  */
@@ -1868,6 +1867,10 @@ class WP_Query {
 
                                $term = $q[$t->query_var];
 
+                               if ( is_array( $term ) ) {
+                                       $term = implode( ',', $term );
+                               }
+
                                if ( strpos($term, '+') !== false ) {
                                        $terms = preg_split( '/[+]+/', $term );
                                        foreach ( $terms as $term ) {
@@ -2179,6 +2182,7 @@ class WP_Query {
         * Generate SQL for the ORDER BY condition based on passed search terms.
         *
         * @global wpdb $wpdb
+        *
         * @param array $q Query variables.
         * @return string ORDER BY clause.
         */
@@ -2224,7 +2228,7 @@ class WP_Query {
         * @global wpdb $wpdb WordPress database abstraction object.
         *
         * @param string $orderby Alias for the field to order by.
-        * @return string|bool Table-prefixed value to used in the ORDER clause. False otherwise.
+        * @return string|false Table-prefixed value to used in the ORDER clause. False otherwise.
         */
        protected function parse_orderby( $orderby ) {
                global $wpdb;
@@ -2360,7 +2364,7 @@ class WP_Query {
         * @access public
         *
         * @param string $query_var Query variable key.
-        * @param mixed $value Query variable value.
+        * @param mixed  $value     Query variable value.
         */
        public function set($query_var, $value) {
                $this->query_vars[$query_var] = $value;
@@ -2375,6 +2379,8 @@ class WP_Query {
         * @since 1.5.0
         * @access public
         *
+        * @global wpdb $wpdb
+        *
         * @return array List of posts.
         */
        public function get_posts() {
@@ -3656,6 +3662,8 @@ class WP_Query {
         *
         * @since 3.5.0
         * @access private
+        *
+        * @global wpdb $wpdb
         */
        private function set_found_posts( $q, $limits ) {
                global $wpdb;
@@ -3717,6 +3725,8 @@ class WP_Query {
         *
         * @since 1.5.0
         * @access public
+        *
+        * @global WP_Post $post
         */
        public function the_post() {
                global $post;
@@ -4014,7 +4024,7 @@ class WP_Query {
         *
         * @param callable $name      Method to call.
         * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
+        * @return mixed|false Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
                if ( in_array( $name, $this->compat_methods ) ) {
@@ -4195,6 +4205,8 @@ class WP_Query {
         *
         * @since 3.1.0
         *
+        * @global array $wp_taxonomies
+        *
         * @param mixed $taxonomy Optional. Taxonomy slug or slugs.
         * @param mixed $term     Optional. Term ID, name, slug or array of Term IDs, names, and slugs.
         * @return bool
@@ -4556,6 +4568,8 @@ class WP_Query {
         *
         * @since 3.3.0
         *
+        * @global WP_Query $wp_query
+        *
         * @return bool
         */
        public function is_main_query() {
@@ -4568,8 +4582,18 @@ class WP_Query {
         *
         * @since 4.1.0
         *
+        * @global int             $id
+        * @global WP_User         $authordata
+        * @global string|int|bool $currentday
+        * @global string|int|bool $currentmonth
+        * @global int             $page
+        * @global array           $pages
+        * @global int             $multipage
+        * @global int             $more
+        * @global int             $numpages
+        *
         * @param WP_Post $post Post data.
-        * @return bool True when finished.
+        * @return true True when finished.
         */
        public function setup_postdata( $post ) {
                global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;
@@ -4636,6 +4660,8 @@ class WP_Query {
         * restores the $post global to the current post in this query.
         *
         * @since 3.7.0
+        *
+        * @global WP_Post $post
         */
        public function reset_postdata() {
                if ( ! empty( $this->post ) ) {
@@ -4652,10 +4678,8 @@ class WP_Query {
  *
  * @since 2.1.0
  *
- * @uses $wp_query
- * @global wpdb $wpdb WordPress database abstraction object.
- *
- * @return null If no link is found, null is returned.
+ * @global WP_Query $wp_query
+ * @global wpdb     $wpdb     WordPress database abstraction object.
  */
 function wp_old_slug_redirect() {
        global $wp_query;
@@ -4711,6 +4735,8 @@ function wp_old_slug_redirect() {
  *
  * @since 1.5.0
  *
+ * @global WP_Query $wp_query
+ *
  * @param object $post Post data.
  * @return bool True when finished.
  */
index 310461211a07480d4e4c962d3330236ccdf91aab..d1b7988c8cbc08b4fc60d5e69a6d7497015b18a0 100644 (file)
  * @since 2.6.0
  * @access private
  *
- * @param array $post Optional a post array to be processed for insertion as a post revision.
- * @param bool $autosave optional Is the revision an autosave?
+ * @staticvar array $fields
+ *
+ * @param array $post     Optional. A post array to be processed for insertion as a post revision.
+ * @param bool  $autosave Optional. Is the revision an autosave?
  * @return array Post array ready to be inserted as a post revision or array of fields that can be versioned.
  */
 function _wp_post_revision_fields( $post = null, $autosave = false ) {
-       static $fields = false;
+       static $fields = null;
 
-       if ( !$fields ) {
+       if ( is_null( $fields ) ) {
                // Allow these to be versioned
                $fields = array(
                        'post_title' => __( 'Title' ),
@@ -77,8 +79,8 @@ function _wp_post_revision_fields( $post = null, $autosave = false ) {
  *
  * @since 2.6.0
  *
- * @param  int $post_id The ID of the post to save as a revision.
- * @return null|int Null or 0 if error, new revision ID, if success.
+ * @param int $post_id The ID of the post to save as a revision.
+ * @return int|WP_Error|void Void or 0 if error, new revision ID, if success.
  */
 function wp_save_post_revision( $post_id ) {
        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
@@ -148,7 +150,7 @@ function wp_save_post_revision( $post_id ) {
                        $post_has_changed = (bool) apply_filters( 'wp_save_post_revision_post_has_changed', $post_has_changed, $last_revision, $post );
 
                        //don't save revision if post unchanged
-                       if( ! $post_has_changed ) {
+                       if ( ! $post_has_changed ) {
                                return;
                        }
                }
@@ -192,8 +194,8 @@ function wp_save_post_revision( $post_id ) {
  * @since 2.6.0
  *
  * @param int $post_id The post ID.
- * @param int $user_id optional The post author ID.
- * @return object|bool The autosaved data or false on failure or when no autosave exists.
+ * @param int $user_id Optional The post author ID.
+ * @return WP_Post|false The autosaved data or false on failure or when no autosave exists.
  */
 function wp_get_post_autosave( $post_id, $user_id = 0 ) {
        $revisions = wp_get_post_revisions( $post_id, array( 'check_enabled' => false ) );
@@ -215,8 +217,8 @@ function wp_get_post_autosave( $post_id, $user_id = 0 ) {
  *
  * @since 2.6.0
  *
- * @param int|object $post Post ID or post object.
- * @return bool|int False if not a revision, ID of revision's parent otherwise.
+ * @param int|WP_Post $post Post ID or post object.
+ * @return false|int False if not a revision, ID of revision's parent otherwise.
  */
 function wp_is_post_revision( $post ) {
        if ( !$post = wp_get_post_revision( $post ) )
@@ -230,8 +232,8 @@ function wp_is_post_revision( $post ) {
  *
  * @since 2.6.0
  *
- * @param int|object $post Post ID or post object.
- * @return bool|int False if not a revision, ID of autosave's parent otherwise
+ * @param int|WP_Post $post Post ID or post object.
+ * @return false|int False if not a revision, ID of autosave's parent otherwise
  */
 function wp_is_post_autosave( $post ) {
        if ( !$post = wp_get_post_revision( $post ) )
@@ -249,9 +251,9 @@ function wp_is_post_autosave( $post ) {
  * @since 2.6.0
  * @access private
  *
- * @param int|object|array $post Post ID, post object OR post array.
- * @param bool $autosave Optional. Is the revision an autosave?
- * @return mixed WP_Error or 0 if error, new revision ID if success.
+ * @param int|WP_Post|array|null $post     Post ID, post object OR post array.
+ * @param bool                   $autosave Optional. Is the revision an autosave?
+ * @return int|WP_Error WP_Error or 0 if error, new revision ID if success.
  */
 function _wp_put_post_revision( $post = null, $autosave = false ) {
        if ( is_object($post) )
@@ -260,7 +262,7 @@ function _wp_put_post_revision( $post = null, $autosave = false ) {
                $post = get_post($post, ARRAY_A);
 
        if ( ! $post || empty($post['ID']) )
-               return new WP_Error( 'invalid_post', __( 'Invalid post ID' ) );
+               return new WP_Error( 'invalid_post', __( 'Invalid post ID.' ) );
 
        if ( isset($post['post_type']) && 'revision' == $post['post_type'] )
                return new WP_Error( 'post_type', __( 'Cannot create a revision of a revision' ) );
@@ -291,10 +293,10 @@ function _wp_put_post_revision( $post = null, $autosave = false ) {
  *
  * @since 2.6.0
  *
- * @param int|object $post The post ID or object.
- * @param string $output Optional. OBJECT, ARRAY_A, or ARRAY_N.
- * @param string $filter Optional sanitation filter. @see sanitize_post().
- * @return mixed Null if error or post object if success.
+ * @param int|WP_Post $post   The post ID or object.
+ * @param string      $output Optional. OBJECT, ARRAY_A, or ARRAY_N.
+ * @param string      $filter Optional sanitation filter. @see sanitize_post().
+ * @return WP_Post|array|null Null if error or post object if success.
  */
 function wp_get_post_revision(&$post, $output = OBJECT, $filter = 'raw') {
        if ( !$revision = get_post( $post, OBJECT, $filter ) )
@@ -322,9 +324,9 @@ function wp_get_post_revision(&$post, $output = OBJECT, $filter = 'raw') {
  *
  * @since 2.6.0
  *
- * @param int|object $revision_id Revision ID or revision object.
- * @param array $fields Optional. What fields to restore from. Defaults to all.
- * @return mixed Null if error, false if no fields to restore, (int) post ID if success.
+ * @param int|WP_Post $revision_id Revision ID or revision object.
+ * @param array       $fields      Optional. What fields to restore from. Defaults to all.
+ * @return int|false|null Null if error, false if no fields to restore, (int) post ID if success.
  */
 function wp_restore_post_revision( $revision_id, $fields = null ) {
        if ( !$revision = wp_get_post_revision( $revision_id, ARRAY_A ) )
@@ -380,17 +382,15 @@ function wp_restore_post_revision( $revision_id, $fields = null ) {
  *
  * @since 2.6.0
  *
- * @param int|object $revision_id Revision ID or revision object.
- * @return mixed Null or WP_Error if error, deleted post if success.
+ * @param int|WP_Post $revision_id Revision ID or revision object.
+ * @return array|false|WP_Post|WP_Error|null Null or WP_Error if error, deleted post if success.
  */
 function wp_delete_post_revision( $revision_id ) {
-       if ( !$revision = wp_get_post_revision( $revision_id ) )
+       if ( ! $revision = wp_get_post_revision( $revision_id ) ) {
                return $revision;
+       }
 
        $delete = wp_delete_post( $revision->ID );
-       if ( is_wp_error( $delete ) )
-               return $delete;
-
        if ( $delete ) {
                /**
                 * Fires once a post revision has been deleted.
@@ -442,7 +442,7 @@ function wp_get_post_revisions( $post_id = 0, $args = null ) {
  * @return bool True if number of revisions to keep isn't zero, false otherwise.
  */
 function wp_revisions_enabled( $post ) {
-       return wp_revisions_to_keep( $post ) != 0;
+       return wp_revisions_to_keep( $post ) !== 0;
 }
 
 /**
@@ -487,18 +487,21 @@ function wp_revisions_to_keep( $post ) {
  *
  * @since 2.7.0
  * @access private
+ *
+ * @param WP_Post $post
+ * @return WP_Post|false
  */
-function _set_preview($post) {
-
-       if ( ! is_object($post) )
+function _set_preview( $post ) {
+       if ( ! is_object( $post ) ) {
                return $post;
+       }
 
-       $preview = wp_get_post_autosave($post->ID);
-
-       if ( ! is_object($preview) )
+       $preview = wp_get_post_autosave( $post->ID );
+       if ( ! is_object( $preview ) ) {
                return $post;
+       }
 
-       $preview = sanitize_post($preview);
+       $preview = sanitize_post( $preview );
 
        $post->post_content = $preview->post_content;
        $post->post_title = $preview->post_title;
@@ -516,11 +519,10 @@ function _set_preview($post) {
  * @access private
  */
 function _show_post_preview() {
-
        if ( isset($_GET['preview_id']) && isset($_GET['preview_nonce']) ) {
                $id = (int) $_GET['preview_id'];
 
-               if ( false == wp_verify_nonce( $_GET['preview_nonce'], 'post_preview_' . $id ) )
+               if ( false === wp_verify_nonce( $_GET['preview_nonce'], 'post_preview_' . $id ) )
                        wp_die( __('You do not have permission to preview drafts.') );
 
                add_filter('the_preview', '_set_preview');
@@ -532,6 +534,11 @@ function _show_post_preview() {
  *
  * @since 3.6.0
  * @access private
+ *
+ * @param array  $terms
+ * @param int    $post_id
+ * @param string $taxonomy
+ * @return array
  */
 function _wp_preview_terms_filter( $terms, $post_id, $taxonomy ) {
        if ( ! $post = get_post() )
@@ -553,7 +560,10 @@ function _wp_preview_terms_filter( $terms, $post_id, $taxonomy ) {
  *
  * @since 3.6.0
  * @access private
-*/
+ *
+ * @param WP_Post $revision
+ * @return int|false
+ */
 function _wp_get_post_revision_version( $revision ) {
        if ( is_object( $revision ) )
                $revision = get_object_vars( $revision );
@@ -572,8 +582,10 @@ function _wp_get_post_revision_version( $revision ) {
  * @since 3.6.0
  * @access private
  *
- * @param WP_Post $post Post object
- * @param array $revisions Current revisions of the post
+ * @global wpdb $wpdb
+ *
+ * @param WP_Post $post      Post object
+ * @param array   $revisions Current revisions of the post
  * @return bool true if the revisions were upgraded, false if problems
  */
 function _wp_upgrade_revisions_of_post( $post, $revisions ) {
index 45d28cea97a072773e0c25cf08299b67068bcbf2..a2ddc59038081e7864cb9fa102b6e22f5be36b13 100644 (file)
@@ -9,12 +9,13 @@
 /**
  * Add a straight rewrite rule.
  *
- * @see WP_Rewrite::add_rule() for long description.
  * @since 2.1.0
  *
- * @param string $regex Regular Expression to match request against.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param string $regex    Regular Expression to match request against.
  * @param string $redirect Page to redirect to.
- * @param string $after Optional, default is 'bottom'. Where to add rule, can also be 'top'.
+ * @param string $after    Optional, default is 'bottom'. Where to add rule, can also be 'top'.
  */
 function add_rewrite_rule($regex, $redirect, $after = 'bottom') {
        global $wp_rewrite;
@@ -28,10 +29,12 @@ function add_rewrite_rule($regex, $redirect, $after = 'bottom') {
  * you call this on, or before, the 'init' hook. This is because $query defaults
  * to "$tag=", and for this to work a new query var has to be added.
  *
- * @see WP_Rewrite::add_rewrite_tag()
  * @since 2.1.0
  *
- * @param string $tag Name of the new rewrite tag.
+ * @global WP_Rewrite $wp_rewrite
+ * @global WP         $wp
+ *
+ * @param string $tag   Name of the new rewrite tag.
  * @param string $regex Regular expression to substitute the tag for in rewrite rules.
  * @param string $query String to append to the rewritten query. Must end in '='. Optional.
  */
@@ -54,13 +57,14 @@ function add_rewrite_tag( $tag, $regex, $query = '' ) {
 /**
  * Add permalink structure.
  *
- * @see WP_Rewrite::add_permastruct()
  * @since 3.0.0
  *
- * @param string $name Name for permalink structure.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param string $name   Name for permalink structure.
  * @param string $struct Permalink structure.
- * @param array $args Optional configuration for building the rules from the permalink structure,
- *     see {@link WP_Rewrite::add_permastruct()} for full details.
+ * @param array  $args   Optional configuration for building the rules from the permalink structure,
+ *                       see {@link WP_Rewrite::add_permastruct()} for full details.
  */
 function add_permastruct( $name, $struct, $args = array() ) {
        global $wp_rewrite;
@@ -71,7 +75,7 @@ function add_permastruct( $name, $struct, $args = array() ) {
        if ( func_num_args() == 4 )
                $args['ep_mask'] = func_get_arg( 3 );
 
-       return $wp_rewrite->add_permastruct( $name, $struct, $args );
+       $wp_rewrite->add_permastruct( $name, $struct, $args );
 }
 
 /**
@@ -79,7 +83,9 @@ function add_permastruct( $name, $struct, $args = array() ) {
  *
  * @since 2.1.0
  *
- * @param string $feedname
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param string   $feedname
  * @param callback $function Callback to run on feed display.
  * @return string Feed action name.
  */
@@ -97,11 +103,12 @@ function add_feed($feedname, $function) {
 /**
  * Remove rewrite rules and then recreate rewrite rules.
  *
- * @see WP_Rewrite::flush_rules()
  * @since 3.0.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param bool $hard Whether to update .htaccess (hard flush) or just update
- *     rewrite_rules transient (soft flush). Default is true (hard).
+ *                      rewrite_rules transient (soft flush). Default is true (hard).
  */
 function flush_rewrite_rules( $hard = true ) {
        global $wp_rewrite;
@@ -239,18 +246,20 @@ define( 'EP_ALL', EP_PERMALINK | EP_ATTACHMENT | EP_ROOT | EP_COMMENTS | EP_SEAR
  * combination of them using the bitwise OR operator) as their values are not
  * guaranteed to remain static (especially `EP_ALL`).
  *
- * Be sure to flush the rewrite rules - {@see flush_rewrite_rules()} - when your plugin gets
+ * Be sure to flush the rewrite rules - see flush_rewrite_rules() - when your plugin gets
  * activated and deactivated.
  *
  * @since 2.1.0
- * @see WP_Rewrite::add_endpoint()
- * @global object $wp_rewrite
+ * @since 4.3.0 Added support for skipping query var registration by passing `false` to `$query_var`.
  *
- * @param string $name Name of the endpoint.
- * @param int $places Endpoint mask describing the places the endpoint should be added.
- * @param string $query_var Name of the corresponding query variable. Defaults to $name.
+ * @global WP_Rewrite $wp_rewrite
+ *
+ * @param string      $name      Name of the endpoint.
+ * @param int         $places    Endpoint mask describing the places the endpoint should be added.
+ * @param string|bool $query_var Name of the corresponding query variable. Pass `false` to skip registering a query_var
+ *                               for this endpoint. Defaults to the value of `$name`.
  */
-function add_rewrite_endpoint( $name, $places, $query_var = null ) {
+function add_rewrite_endpoint( $name, $places, $query_var = true ) {
        global $wp_rewrite;
        $wp_rewrite->add_endpoint( $name, $places, $query_var );
 }
@@ -274,6 +283,121 @@ function _wp_filter_taxonomy_base( $base ) {
        return $base;
 }
 
+
+/**
+ * Resolve numeric slugs that collide with date permalinks.
+ *
+ * Permalinks of posts with numeric slugs can sometimes look to WP_Query::parse_query()
+ * like a date archive, as when your permalink structure is `/%year%/%postname%/` and
+ * a post with post_name '05' has the URL `/2015/05/`.
+ *
+ * This function detects conflicts of this type and resolves them in favor of the
+ * post permalink.
+ *
+ * Note that, since 4.3.0, wp_unique_post_slug() prevents the creation of post slugs
+ * that would result in a date archive conflict. The resolution performed in this
+ * function is primarily for legacy content, as well as cases when the admin has changed
+ * the site's permalink structure in a way that introduces URL conflicts.
+ *
+ * @since 4.3.0
+ *
+ * @param array $query_vars Optional. Query variables for setting up the loop, as determined in
+ *                          WP::parse_request(). Default empty array.
+ * @return array Returns the original array of query vars, with date/post conflicts resolved.
+ */
+function wp_resolve_numeric_slug_conflicts( $query_vars = array() ) {
+       if ( ! isset( $query_vars['year'] ) && ! isset( $query_vars['monthnum'] ) && ! isset( $query_vars['day'] ) ) {
+               return $query_vars;
+       }
+
+       // Identify the 'postname' position in the permastruct array.
+       $permastructs   = array_values( array_filter( explode( '/', get_option( 'permalink_structure' ) ) ) );
+       $postname_index = array_search( '%postname%', $permastructs );
+
+       if ( false === $postname_index ) {
+               return $query_vars;
+       }
+
+       /*
+        * A numeric slug could be confused with a year, month, or day, depending on position. To account for
+        * the possibility of post pagination (eg 2015/2 for the second page of a post called '2015'), our
+        * `is_*` checks are generous: check for year-slug clashes when `is_year` *or* `is_month`, and check
+        * for month-slug clashes when `is_month` *or* `is_day`.
+        */
+       $compare = '';
+       if ( 0 === $postname_index && ( isset( $query_vars['year'] ) || isset( $query_vars['monthnum'] ) ) ) {
+               $compare = 'year';
+       } elseif ( '%year%' === $permastructs[ $postname_index - 1 ] && ( isset( $query_vars['monthnum'] ) || isset( $query_vars['day'] ) ) ) {
+               $compare = 'monthnum';
+       } elseif ( '%monthnum%' === $permastructs[ $postname_index - 1 ] && isset( $query_vars['day'] ) ) {
+               $compare = 'day';
+       }
+
+       if ( ! $compare ) {
+               return $query_vars;
+       }
+
+       // This is the potentially clashing slug.
+       $value = $query_vars[ $compare ];
+
+       $post = get_page_by_path( $value, OBJECT, 'post' );
+       if ( ! ( $post instanceof WP_Post ) ) {
+               return $query_vars;
+       }
+
+       // If the date of the post doesn't match the date specified in the URL, resolve to the date archive.
+       if ( preg_match( '/^([0-9]{4})\-([0-9]{2})/', $post->post_date, $matches ) && isset( $query_vars['year'] ) && ( 'monthnum' === $compare || 'day' === $compare ) ) {
+               // $matches[1] is the year the post was published.
+               if ( intval( $query_vars['year'] ) !== intval( $matches[1] ) ) {
+                       return $query_vars;
+               }
+
+               // $matches[2] is the month the post was published.
+               if ( 'day' === $compare && isset( $query_vars['monthnum'] ) && intval( $query_vars['monthnum'] ) !== intval( $matches[2] ) ) {
+                       return $query_vars;
+               }
+       }
+
+       /*
+        * If the located post contains nextpage pagination, then the URL chunk following postname may be
+        * intended as the page number. Verify that it's a valid page before resolving to it.
+        */
+       $maybe_page = '';
+       if ( 'year' === $compare && isset( $query_vars['monthnum'] ) ) {
+               $maybe_page = $query_vars['monthnum'];
+       } elseif ( 'monthnum' === $compare && isset( $query_vars['day'] ) ) {
+               $maybe_page = $query_vars['day'];
+       }
+
+       $post_page_count = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
+
+       // If the post doesn't have multiple pages, but a 'page' candidate is found, resolve to the date archive.
+       if ( 1 === $post_page_count && $maybe_page ) {
+               return $query_vars;
+       }
+
+       // If the post has multiple pages and the 'page' number isn't valid, resolve to the date archive.
+       if ( $post_page_count > 1 && $maybe_page > $post_page_count ) {
+               return $query_vars;
+       }
+
+       // If we've gotten to this point, we have a slug/date clash. First, adjust for nextpage.
+       if ( '' !== $maybe_page ) {
+               $query_vars['page'] = intval( $maybe_page );
+       }
+
+       // Next, unset autodetected date-related query vars.
+       unset( $query_vars['year'] );
+       unset( $query_vars['monthnum'] );
+       unset( $query_vars['day'] );
+
+       // Then, set the identified post.
+       $query_vars['name'] = $post->post_name;
+
+       // Finally, return the modified query vars.
+       return $query_vars;
+}
+
 /**
  * Examine a url and try to determine the post ID it represents.
  *
@@ -281,10 +405,13 @@ function _wp_filter_taxonomy_base( $base ) {
  *
  * @since 1.0.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ * @global WP         $wp
+ *
  * @param string $url Permalink to check.
  * @return int Post ID, or 0 on failure.
  */
-function url_to_postid($url) {
+function url_to_postid( $url ) {
        global $wp_rewrite;
 
        /**
@@ -389,6 +516,9 @@ function url_to_postid($url) {
                                }
                        }
 
+                       // Resolve conflicts between posts with numeric slugs and date archive queries.
+                       $query = wp_resolve_numeric_slug_conflicts( $query );
+
                        // Do the query
                        $query = new WP_Query( $query );
                        if ( ! empty( $query->posts ) && $query->is_singular )
@@ -779,14 +909,11 @@ class WP_Rewrite {
         * @return bool
         */
        public function using_index_permalinks() {
-               if ( empty($this->permalink_structure) )
+               if ( empty( $this->permalink_structure ) ) {
                        return false;
-
+               }
                // If the index is not in the permalink, we're using mod_rewrite.
-               if ( preg_match('#^/*' . $this->index . '#', $this->permalink_structure) )
-                       return true;
-
-               return false;
+               return preg_match( '#^/*' . $this->index . '#', $this->permalink_structure );
        }
 
        /**
@@ -800,10 +927,7 @@ class WP_Rewrite {
         * @return bool
         */
        public function using_mod_rewrite_permalinks() {
-               if ( $this->using_permalinks() && ! $this->using_index_permalinks() )
-                       return true;
-               else
-                       return false;
+               return $this->using_permalinks() && ! $this->using_index_permalinks();
        }
 
        /**
@@ -843,6 +967,8 @@ class WP_Rewrite {
         * @since 2.5.0
         * @access public
         *
+        * @global wpdb $wpdb
+        *
         * @return array Array of page URIs as first element and attachment URIs as second element.
         */
        public function page_uri_index() {
@@ -976,7 +1102,6 @@ class WP_Rewrite {
 
                $structure = str_replace('%monthnum%', '', $structure);
                $structure = str_replace('%day%', '', $structure);
-
                $structure = preg_replace('#/+#', '/', $structure);
 
                return $structure;
@@ -1000,7 +1125,6 @@ class WP_Rewrite {
                        return false;
 
                $structure = str_replace('%day%', '', $structure);
-
                $structure = preg_replace('#/+#', '/', $structure);
 
                return $structure;
@@ -1031,7 +1155,7 @@ class WP_Rewrite {
         * @since 1.5.0
         * @access public
         *
-        * @return bool|string False on failure. Category permalink structure.
+        * @return string|false False on failure. Category permalink structure.
         */
        public function get_category_permastruct() {
                return $this->get_extra_permastruct('category');
@@ -1048,7 +1172,7 @@ class WP_Rewrite {
         * @since 2.3.0
         * @access public
         *
-        * @return bool|string False on failure. Tag permalink structure.
+        * @return string|false False on failure. Tag permalink structure.
         */
        public function get_tag_permastruct() {
                return $this->get_extra_permastruct('post_tag');
@@ -1061,7 +1185,7 @@ class WP_Rewrite {
         * @access public
         *
         * @param string $name Permalink structure name.
-        * @return string|bool False if not found. Permalink structure string.
+        * @return string|false False if not found. Permalink structure string.
         */
        public function get_extra_permastruct($name) {
                if ( empty($this->permalink_structure) )
@@ -1187,7 +1311,7 @@ class WP_Rewrite {
         * @since 1.5.0
         * @access public
         *
-        * @return string|bool False if not found. Permalink structure string.
+        * @return string|false False if not found. Permalink structure string.
         */
        public function get_comment_feed_permastruct() {
                if ( isset($this->comment_feed_structure) )
@@ -1215,7 +1339,7 @@ class WP_Rewrite {
         * @since 1.5.0
         * @access public
         *
-        * @param string $tag Name of the rewrite tag to add or update.
+        * @param string $tag   Name of the rewrite tag to add or update.
         * @param string $regex Regular expression to substitute the tag for in rewrite rules.
         * @param string $query String to append to the rewritten query. Must end in '='.
         */
@@ -1242,13 +1366,13 @@ class WP_Rewrite {
         * @access public
         *
         * @param string $permalink_structure The permalink structure.
-        * @param int $ep_mask Endpoint mask defining what endpoints are added to the structure. Default is EP_NONE.
-        * @param bool $paged Should archive pagination rules be added for the structure? Default is true.
-        * @param bool $feed Should feed rewrite rules be added for the structure? Default is true.
-        * @param bool $forcomments Should the feed rules be a query for a comments feed? Default is false.
-        * @param bool $walk_dirs Should the 'directories' making up the structure be walked over and rewrite rules
-        *                        built for each in turn? Default is true.
-        * @param bool $endpoints Should endpoints be applied to the generated rewrite rules? Default is true.
+        * @param int    $ep_mask             Endpoint mask defining what endpoints are added to the structure. Default is EP_NONE.
+        * @param bool   $paged               Should archive pagination rules be added for the structure? Default is true.
+        * @param bool   $feed                Should feed rewrite rules be added for the structure? Default is true.
+        * @param bool   $forcomments         Should the feed rules be a query for a comments feed? Default is false.
+        * @param bool   $walk_dirs           Should the 'directories' making up the structure be walked over and rewrite rules
+        *                                    built for each in turn? Default is true.
+        * @param bool   $endpoints           Should endpoints be applied to the generated rewrite rules? Default is true.
         * @return array Rewrite rule list.
         */
        public function generate_rewrite_rules($permalink_structure, $ep_mask = EP_NONE, $paged = true, $feed = true, $forcomments = false, $walk_dirs = true, $endpoints = true) {
@@ -1519,7 +1643,7 @@ class WP_Rewrite {
         * @access public
         *
         * @param string $permalink_structure The permalink structure to generate rules.
-        * @param bool $walk_dirs Optional, default is false. Whether to create list of directories to walk over.
+        * @param bool   $walk_dirs           Optional, default is false. Whether to create list of directories to walk over.
         * @return array
         */
        public function generate_rewrite_rule($permalink_structure, $walk_dirs = false) {
@@ -1853,9 +1977,7 @@ class WP_Rewrite {
                 *
                 * @param string $rules mod_rewrite Rewrite rules formatted for .htaccess.
                 */
-               $rules = apply_filters( 'rewrite_rules', $rules );  // Deprecated
-
-               return $rules;
+               return apply_filters( 'rewrite_rules', $rules );
        }
 
        /**
@@ -1870,7 +1992,6 @@ class WP_Rewrite {
         * @return string
         */
        public function iis7_url_rewrite_rules( $add_parent_tags = false ) {
-
                if ( ! $this->using_permalinks() )
                        return '';
                $rules = '';
@@ -1906,9 +2027,7 @@ class WP_Rewrite {
                 *
                 * @param string $rules Rewrite rules formatted for IIS web.config.
                 */
-               $rules = apply_filters( 'iis7_url_rewrite_rules', $rules );
-
-               return $rules;
+               return apply_filters( 'iis7_url_rewrite_rules', $rules );
        }
 
        /**
@@ -1920,13 +2039,13 @@ class WP_Rewrite {
         * @since 2.1.0
         * @access public
         *
-        * @param string $regex Regular expression to match against request.
+        * @param string $regex    Regular expression to match against request.
         * @param string $redirect URL regex redirects to when regex matches request.
-        * @param string $after Optional, default is bottom. Location to place rule.
+        * @param string $after    Optional, default is bottom. Location to place rule.
         */
        public function add_rule($regex, $redirect, $after = 'bottom') {
                //get everything up to the first ?
-               $index = (strpos($redirect, '?') == false ? strlen($redirect) : strpos($redirect, '?'));
+               $index = (strpos($redirect, '?') === false ? strlen($redirect) : strpos($redirect, '?'));
                $front = substr($redirect, 0, $index);
                if ( $front != $this->index ) { //it doesn't redirect to WP's index.php
                        $this->add_external_rule($regex, $redirect);
@@ -1947,7 +2066,7 @@ class WP_Rewrite {
         * @since 2.1.0
         * @access public
         *
-        * @param string $regex Regular expression to match against request.
+        * @param string $regex    Regular expression to match against request.
         * @param string $redirect URL regex redirects to when regex matches request.
         */
        public function add_external_rule($regex, $redirect) {
@@ -1959,22 +2078,31 @@ class WP_Rewrite {
         *
         * @since 2.1.0
         * @since 3.9.0 $query_var parameter added.
+        * @since 4.3.0 Added support for skipping query var registration by passing `false` to `$query_var`.
         * @access public
         *
         * @see add_rewrite_endpoint() for full documentation.
-        * @uses WP::add_query_var()
         *
-        * @param string $name      Name of the endpoint.
-        * @param int    $places    Endpoint mask describing the places the endpoint should be added.
-        * @param string $query_var Name of the corresponding query variable. Default is value of $name.
+        * @global WP $wp
+        *
+        * @param string      $name      Name of the endpoint.
+        * @param int         $places    Endpoint mask describing the places the endpoint should be added.
+        * @param string|bool $query_var Optional. Name of the corresponding query variable. Pass `false` to
+        *                               skip registering a query_var for this endpoint. Defaults to the
+        *                               value of `$name`.
         */
-       public function add_endpoint( $name, $places, $query_var = null ) {
+       public function add_endpoint( $name, $places, $query_var = true ) {
                global $wp;
-               if ( null === $query_var ) {
+
+               // For backward compatibility, if `null` has explicitly been passed as `$query_var`, assume `true`.
+               if ( true === $query_var || null === func_get_arg( 2 ) ) {
                        $query_var = $name;
                }
                $this->endpoints[] = array( $places, $name, $query_var );
-               $wp->add_query_var( $query_var );
+
+               if ( $query_var ) {
+                       $wp->add_query_var( $query_var );
+               }
        }
 
        /**
@@ -1993,9 +2121,9 @@ class WP_Rewrite {
         * @since 2.5.0
         * @access public
         *
-        * @param string $name Name for permalink structure.
+        * @param string $name   Name for permalink structure.
         * @param string $struct Permalink structure (e.g. category/%category%)
-        * @param array $args Optional configuration for building the rules from the permalink structure:
+        * @param array  $args   Optional configuration for building the rules from the permalink structure:
         *     - with_front (bool) - Should the structure be prepended with WP_Rewrite::$front? Default is true.
         *     - ep_mask (int) - Endpoint mask defining what endpoints are added to the structure. Default is EP_NONE.
         *     - paged (bool) - Should archive pagination rules be added for the structure? Default is true.
@@ -2042,10 +2170,13 @@ class WP_Rewrite {
         *
         * @since 2.0.1
         * @access public
+        *
+        * @staticvar bool $do_hard_later
+        *
         * @param bool $hard Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). Default is true (hard).
         */
        public function flush_rules( $hard = true ) {
-               static $do_hard_later;
+               static $do_hard_later = null;
 
                // Prevent this action from running before everyone has registered their rewrites
                if ( ! did_action( 'wp_loaded' ) ) {
index a7c43f44de24ee3c578080b22eadd564f72253a3..67bac6bd5582b55d35eceb5c676a8ac81abfa342 100644 (file)
@@ -55,7 +55,10 @@ class MagpieRSS {
 
        var $_CONTENT_CONSTRUCTS = array('content', 'summary', 'info', 'title', 'tagline', 'copyright');
 
-       function MagpieRSS ($source) {
+       /**
+        * PHP5 constructor.
+        */
+       function __construct( $source ) {
 
                # if PHP xml isn't compiled in, die
                #
@@ -97,6 +100,13 @@ class MagpieRSS {
                $this->normalize();
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function MagpieRSS( $source ) {
+               self::__construct( $source );
+       }
+
        function feed_start_element($p, $element, &$attrs) {
                $el = $element = strtolower($element);
                $attrs = array_change_key_case($attrs, CASE_LOWER);
@@ -709,7 +719,10 @@ class RSSCache {
        var $MAX_AGE    = 43200;                // when are files stale, default twelve hours
        var $ERROR              = '';                   // accumulate error messages
 
-       function RSSCache ($base='', $age='') {
+       /**
+        * PHP5 constructor.
+        */
+       function __construct( $base = '', $age = '' ) {
                $this->BASE_CACHE = WP_CONTENT_DIR . '/cache';
                if ( $base ) {
                        $this->BASE_CACHE = $base;
@@ -720,6 +733,13 @@ class RSSCache {
 
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function RSSCache( $base = '', $age = '' ) {
+               self::__construct( $base, $age );
+       }
+
 /*=======================================================================*\
        Function:       set
        Purpose:        add an item to the cache, keyed on url
index 81c158ac5d1ff505cec4f5809e3a6250656117c3..e3460a22eb8b7e0e6945b92f784bdd408fe21e6c 100644 (file)
@@ -45,7 +45,7 @@ require( ABSPATH . WPINC . '/functions.wp-styles.php' );
  *
  * @since 2.6.0
  *
- * @param object $scripts WP_Scripts object.
+ * @param WP_Scripts $scripts WP_Scripts object.
  */
 function wp_default_scripts( &$scripts ) {
        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
@@ -89,23 +89,43 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", array(), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'quicktags', 'quicktagsL10n', array(
-               'closeAllOpenTags'      => esc_attr__( 'Close all open tags' ),
-               'closeTags'             => esc_attr__( 'close tags' ),
+               'closeAllOpenTags'      => __( 'Close all open tags' ),
+               'closeTags'             => __( 'close tags' ),
                'enterURL'              => __( 'Enter the URL' ),
                'enterImageURL'         => __( 'Enter the URL of the image' ),
                'enterImageDescription' => __( 'Enter a description of the image' ),
-               'fullscreen'            => __( 'fullscreen' ),
-               'toggleFullscreen'      => esc_attr__( 'Toggle fullscreen mode' ),
-               'textdirection'         => esc_attr__( 'text direction' ),
-               'toggleTextdirection'   => esc_attr__( 'Toggle Editor Text Direction' ),
-               'dfw'                   => esc_attr__( 'Distraction-free writing mode' )
+               'textdirection'         => __( 'text direction' ),
+               'toggleTextdirection'   => __( 'Toggle Editor Text Direction' ),
+               'dfw'                   => __( 'Distraction-free writing mode' ),
+               'strong'          => __( 'Bold' ),
+               'strongClose'     => __( 'Close bold tag' ),
+               'em'              => __( 'Italic' ),
+               'emClose'         => __( 'Close italic tag' ),
+               'link'            => __( 'Insert link' ),
+               'blockquote'      => __( 'Blockquote' ),
+               'blockquoteClose' => __( 'Close blockquote tag' ),
+               'del'             => __( 'Deleted text (strikethrough)' ),
+               'delClose'        => __( 'Close deleted text tag' ),
+               'ins'             => __( 'Inserted text' ),
+               'insClose'        => __( 'Close inserted text tag' ),
+               'image'           => __( 'Insert image' ),
+               'ul'              => __( 'Bulleted list' ),
+               'ulClose'         => __( 'Close bulleted list tag' ),
+               'ol'              => __( 'Numbered list' ),
+               'olClose'         => __( 'Close numbered list tag' ),
+               'li'              => __( 'List item' ),
+               'liClose'         => __( 'Close list item tag' ),
+               'code'            => __( 'Code' ),
+               'codeClose'       => __( 'Close code tag' ),
+               'more'            => __( 'Insert Read More tag' ),
        ) );
 
        $scripts->add( 'colorpicker', "/wp-includes/js/colorpicker$suffix.js", array('prototype'), '3517m' );
 
        $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array('utils','jquery'), false, 1 );
 
-       $scripts->add( 'wp-fullscreen', "/wp-admin/js/wp-fullscreen$suffix.js", array('jquery'), false, 1 );
+       // Back-compat for old DFW. To-do: remove at the end of 2016.
+       $scripts->add( 'wp-fullscreen-stub', "/wp-admin/js/wp-fullscreen-stub$suffix.js", array(), false, 1 );
 
        $scripts->add( 'wp-ajax-response', "/wp-includes/js/wp-ajax-response$suffix.js", array('jquery'), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'wp-ajax-response', 'wpAjax', array(
@@ -150,22 +170,22 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array( 'wp-ajax-response', 'jquery-color' ), false, 1 );
 
        // WordPress no longer uses or bundles Prototype or script.aculo.us. These are now pulled from an external source.
-       $scripts->add( 'prototype', '//ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js', array(), '1.7.1');
-       $scripts->add( 'scriptaculous-root', '//ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js', array('prototype'), '1.9.0');
-       $scripts->add( 'scriptaculous-builder', '//ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/builder.js', array('scriptaculous-root'), '1.9.0');
-       $scripts->add( 'scriptaculous-dragdrop', '//ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/dragdrop.js', array('scriptaculous-builder', 'scriptaculous-effects'), '1.9.0');
-       $scripts->add( 'scriptaculous-effects', '//ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/effects.js', array('scriptaculous-root'), '1.9.0');
-       $scripts->add( 'scriptaculous-slider', '//ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/slider.js', array('scriptaculous-effects'), '1.9.0');
-       $scripts->add( 'scriptaculous-sound', '//ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/sound.js', array( 'scriptaculous-root' ), '1.9.0' );
-       $scripts->add( 'scriptaculous-controls', '//ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/controls.js', array('scriptaculous-root'), '1.9.0');
+       $scripts->add( 'prototype', 'https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js', array(), '1.7.1');
+       $scripts->add( 'scriptaculous-root', 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js', array('prototype'), '1.9.0');
+       $scripts->add( 'scriptaculous-builder', 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/builder.js', array('scriptaculous-root'), '1.9.0');
+       $scripts->add( 'scriptaculous-dragdrop', 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/dragdrop.js', array('scriptaculous-builder', 'scriptaculous-effects'), '1.9.0');
+       $scripts->add( 'scriptaculous-effects', 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/effects.js', array('scriptaculous-root'), '1.9.0');
+       $scripts->add( 'scriptaculous-slider', 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/slider.js', array('scriptaculous-effects'), '1.9.0');
+       $scripts->add( 'scriptaculous-sound', 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/sound.js', array( 'scriptaculous-root' ), '1.9.0' );
+       $scripts->add( 'scriptaculous-controls', 'https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/controls.js', array('scriptaculous-root'), '1.9.0');
        $scripts->add( 'scriptaculous', false, array('scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls') );
 
        // not used in core, replaced by Jcrop.js
        $scripts->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop') );
 
        // jQuery
-       $scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.11.2' );
-       $scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.11.2' );
+       $scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.11.3' );
+       $scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.11.3' );
        $scripts->add( 'jquery-migrate', "/wp-includes/js/jquery/jquery-migrate$suffix.js", array(), '1.2.1' );
 
        // full jQuery UI
@@ -308,9 +328,9 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'revisions', "/wp-admin/js/revisions$suffix.js", array( 'wp-backbone', 'jquery-ui-slider', 'hoverIntent' ), false, 1 );
 
-       $scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.10', 1 );
+       $scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), false, 1 );
 
-       $scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.16.2', 1 );
+       $scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.17.0', 1 );
        did_action( 'init' ) && $scripts->localize( 'mediaelement', 'mejsL10n', array(
                'language' => get_bloginfo( 'language' ),
                'strings'  => array(
@@ -345,16 +365,23 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array( 'jquery', 'zxcvbn-async' ), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'password-strength-meter', 'pwsL10n', array(
-               'empty' => __('Strength indicator'),
-               'short' => __('Very weak'),
-               'bad' => __('Weak'),
-               /* translators: password strength */
-               'good' => _x('Medium', 'password strength'),
-               'strong' => __('Strong'),
-               'mismatch' => __('Mismatch')
+               'short'    => _x( 'Very weak', 'password strength' ),
+               'bad'      => _x( 'Weak', 'password strength' ),
+               'good'     => _x( 'Medium', 'password strength' ),
+               'strong'   => _x( 'Strong', 'password strength' ),
+               'mismatch' => _x( 'Mismatch', 'password mismatch' ),
        ) );
 
        $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter', 'wp-util' ), false, 1 );
+       did_action( 'init' ) && $scripts->localize( 'user-profile', 'userProfileL10n', array(
+               'warn'     => __( 'Your new password has not been saved.' ),
+               'show'     => __( 'Show' ),
+               'hide'     => __( 'Hide' ),
+               'cancel'   => __( 'Cancel' ),
+               'ariaShow' => esc_attr__( 'Show password' ),
+               'ariaHide' => esc_attr__( 'Hide password' ),
+       ) );
+
        $scripts->add( 'language-chooser', "/wp-admin/js/language-chooser$suffix.js", array( 'jquery' ), false, 1 );
 
        $scripts->add( 'user-suggest', "/wp-admin/js/user-suggest$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );
@@ -372,23 +399,27 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'wpdialogs', "/wp-includes/js/wpdialog$suffix.js", array( 'jquery-ui-dialog' ), false, 1 );
 
-       $scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array( 'jquery' ), false, 1 );
+       $scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array(), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'word-count', 'wordCountL10n', array(
-               /* translators: If your word count is based on single characters (East Asian characters),
-                  enter 'characters'. Otherwise, enter 'words'. Do not translate into your own language. */
-               'type' => 'characters' == _x( 'words', 'word count: words or characters?' ) ? 'c' : 'w',
+               /*
+                * translators: If your word count is based on single characters (e.g. East Asian characters),
+                * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.
+                * Do not translate into your own language.
+                */
+               'type' => _x( 'words', 'Word count type. Do not translate!' ),
+               'shortcodes' => ! empty( $GLOBALS['shortcode_tags'] ) ? array_keys( $GLOBALS['shortcode_tags'] ) : array()
        ) );
 
        $scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox', 'shortcode' ), false, 1 );
 
        $scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), '1.8.1', 1 );
 
-       $scripts->add( 'customize-base',     "/wp-includes/js/customize-base$suffix.js",     array( 'jquery', 'json2', 'underscore', 'wp-a11y' ), false, 1 );
+       $scripts->add( 'customize-base',     "/wp-includes/js/customize-base$suffix.js",     array( 'jquery', 'json2', 'underscore' ), false, 1 );
        $scripts->add( 'customize-loader',   "/wp-includes/js/customize-loader$suffix.js",   array( 'customize-base' ), false, 1 );
        $scripts->add( 'customize-preview',  "/wp-includes/js/customize-preview$suffix.js",  array( 'customize-base' ), false, 1 );
        $scripts->add( 'customize-models',   "/wp-includes/js/customize-models.js", array( 'underscore', 'backbone' ), false, 1 );
-       $scripts->add( 'customize-views',    "/wp-includes/js/customize-views.js",  array( 'jquery', 'underscore', 'imgareaselect', 'customize-models' ), false, 1 );
-       $scripts->add( 'customize-controls', "/wp-admin/js/customize-controls$suffix.js", array( 'customize-base' ), false, 1 );
+       $scripts->add( 'customize-views',    "/wp-includes/js/customize-views.js",  array( 'jquery', 'underscore', 'imgareaselect', 'customize-models', 'media-editor', 'media-views' ), false, 1 );
+       $scripts->add( 'customize-controls', "/wp-admin/js/customize-controls$suffix.js", array( 'customize-base', 'wp-a11y' ), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'customize-controls', '_wpCustomizeControlsL10n', array(
                'activate'           => __( 'Save &amp; Activate' ),
                'save'               => __( 'Save &amp; Publish' ),
@@ -399,14 +430,18 @@ function wp_default_scripts( &$scripts ) {
                'cheatin'            => __( 'Cheatin&#8217; uh?' ),
                'previewIframeTitle' => __( 'Site Preview' ),
                'loginIframeTitle'   => __( 'Session expired' ),
-
+               'collapseSidebar'    => __( 'Collapse Sidebar' ),
+               'expandSidebar'      => __( 'Expand Sidebar' ),
                // Used for overriding the file types allowed in plupload.
-               'allowedFiles' => __( 'Allowed Files' ),
+               'allowedFiles'       => __( 'Allowed Files' ),
        ) );
 
        $scripts->add( 'customize-widgets', "/wp-admin/js/customize-widgets$suffix.js", array( 'jquery', 'jquery-ui-sortable', 'jquery-ui-droppable', 'wp-backbone', 'customize-controls' ), false, 1 );
        $scripts->add( 'customize-preview-widgets', "/wp-includes/js/customize-preview-widgets$suffix.js", array( 'jquery', 'wp-util', 'customize-preview' ), false, 1 );
 
+       $scripts->add( 'customize-nav-menus', "/wp-admin/js/customize-nav-menus$suffix.js", array( 'jquery', 'wp-backbone', 'customize-controls', 'accordion', 'nav-menu' ), false, 1 );
+       $scripts->add( 'customize-preview-nav-menus', "/wp-includes/js/customize-preview-nav-menus$suffix.js", array( 'jquery', 'wp-util', 'customize-preview' ), false, 1 );
+
        $scripts->add( 'accordion', "/wp-admin/js/accordion$suffix.js", array( 'jquery' ), false, 1 );
 
        $scripts->add( 'shortcode', "/wp-includes/js/shortcode$suffix.js", array( 'underscore' ), false, 1 );
@@ -423,7 +458,7 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'media-views',  "/wp-includes/js/media-views$suffix.js",  array( 'utils', 'media-models', 'wp-plupload', 'jquery-ui-sortable', 'wp-mediaelement' ), false, 1 );
        $scripts->add( 'media-editor', "/wp-includes/js/media-editor$suffix.js", array( 'shortcode', 'media-views' ), false, 1 );
        $scripts->add( 'media-audiovideo', "/wp-includes/js/media-audiovideo$suffix.js", array( 'media-editor' ), false, 1 );
-       $scripts->add( 'mce-view', "/wp-includes/js/mce-view$suffix.js", array( 'shortcode', 'media-models', 'media-audiovideo', 'wp-playlist' ), false, 1 );
+       $scripts->add( 'mce-view', "/wp-includes/js/mce-view$suffix.js", array( 'shortcode', 'jquery', 'media-views', 'media-audiovideo' ), false, 1 );
 
        if ( is_admin() ) {
                $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array( 'jquery', 'wp-ajax-response' ), false, 1 );
@@ -437,7 +472,8 @@ function wp_default_scripts( &$scripts ) {
                        'hotkeys_highlight_first' => isset($_GET['hotkeys_highlight_first']),
                        'hotkeys_highlight_last' => isset($_GET['hotkeys_highlight_last']),
                        'replyApprove' => __( 'Approve and Reply' ),
-                       'reply' => __( 'Reply' )
+                       'reply' => __( 'Reply' ),
+                       'warnQuickEdit' => __( "Are you sure you want to edit this comment?\nThe changes you made will be lost." ),
                ) );
 
                $scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array('jquery'), false, 1 );
@@ -449,7 +485,7 @@ function wp_default_scripts( &$scripts ) {
                        'tagDelimiter' => _x( ',', 'tag delimiter' ),
                ) );
 
-               $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array( 'suggest', 'wp-lists', 'postbox', 'tags-box' ), false, 1 );
+               $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array( 'suggest', 'wp-lists', 'postbox', 'tags-box', 'underscore', 'word-count' ), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'post', 'postL10n', array(
                        'ok' => __('OK'),
                        'cancel' => __('Cancel'),
@@ -457,7 +493,7 @@ function wp_default_scripts( &$scripts ) {
                        'publishOnFuture' =>  __('Schedule for:'),
                        'publishOnPast' => __('Published on:'),
                        /* translators: 1: month, 2: day, 3: year, 4: hour, 5: minute */
-                       'dateFormat' => __('%1$s %2$s, %3$s @ %4$s : %5$s'),
+                       'dateFormat' => __('%1$s %2$s, %3$s @ %4$s:%5$s'),
                        'showcomm' => __('Show more comments'),
                        'endcomm' => __('No more comments found.'),
                        'publish' => __('Publish'),
@@ -493,7 +529,9 @@ function wp_default_scripts( &$scripts ) {
                $scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array( 'jquery', 'postbox' ) );
                $scripts->add_data( 'comment', 'group', 1 );
                did_action( 'init' ) && $scripts->localize( 'comment', 'commentL10n', array(
-                       'submittedOn' => __('Submitted on:')
+                       'submittedOn' => __( 'Submitted on:' ),
+                       /* translators: 1: month, 2: day, 3: year, 4: hour, 5: minute */
+                       'dateFormat' => __( '%1$s %2$s, %3$s @ %4$s:%5$s' )
                ) );
 
                $scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ) );
@@ -527,7 +565,8 @@ function wp_default_scripts( &$scripts ) {
                        'l10n'       => array(
                                'updating'          => __( 'Updating...' ),
                                'updated'           => __( 'Updated!' ),
-                               'updateFailed'      => __( 'Update Failed' ),
+                               /* translators: Error string for a failed update */
+                               'updateFailed'      => __( 'Update Failed: %s' ),
                                /* translators: Plugin name and version */
                                'updatingLabel'     => __( 'Updating %s...' ),
                                /* translators: Plugin name and version */
@@ -608,7 +647,7 @@ function wp_default_scripts( &$scripts ) {
  *
  * @since 2.6.0
  *
- * @param object $styles
+ * @param WP_Styles $styles
  */
 function wp_default_styles( &$styles ) {
        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
@@ -647,7 +686,7 @@ function wp_default_styles( &$styles ) {
                }
 
                // Hotlink Open Sans, for now
-               $open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";
+               $open_sans_font_url = "https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";
        }
 
        // Register a stylesheet for the selected admin color scheme.
@@ -656,15 +695,16 @@ function wp_default_styles( &$styles ) {
        $suffix = SCRIPT_DEBUG ? '' : '.min';
 
        // Admin CSS
-       $styles->add( 'wp-admin',           "/wp-admin/css/wp-admin$suffix.css", array( 'open-sans', 'dashicons' ) );
-       $styles->add( 'login',              "/wp-admin/css/login$suffix.css", array( 'buttons', 'open-sans', 'dashicons' ) );
-       $styles->add( 'install',            "/wp-admin/css/install$suffix.css", array( 'buttons', 'open-sans' ) );
-       $styles->add( 'wp-color-picker',    "/wp-admin/css/color-picker$suffix.css" );
-       $styles->add( 'customize-controls', "/wp-admin/css/customize-controls$suffix.css", array( 'wp-admin', 'colors', 'ie', 'imgareaselect' ) );
-       $styles->add( 'customize-widgets',  "/wp-admin/css/customize-widgets$suffix.css", array( 'wp-admin', 'colors' ) );
-       $styles->add( 'press-this',         "/wp-admin/css/press-this$suffix.css", array( 'open-sans', 'buttons' ) );
-
-       $styles->add( 'ie',                 "/wp-admin/css/ie$suffix.css" );
+       $styles->add( 'wp-admin',            "/wp-admin/css/wp-admin$suffix.css", array( 'open-sans', 'dashicons' ) );
+       $styles->add( 'login',               "/wp-admin/css/login$suffix.css", array( 'buttons', 'open-sans', 'dashicons' ) );
+       $styles->add( 'install',             "/wp-admin/css/install$suffix.css", array( 'buttons', 'open-sans' ) );
+       $styles->add( 'wp-color-picker',     "/wp-admin/css/color-picker$suffix.css" );
+       $styles->add( 'customize-controls',  "/wp-admin/css/customize-controls$suffix.css", array( 'wp-admin', 'colors', 'ie', 'imgareaselect' ) );
+       $styles->add( 'customize-widgets',   "/wp-admin/css/customize-widgets$suffix.css", array( 'wp-admin', 'colors' ) );
+       $styles->add( 'customize-nav-menus', "/wp-admin/css/customize-nav-menus$suffix.css", array( 'wp-admin', 'colors' ) );
+       $styles->add( 'press-this',          "/wp-admin/css/press-this$suffix.css", array( 'open-sans', 'buttons' ) );
+
+       $styles->add( 'ie', "/wp-admin/css/ie$suffix.css" );
        $styles->add_data( 'ie', 'conditional', 'lte IE 7' );
 
        // Common dependencies
@@ -673,16 +713,17 @@ function wp_default_styles( &$styles ) {
        $styles->add( 'open-sans', $open_sans_font_url );
 
        // Includes CSS
-       $styles->add( 'admin-bar',      "/wp-includes/css/admin-bar$suffix.css", array( 'open-sans', 'dashicons' ) );
-       $styles->add( 'wp-auth-check',  "/wp-includes/css/wp-auth-check$suffix.css", array( 'dashicons' ) );
-       $styles->add( 'editor-buttons', "/wp-includes/css/editor$suffix.css", array( 'dashicons' ) );
-       $styles->add( 'media-views',    "/wp-includes/css/media-views$suffix.css", array( 'buttons', 'dashicons', 'wp-mediaelement' ) );
-       $styles->add( 'wp-pointer',     "/wp-includes/css/wp-pointer$suffix.css", array( 'dashicons' ) );
+       $styles->add( 'admin-bar',         "/wp-includes/css/admin-bar$suffix.css", array( 'open-sans', 'dashicons' ) );
+       $styles->add( 'wp-auth-check',     "/wp-includes/css/wp-auth-check$suffix.css", array( 'dashicons' ) );
+       $styles->add( 'editor-buttons',    "/wp-includes/css/editor$suffix.css", array( 'dashicons' ) );
+       $styles->add( 'media-views',       "/wp-includes/css/media-views$suffix.css", array( 'buttons', 'dashicons', 'wp-mediaelement' ) );
+       $styles->add( 'wp-pointer',        "/wp-includes/css/wp-pointer$suffix.css", array( 'dashicons' ) );
+       $styles->add( 'customize-preview', "/wp-includes/css/customize-preview$suffix.css" );
 
        // External libraries and friends
        $styles->add( 'imgareaselect',       '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
        $styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array( 'dashicons' ) );
-       $styles->add( 'mediaelement',        "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.16.2' );
+       $styles->add( 'mediaelement',        "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.17.0' );
        $styles->add( 'wp-mediaelement',     "/wp-includes/js/mediaelement/wp-mediaelement.css", array( 'mediaelement' ) );
        $styles->add( 'thickbox',            '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ) );
 
@@ -695,7 +736,7 @@ function wp_default_styles( &$styles ) {
        // RTL CSS
        $rtl_styles = array(
                // wp-admin
-               'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'ie', 'login', 'press-this',
+               'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'customize-nav-menus', 'ie', 'login', 'press-this',
                // wp-includes
                'buttons', 'admin-bar', 'wp-auth-check', 'editor-buttons', 'media-views', 'wp-pointer',
                'wp-jquery-ui-dialog',
@@ -766,11 +807,11 @@ function wp_just_in_time_script_localization() {
  * the $_wp_admin_css_colors array value URL.
  *
  * @since 2.6.0
- * @uses $_wp_admin_css_colors
+ * @global array $_wp_admin_css_colors
  *
- * @param string $src Source URL.
+ * @param string $src    Source URL.
  * @param string $handle Either 'colors' or 'colors-rtl'.
- * @return string URL path to CSS stylesheet for Administration Screens.
+ * @return string|false URL path to CSS stylesheet for Administration Screens.
  */
 function wp_style_loader_src( $src, $handle ) {
        global $_wp_admin_css_colors;
@@ -812,18 +853,20 @@ function wp_style_loader_src( $src, $handle ) {
  * @since 2.8.0
  *
  * @see wp_print_scripts()
+ *
+ * @global bool $concatenate_scripts
+ *
+ * @return array
  */
 function print_head_scripts() {
-       global $wp_scripts, $concatenate_scripts;
+       global $concatenate_scripts;
 
        if ( ! did_action('wp_print_scripts') ) {
                /** This action is documented in wp-includes/functions.wp-scripts.php */
                do_action( 'wp_print_scripts' );
        }
 
-       if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
-               $wp_scripts = new WP_Scripts();
-       }
+       $wp_scripts = wp_scripts();
 
        script_concat_settings();
        $wp_scripts->do_concat = $concatenate_scripts;
@@ -848,6 +891,11 @@ function print_head_scripts() {
  * Prints the scripts that were queued for the footer or too late for the HTML head.
  *
  * @since 2.8.0
+ *
+ * @global WP_Scripts $wp_scripts
+ * @global bool       $concatenate_scripts
+ *
+ * @return array
  */
 function print_footer_scripts() {
        global $wp_scripts, $concatenate_scripts;
@@ -878,6 +926,9 @@ function print_footer_scripts() {
  * Print scripts (internal use only)
  *
  * @ignore
+ *
+ * @global WP_Scripts $wp_scripts
+ * @global bool       $compress_scripts
  */
 function _print_scripts() {
        global $wp_scripts, $compress_scripts;
@@ -914,6 +965,10 @@ function _print_scripts() {
  * wp_print_footer_scripts() is called in the footer to print these scripts.
  *
  * @since 2.8.0
+ *
+ * @global WP_Scripts $wp_scripts
+ *
+ * @return array
  */
 function wp_print_head_scripts() {
        if ( ! did_action('wp_print_scripts') ) {
@@ -974,13 +1029,15 @@ function wp_enqueue_scripts() {
  * Prints the styles queue in the HTML head on admin pages.
  *
  * @since 2.8.0
+ *
+ * @global bool $concatenate_scripts
+ *
+ * @return array
  */
 function print_admin_styles() {
-       global $wp_styles, $concatenate_scripts;
+       global $concatenate_scripts;
 
-       if ( ! ( $wp_styles instanceof WP_Styles ) ) {
-               $wp_styles = new WP_Styles();
-       }
+       $wp_styles = wp_styles();
 
        script_concat_settings();
        $wp_styles->do_concat = $concatenate_scripts;
@@ -1005,6 +1062,11 @@ function print_admin_styles() {
  * Prints the styles that were queued too late for the HTML head.
  *
  * @since 3.3.0
+ *
+ * @global WP_Styles $wp_styles
+ * @global bool      $concatenate_scripts
+ *
+ * @return array|void
  */
 function print_late_styles() {
        global $wp_styles, $concatenate_scripts;
@@ -1035,9 +1097,13 @@ function print_late_styles() {
  * Print styles (internal use only)
  *
  * @ignore
+ *
+ * @global bool $compress_css
  */
 function _print_styles() {
-       global $wp_styles, $compress_css;
+       global $compress_css;
+
+       $wp_styles = wp_styles();
 
        $zip = $compress_css ? 1 : 0;
        if ( $zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP )
@@ -1064,6 +1130,10 @@ function _print_styles() {
  * Determine the concatenation and compression settings for scripts and styles.
  *
  * @since 2.8.0
+ *
+ * @global bool $concatenate_scripts
+ * @global bool $compress_scripts
+ * @global bool $compress_css
  */
 function script_concat_settings() {
        global $concatenate_scripts, $compress_scripts, $compress_css;
index 810db20076918d7fad44bc848ff0ff0a28ede7d4..c63958b12f5e78c4bf7368b0fd1448ff8818b3db 100644 (file)
@@ -81,16 +81,14 @@ $shortcode_tags = array();
  *
  * @since 2.5.0
  *
- * @uses $shortcode_tags
+ * @global array $shortcode_tags
  *
- * @param string $tag Shortcode tag to be searched in post content.
+ * @param string   $tag  Shortcode tag to be searched in post content.
  * @param callable $func Hook to run when shortcode is found.
  */
 function add_shortcode($tag, $func) {
        global $shortcode_tags;
-
-       if ( is_callable($func) )
-               $shortcode_tags[$tag] = $func;
+       $shortcode_tags[ $tag ] = $func;
 }
 
 /**
@@ -98,7 +96,7 @@ function add_shortcode($tag, $func) {
  *
  * @since 2.5.0
  *
- * @uses $shortcode_tags
+ * @global array $shortcode_tags
  *
  * @param string $tag Shortcode tag to remove hook for.
  */
@@ -117,7 +115,7 @@ function remove_shortcode($tag) {
  *
  * @since 2.5.0
  *
- * @uses $shortcode_tags
+ * @global array $shortcode_tags
  */
 function remove_all_shortcodes() {
        global $shortcode_tags;
@@ -210,10 +208,10 @@ function do_shortcode( $content, $ignore_html = false ) {
 
        $pattern = get_shortcode_regex();
        $content = preg_replace_callback( "/$pattern/s", 'do_shortcode_tag', $content );
-       
+
        // Always restore square braces so we don't break things like <!--[if IE ]>
        $content = unescape_invalid_shortcodes( $content );
-       
+
        return $content;
 }
 
@@ -234,7 +232,7 @@ function do_shortcode( $content, $ignore_html = false ) {
  *
  * @since 2.5.0
  *
- * @uses $shortcode_tags
+ * @global array $shortcode_tags
  *
  * @return string The shortcode search regular expression
  */
@@ -282,10 +280,11 @@ function get_shortcode_regex() {
  *
  * @since 2.5.0
  * @access private
- * @uses $shortcode_tags
+ *
+ * @global array $shortcode_tags
  *
  * @param array $m Regular expression match array
- * @return mixed False on failure.
+ * @return string|false False on failure.
  */
 function do_shortcode_tag( $m ) {
        global $shortcode_tags;
@@ -298,6 +297,12 @@ function do_shortcode_tag( $m ) {
        $tag = $m[2];
        $attr = shortcode_parse_atts( $m[3] );
 
+       if ( ! is_callable( $shortcode_tags[ $tag ] ) ) {
+               $message = sprintf( __( 'Attempting to parse a shortcode without a valid callback: %s' ), $tag );
+               _doing_it_wrong( __FUNCTION__, $message, '4.3.0' );
+               return $m[0];
+       }
+
        if ( isset( $m[5] ) ) {
                // enclosing tag - extra parameter
                return $m[1] . call_user_func( $shortcode_tags[$tag], $attr, $m[5], $tag ) . $m[6];
@@ -326,7 +331,7 @@ function do_shortcodes_in_html_tags( $content, $ignore_html ) {
        $trans = array( '&#91;' => '&#091;', '&#93;' => '&#093;' );
        $content = strtr( $content, $trans );
        $trans = array( '[' => '&#91;', ']' => '&#93;' );
-       
+
        $pattern = get_shortcode_regex();
        $textarr = wp_html_split( $content );
 
@@ -363,14 +368,14 @@ function do_shortcodes_in_html_tags( $content, $ignore_html ) {
                        $element = strtr( $element, $trans );
                        continue;
                }
-               
+
                // Get element name
                $front = array_shift( $attributes );
                $back = array_pop( $attributes );
                $matches = array();
                preg_match('%[a-zA-Z0-9]+%', $front, $matches);
                $elname = $matches[0];
-               
+
                // Look for shortcodes in each attribute separately.
                foreach ( $attributes as &$attr ) {
                        $open = strpos( $attr, '[' );
@@ -394,7 +399,7 @@ function do_shortcodes_in_html_tags( $content, $ignore_html ) {
                                if ( $count > 0 ) {
                                        // Sanitize the shortcode output using KSES.
                                        $new_attr = wp_kses_one_attr( $new_attr, $elname );
-                                       if ( '' !== $new_attr ) {
+                                       if ( '' !== trim( $new_attr ) ) {
                                                // The shortcode is safe to use now.
                                                $attr = $new_attr;
                                        }
@@ -402,13 +407,13 @@ function do_shortcodes_in_html_tags( $content, $ignore_html ) {
                        }
                }
                $element = $front . implode( '', $attributes ) . $back;
-               
+
                // Now encode any remaining [ or ] chars.
                $element = strtr( $element, $trans );
        }
-       
+
        $content = implode( '', $textarr );
-       
+
        return $content;
 }
 
@@ -424,7 +429,7 @@ function unescape_invalid_shortcodes( $content ) {
         // Clean up entire string, avoids re-parsing HTML.
         $trans = array( '&#91;' => '[', '&#93;' => ']' );
         $content = strtr( $content, $trans );
-        
+
         return $content;
 }
 
@@ -442,7 +447,7 @@ function unescape_invalid_shortcodes( $content ) {
  */
 function shortcode_parse_atts($text) {
        $atts = array();
-       $pattern = '/(\w+)\s*=\s*"([^"]*)"(?:\s|$)|(\w+)\s*=\s*\'([^\']*)\'(?:\s|$)|(\w+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/';
+       $pattern = '/([\w-]+)\s*=\s*"([^"]*)"(?:\s|$)|([\w-]+)\s*=\s*\'([^\']*)\'(?:\s|$)|([\w-]+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/';
        $text = preg_replace("/[\x{00a0}\x{200b}]+/u", " ", $text);
        if ( preg_match_all($pattern, $text, $match, PREG_SET_ORDER) ) {
                foreach ($match as $m) {
@@ -457,15 +462,6 @@ function shortcode_parse_atts($text) {
                        elseif (isset($m[8]))
                                $atts[] = stripcslashes($m[8]);
                }
-
-               // Reject any unclosed HTML elements
-               foreach( $atts as &$value ) {
-                       if ( false !== strpos( $value, '<' ) ) {
-                               if ( 1 !== preg_match( '/^[^<]*+(?:<[^>]*+>[^<]*+)*+$/', $value ) ) {
-                                       $value = '';
-                               }
-                       }
-               }
        } else {
                $atts = ltrim($text);
        }
@@ -484,8 +480,8 @@ function shortcode_parse_atts($text) {
  *
  * @since 2.5.0
  *
- * @param array $pairs Entire list of supported attributes and their defaults.
- * @param array $atts User defined attributes in shortcode tag.
+ * @param array  $pairs     Entire list of supported attributes and their defaults.
+ * @param array  $atts      User defined attributes in shortcode tag.
  * @param string $shortcode Optional. The name of the shortcode, provided for context to enable filtering
  * @return array Combined and filtered attribute list.
  */
@@ -506,9 +502,9 @@ function shortcode_atts( $pairs, $atts, $shortcode = '' ) {
         *
         * @since 3.6.0
         *
-        * @param array $out The output array of shortcode attributes.
+        * @param array $out   The output array of shortcode attributes.
         * @param array $pairs The supported attributes and their defaults.
-        * @param array $atts The user defined shortcode attributes.
+        * @param array $atts  The user defined shortcode attributes.
         */
        if ( $shortcode )
                $out = apply_filters( "shortcode_atts_{$shortcode}", $out, $pairs, $atts );
@@ -521,7 +517,7 @@ function shortcode_atts( $pairs, $atts, $shortcode = '' ) {
  *
  * @since 2.5.0
  *
- * @uses $shortcode_tags
+ * @global array $shortcode_tags
  *
  * @param string $content Content to remove shortcode tags.
  * @return string Content without shortcode tags.
@@ -543,10 +539,15 @@ function strip_shortcodes( $content ) {
 
        // Always restore square braces so we don't break things like <!--[if IE ]>
        $content = unescape_invalid_shortcodes( $content );
-       
+
        return $content;
 }
 
+/**
+ *
+ * @param array $m
+ * @return string|false
+ */
 function strip_shortcode_tag( $m ) {
        // allow [[foo]] syntax for escaping a tag
        if ( $m[1] == '[' && $m[6] == ']' ) {
index 7e38669547b69651341fe6c2d9a2323d2cfbc7a7..1db44dcd2d4cab243ec16ebca8c8a62750efc44c 100644 (file)
@@ -2,9 +2,10 @@
 /**
  * Taxonomy API
  *
+ * @since 2.3.0
+ *
  * @package WordPress
  * @subpackage Taxonomy
- * @since 2.3.0
  */
 
 //
  * Creates the initial taxonomies.
  *
  * This function fires twice: in wp-settings.php before plugins are loaded (for
- * backwards compatibility reasons), and again on the 'init' action. We must avoid
- * registering rewrite rules before the 'init' action.
+ * backwards compatibility reasons), and again on the {@see 'init'} action. We must
+ * avoid registering rewrite rules before the {@see 'init'} action.
+ *
+ * @since 2.8.0
+ *
+ * @global WP_Rewrite $wp_rewrite The WordPress rewrite class.
  */
 function create_initial_taxonomies() {
        global $wp_rewrite;
@@ -129,16 +134,20 @@ function create_initial_taxonomies() {
 }
 
 /**
- * Get a list of registered taxonomy objects.
+ * Retrieves a list of registered taxonomy names or objects.
  *
  * @since 3.0.0
- * @uses $wp_taxonomies
  *
- * @param array $args An array of key => value arguments to match against the taxonomy objects.
- * @param string $output The type of output to return, either taxonomy 'names' or 'objects'. 'names' is the default.
- * @param string $operator The logical operation to perform. 'or' means only one element
- *  from the array needs to match; 'and' means all elements must match. The default is 'and'.
- * @return array A list of taxonomy names or objects
+ * @global array $wp_taxonomies The registered taxonomies.
+ *
+ * @param array  $args     Optional. An array of `key => value` arguments to match against the taxonomy objects.
+ *                         Default empty array.
+ * @param string $output   Optional. The type of output to return in the array. Accepts either taxonomy 'names'
+ *                         or 'objects'. Default 'names'.
+ * @param string $operator Optional. The logical operation to perform. Accepts 'and' or 'or'. 'or' means only
+ *                         one element from the array needs to match; 'and' means all elements must match.
+ *                         Default 'and'.
+ * @return array A list of taxonomy names or objects.
  */
 function get_taxonomies( $args = array(), $output = 'names', $operator = 'and' ) {
        global $wp_taxonomies;
@@ -159,13 +168,14 @@ function get_taxonomies( $args = array(), $output = 'names', $operator = 'and' )
  *
  * @since 2.3.0
  *
- * @uses $wp_taxonomies
+ * @global array $wp_taxonomies The registered taxonomies.
  *
- * @param array|string|object $object Name of the type of taxonomy object, or an object (row from posts)
- * @param string $output The type of output to return, either taxonomy 'names' or 'objects'. 'names' is the default.
+ * @param array|string|WP_Post $object Name of the type of taxonomy object, or an object (row from posts)
+ * @param string               $output Optional. The type of output to return in the array. Accepts either
+ *                                     taxonomy 'names' or 'objects'. Default 'names'.
  * @return array The names of all taxonomy of $object_type.
  */
-function get_object_taxonomies($object, $output = 'names') {
+function get_object_taxonomies( $object, $output = 'names' ) {
        global $wp_taxonomies;
 
        if ( is_object($object) ) {
@@ -197,10 +207,10 @@ function get_object_taxonomies($object, $output = 'names') {
  *
  * @since 2.3.0
  *
- * @uses $wp_taxonomies
+ * @global array $wp_taxonomies The registered taxonomies.
  *
- * @param string $taxonomy Name of taxonomy object to return
- * @return object|bool The Taxonomy Object or false if $taxonomy doesn't exist
+ * @param string $taxonomy Name of taxonomy object to return.
+ * @return object|false The Taxonomy Object or false if $taxonomy doesn't exist.
  */
 function get_taxonomy( $taxonomy ) {
        global $wp_taxonomies;
@@ -218,9 +228,9 @@ function get_taxonomy( $taxonomy ) {
  *
  * @since 3.0.0
  *
- * @uses $wp_taxonomies
+ * @global array $wp_taxonomies The registered taxonomies.
  *
- * @param string $taxonomy Name of taxonomy object
+ * @param string $taxonomy Name of taxonomy object.
  * @return bool Whether the taxonomy exists.
  */
 function taxonomy_exists( $taxonomy ) {
@@ -239,8 +249,8 @@ function taxonomy_exists( $taxonomy ) {
  *
  * @since 2.3.0
  *
- * @param string $taxonomy Name of taxonomy object
- * @return bool Whether the taxonomy is hierarchical
+ * @param string $taxonomy Name of taxonomy object.
+ * @return bool Whether the taxonomy is hierarchical.
  */
 function is_taxonomy_hierarchical($taxonomy) {
        if ( ! taxonomy_exists($taxonomy) )
@@ -309,16 +319,18 @@ function is_taxonomy_hierarchical($taxonomy) {
  *     * Defaults to _update_generic_term_count() for taxonomies attached to other object types, such as links.
  * - _builtin - true if this taxonomy is a native or "built-in" taxonomy. THIS IS FOR INTERNAL USE ONLY!
  *
+ * @todo Document $args as a hash notation.
+ *
  * @since 2.3.0
  * @since 4.2.0 Introduced `show_in_quick_edit` argument.
  *
  * @global array $wp_taxonomies Registered taxonomies.
  * @global WP    $wp            WP instance.
  *
- * @param string $taxonomy Taxonomy key, must not exceed 32 characters.
+ * @param string       $taxonomy    Taxonomy key, must not exceed 32 characters.
  * @param array|string $object_type Name of the object type for the taxonomy object.
- * @param array|string $args See optional args description above.
- * @return null|WP_Error WP_Error if errors, otherwise null.
+ * @param array|string $args        See optional args description above.
+ * @return WP_Error|void WP_Error, if errors.
  */
 function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
        global $wp_taxonomies, $wp;
@@ -460,14 +472,18 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
  * - add_or_remove_items - This string isn't used on hierarchical taxonomies. Default is "Add or remove tags", used in the meta box when JavaScript is disabled.
  * - choose_from_most_used - This string isn't used on hierarchical taxonomies. Default is "Choose from the most used tags", used in the meta box.
  * - not_found - Default is "No tags found"/"No categories found", used in the meta box and taxonomy list table.
+ * - no_terms - Default is "No tags"/"No categories", used in the posts and media list tables.
  *
  * Above, the first default value is for non-hierarchical taxonomies (like tags) and the second one is for hierarchical taxonomies (like categories).
  *
+ * @todo Better documentation for the labels array.
+ *
  * @since 3.0.0
- * @param object $tax Taxonomy object
- * @return object object with all the labels as member variables
+ * @since 4.3.0 Added the `no_terms` label.
+ *
+ * @param object $tax Taxonomy object.
+ * @return object object with all the labels as member variables.
  */
-
 function get_taxonomy_labels( $tax ) {
        $tax->labels = (array) $tax->labels;
 
@@ -494,6 +510,7 @@ function get_taxonomy_labels( $tax ) {
                'add_or_remove_items' => array( __( 'Add or remove tags' ), null ),
                'choose_from_most_used' => array( __( 'Choose from the most used tags' ), null ),
                'not_found' => array( __( 'No tags found.' ), __( 'No categories found.' ) ),
+               'no_terms' => array( __( 'No tags' ), __( 'No categories' ) ),
        );
        $nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];
 
@@ -504,11 +521,12 @@ function get_taxonomy_labels( $tax ) {
  * Add an already registered taxonomy to an object type.
  *
  * @since 3.0.0
- * @uses $wp_taxonomies Modifies taxonomy object
  *
- * @param string $taxonomy Name of taxonomy object
- * @param string $object_type Name of the object type
- * @return bool True if successful, false if not
+ * @global array $wp_taxonomies The registered taxonomies.
+ *
+ * @param string $taxonomy    Name of taxonomy object.
+ * @param string $object_type Name of the object type.
+ * @return bool True if successful, false if not.
  */
 function register_taxonomy_for_object_type( $taxonomy, $object_type) {
        global $wp_taxonomies;
@@ -522,6 +540,9 @@ function register_taxonomy_for_object_type( $taxonomy, $object_type) {
        if ( ! in_array( $object_type, $wp_taxonomies[$taxonomy]->object_type ) )
                $wp_taxonomies[$taxonomy]->object_type[] = $object_type;
 
+       // Filter out empties.
+       $wp_taxonomies[ $taxonomy ]->object_type = array_filter( $wp_taxonomies[ $taxonomy ]->object_type );
+
        return true;
 }
 
@@ -530,6 +551,8 @@ function register_taxonomy_for_object_type( $taxonomy, $object_type) {
  *
  * @since 3.7.0
  *
+ * @global array $wp_taxonomies The registered taxonomies.
+ *
  * @param string $taxonomy    Name of taxonomy object.
  * @param string $object_type Name of the object type.
  * @return bool True if successful, false if not.
@@ -574,10 +597,10 @@ function unregister_taxonomy_for_object_type( $taxonomy, $object_type ) {
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param int|array $term_ids Term id or array of term ids of terms that will be used
- * @param string|array $taxonomies String of taxonomy name or Array of string values of taxonomy names
- * @param array|string $args Change the order of the object_ids, either ASC or DESC
- * @return WP_Error|array If the taxonomy does not exist, then WP_Error will be returned. On success
+ * @param int|array    $term_ids   Term id or array of term ids of terms that will be used.
+ * @param string|array $taxonomies String of taxonomy name or Array of string values of taxonomy names.
+ * @param array|string $args       Change the order of the object_ids, either ASC or DESC.
+ * @return WP_Error|array If the taxonomy does not exist, then WP_Error will be returned. On success.
  *     the array can be empty meaning that there are no $object_ids found or it will return the $object_ids found.
  */
 function get_objects_in_term( $term_ids, $taxonomies, $args = array() ) {
@@ -620,7 +643,7 @@ function get_objects_in_term( $term_ids, $taxonomies, $args = array() ) {
  *
  * @see WP_Tax_Query
  *
- * @param array $tax_query A compact tax query
+ * @param array  $tax_query         A compact tax query
  * @param string $primary_table
  * @param string $primary_id_column
  * @return array
@@ -633,7 +656,7 @@ function get_tax_sql( $tax_query, $primary_table, $primary_id_column ) {
 /**
  * Class for generating SQL clauses that filter a primary query according to object taxonomy terms.
  *
- * `WP_Tax_Query` is a helper that allows primary query classes, such as {@see WP_Query}, to filter
+ * `WP_Tax_Query` is a helper that allows primary query classes, such as WP_Query, to filter
  * their results by object metadata, by generating `JOIN` and `WHERE` subclauses to be attached
  * to the primary SQL query string.
  *
@@ -665,6 +688,8 @@ class WP_Tax_Query {
         * Standard response when the query should not return any rows.
         *
         * @since 3.2.0
+        *
+        * @static
         * @access private
         * @var string
         */
@@ -683,7 +708,7 @@ class WP_Tax_Query {
         * Terms and taxonomies fetched by this query.
         *
         * We store this data in a flat array because they are referenced in a
-        * number of places by {@see WP_Query}.
+        * number of places by WP_Query.
         *
         * @since 4.1.0
         * @access public
@@ -848,6 +873,8 @@ class WP_Tax_Query {
         * determined, by process of elimination, to be a higher-order query.
         *
         * @since 4.1.0
+        *
+        * @static
         * @access protected
         *
         * @param array $query Tax query arguments.
@@ -861,6 +888,8 @@ class WP_Tax_Query {
         * Generates SQL clauses to be appended to a main query.
         *
         * @since 3.1.0
+        *
+        * @static
         * @access public
         *
         * @param string $primary_table     Database table where the object being filtered is stored (eg wp_users).
@@ -882,7 +911,7 @@ class WP_Tax_Query {
        /**
         * Generate SQL clauses to be appended to a main query.
         *
-        * Called by the public {@see WP_Tax_Query::get_sql()}, this method
+        * Called by the public WP_Tax_Query::get_sql(), this method
         * is abstracted out to maintain parity with the other Query classes.
         *
         * @since 4.1.0
@@ -1001,7 +1030,9 @@ class WP_Tax_Query {
         * @since 4.1.0
         * @access public
         *
-        * @param array $clause       Query clause, passed by reference
+        * @global wpdb $wpdb The WordPress database abstraction object.
+        *
+        * @param array $clause       Query clause, passed by reference.
         * @param array $parent_query Parent query array.
         * @return array {
         *     Array containing JOIN and WHERE SQL clauses to append to a first-order query.
@@ -1018,7 +1049,7 @@ class WP_Tax_Query {
                        'join'  => array(),
                );
 
-               $join = '';
+               $join = $where = '';
 
                $this->clean_query( $clause );
 
@@ -1119,7 +1150,7 @@ class WP_Tax_Query {
         * An existing alias is compatible if (a) it is a sibling of `$clause`
         * (ie, it's under the scope of the same relation), and (b) the combination
         * of operator and relation between the clauses allows for a shared table
-        * join. In the case of {@see WP_Tax_Query}, this only applies to 'IN'
+        * join. In the case of WP_Tax_Query, this only applies to 'IN'
         * clauses that are connected by the relation 'OR'.
         *
         * @since 4.1.0
@@ -1127,7 +1158,7 @@ class WP_Tax_Query {
         *
         * @param array       $clause       Query clause.
         * @param array       $parent_query Parent query of $clause.
-        * @return string|bool Table alias if found, otherwise false.
+        * @return string|false Table alias if found, otherwise false.
         */
        protected function find_compatible_table_alias( $clause, $parent_query ) {
                $alias = false;
@@ -1209,9 +1240,11 @@ class WP_Tax_Query {
         *
         * @since 3.2.0
         *
+        * @global wpdb $wpdb The WordPress database abstraction object.
+        *
         * @param array  &$query          The single query.
         * @param string $resulting_field The resulting field. Accepts 'slug', 'name', 'term_taxonomy_id',
-        *                                or 'term_id'. Default: 'term_id'.
+        *                                or 'term_id'. Default 'term_id'.
         */
        public function transform_query( &$query, $resulting_field ) {
                global $wpdb;
@@ -1290,38 +1323,38 @@ class WP_Tax_Query {
  * term object, and the taxonomy name as parameters. Both hooks are expected to
  * return a Term object.
  *
- * 'get_term' hook - Takes two parameters the term Object and the taxonomy name.
+ * {@see 'get_term'} hook - Takes two parameters the term Object and the taxonomy name.
  * Must return term object. Used in get_term() as a catch-all filter for every
  * $term.
  *
- * 'get_$taxonomy' hook - Takes two parameters the term Object and the taxonomy
+ * {@see 'get_$taxonomy'} hook - Takes two parameters the term Object and the taxonomy
  * name. Must return term object. $taxonomy will be the taxonomy name, so for
  * example, if 'category', it would be 'get_category' as the filter name. Useful
  * for custom taxonomies or plugging into default taxonomies.
  *
+ * @todo Better formatting for DocBlock
+ *
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  * @see sanitize_term_field() The $context param lists the available values for get_term_by() $filter param.
  *
- * @param int|object $term If integer, will get from database. If object will apply filters and return $term.
- * @param string $taxonomy Taxonomy name that $term is part of.
- * @param string $output Constant OBJECT, ARRAY_A, or ARRAY_N
- * @param string $filter Optional, default is raw or no WordPress defined filter will applied.
- * @return mixed|null|WP_Error Term Row from database. Will return null if $term is empty. If taxonomy does not
+ * @param int|object $term     If integer, will get from database. If object will apply filters and return $term.
+ * @param string     $taxonomy Taxonomy name that $term is part of.
+ * @param string     $output   Constant OBJECT, ARRAY_A, or ARRAY_N
+ * @param string     $filter   Optional, default is raw or no WordPress defined filter will applied.
+ * @return object|array|null|WP_Error Term Row from database. Will return null if $term is empty. If taxonomy does not
  * exist then WP_Error will be returned.
  */
 function get_term($term, $taxonomy, $output = OBJECT, $filter = 'raw') {
        global $wpdb;
 
-       if ( empty($term) ) {
-               $error = new WP_Error('invalid_term', __('Empty Term'));
-               return $error;
+       if ( empty( $term ) ) {
+               return new WP_Error( 'invalid_term', __( 'Empty Term' ) );
        }
 
-       if ( ! taxonomy_exists($taxonomy) ) {
-               $error = new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
-               return $error;
+       if ( ! taxonomy_exists( $taxonomy ) ) {
+               return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy' ) );
        }
 
        if ( is_object($term) && empty($term->filter) ) {
@@ -1389,17 +1422,20 @@ function get_term($term, $taxonomy, $output = OBJECT, $filter = 'raw') {
  * If $value does not exist, the return value will be false. If $taxonomy exists
  * and $field and $value combinations exist, the Term will be returned.
  *
+ * @todo Better formatting for DocBlock.
+ *
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  * @see sanitize_term_field() The $context param lists the available values for get_term_by() $filter param.
  *
- * @param string $field Either 'slug', 'name', 'id' (term_id), or 'term_taxonomy_id'
- * @param string|int $value Search for this term value
- * @param string $taxonomy Taxonomy Name
- * @param string $output Constant OBJECT, ARRAY_A, or ARRAY_N
- * @param string $filter Optional, default is raw or no WordPress defined filter will applied.
- * @return mixed Term Row from database. Will return false if $taxonomy does not exist or $term was not found.
+ * @param string     $field    Either 'slug', 'name', 'id' (term_id), or 'term_taxonomy_id'
+ * @param string|int $value    Search for this term value
+ * @param string     $taxonomy Taxonomy Name
+ * @param string     $output   Constant OBJECT, ARRAY_A, or ARRAY_N
+ * @param string     $filter   Optional, default is raw or no WordPress defined filter will applied.
+ * @return object|array|null|WP_Error|false Term Row from database.
+ *                                          Will return false if $taxonomy does not exist or $term was not found.
  */
 function get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = 'raw') {
        global $wpdb;
@@ -1461,11 +1497,9 @@ function get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = 'raw
  *
  * @since 2.3.0
  *
- * @global wpdb $wpdb WordPress database abstraction object.
- *
- * @param string $term_id ID of Term to get children
- * @param string $taxonomy Taxonomy Name
- * @return array|WP_Error List of Term IDs. WP_Error returned if $taxonomy does not exist
+ * @param string $term_id  ID of Term to get children.
+ * @param string $taxonomy Taxonomy Name.
+ * @return array|WP_Error List of Term IDs. WP_Error returned if `$taxonomy` does not exist.
  */
 function get_term_children( $term_id, $taxonomy ) {
        if ( ! taxonomy_exists($taxonomy) )
@@ -1501,11 +1535,11 @@ function get_term_children( $term_id, $taxonomy ) {
  *
  * @since 2.3.0
  *
- * @param string $field Term field to fetch
- * @param int $term Term ID
- * @param string $taxonomy Taxonomy Name
- * @param string $context Optional, default is display. Look at sanitize_term_field() for available options.
- * @return mixed Will return an empty string if $term is not an object or if $field is not set in $term.
+ * @param string $field    Term field to fetch.
+ * @param int    $term     Term ID.
+ * @param string $taxonomy Taxonomy Name.
+ * @param string $context  Optional, default is display. Look at sanitize_term_field() for available options.
+ * @return string|int|null|WP_Error Will return an empty string if $term is not an object or if $field is not set in $term.
  */
 function get_term_field( $field, $term, $taxonomy, $context = 'display' ) {
        $term = (int) $term;
@@ -1530,9 +1564,9 @@ function get_term_field( $field, $term, $taxonomy, $context = 'display' ) {
  *
  * @since 2.3.0
  *
- * @param int|object $id Term ID or Object
- * @param string $taxonomy Taxonomy Name
- * @return mixed|null|WP_Error Will return empty string if $term is not an object.
+ * @param int|object $id       Term ID or object.
+ * @param string     $taxonomy Taxonomy name.
+ * @return string|int|null|WP_Error Will return empty string if $term is not an object.
  */
 function get_term_to_edit( $id, $taxonomy ) {
        $term = get_term( $id, $taxonomy );
@@ -1552,21 +1586,22 @@ function get_term_to_edit( $id, $taxonomy ) {
  * You can fully inject any customizations to the query before it is sent, as
  * well as control the output with a filter.
  *
- * The 'get_terms' filter will be called when the cache has the term and will
+ * The {@see 'get_terms'} filter will be called when the cache has the term and will
  * pass the found term along with the array of $taxonomies and array of $args.
  * This filter is also called before the array of terms is passed and will pass
  * the array of terms, along with the $taxonomies and $args.
  *
- * The 'list_terms_exclusions' filter passes the compiled exclusions along with
+ * The {@see 'list_terms_exclusions'} filter passes the compiled exclusions along with
  * the $args.
  *
- * The 'get_terms_orderby' filter passes the ORDER BY clause for the query
+ * The {@see 'get_terms_orderby'} filter passes the `ORDER BY` clause for the query
  * along with the $args array.
  *
  * @since 2.3.0
  * @since 4.2.0 Introduced 'name' and 'childless' parameters.
  *
- * @global wpdb $wpdb WordPress database abstraction object.
+ * @global wpdb  $wpdb WordPress database abstraction object.
+ * @global array $wp_filter
  *
  * @param string|array $taxonomies Taxonomy name or list of Taxonomy names.
  * @param array|string $args {
@@ -1617,7 +1652,7 @@ function get_term_to_edit( $id, $taxonomy ) {
  *     @type string       $cache_domain      Unique cache key to be produced when this query is stored in an
  *                                           object cache. Default is 'core'.
  * }
- * @return array|WP_Error List of Term Objects and their children. Will return WP_Error, if any of $taxonomies
+ * @return array|int|WP_Error List of Term Objects and their children. Will return WP_Error, if any of $taxonomies
  *                        do not exist.
  */
 function get_terms( $taxonomies, $args = '' ) {
@@ -1631,8 +1666,7 @@ function get_terms( $taxonomies, $args = '' ) {
 
        foreach ( $taxonomies as $taxonomy ) {
                if ( ! taxonomy_exists($taxonomy) ) {
-                       $error = new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
-                       return $error;
+                       return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy' ) );
                }
        }
 
@@ -1676,7 +1710,7 @@ function get_terms( $taxonomies, $args = '' ) {
         *
         * @since 3.1.0
         *
-        * @param array $args       An array of arguments.
+        * @param array $args       An array of get_term() arguments.
         * @param array $taxonomies An array of taxonomies.
         */
        $args = apply_filters( 'get_terms_args', $args, $taxonomies );
@@ -1708,7 +1742,7 @@ function get_terms( $taxonomies, $args = '' ) {
                }
        }
 
-       // $args can be whatever, only use the args defined in defaults to compute the key
+       // $args can be whatever, only use the args defined in defaults to compute the key.
        $filter_key = ( has_filter('list_terms_exclusions') ) ? serialize($GLOBALS['wp_filter']['list_terms_exclusions']) : '';
        $key = md5( serialize( wp_array_slice_assoc( $args, array_keys( $defaults ) ) ) . serialize( $taxonomies ) . $filter_key );
        $last_changed = wp_cache_get( 'last_changed', 'terms' );
@@ -1727,10 +1761,9 @@ function get_terms( $taxonomies, $args = '' ) {
                 *
                 * @param array $cache      Cached array of terms for the given taxonomy.
                 * @param array $taxonomies An array of taxonomies.
-                * @param array $args       An array of arguments to get terms.
+                * @param array $args       An array of get_terms() arguments.
                 */
-               $cache = apply_filters( 'get_terms', $cache, $taxonomies, $args );
-               return $cache;
+               return apply_filters( 'get_terms', $cache, $taxonomies, $args );
        }
 
        $_orderby = strtolower( $args['orderby'] );
@@ -1754,12 +1787,13 @@ function get_terms( $taxonomies, $args = '' ) {
        } else {
                $orderby = 't.name';
        }
+
        /**
         * Filter the ORDERBY clause of the terms query.
         *
         * @since 2.8.0
         *
-        * @param string $orderby    ORDERBY clause of the terms query.
+        * @param string $orderby    `ORDERBY` clause of the terms query.
         * @param array  $args       An array of terms query arguments.
         * @param array  $taxonomies An array of taxonomies.
         */
@@ -1831,7 +1865,7 @@ function get_terms( $taxonomies, $args = '' ) {
         *
         * @since 2.3.0
         *
-        * @param string $exclusions NOT IN clause of the terms query.
+        * @param string $exclusions `NOT IN` clause of the terms query.
         * @param array  $args       An array of terms query arguments.
         * @param array  $taxonomies An array of taxonomies.
         */
@@ -1842,13 +1876,12 @@ function get_terms( $taxonomies, $args = '' ) {
        }
 
        if ( ! empty( $args['name'] ) ) {
-               if ( is_array( $args['name'] ) ) {
-                       $name = array_map( 'sanitize_text_field', $args['name'] );
-                       $where .= " AND t.name IN ('" . implode( "', '", array_map( 'esc_sql', $name ) ) . "')";
-               } else {
-                       $name = sanitize_text_field( $args['name'] );
-                       $where .= $wpdb->prepare( " AND t.name = %s", $name );
+               $names = (array) $args['name'];
+               foreach ( $names as &$_name ) {
+                       $_name = sanitize_term_field( 'name', $_name, 0, reset( $taxonomies ), 'db' );
                }
+
+               $where .= " AND t.name IN ('" . implode( "', '", array_map( 'esc_sql', $names ) ) . "')";
        }
 
        if ( ! empty( $args['slug'] ) ) {
@@ -1885,7 +1918,7 @@ function get_terms( $taxonomies, $args = '' ) {
        $number = $args['number'];
        $offset = $args['offset'];
 
-       // don't limit the query results when we have to descend the family tree
+       // Don't limit the query results when we have to descend the family tree.
        if ( $number && ! $hierarchical && ! $child_of && '' === $parent ) {
                if ( $offset ) {
                        $limits = 'LIMIT ' . $offset . ',' . $number;
@@ -1960,6 +1993,7 @@ function get_terms( $taxonomies, $args = '' ) {
         * @param array $args       An array of terms query arguments.
         */
        $clauses = apply_filters( 'terms_clauses', compact( $pieces ), $taxonomies, $args );
+
        $fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
        $join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
        $where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
@@ -1970,8 +2004,7 @@ function get_terms( $taxonomies, $args = '' ) {
        $query = "SELECT $fields FROM $wpdb->terms AS t $join WHERE $where $orderby $order $limits";
 
        if ( 'count' == $_fields ) {
-               $term_count = $wpdb->get_var($query);
-               return $term_count;
+               return $wpdb->get_var( $query );
        }
 
        $terms = $wpdb->get_results($query);
@@ -1983,8 +2016,7 @@ function get_terms( $taxonomies, $args = '' ) {
                wp_cache_add( $cache_key, array(), 'terms', DAY_IN_SECONDS );
 
                /** This filter is documented in wp-includes/taxonomy.php */
-               $terms = apply_filters( 'get_terms', array(), $taxonomies, $args );
-               return $terms;
+               return apply_filters( 'get_terms', array(), $taxonomies, $args );
        }
 
        if ( $child_of ) {
@@ -2017,7 +2049,7 @@ function get_terms( $taxonomies, $args = '' ) {
                                        }
                                }
 
-                               // It really is empty
+                               // It really is empty.
                                unset($terms[$k]);
                        }
                }
@@ -2057,8 +2089,7 @@ function get_terms( $taxonomies, $args = '' ) {
        wp_cache_add( $cache_key, $terms, 'terms', DAY_IN_SECONDS );
 
        /** This filter is documented in wp-includes/taxonomy */
-       $terms = apply_filters( 'get_terms', $terms, $taxonomies, $args );
-       return $terms;
+       return apply_filters( 'get_terms', $terms, $taxonomies, $args );
 }
 
 /**
@@ -2070,9 +2101,9 @@ function get_terms( $taxonomies, $args = '' ) {
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param int|string $term The term to check
- * @param string $taxonomy The taxonomy name to use
- * @param int $parent Optional. ID of parent term under which to confine the exists search.
+ * @param int|string $term     The term to check
+ * @param string     $taxonomy The taxonomy name to use
+ * @param int        $parent   Optional. ID of parent term under which to confine the exists search.
  * @return mixed Returns null if the term does not exist. Returns the term ID
  *               if no taxonomy is specified and the term ID exists. Returns
  *               an array of the term ID and the term taxonomy ID the taxonomy
@@ -2134,10 +2165,10 @@ function term_exists( $term, $taxonomy = '', $parent = null ) {
  *
  * @since 3.4.0
  *
- * @param int|object $term1 ID or object to check if this is the parent term.
- * @param int|object $term2 The child term.
- * @param string $taxonomy Taxonomy name that $term1 and $term2 belong to.
- * @return bool Whether $term2 is child of $term1
+ * @param int|object $term1    ID or object to check if this is the parent term.
+ * @param int|object $term2    The child term.
+ * @param string     $taxonomy Taxonomy name that $term1 and `$term2` belong to.
+ * @return bool Whether `$term2` is a child of `$term1`.
  */
 function term_is_ancestor_of( $term1, $term2, $taxonomy ) {
        if ( ! isset( $term1->term_id ) )
@@ -2164,13 +2195,13 @@ function term_is_ancestor_of( $term1, $term2, $taxonomy ) {
  *
  * @since 2.3.0
  *
- * @param array|object $term The term to check
- * @param string $taxonomy The taxonomy name to use
- * @param string $context Default is 'display'.
- * @return array|object Term with all fields sanitized
+ * @param array|object $term     The term to check.
+ * @param string       $taxonomy The taxonomy name to use.
+ * @param string       $context  Optional. Context in which to sanitize the term. Accepts 'edit', 'db',
+ *                               'display', 'attribute', or 'js'. Default 'display'.
+ * @return array|object Term with all fields sanitized.
  */
 function sanitize_term($term, $taxonomy, $context = 'display') {
-
        $fields = array( 'term_id', 'name', 'description', 'slug', 'count', 'parent', 'term_group', 'term_taxonomy_id', 'object_id' );
 
        $do_object = is_object( $term );
@@ -2210,14 +2241,13 @@ function sanitize_term($term, $taxonomy, $context = 'display') {
  *
  * @since 2.3.0
  *
- * @global wpdb $wpdb WordPress database abstraction object.
- *
- * @param string $field Term field to sanitize
- * @param string $value Search for this term value
- * @param int $term_id Term ID
- * @param string $taxonomy Taxonomy Name
- * @param string $context Either edit, db, display, attribute, or js.
- * @return mixed sanitized field
+ * @param string $field    Term field to sanitize.
+ * @param string $value    Search for this term value.
+ * @param int    $term_id  Term ID.
+ * @param string $taxonomy Taxonomy Name.
+ * @param string $context  Context in which to sanitize the term field. Accepts 'edit', 'db', 'display',
+ *                         'attribute', or 'js'.
+ * @return mixed Sanitized field.
  */
 function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
        $int_fields = array( 'parent', 'term_id', 'count', 'term_group', 'term_taxonomy_id', 'object_id' );
@@ -2257,6 +2287,7 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                 * @param int   $term_id Term ID.
                 */
                $value = apply_filters( "edit_{$taxonomy}_{$field}", $value, $term_id );
+
                if ( 'description' == $field )
                        $value = esc_html($value); // textarea_escaped
                else
@@ -2286,6 +2317,7 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                 * @param mixed $value Value of the taxonomy field.
                 */
                $value = apply_filters( "pre_{$taxonomy}_{$field}", $value );
+
                // Back compat filters
                if ( 'slug' == $field ) {
                        /**
@@ -2317,7 +2349,7 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                /**
                 * Filter the taxonomy field for use in RSS.
                 *
-                * The dynamic portions of the hook name, `$taxonomy`, and $field, refer
+                * The dynamic portions of the hook name, `$taxonomy`, and `$field`, refer
                 * to the taxonomy slug and field name, respectively.
                 *
                 * @since 2.3.0
@@ -2345,7 +2377,7 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                /**
                 * Filter the taxonomy field sanitized for display.
                 *
-                * The dynamic portions of the filter name, `$taxonomy`, and $field, refer
+                * The dynamic portions of the filter name, `$taxonomy`, and `$field`, refer
                 * to the taxonomy slug and taxonomy field, respectively.
                 *
                 * @since 2.3.0
@@ -2370,11 +2402,13 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
  *
  * Default $args is 'hide_empty' which can be 'hide_empty=true' or array('hide_empty' => true).
  *
+ * @todo Document $args as a hash notation.
+ *
  * @since 2.3.0
  *
- * @param string $taxonomy Taxonomy name
- * @param array|string $args Overwrite defaults. See get_terms()
- * @return int|WP_Error How many terms are in $taxonomy. WP_Error if $taxonomy does not exist.
+ * @param string       $taxonomy Taxonomy name
+ * @param array|string $args     Overwrite defaults. See get_terms()
+ * @return array|int|WP_Error How many terms are in $taxonomy. WP_Error if $taxonomy does not exist.
  */
 function wp_count_terms( $taxonomy, $args = array() ) {
        $defaults = array('hide_empty' => false);
@@ -2400,7 +2434,7 @@ function wp_count_terms( $taxonomy, $args = array() ) {
  *
  * @since 2.3.0
  *
- * @param int $object_id The term Object Id that refers to the term
+ * @param int          $object_id  The term Object Id that refers to the term.
  * @param string|array $taxonomies List of Taxonomy Names or single Taxonomy name.
  */
 function wp_delete_object_term_relationships( $object_id, $taxonomies ) {
@@ -2422,20 +2456,22 @@ function wp_delete_object_term_relationships( $object_id, $taxonomies ) {
  * If the term is a parent of other terms, then the children will be updated to
  * that term's parent.
  *
- * The $args 'default' will only override the terms found, if there is only one
+ * The `$args` 'default' will only override the terms found, if there is only one
  * term found. Any other and the found terms are used.
  *
  * The $args 'force_default' will force the term supplied as default to be
  * assigned even if the object was not going to be termless
  *
+ * @todo Document $args as a hash notation.
+ *
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param int $term Term ID
- * @param string $taxonomy Taxonomy Name
- * @param array|string $args Optional. Change 'default' term id and override found term ids.
- * @return bool|WP_Error Returns false if not term; true if completes delete action.
+ * @param int          $term     Term ID.
+ * @param string       $taxonomy Taxonomy Name.
+ * @param array|string $args     Optional. Change 'default' term id and override found term ids.
+ * @return bool|int|WP_Error Returns false if not term; true if completes delete action.
  */
 function wp_delete_term( $term, $taxonomy, $args = array() ) {
        global $wpdb;
@@ -2498,6 +2534,7 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
                 * @param array $edit_tt_ids An array of term taxonomy IDs for the given term.
                 */
                do_action( 'edit_term_taxonomies', $edit_tt_ids );
+
                $wpdb->update( $wpdb->term_taxonomy, compact( 'parent' ), array( 'parent' => $term_obj->term_id) + compact( 'taxonomy' ) );
 
                // Clean the cache for all child terms.
@@ -2529,7 +2566,7 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
                wp_set_object_terms($object, $terms, $taxonomy);
        }
 
-       // Clean the relationship caches for all object types using this term
+       // Clean the relationship caches for all object types using this term.
        $tax_object = get_taxonomy( $taxonomy );
        foreach ( $tax_object->object_type as $object_type )
                clean_object_term_cache( $objects, $object_type );
@@ -2586,7 +2623,7 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
         * @param int     $term         Term ID.
         * @param int     $tt_id        Term taxonomy ID.
         * @param mixed   $deleted_term Copy of the already-deleted term, in the form specified
-        *                              by the parent function. {@see WP_Error} otherwise.
+        *                              by the parent function. WP_Error otherwise.
         */
        do_action( "delete_$taxonomy", $term, $tt_id, $deleted_term );
 
@@ -2599,7 +2636,7 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
  * @since 2.0.0
  *
  * @param int $cat_ID
- * @return mixed Returns true if completes delete action; false if term doesn't exist;
+ * @return bool|int|WP_Error Returns true if completes delete action; false if term doesn't exist;
  *     Zero on attempted deletion of default Category; WP_Error object is also a possibility.
  */
 function wp_delete_category( $cat_ID ) {
@@ -2678,11 +2715,11 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
 
        if ( in_array( $orderby, array( 'term_id', 'name', 'slug', 'term_group' ) ) ) {
                $orderby = "t.$orderby";
-       } else if ( in_array( $orderby, array( 'count', 'parent', 'taxonomy', 'term_taxonomy_id' ) ) ) {
+       } elseif ( in_array( $orderby, array( 'count', 'parent', 'taxonomy', 'term_taxonomy_id' ) ) ) {
                $orderby = "tt.$orderby";
-       } else if ( 'term_order' === $orderby ) {
+       } elseif ( 'term_order' === $orderby ) {
                $orderby = 'tr.term_order';
-       } else if ( 'none' === $orderby ) {
+       } elseif ( 'none' === $orderby ) {
                $orderby = '';
                $order = '';
        } else {
@@ -2928,10 +2965,10 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
                                }
 
                                if ( $existing_term ) {
-                                       return new WP_Error( 'term_exists', __( 'A term with the name already exists with this parent.' ), $existing_term->term_id );
+                                       return new WP_Error( 'term_exists', __( 'A term with the name provided already exists with this parent.' ), $existing_term->term_id );
                                }
                        } else {
-                               return new WP_Error( 'term_exists', __( 'A term with the name already exists in this taxonomy.' ), $name_match->term_id );
+                               return new WP_Error( 'term_exists', __( 'A term with the name provided already exists in this taxonomy.' ), $name_match->term_id );
                        }
                }
        }
@@ -3022,13 +3059,19 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
         * Fires after a new term is created, and after the term cache has been cleaned.
         *
         * @since 2.3.0
+        *
+        * @param int    $term_id  Term ID.
+        * @param int    $tt_id    Term taxonomy ID.
+        * @param string $taxonomy Taxonomy slug.
         */
-       do_action( "created_term", $term_id, $tt_id, $taxonomy );
+       do_action( 'created_term', $term_id, $tt_id, $taxonomy );
 
        /**
         * Fires after a new term in a specific taxonomy is created, and after the term
         * cache has been cleaned.
         *
+        * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug.
+        *
         * @since 2.3.0
         *
         * @param int $term_id Term ID.
@@ -3052,6 +3095,8 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
  *
  * @since 2.3.0
  *
+ * @global wpdb $wpdb The WordPress database abstraction object.
+ *
  * @param int              $object_id The object to relate to.
  * @param array|int|string $terms     A single term slug, single term id, or array of either term slugs or ids.
  *                                    Will replace all existing related terms in this taxonomy.
@@ -3175,9 +3220,9 @@ function wp_set_object_terms( $object_id, $terms, $taxonomy, $append = false ) {
  *
  * @since 3.6.0
  *
- * @param int $object_id The ID of the object to which the terms will be added.
- * @param array|int|string $terms The slug(s) or ID(s) of the term(s) to add.
- * @param array|string $taxonomy Taxonomy name.
+ * @param int              $object_id The ID of the object to which the terms will be added.
+ * @param array|int|string $terms     The slug(s) or ID(s) of the term(s) to add.
+ * @param array|string     $taxonomy  Taxonomy name.
  * @return array|WP_Error Affected Term IDs
  */
 function wp_add_object_terms( $object_id, $terms, $taxonomy ) {
@@ -3191,9 +3236,9 @@ function wp_add_object_terms( $object_id, $terms, $taxonomy ) {
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param int $object_id The ID of the object from which the terms will be removed.
- * @param array|int|string $terms The slug(s) or ID(s) of the term(s) to remove.
- * @param array|string $taxonomy Taxonomy name.
+ * @param int              $object_id The ID of the object from which the terms will be removed.
+ * @param array|int|string $terms     The slug(s) or ID(s) of the term(s) to remove.
+ * @param array|string     $taxonomy  Taxonomy name.
  * @return bool|WP_Error True on success, false or WP_Error on failure.
  */
 function wp_remove_object_terms( $object_id, $terms, $taxonomy ) {
@@ -3253,6 +3298,7 @@ function wp_remove_object_terms( $object_id, $terms, $taxonomy ) {
                 * @param array $tt_ids    An array of term taxonomy IDs.
                 */
                do_action( 'deleted_term_relationships', $object_id, $tt_ids );
+
                wp_update_term_count( $tt_ids, $taxonomy );
 
                return (bool) $deleted;
@@ -3264,7 +3310,7 @@ function wp_remove_object_terms( $object_id, $terms, $taxonomy ) {
 /**
  * Will make slug unique, if it isn't already.
  *
- * The $slug has to be unique global to every taxonomy, meaning that one
+ * The `$slug` has to be unique global to every taxonomy, meaning that one
  * taxonomy term can't have a matching slug with another taxonomy term. Each
  * slug has to be globally unique for every taxonomy.
  *
@@ -3274,38 +3320,42 @@ function wp_remove_object_terms( $object_id, $terms, $taxonomy ) {
  * If that still doesn't return an unique slug, then it try to append a number
  * until it finds a number that is truly unique.
  *
- * The only purpose for $term is for appending a parent, if one exists.
+ * The only purpose for `$term` is for appending a parent, if one exists.
  *
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param string $slug The string that will be tried for a unique slug
- * @param object $term The term object that the $slug will belong too
+ * @param string $slug The string that will be tried for a unique slug.
+ * @param object $term The term object that the `$slug` will belong to.
  * @return string Will return a true unique slug.
  */
-function wp_unique_term_slug($slug, $term) {
+function wp_unique_term_slug( $slug, $term ) {
        global $wpdb;
 
-       if ( ! term_exists( $slug ) )
-               return $slug;
+       $needs_suffix = true;
+       $original_slug = $slug;
 
        // As of 4.1, duplicate slugs are allowed as long as they're in different taxonomies.
-       if ( get_option( 'db_version' ) >= 30133 && ! get_term_by( 'slug', $slug, $term->taxonomy ) ) {
-               return $slug;
+       if ( ! term_exists( $slug ) || get_option( 'db_version' ) >= 30133 && ! get_term_by( 'slug', $slug, $term->taxonomy ) ) {
+               $needs_suffix = false;
        }
 
-       // If the taxonomy supports hierarchy and the term has a parent, make the slug unique
-       // by incorporating parent slugs.
-       if ( is_taxonomy_hierarchical($term->taxonomy) && !empty($term->parent) ) {
+       /*
+        * If the taxonomy supports hierarchy and the term has a parent, make the slug unique
+        * by incorporating parent slugs.
+        */
+       $parent_suffix = '';
+       if ( $needs_suffix && is_taxonomy_hierarchical( $term->taxonomy ) && ! empty( $term->parent ) ) {
                $the_parent = $term->parent;
                while ( ! empty($the_parent) ) {
                        $parent_term = get_term($the_parent, $term->taxonomy);
                        if ( is_wp_error($parent_term) || empty($parent_term) )
                                break;
-                       $slug .= '-' . $parent_term->slug;
-                       if ( ! term_exists( $slug ) )
-                               return $slug;
+                       $parent_suffix .= '-' . $parent_term->slug;
+                       if ( ! term_exists( $slug . $parent_suffix ) ) {
+                               break;
+                       }
 
                        if ( empty($parent_term->parent) )
                                break;
@@ -3314,22 +3364,47 @@ function wp_unique_term_slug($slug, $term) {
        }
 
        // If we didn't get a unique slug, try appending a number to make it unique.
-       if ( ! empty( $term->term_id ) )
-               $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s AND term_id != %d", $slug, $term->term_id );
-       else
-               $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $slug );
 
-       if ( $wpdb->get_var( $query ) ) {
-               $num = 2;
-               do {
-                       $alt_slug = $slug . "-$num";
-                       $num++;
-                       $slug_check = $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $alt_slug ) );
-               } while ( $slug_check );
-               $slug = $alt_slug;
+       /**
+        * Filter whether the proposed unique term slug is bad.
+        *
+        * @since 4.3.0
+        *
+        * @param bool   $needs_suffix Whether the slug needs to be made unique with a suffix.
+        * @param string $slug         The slug.
+        * @param object $term         Term object.
+        */
+       if ( apply_filters( 'wp_unique_term_slug_is_bad_slug', $needs_suffix, $slug, $term ) ) {
+               if ( $parent_suffix ) {
+                       $slug .= $parent_suffix;
+               } else {
+                       if ( ! empty( $term->term_id ) )
+                               $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s AND term_id != %d", $slug, $term->term_id );
+                       else
+                               $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $slug );
+
+                       if ( $wpdb->get_var( $query ) ) {
+                               $num = 2;
+                               do {
+                                       $alt_slug = $slug . "-$num";
+                                       $num++;
+                                       $slug_check = $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $alt_slug ) );
+                               } while ( $slug_check );
+                               $slug = $alt_slug;
+                       }
+               }
        }
 
-       return $slug;
+       /**
+        * Filter the unique term slug.
+        *
+        * @since 4.3.0
+        *
+        * @param string $slug          Unique term slug.
+        * @param object $term          Term object.
+        * @param string $original_slug Slug originally passed to the function for testing.
+        */
+       return apply_filters( 'wp_unique_term_slug', $slug, $term, $original_slug );
 }
 
 /**
@@ -3350,16 +3425,16 @@ function wp_unique_term_slug($slug, $term) {
  * a WP_Error will be passed back. If you don't pass any slug, then a unique one
  * will be created for you.
  *
- * For what can be overrode in $args, check the term scheme can contain and stay
+ * For what can be overrode in `$args`, check the term scheme can contain and stay
  * away from the term keys.
  *
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param int $term_id The ID of the term
- * @param string $taxonomy The context in which to relate the term to the object.
- * @param array|string $args Overwrite term field values
+ * @param int          $term_id  The ID of the term
+ * @param string       $taxonomy The context in which to relate the term to the object.
+ * @param array|string $args     Optional. Array of get_terms() arguments. Default empty array.
  * @return array|WP_Error Returns Term ID and Taxonomy Term ID
  */
 function wp_update_term( $term_id, $taxonomy, $args = array() ) {
@@ -3506,6 +3581,7 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
         * @param string $taxonomy Taxonomy slug.
         */
        do_action( 'edit_term_taxonomy', $tt_id, $taxonomy );
+
        $wpdb->update( $wpdb->term_taxonomy, compact( 'term_id', 'taxonomy', 'description', 'parent' ), array( 'term_taxonomy_id' => $tt_id ) );
 
        /**
@@ -3518,7 +3594,7 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
         */
        do_action( 'edited_term_taxonomy', $tt_id, $taxonomy );
 
-       // Clean the relationship caches for all object types using this term
+       // Clean the relationship caches for all object types using this term.
        $objects = $wpdb->get_col( $wpdb->prepare( "SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $tt_id ) );
        $tax_object = get_taxonomy( $taxonomy );
        foreach ( $tax_object->object_type as $object_type ) {
@@ -3586,6 +3662,8 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
  *
  * @since 2.5.0
  *
+ * @staticvar bool $_defer
+ *
  * @param bool $defer Optional. Enable if true, disable if false.
  * @return bool Whether term counting is enabled or disabled.
  */
@@ -3613,10 +3691,10 @@ function wp_defer_term_counting($defer=null) {
  *
  * @since 2.3.0
  *
- * @global wpdb $wpdb WordPress database abstraction object.
+ * @staticvar array $_deferred
  *
- * @param int|array $terms The term_taxonomy_id of the terms
- * @param string $taxonomy The context of the term.
+ * @param int|array $terms    The term_taxonomy_id of the terms.
+ * @param string    $taxonomy The context of the term.
  * @return bool If no terms will return false, and if successful will return true.
  */
 function wp_update_term_count( $terms, $taxonomy, $do_deferred=false ) {
@@ -3650,9 +3728,9 @@ function wp_update_term_count( $terms, $taxonomy, $do_deferred=false ) {
  *
  * @since 2.5.0
  *
- * @param array $terms The term_taxonomy_id of terms to update.
+ * @param array  $terms    The term_taxonomy_id of terms to update.
  * @param string $taxonomy The context of the term.
- * @return bool Always true when complete.
+ * @return true Always true when complete.
  */
 function wp_update_term_count_now( $terms, $taxonomy ) {
        $terms = array_map('intval', $terms);
@@ -3688,16 +3766,16 @@ function wp_update_term_count_now( $terms, $taxonomy ) {
 /**
  * Removes the taxonomy relationship to terms from the cache.
  *
- * Will remove the entire taxonomy relationship containing term $object_id. The
- * term IDs have to exist within the taxonomy $object_type for the deletion to
+ * Will remove the entire taxonomy relationship containing term `$object_id`. The
+ * term IDs have to exist within the taxonomy `$object_type` for the deletion to
  * take place.
  *
  * @since 2.3.0
  *
- * @see get_object_taxonomies() for more on $object_type
+ * @see get_object_taxonomies() for more on $object_type.
  *
- * @param int|array $object_ids Single or list of term object ID(s)
- * @param array|string $object_type The taxonomy object type
+ * @param int|array    $object_ids  Single or list of term object ID(s).
+ * @param array|string $object_type The taxonomy object type.
  */
 function clean_object_term_cache($object_ids, $object_type) {
        if ( !is_array($object_ids) )
@@ -3728,13 +3806,20 @@ function clean_object_term_cache($object_ids, $object_type) {
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
+ * @global bool $_wp_suspend_cache_invalidation
  *
- * @param int|array $ids Single or list of Term IDs
- * @param string $taxonomy Can be empty and will assume tt_ids, else will use for context.
- * @param bool $clean_taxonomy Whether to clean taxonomy wide caches (true), or just individual term object caches (false). Default is true.
+ * @param int|array $ids            Single or list of Term IDs.
+ * @param string    $taxonomy       Optional. Can be empty and will assume `tt_ids`, else will use for context.
+ *                                  Default empty.
+ * @param bool      $clean_taxonomy Optional. Whether to clean taxonomy wide caches (true), or just individual
+ *                                  term object caches (false). Default true.
  */
 function clean_term_cache($ids, $taxonomy = '', $clean_taxonomy = true) {
-       global $wpdb;
+       global $wpdb, $_wp_suspend_cache_invalidation;
+
+       if ( ! empty( $_wp_suspend_cache_invalidation ) ) {
+               return;
+       }
 
        if ( !is_array($ids) )
                $ids = array($ids);
@@ -3789,13 +3874,13 @@ function clean_term_cache($ids, $taxonomy = '', $clean_taxonomy = true) {
  *
  * @since 2.3.0
  *
- * @param int    $id       Term object ID
- * @param string $taxonomy Taxonomy Name
- * @return bool|array Empty array if $terms found, but not $taxonomy. False if nothing is in cache for $taxonomy and $id.
+ * @param int    $id       Term object ID.
+ * @param string $taxonomy Taxonomy name.
+ * @return bool|mixed Empty array if $terms found, but not `$taxonomy`. False if nothing is in cache
+ *                    for `$taxonomy` and `$id`.
  */
-function get_object_term_cache($id, $taxonomy) {
-       $cache = wp_cache_get($id, "{$taxonomy}_relationships");
-       return $cache;
+function get_object_term_cache( $id, $taxonomy ) {
+       return wp_cache_get( $id, "{$taxonomy}_relationships" );
 }
 
 /**
@@ -3810,10 +3895,9 @@ function get_object_term_cache($id, $taxonomy) {
  *
  * @since 2.3.0
  *
- * @param string|array $object_ids  Comma-separated list or array of term object IDs..
+ * @param string|array $object_ids  Comma-separated list or array of term object IDs.
  * @param array|string $object_type The taxonomy object type.
- * @return null|false Null if `$object_ids` is empty, false if all of the terms in
- *                    `$object_ids` are already cached.
+ * @return void|false False if all of the terms in `$object_ids` are already cached.
  */
 function update_object_term_cache($object_ids, $object_type) {
        if ( empty($object_ids) )
@@ -3867,10 +3951,10 @@ function update_object_term_cache($object_ids, $object_type) {
  *
  * @since 2.3.0
  *
- * @param array $terms List of Term objects to change
- * @param string $taxonomy Optional. Update Term to this taxonomy in cache
+ * @param array  $terms    List of term objects to change.
+ * @param string $taxonomy Optional. Update Term to this taxonomy in cache. Default empty.
  */
-function update_term_cache($terms, $taxonomy = '') {
+function update_term_cache( $terms, $taxonomy = '' ) {
        foreach ( (array) $terms as $term ) {
                $term_taxonomy = $taxonomy;
                if ( empty($term_taxonomy) )
@@ -3887,13 +3971,13 @@ function update_term_cache($terms, $taxonomy = '') {
 /**
  * Retrieves children of taxonomy as Term IDs.
  *
- * @access private
+ * @ignore
  * @since 2.3.0
  *
- * @param string $taxonomy Taxonomy Name
+ * @param string $taxonomy Taxonomy name.
  * @return array Empty if $taxonomy isn't hierarchical or returns children as Term IDs.
  */
-function _get_term_hierarchy($taxonomy) {
+function _get_term_hierarchy( $taxonomy ) {
        if ( !is_taxonomy_hierarchical($taxonomy) )
                return array();
        $children = get_option("{$taxonomy}_children");
@@ -3914,20 +3998,21 @@ function _get_term_hierarchy($taxonomy) {
 /**
  * Get the subset of $terms that are descendants of $term_id.
  *
- * If $terms is an array of objects, then _get_term_children returns an array of objects.
- * If $terms is an array of IDs, then _get_term_children returns an array of IDs.
+ * If `$terms` is an array of objects, then _get_term_children() returns an array of objects.
+ * If `$terms` is an array of IDs, then _get_term_children() returns an array of IDs.
  *
  * @access private
  * @since 2.3.0
  *
- * @param int $term_id The ancestor term: all returned terms should be descendants of $term_id.
+ * @param int    $term_id   The ancestor term: all returned terms should be descendants of `$term_id`.
  * @param array  $terms     The set of terms - either an array of term objects or term IDs - from which those that
  *                          are descendants of $term_id will be chosen.
  * @param string $taxonomy  The taxonomy which determines the hierarchy of the terms.
- * @param array  $ancestors Term ancestors that have already been identified. Passed by reference, to keep track of
- *                          found terms when recursing the hierarchy. The array of located ancestors is used to prevent
- *                          infinite recursion loops. For performance, term_ids are used as array keys, with 1 as value.
- * @return array The subset of $terms that are descendants of $term_id.
+ * @param array  $ancestors Optional. Term ancestors that have already been identified. Passed by reference, to keep
+ *                          track of found terms when recursing the hierarchy. The array of located ancestors is used
+ *                          to prevent infinite recursion loops. For performance, `term_ids` are used as array keys,
+ *                          with 1 as value. Default empty array.
+ * @return array|WP_Error The subset of $terms that are descendants of $term_id.
  */
 function _get_term_children( $term_id, $terms, $taxonomy, &$ancestors = array() ) {
        $empty_array = array();
@@ -3989,11 +4074,10 @@ function _get_term_children( $term_id, $terms, $taxonomy, &$ancestors = array()
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param array $terms List of Term IDs
- * @param string $taxonomy Term Context
- * @return null Will break from function if conditions are not met.
+ * @param array  $terms    List of term IDs, passed by reference.
+ * @param string $taxonomy Term context.
  */
-function _pad_term_counts(&$terms, $taxonomy) {
+function _pad_term_counts( &$terms, $taxonomy ) {
        global $wpdb;
 
        // This function only works for hierarchical taxonomies like post categories.
@@ -4014,7 +4098,7 @@ function _pad_term_counts(&$terms, $taxonomy) {
                $term_ids[$term->term_taxonomy_id] = $term->term_id;
        }
 
-       // Get the object and term ids and stick them in a lookup table
+       // Get the object and term ids and stick them in a lookup table.
        $tax_obj = get_taxonomy($taxonomy);
        $object_types = esc_sql($tax_obj->object_type);
        $results = $wpdb->get_results("SELECT object_id, term_taxonomy_id FROM $wpdb->term_relationships INNER JOIN $wpdb->posts ON object_id = ID WHERE term_taxonomy_id IN (" . implode(',', array_keys($term_ids)) . ") AND post_type IN ('" . implode("', '", $object_types) . "') AND post_status = 'publish'");
@@ -4023,7 +4107,7 @@ function _pad_term_counts(&$terms, $taxonomy) {
                $term_items[$id][$row->object_id] = isset($term_items[$id][$row->object_id]) ? ++$term_items[$id][$row->object_id] : 1;
        }
 
-       // Touch every ancestor's lookup row for each post in each term
+       // Touch every ancestor's lookup row for each post in each term.
        foreach ( $term_ids as $term_id ) {
                $child = $term_id;
                $ancestors = array();
@@ -4041,7 +4125,7 @@ function _pad_term_counts(&$terms, $taxonomy) {
                }
        }
 
-       // Transfer the touched cells
+       // Transfer the touched cells.
        foreach ( (array) $term_items as $id => $items )
                if ( isset($terms_by_id[$id]) )
                        $terms_by_id[$id]->count = count($items);
@@ -4062,8 +4146,8 @@ function _pad_term_counts(&$terms, $taxonomy) {
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param array $terms List of Term taxonomy IDs
- * @param object $taxonomy Current taxonomy object of terms
+ * @param array  $terms    List of Term taxonomy IDs.
+ * @param object $taxonomy Current taxonomy object of terms.
  */
 function _update_post_term_count( $terms, $taxonomy ) {
        global $wpdb;
@@ -4086,7 +4170,7 @@ function _update_post_term_count( $terms, $taxonomy ) {
        foreach ( (array) $terms as $term ) {
                $count = 0;
 
-               // Attachments can be 'inherit' status, we need to base count off the parent's status if so
+               // Attachments can be 'inherit' status, we need to base count off the parent's status if so.
                if ( $check_attachments )
                        $count += (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts p1 WHERE p1.ID = $wpdb->term_relationships.object_id AND ( post_status = 'publish' OR ( post_status = 'inherit' AND post_parent > 0 AND ( SELECT post_status FROM $wpdb->posts WHERE ID = p1.post_parent ) = 'publish' ) ) AND post_type = 'attachment' AND term_taxonomy_id = %d", $term ) );
 
@@ -4105,14 +4189,14 @@ function _update_post_term_count( $terms, $taxonomy ) {
 /**
  * Will update term count based on number of objects.
  *
- * Default callback for the link_category taxonomy.
+ * Default callback for the 'link_category' taxonomy.
  *
  * @since 3.3.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param array $terms List of Term taxonomy IDs
- * @param object $taxonomy Current taxonomy object of terms
+ * @param array  $terms    List of term taxonomy IDs.
+ * @param object $taxonomy Current taxonomy object of terms.
  */
 function _update_generic_term_count( $terms, $taxonomy ) {
        global $wpdb;
@@ -4130,34 +4214,61 @@ function _update_generic_term_count( $terms, $taxonomy ) {
 }
 
 /**
- * Create a new term for a term_taxonomy item that currently shares its term with another term_taxonomy.
+ * Create a new term for a term_taxonomy item that currently shares its term
+ * with another term_taxonomy.
  *
  * @ignore
  * @since 4.2.0
- *
- * @param int  $term_id          ID of the shared term.
- * @param int  $term_taxonomy_id ID of the term_taxonomy item to receive a new term.
+ * @since 4.3.0 Introduced `$record` parameter. Also, `$term_id` and
+ *              `$term_taxonomy_id` can now accept objects.
+ *
+ * @global wpdb $wpdb
+ *
+ * @param int|object $term_id          ID of the shared term, or the shared term object.
+ * @param int|object $term_taxonomy_id ID of the term_taxonomy item to receive a new term, or the term_taxonomy object
+ *                                     (corresponding to a row from the term_taxonomy table).
+ * @param bool       $record           Whether to record data about the split term in the options table. The recording
+ *                                     process has the potential to be resource-intensive, so during batch operations
+ *                                     it can be beneficial to skip inline recording and do it just once, after the
+ *                                     batch is processed. Only set this to `false` if you know what you are doing.
+ *                                     Default: true.
  * @return int|WP_Error When the current term does not need to be split (or cannot be split on the current
  *                      database schema), `$term_id` is returned. When the term is successfully split, the
  *                      new term_id is returned. A WP_Error is returned for miscellaneous errors.
  */
-function _split_shared_term( $term_id, $term_taxonomy_id ) {
+function _split_shared_term( $term_id, $term_taxonomy_id, $record = true ) {
        global $wpdb;
 
-       // Don't try to split terms if database schema does not support shared slugs.
-       $current_db_version = get_option( 'db_version' );
-       if ( $current_db_version < 30133 ) {
-               return $term_id;
+       if ( is_object( $term_id ) ) {
+               $shared_term = $term_id;
+               $term_id = intval( $shared_term->term_id );
+       }
+
+       if ( is_object( $term_taxonomy_id ) ) {
+               $term_taxonomy = $term_taxonomy_id;
+               $term_taxonomy_id = intval( $term_taxonomy->term_taxonomy_id );
        }
 
        // If there are no shared term_taxonomy rows, there's nothing to do here.
        $shared_tt_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_taxonomy tt WHERE tt.term_id = %d AND tt.term_taxonomy_id != %d", $term_id, $term_taxonomy_id ) );
+
        if ( ! $shared_tt_count ) {
                return $term_id;
        }
 
+       /*
+        * Verify that the term_taxonomy_id passed to the function is actually associated with the term_id.
+        * If there's a mismatch, it may mean that the term is already split. Return the actual term_id from the db.
+        */
+       $check_term_id = $wpdb->get_var( $wpdb->prepare( "SELECT term_id FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = %d", $term_taxonomy_id ) );
+       if ( $check_term_id != $term_id ) {
+               return $check_term_id;
+       }
+
        // Pull up data about the currently shared slug, which we'll use to populate the new one.
-       $shared_term = $wpdb->get_row( $wpdb->prepare( "SELECT t.* FROM $wpdb->terms t WHERE t.term_id = %d", $term_id ) );
+       if ( empty( $shared_term ) ) {
+               $shared_term = $wpdb->get_row( $wpdb->prepare( "SELECT t.* FROM $wpdb->terms t WHERE t.term_id = %d", $term_id ) );
+       }
 
        $new_term_data = array(
                'name' => $shared_term->name,
@@ -4178,9 +4289,11 @@ function _split_shared_term( $term_id, $term_taxonomy_id ) {
        );
 
        // Reassign child terms to the new parent.
-       $term_taxonomy = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = %d", $term_taxonomy_id ) );
-       $children_tt_ids = $wpdb->get_col( $wpdb->prepare( "SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE taxonomy = %s AND parent = %d", $term_taxonomy->taxonomy, $term_id ) );
+       if ( empty( $term_taxonomy ) ) {
+               $term_taxonomy = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = %d", $term_taxonomy_id ) );
+       }
 
+       $children_tt_ids = $wpdb->get_col( $wpdb->prepare( "SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE parent = %d AND taxonomy = %s", $term_id, $term_taxonomy->taxonomy ) );
        if ( ! empty( $children_tt_ids ) ) {
                foreach ( $children_tt_ids as $child_tt_id ) {
                        $wpdb->update( $wpdb->term_taxonomy,
@@ -4203,14 +4316,15 @@ function _split_shared_term( $term_id, $term_taxonomy_id ) {
        }
 
        // Keep a record of term_ids that have been split, keyed by old term_id. See {@see wp_get_split_term()}.
-       $split_term_data = get_option( '_split_terms', array() );
-       if ( ! isset( $split_term_data[ $term_id ] ) ) {
-               $split_term_data[ $term_id ] = array();
-       }
-
-       $split_term_data[ $term_id ][ $term_taxonomy->taxonomy ] = $new_term_id;
+       if ( $record ) {
+               $split_term_data = get_option( '_split_terms', array() );
+               if ( ! isset( $split_term_data[ $term_id ] ) ) {
+                       $split_term_data[ $term_id ] = array();
+               }
 
-       update_option( '_split_terms', $split_term_data );
+               $split_term_data[ $term_id ][ $term_taxonomy->taxonomy ] = $new_term_id;
+               update_option( '_split_terms', $split_term_data );
+       }
 
        /**
         * Fires after a previously shared taxonomy term is split into two separate terms.
@@ -4227,6 +4341,114 @@ function _split_shared_term( $term_id, $term_taxonomy_id ) {
        return $new_term_id;
 }
 
+/**
+ * Splits a batch of shared taxonomy terms.
+ *
+ * @since 4.3.0
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
+ */
+function _wp_batch_split_terms() {
+       global $wpdb;
+
+       $lock_name = 'term_split.lock';
+
+       // Try to lock.
+       $lock_result = $wpdb->query( $wpdb->prepare( "INSERT IGNORE INTO `$wpdb->options` ( `option_name`, `option_value`, `autoload` ) VALUES (%s, %s, 'no') /* LOCK */", $lock_name, time() ) );
+
+       if ( ! $lock_result ) {
+               $lock_result = get_option( $lock_name );
+
+               // Bail if we were unable to create a lock, or if the existing lock is still valid.
+               if ( ! $lock_result || ( $lock_result > ( time() - HOUR_IN_SECONDS ) ) ) {
+                       wp_schedule_single_event( time() + ( 5 * MINUTE_IN_SECONDS ), 'wp_split_shared_term_batch' );
+                       return;
+               }
+       }
+
+       // Update the lock, as by this point we've definitely got a lock, just need to fire the actions.
+       update_option( $lock_name, time() );
+
+       // Get a list of shared terms (those with more than one associated row in term_taxonomy).
+       $shared_terms = $wpdb->get_results(
+               "SELECT tt.term_id, t.*, count(*) as term_tt_count FROM {$wpdb->term_taxonomy} tt
+                LEFT JOIN {$wpdb->terms} t ON t.term_id = tt.term_id
+                GROUP BY t.term_id
+                HAVING term_tt_count > 1
+                LIMIT 10"
+       );
+
+       // No more terms, we're done here.
+       if ( ! $shared_terms ) {
+               update_option( 'finished_splitting_shared_terms', true );
+               delete_option( $lock_name );
+               return;
+       }
+
+       // Shared terms found? We'll need to run this script again.
+       wp_schedule_single_event( time() + ( 2 * MINUTE_IN_SECONDS ), 'wp_split_shared_term_batch' );
+
+       // Rekey shared term array for faster lookups.
+       $_shared_terms = array();
+       foreach ( $shared_terms as $shared_term ) {
+               $term_id = intval( $shared_term->term_id );
+               $_shared_terms[ $term_id ] = $shared_term;
+       }
+       $shared_terms = $_shared_terms;
+
+       // Get term taxonomy data for all shared terms.
+       $shared_term_ids = implode( ',', array_keys( $shared_terms ) );
+       $shared_tts = $wpdb->get_results( "SELECT * FROM {$wpdb->term_taxonomy} WHERE `term_id` IN ({$shared_term_ids})" );
+
+       // Split term data recording is slow, so we do it just once, outside the loop.
+       $split_term_data = get_option( '_split_terms', array() );
+       $skipped_first_term = $taxonomies = array();
+       foreach ( $shared_tts as $shared_tt ) {
+               $term_id = intval( $shared_tt->term_id );
+
+               // Don't split the first tt belonging to a given term_id.
+               if ( ! isset( $skipped_first_term[ $term_id ] ) ) {
+                       $skipped_first_term[ $term_id ] = 1;
+                       continue;
+               }
+
+               if ( ! isset( $split_term_data[ $term_id ] ) ) {
+                       $split_term_data[ $term_id ] = array();
+               }
+
+               // Keep track of taxonomies whose hierarchies need flushing.
+               if ( ! isset( $taxonomies[ $shared_tt->taxonomy ] ) ) {
+                       $taxonomies[ $shared_tt->taxonomy ] = 1;
+               }
+
+               // Split the term.
+               $split_term_data[ $term_id ][ $shared_tt->taxonomy ] = _split_shared_term( $shared_terms[ $term_id ], $shared_tt, false );
+       }
+
+       // Rebuild the cached hierarchy for each affected taxonomy.
+       foreach ( array_keys( $taxonomies ) as $tax ) {
+               delete_option( "{$tax}_children" );
+               _get_term_hierarchy( $tax );
+       }
+
+       update_option( '_split_terms', $split_term_data );
+
+       delete_option( $lock_name );
+}
+
+/**
+ * In order to avoid the wp_batch_split_terms() job being accidentally removed,
+ * check that it's still scheduled while we haven't finished splitting terms.
+ *
+ * @ignore
+ * @since 4.3.0
+ */
+function _wp_check_for_scheduled_split_terms() {
+       if ( ! get_option( 'finished_splitting_shared_terms' ) && ! wp_next_scheduled( 'wp_batch_split_terms' ) ) {
+               wp_schedule_single_event( 'wp_batch_split_terms', time() + MINUTE_IN_SECONDS );
+       }
+}
+
 /**
  * Check default categories when a term gets split to see if any of them need to be updated.
  *
@@ -4256,6 +4478,8 @@ function _wp_check_split_default_terms( $term_id, $new_term_id, $term_taxonomy_i
  * @ignore
  * @since 4.2.0
  *
+ * @global wpdb $wpdb
+ *
  * @param int    $term_id          ID of the formerly shared term.
  * @param int    $new_term_id      ID of the new term created for the $term_taxonomy_id.
  * @param int    $term_taxonomy_id ID for the term_taxonomy row affected by the split.
@@ -4282,6 +4506,34 @@ function _wp_check_split_terms_in_menus( $term_id, $new_term_id, $term_taxonomy_
        }
 }
 
+/**
+ * If the term being split is a nav_menu, change associations.
+ *
+ * @ignore
+ * @since 4.3.0
+ *
+ * @global wpdb $wpdb
+ *
+ * @param int    $term_id          ID of the formerly shared term.
+ * @param int    $new_term_id      ID of the new term created for the $term_taxonomy_id.
+ * @param int    $term_taxonomy_id ID for the term_taxonomy row affected by the split.
+ * @param string $taxonomy         Taxonomy for the split term.
+ */
+function _wp_check_split_nav_menu_terms( $term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) {
+       if ( 'nav_menu' !== $taxonomy ) {
+               return;
+       }
+
+       // Update menu locations.
+       $locations = get_nav_menu_locations();
+       foreach ( $locations as $location => $menu_id ) {
+               if ( $term_id == $menu_id ) {
+                       $locations[ $location ] = $new_term_id;
+               }
+       }
+       set_theme_mod( 'nav_menu_locations', $locations );
+}
+
 /**
  * Get data about terms that previously shared a single term_id, but have since been split.
  *
@@ -4308,9 +4560,9 @@ function wp_get_split_terms( $old_term_id ) {
  *
  * @param int    $old_term_id Term ID. This is the old, pre-split term ID.
  * @param string $taxonomy    Taxonomy that the term belongs to.
- * @return bool|int If a previously split term is found corresponding to the old term_id and taxonomy,
- *                  the new term_id will be returned. If no previously split term is found matching
- *                  the parameters, returns false.
+ * @return int|false If a previously split term is found corresponding to the old term_id and taxonomy,
+ *                   the new term_id will be returned. If no previously split term is found matching
+ *                   the parameters, returns false.
  */
 function wp_get_split_term( $old_term_id, $taxonomy ) {
        $split_terms = wp_get_split_terms( $old_term_id );
@@ -4328,18 +4580,20 @@ function wp_get_split_term( $old_term_id, $taxonomy ) {
  *
  * @since 2.5.0
  *
+ * @global WP_Rewrite $wp_rewrite
+ *
  * @param object|int|string $term     The term object, ID, or slug whose link will be retrieved.
  * @param string            $taxonomy Optional. Taxonomy. Default empty.
  * @return string|WP_Error HTML link to taxonomy term archive on success, WP_Error if term does not exist.
  */
-function get_term_link( $term, $taxonomy = '') {
+function get_term_link( $term, $taxonomy = '' ) {
        global $wp_rewrite;
 
        if ( !is_object($term) ) {
-               if ( is_int($term) ) {
-                       $term = get_term($term, $taxonomy);
+               if ( is_int( $term ) ) {
+                       $term = get_term( $term, $taxonomy );
                } else {
-                       $term = get_term_by('slug', $term, $taxonomy);
+                       $term = get_term_by( 'slug', $term, $taxonomy );
                }
        }
 
@@ -4429,8 +4683,8 @@ function get_term_link( $term, $taxonomy = '') {
  * @since 2.5.0
  *
  * @param array $args {
- *     Arguments about which post to use and how to format the output. Shares all of the arguments supported by
- *     {@link get_the_taxonomies()}, in addition to the following.
+ *     Arguments about which post to use and how to format the output. Shares all of the arguments
+ *     supported by get_the_taxonomies(), in addition to the following.
  *
  *     @type  int|WP_Post $post   Post ID or object to get taxonomies of. Default current post.
  *     @type  string      $before Displays before the taxonomies. Default empty string.
@@ -4462,7 +4716,7 @@ function the_taxonomies( $args = array() ) {
  *
  * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
  * @param array $args {
- *     Arguments about how to format the list of taxonomies.
+ *     Optional. Arguments about how to format the list of taxonomies. Default empty array.
  *
  *     @type string $template      Template for displaying a taxonomy label and list of terms.
  *                                 Default is "Label: Terms."
@@ -4540,9 +4794,9 @@ function get_post_taxonomies( $post = 0 ) {
  *
  * @since 2.7.0
  *
- * @param int $object_id ID of the object (post ID, link ID, ...)
- * @param string $taxonomy Single taxonomy name
- * @param int|string|array $terms Optional. Term term_id, name, slug or array of said
+ * @param int              $object_id ID of the object (post ID, link ID, ...).
+ * @param string           $taxonomy  Single taxonomy name.
+ * @param int|string|array $terms     Optional. Term term_id, name, slug or array of said. Default null.
  * @return bool|WP_Error WP_Error on input error.
  */
 function is_object_in_term( $object_id, $taxonomy, $terms = null ) {
@@ -4593,20 +4847,16 @@ function is_object_in_term( $object_id, $taxonomy, $terms = null ) {
  *
  * @since 3.0.0
  *
- * @param string $object_type Object type string
- * @param string $taxonomy Single taxonomy name
+ * @param string $object_type Object type string.
+ * @param string $taxonomy    Single taxonomy name.
  * @return bool True if object is associated with the taxonomy, otherwise false.
  */
-function is_object_in_taxonomy($object_type, $taxonomy) {
-       $taxonomies = get_object_taxonomies($object_type);
-
-       if ( empty($taxonomies) )
+function is_object_in_taxonomy( $object_type, $taxonomy ) {
+       $taxonomies = get_object_taxonomies( $object_type );
+       if ( empty( $taxonomies ) ) {
                return false;
-
-       if ( in_array($taxonomy, $taxonomies) )
-               return true;
-
-       return false;
+       }
+       return in_array( $taxonomy, $taxonomies );
 }
 
 /**
@@ -4655,7 +4905,7 @@ function get_ancestors( $object_id = 0, $object_type = '', $resource_type = '' )
         * Filter a given object's ancestors.
         *
         * @since 3.1.0
-        * @since 4.1.0 Introduced the `$resource_type` parameter.
+        * @since 4.1.1 Introduced the `$resource_type` parameter.
         *
         * @param array  $ancestors     An array of object ancestors.
         * @param int    $object_id     Object ID.
@@ -4666,19 +4916,19 @@ function get_ancestors( $object_id = 0, $object_type = '', $resource_type = '' )
 }
 
 /**
- * Returns the term's parent's term_ID
+ * Returns the term's parent's term_ID.
  *
  * @since 3.1.0
  *
- * @param int $term_id
- * @param string $taxonomy
- *
- * @return int|bool false on error
+ * @param int    $term_id  Term ID.
+ * @param string $taxonomy Taxonomy name.
+ * @return int|false False on error.
  */
 function wp_get_term_taxonomy_parent_id( $term_id, $taxonomy ) {
        $term = get_term( $term_id, $taxonomy );
-       if ( !$term || is_wp_error( $term ) )
+       if ( ! $term || is_wp_error( $term ) ) {
                return false;
+       }
        return (int) $term->parent;
 }
 
@@ -4686,12 +4936,12 @@ function wp_get_term_taxonomy_parent_id( $term_id, $taxonomy ) {
  * Checks the given subset of the term hierarchy for hierarchy loops.
  * Prevents loops from forming and breaks those that it finds.
  *
- * Attached to the wp_update_term_parent filter.
+ * Attached to the {@see 'wp_update_term_parent'} filter.
  *
  * @since 3.1.0
  *
- * @param int $parent term_id of the parent for the term we're checking.
- * @param int $term_id The term we're checking.
+ * @param int    $parent   `term_id` of the parent for the term we're checking.
+ * @param int    $term_id  The term we're checking.
  * @param string $taxonomy The taxonomy of the term we're checking.
  *
  * @return int The new parent for the term.
@@ -4701,16 +4951,15 @@ function wp_check_term_hierarchy_for_loops( $parent, $term_id, $taxonomy ) {
        if ( !$parent )
                return 0;
 
-       // Can't be its own parent
+       // Can't be its own parent.
        if ( $parent == $term_id )
                return 0;
 
-       // Now look for larger loops
-
+       // Now look for larger loops.
        if ( !$loop = wp_find_hierarchy_loop( 'wp_get_term_taxonomy_parent_id', $term_id, $parent, array( $taxonomy ) ) )
                return $parent; // No loop
 
-       // Setting $parent to the given value causes a loop
+       // Setting $parent to the given value causes a loop.
        if ( isset( $loop[$term_id] ) )
                return 0;
 
index 7bf3097d648e545d539b36d3459136b9ceb0d130..95216fe5e0f5bb9b37fdba4a52745542c97df69b 100644 (file)
@@ -53,6 +53,7 @@ if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
                remove_filter('the_content', 'prepend_attachment');
        elseif ( is_single()         && $template = get_single_template()         ) :
        elseif ( is_page()           && $template = get_page_template()           ) :
+       elseif ( is_singular()       && $template = get_singular_template()       ) :
        elseif ( is_category()       && $template = get_category_template()       ) :
        elseif ( is_tag()            && $template = get_tag_template()            ) :
        elseif ( is_author()         && $template = get_author_template()         ) :
index cfe9bb06aa8f3312b74c9962837fef730e9ca458..3e4e9a403ed441395366fe4844b9020ffb8a1aa0 100644 (file)
@@ -16,8 +16,8 @@
  *
  * @since 1.5.0
  *
- * @param string $type Filename without extension.
- * @param array $templates An optional list of template candidates
+ * @param string $type      Filename without extension.
+ * @param array  $templates An optional list of template candidates
  * @return string Full path to template file.
  */
 function get_query_template( $type, $templates = array() ) {
@@ -27,16 +27,17 @@ function get_query_template( $type, $templates = array() ) {
                $templates = array("{$type}.php");
 
        $template = locate_template( $templates );
+
        /**
         * Filter the path of the queried template by type.
         *
-        * The dynamic portion of the hook name, `$type`, refers to the filename
-        * -- minus the extension -- of the file to load. This hook also applies
-        * to various types of files loaded as part of the Template Hierarchy.
+        * The dynamic portion of the hook name, `$type`, refers to the filename -- minus the file
+        * extension and any non-alphanumeric characters delimiting words -- of the file to load.
+        * This hook also applies to various types of files loaded as part of the Template Hierarchy.
         *
         * @since 1.5.0
         *
-        * @param string $template Path to the template. See {@see locate_template()}.
+        * @param string $template Path to the template. See locate_template().
         */
        return apply_filters( "{$type}_template", $template );
 }
@@ -44,7 +45,8 @@ function get_query_template( $type, $templates = array() ) {
 /**
  * Retrieve path of index template in current or parent template.
  *
- * The template path is filterable via the 'index_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'index_template'.
  *
  * @since 3.0.0
  *
@@ -59,7 +61,8 @@ function get_index_template() {
 /**
  * Retrieve path of 404 template in current or parent template.
  *
- * The template path is filterable via the '404_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. '404_template'.
  *
  * @since 1.5.0
  *
@@ -74,7 +77,8 @@ function get_404_template() {
 /**
  * Retrieve path of archive template in current or parent template.
  *
- * The template path is filterable via the 'archive_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'archive_template'.
  *
  * @since 1.5.0
  *
@@ -99,7 +103,8 @@ function get_archive_template() {
 /**
  * Retrieve path of post type archive template in current or parent template.
  *
- * The template path is filterable via the 'archive_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'archive_template'.
  *
  * @since 3.7.0
  *
@@ -122,7 +127,8 @@ function get_post_type_archive_template() {
 /**
  * Retrieve path of author template in current or parent template.
  *
- * The template path is filterable via the 'author_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'author_template'.
  *
  * @since 1.5.0
  *
@@ -147,11 +153,12 @@ function get_author_template() {
 /**
  * Retrieve path of category template in current or parent template.
  *
- * Works by first retrieving the current slug, for example 'category-default.php', and then
- * trying category ID, for example 'category-1.php', and will finally fall back to category.php
- * template, if those files don't exist.
+ * Works by first retrieving the current slug, for example 'category-default.php',
+ * and then trying category ID, for example 'category-1.php', and will finally fall
+ * back to category.php template, if those files don't exist.
  *
- * The template path is filterable via the 'category_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'category_template'.
  *
  * @since 1.5.0
  *
@@ -176,11 +183,12 @@ function get_category_template() {
 /**
  * Retrieve path of tag template in current or parent template.
  *
- * Works by first retrieving the current tag name, for example 'tag-wordpress.php', and then
- * trying tag ID, for example 'tag-1.php', and will finally fall back to tag.php
- * template, if those files don't exist.
+ * Works by first retrieving the current tag name, for example 'tag-wordpress.php',
+ * and then trying tag ID, for example 'tag-1.php', and will finally fall back to
+ * tag.php template, if those files don't exist.
  *
- * The template path is filterable via the 'tag_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'tag_template'.
  *
  * @since 2.3.0
  *
@@ -214,7 +222,8 @@ function get_tag_template() {
  * template is used. If none of the files exist, then it will fall back on to
  * index.php.
  *
- * The template path is filterable via the 'taxonomy_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'taxonomy_template'.
  *
  * @since 2.5.0
  *
@@ -240,7 +249,8 @@ function get_taxonomy_template() {
 /**
  * Retrieve path of date template in current or parent template.
  *
- * The template path is filterable via the 'date_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'date_template'.
  *
  * @since 1.5.0
  *
@@ -258,7 +268,8 @@ function get_date_template() {
  * This is the template used for the page containing the blog posts.
  * Attempts to locate 'home.php' first before falling back to 'index.php'.
  *
- * The template path is filterable via the 'home_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'home_template'.
  *
  * @since 1.5.0
  *
@@ -276,7 +287,7 @@ function get_home_template() {
  * Retrieve path of front-page template in current or parent template.
  *
  * Looks for 'front-page.php'. The template path is filterable via the
- * 'front_page_template' hook.
+ * dynamic {@see '$type_template'} hook, e.g. 'frontpage_template'.
  *
  * @since 3.0.0
  *
@@ -297,7 +308,8 @@ function get_front_page_template() {
  * Then will search for 'page-{slug}.php', followed by 'page-{id}.php',
  * and finally 'page.php'.
  *
- * The template path is filterable via the 'page_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'page_template'.
  *
  * @since 1.5.0
  *
@@ -332,7 +344,8 @@ function get_page_template() {
 /**
  * Retrieve path of paged template in current or parent template.
  *
- * The template path is filterable via the 'paged_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'paged_template'.
  *
  * @since 1.5.0
  *
@@ -347,7 +360,8 @@ function get_paged_template() {
 /**
  * Retrieve path of search template in current or parent template.
  *
- * The template path is filterable via the 'search_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'search_template'.
  *
  * @since 1.5.0
  *
@@ -362,7 +376,8 @@ function get_search_template() {
 /**
  * Retrieve path of single template in current or parent template.
  *
- * The template path is filterable via the 'single_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'single_template'.
  *
  * @since 1.5.0
  *
@@ -382,6 +397,22 @@ function get_single_template() {
        return get_query_template( 'single', $templates );
 }
 
+/**
+ * Retrieves the path of the singular template in current or parent template.
+ *
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'singular_template'.
+ *
+ * @since 4.3.0
+ *
+ * @see get_query_template()
+ *
+ * @return string Full path to singular template file
+ */
+function get_singular_template() {
+       return get_query_template( 'singular' );
+}
+
 /**
  * Retrieve path of attachment template in current or parent template.
  *
@@ -391,35 +422,40 @@ function get_single_template() {
  * 'attachment.php' is checked and returned.
  *
  * Some examples for the 'text/plain' mime type are 'text.php', 'plain.php', and
- * finally 'text_plain.php'.
+ * finally 'text-plain.php'.
  *
- * The template path is filterable via the 'attachment_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'attachment_template'.
  *
  * @since 2.0.0
  *
  * @see get_query_template()
  *
+ * @global array $posts
+ *
  * @return string Full path to attachment template file.
  */
 function get_attachment_template() {
-       global $posts;
-
-       if ( ! empty( $posts ) && isset( $posts[0]->post_mime_type ) ) {
-               $type = explode( '/', $posts[0]->post_mime_type );
-
-               if ( ! empty( $type ) ) {
-                       if ( $template = get_query_template( $type[0] ) )
-                               return $template;
-                       elseif ( ! empty( $type[1] ) ) {
-                               if ( $template = get_query_template( $type[1] ) )
-                                       return $template;
-                               elseif ( $template = get_query_template( "$type[0]_$type[1]" ) )
-                                       return $template;
-                       }
+       $attachment = get_queried_object();
+
+       $templates = array();
+
+       if ( $attachment ) {
+               if ( false !== strpos( $attachment->post_mime_type, '/' ) ) {
+                       list( $type, $subtype ) = explode( '/', $attachment->post_mime_type );
+               } else {
+                       list( $type, $subtype ) = array( $attachment->post_mime_type, '' );
+               }
+
+               if ( ! empty( $subtype ) ) {
+                       $templates[] = "{$type}-{$subtype}.php";
+                       $templates[] = "{$subtype}.php";
                }
+               $templates[] = "{$type}.php";
        }
+       $templates[] = 'attachment.php';
 
-       return get_query_template( 'attachment' );
+       return get_query_template( 'attachment', $templates );
 }
 
 /**
@@ -428,7 +464,8 @@ function get_attachment_template() {
  * Checks for comment popup template in current template, if it exists or in the
  * parent template.
  *
- * The template path is filterable via the 'comments_popup_template' hook.
+ * The template path is filterable via the dynamic {@see '$type_template'} hook,
+ * e.g. 'commentspopup_template'.
  *
  * @since 1.5.0
  *
@@ -439,7 +476,7 @@ function get_attachment_template() {
 function get_comments_popup_template() {
        $template = get_query_template( 'comments_popup', array( 'comments-popup.php' ) );
 
-       // Backward compat code will be removed in a future release
+       // Backward compat code will be removed in a future release.
        if ('' == $template)
                $template = ABSPATH . WPINC . '/theme-compat/comments-popup.php';
 
@@ -455,8 +492,8 @@ function get_comments_popup_template() {
  * @since 2.7.0
  *
  * @param string|array $template_names Template file(s) to search for, in order.
- * @param bool $load If true the template file will be loaded if it is found.
- * @param bool $require_once Whether to require_once or require. Default true. Has no effect if $load is false.
+ * @param bool         $load           If true the template file will be loaded if it is found.
+ * @param bool         $require_once   Whether to require_once or require. Default true. Has no effect if $load is false.
  * @return string The template filename if one is located.
  */
 function locate_template($template_names, $load = false, $require_once = true ) {
@@ -488,18 +525,36 @@ function locate_template($template_names, $load = false, $require_once = true )
  *
  * @since 1.5.0
  *
+ * @global array      $posts
+ * @global WP_Post    $post
+ * @global bool       $wp_did_header
+ * @global WP_Query   $wp_query
+ * @global WP_Rewrite $wp_rewrite
+ * @global wpdb       $wpdb
+ * @global string     $wp_version
+ * @global WP         $wp
+ * @global int        $id
+ * @global object     $comment
+ * @global int        $user_ID
+ *
  * @param string $_template_file Path to template file.
- * @param bool $require_once Whether to require_once or require. Default true.
+ * @param bool   $require_once   Whether to require_once or require. Default true.
  */
 function load_template( $_template_file, $require_once = true ) {
        global $posts, $post, $wp_did_header, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;
 
-       if ( is_array( $wp_query->query_vars ) )
+       if ( is_array( $wp_query->query_vars ) ) {
                extract( $wp_query->query_vars, EXTR_SKIP );
+       }
 
-       if ( $require_once )
+       if ( isset( $s ) ) {
+               $s = esc_attr( $s );
+       }
+
+       if ( $require_once ) {
                require_once( $_template_file );
-       else
+       } else {
                require( $_template_file );
+       }
 }
 
index d46c0419cd415706acc959f3a9ac74e60acdb4c2..6314d69f2478cf987dc0294e9d8a125d18ec1ccc 100644 (file)
@@ -27,10 +27,10 @@ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.
                <?php
                        if ( 1 == get_comments_number() ) {
                                /* translators: %s: post title */
-                               printf( __( 'One Response to %s' ),  '&#8220;' . get_the_title() . '&#8221;' );
+                               printf( __( 'One response to %s' ),  '&#8220;' . get_the_title() . '&#8221;' );
                        } else {
                                /* translators: 1: number of comments, 2: post title */
-                               printf( _n( '%1$s Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ),
+                               printf( _n( '%1$s response to %2$s', '%1$s responses to %2$s', get_comments_number() ),
                                        number_format_i18n( get_comments_number() ),  '&#8220;' . get_the_title() . '&#8221;' );
                        }
                ?>
index b54d64c25358070c6fb6c794a9788381077fffd9..b6f4fce64a3e943e55ecc5955fbaf0a647893ca2 100644 (file)
@@ -20,6 +20,7 @@ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.
 <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
 <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
 
+<?php if ( file_exists( get_stylesheet_directory() . '/images/kubrickbgwide.jpg' ) ) { ?>
 <style type="text/css" media="screen">
 
 <?php
@@ -32,6 +33,7 @@ if ( empty($withcomments) && !is_single() ) {
 <?php } ?>
 
 </style>
+<?php } ?>
 
 <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
 
index 6abf1dc1debc4c21438eb873c54473cac5fcf4fd..823d2ca471ee7615a2ed20117e79512579999a45 100644 (file)
@@ -14,6 +14,9 @@
  *
  * @since 3.4.0
  *
+ * @global array $wp_theme_directories
+ * @staticvar array $_themes
+ *
  * @param array $args The search arguments. Optional.
  * - errors      mixed  True to return themes with errors, false to return themes without errors, null
  *                      to return all themes. Defaults to false.
@@ -22,7 +25,7 @@
  *                      to return only network-allowed themes. Null to return all themes. Defaults to null.
  * - blog_id     int    (Multisite) The blog ID used to calculate which themes are allowed. Defaults to 0,
  *                      synonymous for the current blog.
- * @return Array of WP_Theme objects.
+ * @return array Array of WP_Theme objects.
  */
 function wp_get_themes( $args = array() ) {
        global $wp_theme_directories;
@@ -84,9 +87,11 @@ function wp_get_themes( $args = array() ) {
  *
  * @since 3.4.0
  *
+ * @global array $wp_theme_directories
+ *
  * @param string $stylesheet Directory name for the theme. Optional. Defaults to current theme.
  * @param string $theme_root Absolute path of the theme root to look in. Optional. If not specified, get_raw_theme_root()
- *     is used to calculate the theme root for the $stylesheet provided (or current theme).
+ *                              is used to calculate the theme root for the $stylesheet provided (or current theme).
  * @return WP_Theme Theme object. Be sure to check the object's exists() method if you need to confirm the theme's existence.
  */
 function wp_get_theme( $stylesheet = null, $theme_root = null ) {
@@ -243,6 +248,8 @@ function get_stylesheet_uri() {
  *
  * @since 2.1.0
  *
+ * @global WP_Locale $wp_locale
+ *
  * @return string
  */
 function get_locale_stylesheet_uri() {
@@ -338,6 +345,8 @@ function get_template_directory_uri() {
  *
  * @since 2.9.0
  *
+ * @global array $wp_theme_directories
+ *
  * @return array|string An array of theme roots keyed by template/stylesheet or a single theme root if all themes have the same root.
  */
 function get_theme_roots() {
@@ -359,6 +368,8 @@ function get_theme_roots() {
  *
  * @since 2.9.0
  *
+ * @global array $wp_theme_directories
+ *
  * @param string $directory Either the full filesystem path to a theme folder or a folder within WP_CONTENT_DIR
  * @return bool
  */
@@ -391,15 +402,19 @@ function register_theme_directory( $directory ) {
  *
  * @since 2.9.0
  *
+ * @global array $wp_theme_directories
+ * @staticvar array $found_themes
+ *
  * @param bool $force Optional. Whether to force a new directory scan. Defaults to false.
- * @return array Valid themes found
+ * @return array|false Valid themes found
  */
 function search_theme_directories( $force = false ) {
        global $wp_theme_directories;
+       static $found_themes = null;
+
        if ( empty( $wp_theme_directories ) )
                return false;
 
-       static $found_themes;
        if ( ! $force && isset( $found_themes ) )
                return $found_themes;
 
@@ -518,6 +533,8 @@ function search_theme_directories( $force = false ) {
  *
  * @since 1.5.0
  *
+ * @global array $wp_theme_directories
+ *
  * @param string $stylesheet_or_template The stylesheet or template name of the theme
  * @return string Theme path.
  */
@@ -550,10 +567,12 @@ function get_theme_root( $stylesheet_or_template = false ) {
  *
  * @since 1.5.0
  *
+ * @global array $wp_theme_directories
+ *
  * @param string $stylesheet_or_template Optional. The stylesheet or template name of the theme.
- *     Default is to leverage the main theme root.
- * @param string $theme_root Optional. The theme root for which calculations will be based, preventing
- *     the need for a get_raw_theme_root() call.
+ *                                          Default is to leverage the main theme root.
+ * @param string $theme_root             Optional. The theme root for which calculations will be based, preventing
+ *                                          the need for a get_raw_theme_root() call.
  * @return string Themes URI.
  */
 function get_theme_root_uri( $stylesheet_or_template = false, $theme_root = false ) {
@@ -597,8 +616,11 @@ function get_theme_root_uri( $stylesheet_or_template = false, $theme_root = fals
  *
  * @since 3.1.0
  *
+ * @global array $wp_theme_directories
+ *
  * @param string $stylesheet_or_template The stylesheet or template name of the theme
- * @param bool $skip_cache Optional. Whether to skip the cache. Defaults to false, meaning the cache is used.
+ * @param bool   $skip_cache             Optional. Whether to skip the cache.
+ *                                       Defaults to false, meaning the cache is used.
  * @return string Theme root
  */
 function get_raw_theme_root( $stylesheet_or_template, $skip_cache = false ) {
@@ -638,95 +660,6 @@ function locale_stylesheet() {
        echo '<link rel="stylesheet" href="' . $stylesheet . '" type="text/css" media="screen" />';
 }
 
-/**
- * Start preview theme output buffer.
- *
- * Will only perform task if the user has permissions and template and preview
- * query variables exist.
- *
- * @since 2.6.0
- */
-function preview_theme() {
-       if ( ! (isset($_GET['template']) && isset($_GET['preview'])) )
-               return;
-
-       if ( !current_user_can( 'switch_themes' ) )
-               return;
-
-       // Admin Thickbox requests
-       if ( isset( $_GET['preview_iframe'] ) )
-               show_admin_bar( false );
-
-       $_GET['template'] = preg_replace('|[^a-z0-9_./-]|i', '', $_GET['template']);
-
-       if ( validate_file($_GET['template']) )
-               return;
-
-       add_filter( 'template', '_preview_theme_template_filter' );
-
-       if ( isset($_GET['stylesheet']) ) {
-               $_GET['stylesheet'] = preg_replace('|[^a-z0-9_./-]|i', '', $_GET['stylesheet']);
-               if ( validate_file($_GET['stylesheet']) )
-                       return;
-               add_filter( 'stylesheet', '_preview_theme_stylesheet_filter' );
-       }
-
-       // Prevent theme mods to current theme being used on theme being previewed
-       add_filter( 'pre_option_theme_mods_' . get_option( 'stylesheet' ), '__return_empty_array' );
-}
-
-/**
- * Private function to modify the current template when previewing a theme
- *
- * @since 2.9.0
- * @access private
- *
- * @return string
- */
-function _preview_theme_template_filter() {
-       return isset($_GET['template']) ? $_GET['template'] : '';
-}
-
-/**
- * Private function to modify the current stylesheet when previewing a theme
- *
- * @since 2.9.0
- * @access private
- *
- * @return string
- */
-function _preview_theme_stylesheet_filter() {
-       return isset($_GET['stylesheet']) ? $_GET['stylesheet'] : '';
-}
-
-/**
- * Callback function for ob_start() to capture all links in the theme.
- *
- * @since 2.6.0
- * @access private
- *
- * @param string $content
- * @return string
- */
-function preview_theme_ob_filter( $content ) {
-       return $content;
-}
-
-/**
- * Manipulates preview theme links in order to control and maintain location.
- *
- * Callback function for preg_replace_callback() to accept and filter matches.
- *
- * @since 2.6.0
- * @access private
- *
- * @param array $matches
- * @return string
- */
-function preview_theme_ob_filter_callback( $matches ) {
-       return $matches[0];
-}
-
 /**
  * Switches the theme.
  *
@@ -735,6 +668,10 @@ function preview_theme_ob_filter_callback( $matches ) {
  *
  * @since 2.5.0
  *
+ * @global array                $wp_theme_directories
+ * @global WP_Customize_Manager $wp_customize
+ * @global array                $sidebars_widgets
+ *
  * @param string $stylesheet Stylesheet name
  */
 function switch_theme( $stylesheet ) {
@@ -850,11 +787,12 @@ function validate_current_theme() {
  *
  * @since 3.1.0
  *
- * @return array|null Theme modifications.
+ * @return array|void Theme modifications.
  */
 function get_theme_mods() {
        $theme_slug = get_option( 'stylesheet' );
-       if ( false === ( $mods = get_option( "theme_mods_$theme_slug" ) ) ) {
+       $mods = get_option( "theme_mods_$theme_slug" );
+       if ( false === $mods ) {
                $theme_name = get_option( 'current_theme' );
                if ( false === $theme_name )
                        $theme_name = wp_get_theme()->get('Name');
@@ -877,7 +815,7 @@ function get_theme_mods() {
  *
  * @since 2.1.0
  *
- * @param string $name Theme modification name.
+ * @param string      $name    Theme modification name.
  * @param bool|string $default
  * @return string
  */
@@ -912,8 +850,8 @@ function get_theme_mod( $name, $default = false ) {
  *
  * @since 2.1.0
  *
- * @param string $name Theme modification name.
- * @param mixed  $value theme modification value.
+ * @param string $name  Theme modification name.
+ * @param mixed  $value Theme modification value.
  */
 function set_theme_mod( $name, $value ) {
        $mods = get_theme_mods();
@@ -946,7 +884,6 @@ function set_theme_mod( $name, $value ) {
  * @since 2.1.0
  *
  * @param string $name Theme modification name.
- * @return null
  */
 function remove_theme_mod( $name ) {
        $mods = get_theme_mods();
@@ -956,9 +893,10 @@ function remove_theme_mod( $name ) {
 
        unset( $mods[ $name ] );
 
-       if ( empty( $mods ) )
-               return remove_theme_mods();
-
+       if ( empty( $mods ) ) {
+               remove_theme_mods();
+               return;
+       }
        $theme = get_option( 'stylesheet' );
        update_option( "theme_mods_$theme", $mods );
 }
@@ -1010,7 +948,7 @@ function display_header_text() {
                return false;
 
        $text_color = get_theme_mod( 'header_textcolor', get_theme_support( 'custom-header', 'default-text-color' ) );
-       return 'blank' != $text_color;
+       return 'blank' !== $text_color;
 }
 
 /**
@@ -1052,11 +990,13 @@ function get_header_image() {
  *
  * @access private
  *
- * @return string Path to header image
+ * @global array  $_wp_default_headers
+ * @staticvar object $_wp_random_header
+ *
+ * @return object
  */
-
 function _get_random_header_data() {
-       static $_wp_random_header;
+       static $_wp_random_header = null;
 
        if ( empty( $_wp_random_header ) ) {
                global $_wp_default_headers;
@@ -1092,7 +1032,6 @@ function _get_random_header_data() {
  *
  * @return string Path to header image
  */
-
 function get_random_header_image() {
        $random_image = _get_random_header_data();
        if ( empty( $random_image->url ) )
@@ -1110,7 +1049,7 @@ function get_random_header_image() {
  * @since 3.2.0
  *
  * @param string $type The random pool to use. any|default|uploaded
- * @return boolean
+ * @return bool
  */
 function is_random_header_image( $type = 'any' ) {
        $header_image_mod = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );
@@ -1160,10 +1099,13 @@ function get_uploaded_header_images() {
                $url = esc_url_raw( wp_get_attachment_url( $header->ID ) );
                $header_data = wp_get_attachment_metadata( $header->ID );
                $header_index = basename($url);
+
                $header_images[$header_index] = array();
-               $header_images[$header_index]['attachment_id'] =  $header->ID;
+               $header_images[$header_index]['attachment_id'] = $header->ID;
                $header_images[$header_index]['url'] =  $url;
-               $header_images[$header_index]['thumbnail_url'] =  $url;
+               $header_images[$header_index]['thumbnail_url'] = $url;
+               $header_images[$header_index]['alt_text'] = get_post_meta( $header->ID, '_wp_attachment_image_alt', true );
+
                if ( isset( $header_data['width'] ) )
                        $header_images[$header_index]['width'] = $header_data['width'];
                if ( isset( $header_data['height'] ) )
@@ -1178,6 +1120,8 @@ function get_uploaded_header_images() {
  *
  * @since 3.4.0
  *
+ * @global array $_wp_default_headers
+ *
  * @return object
  */
 function get_custom_header() {
@@ -1219,6 +1163,8 @@ function get_custom_header() {
  *
  * @since 3.0.0
  *
+ * @global array $_wp_default_headers
+ *
  * @param array $headers Array of headers keyed by a string id. The ids point to arrays containing 'url', 'thumbnail_url', and 'description' keys.
  */
 function register_default_headers( $headers ) {
@@ -1236,6 +1182,8 @@ function register_default_headers( $headers ) {
  * @see register_default_headers()
  * @since 3.0.0
  *
+ * @global array $_wp_default_headers
+ *
  * @param string|array $header The header string id (key of array) to remove, or an array thereof.
  * @return bool|void A single header returns true on success, false on failure.
  *                   There is currently no return value for multiple headers.
@@ -1359,11 +1307,12 @@ body.custom-background { <?php echo trim( $style ); ?> }
  *
  * @since 3.0.0
  *
+ * @global array $editor_styles
+ *
  * @param array|string $stylesheet Optional. Stylesheet name or array thereof, relative to theme root.
- *     Defaults to 'editor-style.css'
+ *                                    Defaults to 'editor-style.css'
  */
 function add_editor_style( $stylesheet = 'editor-style.css' ) {
-
        add_theme_support( 'editor-style' );
 
        if ( ! is_admin() )
@@ -1385,6 +1334,8 @@ function add_editor_style( $stylesheet = 'editor-style.css' ) {
  *
  * @since 3.1.0
  *
+ * @global array $editor_styles
+ *
  * @return bool True on success, false if there were no stylesheets to remove.
  */
 function remove_editor_styles() {
@@ -1401,7 +1352,7 @@ function remove_editor_styles() {
  *
  * @since 4.0.0
  *
- * @global $editor_styles Registered editor stylesheets
+ * @global array $editor_styles Registered editor stylesheets
  *
  * @return array If registered, a list of editor stylesheet URLs.
  */
@@ -1441,7 +1392,15 @@ function get_editor_stylesheets() {
                        }
                }
        }
-       return $stylesheets;
+
+       /**
+        * Filter the array of stylesheets applied to the editor.
+        *
+        * @since 4.3.0
+        *
+        * @param array $stylesheets Array of stylesheets to be applied to the editor.
+        */
+       return apply_filters( 'editor_stylesheets', $stylesheets );
 }
 
 /**
@@ -1453,6 +1412,8 @@ function get_editor_stylesheets() {
  *
  * @since 2.9.0
  *
+ * @global array $_wp_theme_features
+ *
  * @param string $feature The feature being added.
  * @return void|bool False on failure, void otherwise.
  */
@@ -1626,6 +1587,9 @@ function add_theme_support( $feature ) {
  *
  * @since 3.4.0
  * @access private
+ *
+ * @global Custom_Image_Header $custom_image_header
+ * @global Custom_Background   $custom_background
  */
 function _custom_header_background_just_in_time() {
        global $custom_image_header, $custom_background;
@@ -1663,6 +1627,8 @@ function _custom_header_background_just_in_time() {
  *
  * @since 3.1.0
  *
+ * @global array $_wp_theme_features
+ *
  * @param string $feature the feature to check
  * @return mixed The array of extra arguments or the value for the registered feature.
  */
@@ -1696,7 +1662,7 @@ function get_theme_support( $feature ) {
  * @since 3.0.0
  * @see add_theme_support()
  * @param string $feature the feature being added
- * @return null|bool Whether feature was removed.
+ * @return bool|void Whether feature was removed.
  */
 function remove_theme_support( $feature ) {
        // Blacklist: for internal registrations not used directly by themes.
@@ -1711,6 +1677,11 @@ function remove_theme_support( $feature ) {
  *
  * @access private
  * @since 3.1.0
+ *
+ * @global array               $_wp_theme_features
+ * @global Custom_Image_Header $custom_image_header
+ * @global Custom_Background   $custom_background
+ *
  * @param string $feature
  */
 function _remove_theme_support( $feature ) {
@@ -1756,8 +1727,11 @@ function _remove_theme_support( $feature ) {
  * Checks a theme's support for a given feature
  *
  * @since 2.9.0
+ *
+ * @global array $_wp_theme_features
+ *
  * @param string $feature the feature being checked
- * @return boolean
+ * @return bool
  */
 function current_theme_supports( $feature ) {
        global $_wp_theme_features;
@@ -1847,22 +1821,27 @@ function require_if_theme_supports( $feature, $include ) {
  * Checks an attachment being deleted to see if it's a header or background image.
  *
  * If true it removes the theme modification which would be pointing at the deleted
- * attachment
+ * attachment.
  *
  * @access private
  * @since 3.0.0
- * @param int $id the attachment id
+ * @since 4.3.0 Also removes `header_image_data`.
+ *
+ * @param int $id The attachment id.
  */
 function _delete_attachment_theme_mod( $id ) {
        $attachment_image = wp_get_attachment_url( $id );
-       $header_image = get_header_image();
+       $header_image     = get_header_image();
        $background_image = get_background_image();
 
-       if ( $header_image && $header_image == $attachment_image )
+       if ( $header_image && $header_image == $attachment_image ) {
                remove_theme_mod( 'header_image' );
+               remove_theme_mod( 'header_image_data' );
+       }
 
-       if ( $background_image && $background_image == $attachment_image )
+       if ( $background_image && $background_image == $attachment_image ) {
                remove_theme_mod( 'background_image' );
+       }
 }
 
 /**
@@ -1910,6 +1889,8 @@ function check_theme_switched() {
  * Fires when ?wp_customize=on or on wp-admin/customize.php.
  *
  * @since 3.4.0
+ *
+ * @global WP_Customize_Manager $wp_customize
  */
 function _wp_customize_include() {
        if ( ! ( ( isset( $_REQUEST['wp_customize'] ) && 'on' == $_REQUEST['wp_customize'] )
@@ -1917,9 +1898,8 @@ function _wp_customize_include() {
        ) )
                return;
 
-       require( ABSPATH . WPINC . '/class-wp-customize-manager.php' );
-       // Init Customize class
-       $GLOBALS['wp_customize'] = new WP_Customize_Manager;
+       require_once ABSPATH . WPINC . '/class-wp-customize-manager.php';
+       $GLOBALS['wp_customize'] = new WP_Customize_Manager();
 }
 
 /**
@@ -1928,8 +1908,6 @@ function _wp_customize_include() {
  * @since 3.4.0
  */
 function _wp_customize_loader_settings() {
-       global $wp_scripts;
-
        $admin_origin = parse_url( admin_url() );
        $home_origin  = parse_url( home_url() );
        $cross_domain = ( strtolower( $admin_origin[ 'host' ] ) != strtolower( $home_origin[ 'host' ] ) );
@@ -1951,6 +1929,7 @@ function _wp_customize_loader_settings() {
 
        $script = 'var _wpCustomizeLoaderSettings = ' . wp_json_encode( $settings ) . ';';
 
+       $wp_scripts = wp_scripts();
        $data = $wp_scripts->get_data( 'customize-loader', 'data' );
        if ( $data )
                $script = "$data\n$script";
@@ -1964,7 +1943,8 @@ function _wp_customize_loader_settings() {
  * @since 3.4.0
  *
  * @param string $stylesheet Optional. Theme to customize. Defaults to current theme.
- *     The theme's stylesheet will be urlencoded if necessary.
+ *                              The theme's stylesheet will be urlencoded if necessary.
+ * @return string
  */
 function wp_customize_url( $stylesheet = null ) {
        $url = admin_url( 'customize.php' );
index 98d529ec351bbf639851de9c5deb28e2225cb240..c39322ee46266b80586a4b691c710eea3e482da4 100644 (file)
  * isn't installing.
  *
  * @since 2.3.0
- * @uses $wp_version Used to check against the newest WordPress version.
+ * @global string $wp_version Used to check against the newest WordPress version.
+ * @global wpdb   $wpdb
+ * @global string $wp_local_package
  *
  * @param array $extra_stats Extra statistics to report to the WordPress.org API.
- * @param bool $force_check Whether to bypass the transient cache and force a fresh update check. Defaults to false, true if $extra_stats is set.
- * @return null|false Returns null if update is unsupported. Returns false if check is too soon.
+ * @param bool  $force_check Whether to bypass the transient cache and force a fresh update check. Defaults to false, true if $extra_stats is set.
  */
 function wp_version_check( $extra_stats = array(), $force_check = false ) {
-       if ( defined('WP_INSTALLING') )
+       if ( defined( 'WP_INSTALLING' ) ) {
                return;
+       }
 
-       global $wpdb, $wp_local_package;
-       include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
+       global $wp_version, $wpdb, $wp_local_package;
+       // include an unmodified $wp_version
+       include( ABSPATH . WPINC . '/version.php' );
        $php_version = phpversion();
 
        $current = get_site_transient( 'update_core' );
@@ -47,10 +50,10 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
        // Wait 60 seconds between multiple version check requests
        $timeout = 60;
        $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
-       if ( ! $force_check && $time_not_changed )
-               return false;
+       if ( ! $force_check && $time_not_changed ) {
+               return;
+       }
 
-       $locale = get_locale();
        /**
         * Filter the locale requested for WordPress core translations.
         *
@@ -58,7 +61,7 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
         *
         * @param string $locale Current locale.
         */
-       $locale = apply_filters( 'core_version_check_locale', $locale );
+       $locale = apply_filters( 'core_version_check_locale', get_locale() );
 
        // Update last_checked for current to prevent multiple blocking requests if request hangs
        $current->last_checked = time();
@@ -120,14 +123,16 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
                $response = wp_remote_post( $http_url, $options );
        }
 
-       if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
-               return false;
+       if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
+               return;
+       }
 
        $body = trim( wp_remote_retrieve_body( $response ) );
        $body = json_decode( $body, true );
 
-       if ( ! is_array( $body ) || ! isset( $body['offers'] ) )
-               return false;
+       if ( ! is_array( $body ) || ! isset( $body['offers'] ) ) {
+               return;
+       }
 
        $offers = $body['offers'];
 
@@ -177,16 +182,18 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
  * api.wordpress.org. Will only check if WordPress isn't installing.
  *
  * @since 2.3.0
- * @uses $wp_version Used to notify the WordPress version.
+ * @global string $wp_version Used to notify the WordPress version.
  *
  * @param array $extra_stats Extra statistics to report to the WordPress.org API.
- * @return false|null Returns null if update is unsupported. Returns false if check is too soon.
  */
 function wp_update_plugins( $extra_stats = array() ) {
-       include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
+       if ( defined( 'WP_INSTALLING' ) ) {
+               return;
+       }
 
-       if ( defined('WP_INSTALLING') )
-               return false;
+       global $wp_version;
+       // include an unmodified $wp_version
+       include( ABSPATH . WPINC . '/version.php' );
 
        // If running blog-side, bail unless we've not checked in the last 12 hours
        if ( !function_exists( 'get_plugins' ) )
@@ -244,8 +251,9 @@ function wp_update_plugins( $extra_stats = array() ) {
                }
 
                // Bail if we've checked recently and if nothing has changed
-               if ( ! $plugin_changed )
-                       return false;
+               if ( ! $plugin_changed ) {
+                       return;
+               }
        }
 
        // Update last_checked for current to prevent multiple blocking requests if request hangs
@@ -254,7 +262,6 @@ function wp_update_plugins( $extra_stats = array() ) {
 
        $to_send = compact( 'plugins', 'active' );
 
-       $locales = array( get_locale() );
        /**
         * Filter the locales requested for plugin translations.
         *
@@ -262,7 +269,7 @@ function wp_update_plugins( $extra_stats = array() ) {
         *
         * @param array $locales Plugin locale. Default is current locale of the site.
         */
-       $locales = apply_filters( 'plugins_update_check_locales', $locales );
+       $locales = apply_filters( 'plugins_update_check_locales', array( get_locale() ) );
 
        if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
                $timeout = 30;
@@ -296,8 +303,9 @@ function wp_update_plugins( $extra_stats = array() ) {
                $raw_response = wp_remote_post( $http_url, $options );
        }
 
-       if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
-               return false;
+       if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) {
+               return;
+       }
 
        $response = json_decode( wp_remote_retrieve_body( $raw_response ), true );
        foreach ( $response['plugins'] as &$plugin ) {
@@ -334,13 +342,14 @@ function wp_update_plugins( $extra_stats = array() ) {
  * @uses $wp_version Used to notify the WordPress version.
  *
  * @param array $extra_stats Extra statistics to report to the WordPress.org API.
- * @return false|null Returns null if update is unsupported. Returns false if check is too soon.
  */
 function wp_update_themes( $extra_stats = array() ) {
-       include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
-
-       if ( defined( 'WP_INSTALLING' ) )
-               return false;
+       if ( defined( 'WP_INSTALLING' ) ) {
+               return;
+       }
+       global $wp_version;
+       // include an unmodified $wp_version
+       include( ABSPATH . WPINC . '/version.php' );
 
        $installed_themes = wp_get_themes();
        $translations = wp_get_installed_translations( 'themes' );
@@ -407,8 +416,9 @@ function wp_update_themes( $extra_stats = array() ) {
                }
 
                // Bail if we've checked recently and if nothing has changed
-               if ( ! $theme_changed )
-                       return false;
+               if ( ! $theme_changed ) {
+                       return;
+               }
        }
 
        // Update last_checked for current to prevent multiple blocking requests if request hangs
@@ -417,7 +427,6 @@ function wp_update_themes( $extra_stats = array() ) {
 
        $request['themes'] = $themes;
 
-       $locales = array( get_locale() );
        /**
         * Filter the locales requested for theme translations.
         *
@@ -425,7 +434,7 @@ function wp_update_themes( $extra_stats = array() ) {
         *
         * @param array $locales Theme locale. Default is current locale of the site.
         */
-       $locales = apply_filters( 'themes_update_check_locales', $locales );
+       $locales = apply_filters( 'themes_update_check_locales', array( get_locale() ) );
 
        if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
                $timeout = 30;
@@ -458,8 +467,9 @@ function wp_update_themes( $extra_stats = array() ) {
                $raw_response = wp_remote_post( $http_url, $options );
        }
 
-       if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
-               return false;
+       if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) {
+               return;
+       }
 
        $new_update = new stdClass;
        $new_update->last_checked = time();
@@ -492,12 +502,13 @@ function wp_maybe_auto_update() {
  * Retrieves a list of all language updates available.
  *
  * @since 3.7.0
+ *
+ * @return array
  */
 function wp_get_translation_updates() {
        $updates = array();
        $transients = array( 'update_core' => 'core', 'update_plugins' => 'plugin', 'update_themes' => 'theme' );
        foreach ( $transients as $transient => $type ) {
-
                $transient = get_site_transient( $transient );
                if ( empty( $transient->translations ) )
                        continue;
@@ -506,7 +517,6 @@ function wp_get_translation_updates() {
                        $updates[] = (object) $translation;
                }
        }
-
        return $updates;
 }
 
@@ -571,17 +581,20 @@ function wp_get_update_data() {
        return apply_filters( 'wp_get_update_data', $update_data, $titles );
 }
 
+/**
+ * @global string $wp_version
+ */
 function _maybe_update_core() {
+       global $wp_version;
        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
        $current = get_site_transient( 'update_core' );
 
-       if ( isset( $current->last_checked ) &&
+       if ( isset( $current->last_checked, $current->version_checked ) &&
                12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) &&
-               isset( $current->version_checked ) &&
-               $current->version_checked == $wp_version )
+               $current->version_checked == $wp_version ) {
                return;
-
+       }
        wp_version_check();
 }
 /**
@@ -614,7 +627,6 @@ function _maybe_update_themes() {
        $current = get_site_transient( 'update_themes' );
        if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) )
                return;
-
        wp_update_themes();
 }
 
index e602a3ece8a4366ddd0577c71ceab7e4c1e4476d..1cd2db22e5a748694e587105c6c83af788350c2e 100644 (file)
@@ -19,6 +19,8 @@
  *
  * @since 2.5.0
  *
+ * @global string $auth_secure_cookie
+ *
  * @param array       $credentials   Optional. User info in order to sign on.
  * @param string|bool $secure_cookie Optional. Whether to use secure cookie.
  * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
@@ -161,6 +163,8 @@ function wp_authenticate_username_password($user, $username, $password) {
  *
  * @since 2.8.0
  *
+ * @global string $auth_secure_cookie
+ *
  * @param WP_User|WP_Error|null $user     WP_User or WP_Error object from a previous callback. Default null.
  * @param string                $username Username. If not empty, cancels the cookie authentication.
  * @param string                $password Password. If not empty, cancels the cookie authentication.
@@ -231,8 +235,8 @@ function wp_authenticate_spam_check( $user ) {
  *
  * @param int|bool $user_id The user ID (or false) as received from the
  *                       determine_current_user filter.
- * @return int|bool User ID if validated, false otherwise. If a user ID from
- *                  an earlier filter callback is received, that value is returned.
+ * @return int|false User ID if validated, false otherwise. If a user ID from
+ *                   an earlier filter callback is received, that value is returned.
  */
 function wp_validate_logged_in_cookie( $user_id ) {
        if ( $user_id ) {
@@ -251,17 +255,20 @@ function wp_validate_logged_in_cookie( $user_id ) {
  *
  * @since 3.0.0
  * @since 4.1.0 Added `$post_type` argument.
+ * @since 4.3.0 Added `$public_only` argument. Added the ability to pass an array
+ *              of post types to `$post_type`.
  *
  * @global wpdb $wpdb WordPress database object for queries.
  *
- * @param int    $userid    User ID.
- * @param string $post_type Optional. Post type to count the number of posts for. Default 'post'.
+ * @param int          $userid      User ID.
+ * @param array|string $post_type   Optional. Post type(s) to count the number of posts for. Default 'post'.
+ * @param bool         $public_only Optional. Whether to only return counts for public posts. Default false.
  * @return int Number of posts the user has written in this post type.
  */
-function count_user_posts( $userid, $post_type = 'post' ) {
+function count_user_posts( $userid, $post_type = 'post', $public_only = false ) {
        global $wpdb;
 
-       $where = get_posts_by_author_sql( $post_type, true, $userid );
+       $where = get_posts_by_author_sql( $post_type, true, $userid, $public_only );
 
        $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
 
@@ -270,10 +277,12 @@ function count_user_posts( $userid, $post_type = 'post' ) {
         *
         * @since 2.7.0
         * @since 4.1.0 Added `$post_type` argument.
+        * @since 4.3.0 Added `$public_only` argument.
         *
-        * @param int    $count     The user's post count.
-        * @param int    $userid    User ID.
-        * @param string $post_type Post type to count the number of posts for.
+        * @param int          $count       The user's post count.
+        * @param int          $userid      User ID.
+        * @param string|array $post_types  Post types to count the number of posts for.
+        * @param bool         $public_only Whether to limit counted posts to public posts.
         */
        return apply_filters( 'get_usernumposts', $count, $userid, $post_type );
 }
@@ -283,9 +292,11 @@ function count_user_posts( $userid, $post_type = 'post' ) {
  *
  * @since 3.0.0
  *
- * @param array $users Array of user IDs.
- * @param string $post_type Optional. Post type to check. Defaults to post.
- * @param bool $public_only Optional. Only return counts for public posts.  Defaults to false.
+ * @global wpdb $wpdb
+ *
+ * @param array        $users       Array of user IDs.
+ * @param string|array $post_type   Optional. Single post type or array of post types to check. Defaults to 'post'.
+ * @param bool         $public_only Optional. Only return counts for public posts.  Defaults to false.
  * @return array Amount of posts each user has written.
  */
 function count_many_users_posts( $users, $post_type = 'post', $public_only = false ) {
@@ -511,51 +522,60 @@ class WP_User_Query {
         * @since 3.1.0
         * @since 4.2.0 Added 'meta_value_num' support for `$orderby` parameter. Added multi-dimensional array syntax
         *              for `$orderby` parameter.
+        * @since 4.3.0 Added 'has_published_posts' parameter.
         * @access public
         *
+        * @global wpdb $wpdb
+        * @global int  $blog_id
+        *
         * @param string|array $query {
         *     Optional. Array or string of Query parameters.
         *
-        *     @type int          $blog_id         The site ID. Default is the global blog id.
-        *     @type string       $role            Role name. Default empty.
-        *     @type string       $meta_key        User meta key. Default empty.
-        *     @type string       $meta_value      User meta value. Default empty.
-        *     @type string       $meta_compare    Comparison operator to test the `$meta_value`. Accepts '=', '!=',
-        *                                         '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN',
-        *                                         'NOT BETWEEN', 'EXISTS', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP',
-        *                                         or 'RLIKE'. Default '='.
-        *     @type array        $include         An array of user IDs to include. Default empty array.
-        *     @type array        $exclude         An array of user IDs to exclude. Default empty array.
-        *     @type string       $search          Search keyword. Searches for possible string matches on columns.
-        *                                         When `$search_columns` is left empty, it tries to determine which
-        *                                         column to search in based on search string. Default empty.
-        *     @type array        $search_columns  Array of column names to be searched. Accepts 'ID', 'login',
-        *                                         'nicename', 'email', 'url'. Default empty array.
-        *     @type string|array $orderby         Field(s) to sort the retrieved users by. May be a single value,
-        *                                         an array of values, or a multi-dimensional array with fields as keys
-        *                                         and orders ('ASC' or 'DESC') as values. Accepted values are'ID',
-        *                                         'display_name' (or 'name'), 'user_login' (or 'login'),
-        *                                         'user_nicename' (or 'nicename'), 'user_email' (or 'email'),
-        *                                         'user_url' (or 'url'), 'user_registered' (or 'registered'),
-        *                                         'post_count', 'meta_value', 'meta_value_num', the value of
-        *                                         `$meta_key`, or an array key of `$meta_query`. To use 'meta_value'
-        *                                         or 'meta_value_num', `$meta_key` must be also be defined.
-        *                                         Default 'user_login'.
-        *     @type string       $order           Designates ascending or descending order of users. Order values
-        *                                         passed as part of an `$orderby` array take precedence over this
-        *                                         parameter. Accepts 'ASC', 'DESC'. Default 'ASC'.
-        *     @type int          $offset          Number of users to offset in retrieved results. Can be used in
-        *                                         conjunction with pagination. Default 0.
-        *     @type int          $number          Number of users to limit the query for. Can be used in conjunction
-        *                                         with pagination. Value -1 (all) is not supported.
-        *                                         Default empty (all users).
-        *     @type bool         $count_total     Whether to count the total number of users found. If pagination is not
-        *                                         needed, setting this to false can improve performance. Default true.
-        *     @type string|array $fields          Which fields to return. Single or all fields (string), or array
-        *                                         of fields. Accepts 'ID', 'display_name', 'login', 'nicename', 'email',
-        *                                         'url', 'registered'. Use 'all' for all fields and 'all_with_meta' to
-        *                                         include meta fields. Default 'all'.
-        *     @type string       $who             Type of users to query. Accepts 'authors'. Default empty (all users).
+        *     @type int          $blog_id             The site ID. Default is the global blog id.
+        *     @type string       $role                Role name. Default empty.
+        *     @type string       $meta_key            User meta key. Default empty.
+        *     @type string       $meta_value          User meta value. Default empty.
+        *     @type string       $meta_compare        Comparison operator to test the `$meta_value`. Accepts '=', '!=',
+        *                                             '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN',
+        *                                             'BETWEEN', 'NOT BETWEEN', 'EXISTS', 'NOT EXISTS', 'REGEXP',
+        *                                             'NOT REGEXP', or 'RLIKE'. Default '='.
+        *     @type array        $include             An array of user IDs to include. Default empty array.
+        *     @type array        $exclude             An array of user IDs to exclude. Default empty array.
+        *     @type string       $search              Search keyword. Searches for possible string matches on columns.
+        *                                             When `$search_columns` is left empty, it tries to determine which
+        *                                             column to search in based on search string. Default empty.
+        *     @type array        $search_columns      Array of column names to be searched. Accepts 'ID', 'login',
+        *                                             'nicename', 'email', 'url'. Default empty array.
+        *     @type string|array $orderby             Field(s) to sort the retrieved users by. May be a single value,
+        *                                             an array of values, or a multi-dimensional array with fields as
+        *                                             keys and orders ('ASC' or 'DESC') as values. Accepted values are
+        *                                             'ID', 'display_name' (or 'name'), 'user_login' (or 'login'),
+        *                                             'user_nicename' (or 'nicename'), 'user_email' (or 'email'),
+        *                                             'user_url' (or 'url'), 'user_registered' (or 'registered'),
+        *                                             'post_count', 'meta_value', 'meta_value_num', the value of
+        *                                             `$meta_key`, or an array key of `$meta_query`. To use
+        *                                             'meta_value' or 'meta_value_num', `$meta_key` must be also be
+        *                                             defined. Default 'user_login'.
+        *     @type string       $order               Designates ascending or descending order of users. Order values
+        *                                             passed as part of an `$orderby` array take precedence over this
+        *                                             parameter. Accepts 'ASC', 'DESC'. Default 'ASC'.
+        *     @type int          $offset              Number of users to offset in retrieved results. Can be used in
+        *                                             conjunction with pagination. Default 0.
+        *     @type int          $number              Number of users to limit the query for. Can be used in
+        *                                             conjunction with pagination. Value -1 (all) is not supported.
+        *                                             Default empty (all users).
+        *     @type bool         $count_total         Whether to count the total number of users found. If pagination
+        *                                             is not needed, setting this to false can improve performance.
+        *                                             Default true.
+        *     @type string|array $fields              Which fields to return. Single or all fields (string), or array
+        *                                             of fields. Accepts 'ID', 'display_name', 'login', 'nicename',
+        *                                             'email', 'url', 'registered'. Use 'all' for all fields and
+        *                                             'all_with_meta' to include meta fields. Default 'all'.
+        *     @type string       $who                 Type of users to query. Accepts 'authors'.
+        *                                             Default empty (all users).
+        *     @type bool|array   $has_published_posts Pass an array of post types to filter results to users who have
+        *                                             published posts in those post types. `true` is an alias for all
+        *                                             public post types.
         * }
         */
        public function prepare_query( $query = array() ) {
@@ -579,7 +599,8 @@ class WP_User_Query {
                                'number' => '',
                                'count_total' => true,
                                'fields' => 'all',
-                               'who' => ''
+                               'who' => '',
+                               'has_published_posts' => null,
                        ) );
                }
 
@@ -638,6 +659,21 @@ class WP_User_Query {
                        $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query
                }
 
+               if ( $qv['has_published_posts'] && $blog_id ) {
+                       if ( true === $qv['has_published_posts'] ) {
+                               $post_types = get_post_types( array( 'public' => true ) );
+                       } else {
+                               $post_types = (array) $qv['has_published_posts'];
+                       }
+
+                       foreach ( $post_types as &$post_type ) {
+                               $post_type = $wpdb->prepare( '%s', $post_type );
+                       }
+
+                       $posts_table = $wpdb->get_blog_prefix( $blog_id ) . 'posts';
+                       $this->query_where .= " AND $wpdb->users.ID IN ( SELECT DISTINCT $posts_table.post_author FROM $posts_table WHERE $posts_table.post_status = 'publish' AND $posts_table.post_type IN ( " . join( ", ", $post_types ) . " ) )";
+               }
+
                // Meta query.
                $this->meta_query = new WP_Meta_Query();
                $this->meta_query->parse_query_vars( $qv );
@@ -674,7 +710,7 @@ class WP_User_Query {
                        $this->query_from .= $clauses['join'];
                        $this->query_where .= $clauses['where'];
 
-                       if ( 'OR' == $this->meta_query->relation ) {
+                       if ( $this->meta_query->has_or_relation() ) {
                                $this->query_fields = 'DISTINCT ' . $this->query_fields;
                        }
                }
@@ -686,7 +722,7 @@ class WP_User_Query {
                if ( empty( $qv['orderby'] ) ) {
                        // Default order is by 'user_login'.
                        $ordersby = array( 'user_login' => $order );
-               } else if ( is_array( $qv['orderby'] ) ) {
+               } elseif ( is_array( $qv['orderby'] ) ) {
                        $ordersby = $qv['orderby'];
                } else {
                        // 'orderby' values may be a comma- or space-separated list.
@@ -762,14 +798,14 @@ class WP_User_Query {
                                elseif ( preg_match('|^https?://|', $search) && ! ( is_multisite() && wp_is_large_network( 'users' ) ) )
                                        $search_columns = array('user_url');
                                else
-                                       $search_columns = array('user_login', 'user_nicename');
+                                       $search_columns = array('user_login', 'user_url', 'user_email', 'user_nicename', 'display_name');
                        }
 
                        /**
                         * Filter the columns to search in a WP_User_Query search.
                         *
                         * The default columns depend on the search term, and include 'user_email',
-                        * 'user_login', 'ID', 'user_url', and 'user_nicename'.
+                        * 'user_login', 'ID', 'user_url', 'display_name', and 'user_nicename'.
                         *
                         * @since 3.6.0
                         *
@@ -897,10 +933,12 @@ class WP_User_Query {
         * @access protected
         * @since 3.1.0
         *
+        * @global wpdb $wpdb
+        *
         * @param string $string
-        * @param array $cols
-        * @param bool $wild Whether to allow wildcard searches. Default is false for Network Admin, true for
-        *  single site. Single site allows leading and trailing wildcards, Network Admin only trailing.
+        * @param array  $cols
+        * @param bool   $wild   Whether to allow wildcard searches. Default is false for Network Admin, true for single site.
+        *                       Single site allows leading and trailing wildcards, Network Admin only trailing.
         * @return string
         */
        protected function get_search_sql( $string, $cols, $wild = false ) {
@@ -955,7 +993,7 @@ class WP_User_Query {
         * @global wpdb $wpdb WordPress database abstraction object.
         *
         * @param string $orderby Alias for the field to order by.
-        * @return string|bool Value to used in the ORDER clause, if `$orderby` is valid. False otherwise.
+        * @return string Value to used in the ORDER clause, if `$orderby` is valid.
         */
        protected function parse_orderby( $orderby ) {
                global $wpdb;
@@ -1087,7 +1125,7 @@ class WP_User_Query {
         *
         * @param callable $name      Method to call.
         * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
+        * @return mixed Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
                if ( 'get_search_sql' === $name ) {
@@ -1171,9 +1209,10 @@ function get_blogs_of_user( $user_id, $all = false ) {
                                'path'        => $blog->path,
                                'site_id'     => $blog->site_id,
                                'siteurl'     => $blog->siteurl,
-                               'archived'    => 0,
-                               'spam'        => 0,
-                               'deleted'     => 0
+                               'archived'    => $blog->archived,
+                               'mature'      => $blog->mature,
+                               'spam'        => $blog->spam,
+                               'deleted'     => $blog->deleted,
                        );
                }
                unset( $keys[ $wpdb->base_prefix . 'capabilities' ] );
@@ -1200,9 +1239,10 @@ function get_blogs_of_user( $user_id, $all = false ) {
                                'path'        => $blog->path,
                                'site_id'     => $blog->site_id,
                                'siteurl'     => $blog->siteurl,
-                               'archived'    => 0,
-                               'spam'        => 0,
-                               'deleted'     => 0
+                               'archived'    => $blog->archived,
+                               'mature'      => $blog->mature,
+                               'spam'        => $blog->spam,
+                               'deleted'     => $blog->deleted,
                        );
                }
        }
@@ -1251,11 +1291,11 @@ function is_user_member_of_blog( $user_id = 0, $blog_id = 0 ) {
  * @since 3.0.0
  * @link https://codex.wordpress.org/Function_Reference/add_user_meta
  *
- * @param int $user_id User ID.
- * @param string $meta_key Metadata name.
- * @param mixed $meta_value Metadata value.
- * @param bool $unique Optional, default is false. Whether the same key should not be added.
- * @return int|bool Meta ID on success, false on failure.
+ * @param int    $user_id    User ID.
+ * @param string $meta_key   Metadata name.
+ * @param mixed  $meta_value Metadata value.
+ * @param bool   $unique     Optional, default is false. Whether the same key should not be added.
+ * @return int|false Meta ID on success, false on failure.
  */
 function add_user_meta($user_id, $meta_key, $meta_value, $unique = false) {
        return add_metadata('user', $user_id, $meta_key, $meta_value, $unique);
@@ -1271,9 +1311,9 @@ function add_user_meta($user_id, $meta_key, $meta_value, $unique = false) {
  * @since 3.0.0
  * @link https://codex.wordpress.org/Function_Reference/delete_user_meta
  *
- * @param int $user_id user ID
- * @param string $meta_key Metadata name.
- * @param mixed $meta_value Optional. Metadata value.
+ * @param int    $user_id    User ID
+ * @param string $meta_key   Metadata name.
+ * @param mixed  $meta_value Optional. Metadata value.
  * @return bool True on success, false on failure.
  */
 function delete_user_meta($user_id, $meta_key, $meta_value = '') {
@@ -1286,11 +1326,10 @@ function delete_user_meta($user_id, $meta_key, $meta_value = '') {
  * @since 3.0.0
  * @link https://codex.wordpress.org/Function_Reference/get_user_meta
  *
- * @param int $user_id User ID.
- * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
- * @param bool $single Whether to return a single value.
- * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
- *  is true.
+ * @param int    $user_id User ID.
+ * @param string $key     Optional. The meta key to retrieve. By default, returns data for all keys.
+ * @param bool   $single  Whether to return a single value.
+ * @return mixed Will be an array if $single is false. Will be value of meta data field if $single is true.
  */
 function get_user_meta($user_id, $key = '', $single = false) {
        return get_metadata('user', $user_id, $key, $single);
@@ -1307,10 +1346,10 @@ function get_user_meta($user_id, $key = '', $single = false) {
  * @since 3.0.0
  * @link https://codex.wordpress.org/Function_Reference/update_user_meta
  *
- * @param int $user_id User ID.
- * @param string $meta_key Metadata key.
- * @param mixed $meta_value Metadata value.
- * @param mixed $prev_value Optional. Previous value to check before removing.
+ * @param int    $user_id    User ID.
+ * @param string $meta_key   Metadata key.
+ * @param mixed  $meta_value Metadata value.
+ * @param mixed  $prev_value Optional. Previous value to check before removing.
  * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
  */
 function update_user_meta($user_id, $meta_key, $meta_value, $prev_value = '') {
@@ -1326,11 +1365,14 @@ function update_user_meta($user_id, $meta_key, $meta_value, $prev_value = '') {
  * Using $strategy = 'memory' this is memory-intensive and should handle around 10^5 users, but see WP Bug #12257.
  *
  * @since 3.0.0
+ *
+ * @global wpdb $wpdb
+ *
  * @param string $strategy 'time' or 'memory'
  * @return array Includes a grand total and an array of counts indexed by role strings.
  */
 function count_users($strategy = 'time') {
-       global $wpdb, $wp_roles;
+       global $wpdb;
 
        // Initialize
        $id = get_current_blog_id();
@@ -1338,12 +1380,7 @@ function count_users($strategy = 'time') {
        $result = array();
 
        if ( 'time' == $strategy ) {
-               global $wp_roles;
-
-               if ( ! isset( $wp_roles ) )
-                       $wp_roles = new WP_Roles();
-
-               $avail_roles = $wp_roles->get_names();
+               $avail_roles = wp_roles()->get_names();
 
                // Build a CPU-intensive query that will return concise information.
                $select_count = array();
@@ -1405,12 +1442,13 @@ function count_users($strategy = 'time') {
  * Used by wp_set_current_user() for back compat. Might be deprecated in the future.
  *
  * @since 2.0.4
- * @global string $userdata User description.
- * @global string $user_login The user username for logging in
- * @global int $user_level The level of the user
- * @global int $user_ID The ID of the user
- * @global string $user_email The email address of the user
- * @global string $user_url The url in the user's profile
+ *
+ * @global string $user_login    The user username for logging in
+ * @global object $userdata      User data.
+ * @global int    $user_level    The level of the user
+ * @global int    $user_ID       The ID of the user
+ * @global string $user_email    The email address of the user
+ * @global string $user_url      The url in the user's profile
  * @global string $user_identity The display name of the user
  *
  * @param int $for_user_id Optional. User ID to set up global data.
@@ -1452,6 +1490,7 @@ function setup_userdata($for_user_id = '') {
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database object for queries.
+ * @global int  $blog_id
  *
  * @param array|string $args {
  *     Optional. Array or string of arguments to generate a drop-down of users.
@@ -1491,7 +1530,7 @@ function setup_userdata($for_user_id = '') {
  *     @type string       $who                     Which type of users to query. Accepts only an empty string or
  *                                                 'authors'. Default empty.
  * }
- * @return string|null Null on display. String of HTML content on retrieve.
+ * @return string String of HTML content.
  */
 function wp_dropdown_users( $args = '' ) {
        $defaults = array(
@@ -1580,11 +1619,11 @@ function wp_dropdown_users( $args = '' ) {
  *
  * @since 2.3.0
  *
- * @param string $field The user Object field name.
- * @param mixed $value The user Object value.
- * @param int $user_id user ID.
+ * @param string $field   The user Object field name.
+ * @param mixed  $value   The user Object value.
+ * @param int    $user_id User ID.
  * @param string $context How to sanitize user fields. Looks for 'raw', 'edit', 'db', 'display',
- *               'attribute' and 'js'.
+ *                        'attribute' and 'js'.
  * @return mixed Sanitized value.
  */
 function sanitize_user_field($field, $value, $user_id, $context) {
@@ -1718,14 +1757,13 @@ function clean_user_cache( $user ) {
  * @since 2.0.0
  *
  * @param string $username Username.
- * @return null|int The user's ID on success, and null on failure.
+ * @return int|false The user's ID on success, and false on failure.
  */
 function username_exists( $username ) {
-       if ( $user = get_user_by('login', $username ) ) {
+       if ( $user = get_user_by( 'login', $username ) ) {
                return $user->ID;
-       } else {
-               return null;
        }
+       return false;
 }
 
 /**
@@ -1734,12 +1772,12 @@ function username_exists( $username ) {
  * @since 2.1.0
  *
  * @param string $email Email.
- * @return bool|int The user's ID on success, and false on failure.
+ * @return int|false The user's ID on success, and false on failure.
  */
 function email_exists( $email ) {
-       if ( $user = get_user_by('email', $email) )
+       if ( $user = get_user_by( 'email', $email) ) {
                return $user->ID;
-
+       }
        return false;
 }
 
@@ -1768,40 +1806,49 @@ function validate_username( $username ) {
 /**
  * Insert a user into the database.
  *
- * Most of the $userdata array fields have filters associated with the values.
- * The exceptions are 'rich_editing', 'role', 'jabber', 'aim', 'yim',
- * 'user_registered', and 'ID'. The filters have the prefix 'pre_user_' followed
- * by the field name. An example using 'description' would have the filter
- * called, 'pre_user_description' that can be hooked into.
+ * Most of the `$userdata` array fields have filters associated with the values. Exceptions are
+ * 'ID', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl',
+ * 'user_registered', and 'role'. The filters have the prefix 'pre_user_' followed by the field
+ * name. An example using 'description' would have the filter called, 'pre_user_description' that
+ * can be hooked into.
  *
  * @since 2.0.0
+ * @since 3.6.0 The `aim`, `jabber`, and `yim` fields were removed as default user contact
+ *              methods for new installs. See wp_get_user_contact_methods().
  *
  * @global wpdb $wpdb WordPress database object for queries.
  *
- * @param array $userdata {
+ * @param array|object|WP_User $userdata {
  *     An array, object, or WP_User object of user data arguments.
  *
- *     @type int         $ID              User ID. If supplied, the user will be updated.
- *     @type string      $user_pass       The plain-text user password.
- *     @type string      $user_login      The user's login username.
- *     @type string      $user_nicename   The URL-friendly user name.
- *     @type string      $user_url        The user URL.
- *     @type string      $user_email      The user email address.
- *     @type string      $display_name    The user's display name.
- *                                        Default is the the user's username.
- *     @type string      $nickname        The user's nickname. Default
- *                                        Default is the the user's username.
- *     @type string      $first_name      The user's first name. For new users, will be used
- *                                        to build $display_name if unspecified.
- *     @type stirng      $last_name       The user's last name. For new users, will be used
- *                                        to build $display_name if unspecified.
- *     @type string|bool $rich_editing    Whether to enable the rich-editor for the user. False
- *                                        if not empty.
- *     @type string      $user_registered Date the user registered. Format is 'Y-m-d H:i:s'.
- *     @type string      $role            User's role.
- *     @type string      $jabber          User's Jabber account username.
- *     @type string      $aim             User's AIM account username.
- *     @type string      $yim             User's Yahoo! messenger username.
+ *     @type int         $ID                   User ID. If supplied, the user will be updated.
+ *     @type string      $user_pass            The plain-text user password.
+ *     @type string      $user_login           The user's login username.
+ *     @type string      $user_nicename        The URL-friendly user name.
+ *     @type string      $user_url             The user URL.
+ *     @type string      $user_email           The user email address.
+ *     @type string      $display_name         The user's display name.
+ *                                             Default is the the user's username.
+ *     @type string      $nickname             The user's nickname.
+ *                                             Default is the the user's username.
+ *     @type string      $first_name           The user's first name. For new users, will be used
+ *                                             to build the first part of the user's display name
+ *                                             if `$display_name` is not specified.
+ *     @type string      $last_name            The user's last name. For new users, will be used
+ *                                             to build the second part of the user's display name
+ *                                             if `$display_name` is not specified.
+ *     @type string      $description          The user's biographical description.
+ *     @type string|bool $rich_editing         Whether to enable the rich-editor for the user.
+ *                                             False if not empty.
+ *     @type string|bool $comment_shortcuts    Whether to enable comment moderation keyboard
+ *                                             shortcuts for the user. Default false.
+ *     @type string      $admin_color          Admin color scheme for the user. Default 'fresh'.
+ *     @type bool        $use_ssl              Whether the user should always access the admin over
+ *                                             https. Default false.
+ *     @type string      $user_registered      Date the user registered. Format is 'Y-m-d H:i:s'.
+ *     @type string|bool $show_admin_bar_front Whether to display the Admin Bar for the user on the
+ *                                             site's frontend. Default true.
+ *     @type string      $role                 User's role.
  * }
  * @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not
  *                      be created.
@@ -1899,7 +1946,7 @@ function wp_insert_user( $userdata ) {
         * check if current email and new email are the same, or not, and check `email_exists`
         * accordingly.
         */
-       if ( ( ! $update || ( ! empty( $old_user_data ) && $user_email !== $old_user_data->user_email ) )
+       if ( ( ! $update || ( ! empty( $old_user_data ) && 0 !== strcasecmp( $user_email, $old_user_data->user_email ) ) )
                && ! defined( 'WP_IMPORTING' )
                && email_exists( $user_email )
        ) {
@@ -1977,7 +2024,7 @@ function wp_insert_user( $userdata ) {
 
        $meta['rich_editing'] = empty( $userdata['rich_editing'] ) ? 'true' : $userdata['rich_editing'];
 
-       $meta['comment_shortcuts'] = empty( $userdata['comment_shortcuts'] ) ? 'false' : $userdata['comment_shortcuts'];
+       $meta['comment_shortcuts'] = empty( $userdata['comment_shortcuts'] ) || 'false' === $userdata['comment_shortcuts'] ? 'false' : 'true';
 
        $admin_color = empty( $userdata['admin_color'] ) ? 'fresh' : $userdata['admin_color'];
        $meta['admin_color'] = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $admin_color );
@@ -2103,17 +2150,162 @@ function wp_update_user($userdata) {
        // Escape data pulled from DB.
        $user = add_magic_quotes( $user );
 
-       // If password is changing, hash it now.
        if ( ! empty($userdata['user_pass']) ) {
+               // If password is changing, hash it now
                $plaintext_pass = $userdata['user_pass'];
-               $userdata['user_pass'] = wp_hash_password($userdata['user_pass']);
+               $userdata['user_pass'] = wp_hash_password( $userdata['user_pass'] );
+
+               /**
+                * Filter whether to send the password change email.
+                *
+                * @since 4.3.0
+                *
+                * @see wp_insert_user() For `$user` and `$userdata` fields.
+                *
+                * @param bool  $send     Whether to send the email.
+                * @param array $user     The original user array.
+                * @param array $userdata The updated user array.
+                *
+                */
+               $send_password_change_email = apply_filters( 'send_password_change_email', true, $user, $userdata );
+       }
+
+       if ( isset( $userdata['user_email'] ) && $user['user_email'] !== $userdata['user_email'] ) {
+               /**
+                * Filter whether to send the email change email.
+                *
+                * @since 4.3.0
+                *
+                * @see wp_insert_user() For `$user` and `$userdata` fields.
+                *
+                * @param bool  $send     Whether to send the email.
+                * @param array $user     The original user array.
+                * @param array $userdata The updated user array.
+                *
+                */
+               $send_email_change_email = apply_filters( 'send_email_change_email', true, $user, $userdata );
        }
 
-       wp_cache_delete($user[ 'user_email' ], 'useremail');
+       wp_cache_delete( $user['user_email'], 'useremail' );
 
        // Merge old and new fields with new fields overwriting old ones.
-       $userdata = array_merge($user, $userdata);
-       $user_id = wp_insert_user($userdata);
+       $userdata = array_merge( $user, $userdata );
+       $user_id = wp_insert_user( $userdata );
+
+       if ( ! is_wp_error( $user_id ) ) {
+
+               $blog_name = wp_specialchars_decode( get_option( 'blogname' ) );
+
+               if ( ! empty( $send_password_change_email ) ) {
+
+                       /* translators: Do not translate USERNAME, ADMIN_EMAIL, EMAIL, SITENAME, SITEURL: those are placeholders. */
+                       $pass_change_text = __( 'Hi ###USERNAME###,
+
+This notice confirms that your password was changed on ###SITENAME###.
+
+If you did not change your password, please contact the Site Administrator at
+###ADMIN_EMAIL###
+
+This email has been sent to ###EMAIL###
+
+Regards,
+All at ###SITENAME###
+###SITEURL###' );
+
+                       $pass_change_email = array(
+                               'to'      => $user['user_email'],
+                               'subject' => __( '[%s] Notice of Password Change' ),
+                               'message' => $pass_change_text,
+                               'headers' => '',
+                       );
+
+                       /**
+                        * Filter the contents of the email sent when the user's password is changed.
+                        *
+                        * @since 4.3.0
+                        *
+                        * @param array $pass_change_email {
+                        *            Used to build wp_mail().
+                        *            @type string $to      The intended recipients. Add emails in a comma separated string.
+                        *            @type string $subject The subject of the email.
+                        *            @type string $message The content of the email.
+                        *                The following strings have a special meaning and will get replaced dynamically:
+                        *                - ###USERNAME###    The current user's username.
+                        *                - ###ADMIN_EMAIL### The admin email in case this was unexpected.
+                        *                - ###EMAIL###       The old email.
+                        *                - ###SITENAME###    The name of the site.
+                        *                - ###SITEURL###     The URL to the site.
+                        *            @type string $headers Headers. Add headers in a newline (\r\n) separated string.
+                        *        }
+                        * @param array $user     The original user array.
+                        * @param array $userdata The updated user array.
+                        *
+                        */
+                       $pass_change_email = apply_filters( 'password_change_email', $pass_change_email, $user, $userdata );
+
+                       $pass_change_email['message'] = str_replace( '###USERNAME###', $user['user_login'], $pass_change_email['message'] );
+                       $pass_change_email['message'] = str_replace( '###ADMIN_EMAIL###', get_option( 'admin_email' ), $pass_change_email['message'] );
+                       $pass_change_email['message'] = str_replace( '###EMAIL###', $user['user_email'], $pass_change_email['message'] );
+                       $pass_change_email['message'] = str_replace( '###SITENAME###', get_option( 'blogname' ), $pass_change_email['message'] );
+                       $pass_change_email['message'] = str_replace( '###SITEURL###', get_option( 'siteurl' ), $pass_change_email['message'] );
+
+                       wp_mail( $pass_change_email['to'], sprintf( $pass_change_email['subject'], $blog_name ), $pass_change_email['message'], $pass_change_email['headers'] );
+               }
+
+               if ( ! empty( $send_email_change_email ) ) {
+                       /* translators: Do not translate USERNAME, ADMIN_EMAIL, EMAIL, SITENAME, SITEURL: those are placeholders. */
+                       $email_change_text = __( 'Hi ###USERNAME###,
+
+This notice confirms that your email was changed on ###SITENAME###.
+
+If you did not change your email, please contact the Site Administrator at
+###ADMIN_EMAIL###
+
+This email has been sent to ###EMAIL###
+
+Regards,
+All at ###SITENAME###
+###SITEURL###' );
+
+                       $email_change_email = array(
+                               'to'      => $user['user_email'],
+                               'subject' => __( '[%s] Notice of Email Change' ),
+                               'message' => $email_change_text,
+                               'headers' => '',
+                       );
+
+                       /**
+                        * Filter the contents of the email sent when the user's email is changed.
+                        *
+                        * @since 4.3.0
+                        *
+                        * @param array $email_change_email {
+                        *            Used to build wp_mail().
+                        *            @type string $to      The intended recipients.
+                        *            @type string $subject The subject of the email.
+                        *            @type string $message The content of the email.
+                        *                The following strings have a special meaning and will get replaced dynamically:
+                        *                - ###USERNAME###    The current user's username.
+                        *                - ###ADMIN_EMAIL### The admin email in case this was unexpected.
+                        *                - ###EMAIL###       The old email.
+                        *                - ###SITENAME###    The name of the site.
+                        *                - ###SITEURL###     The URL to the site.
+                        *            @type string $headers Headers.
+                        *        }
+                        * @param array $user The original user array.
+                        * @param array $userdata The updated user array.
+                        */
+                       $email_change_email = apply_filters( 'email_change_email', $email_change_email, $user, $userdata );
+
+                       $email_change_email['message'] = str_replace( '###USERNAME###', $user['user_login'], $email_change_email['message'] );
+                       $email_change_email['message'] = str_replace( '###ADMIN_EMAIL###', get_option( 'admin_email' ), $email_change_email['message'] );
+                       $email_change_email['message'] = str_replace( '###EMAIL###', $user['user_email'], $email_change_email['message'] );
+                       $email_change_email['message'] = str_replace( '###SITENAME###', get_option( 'blogname' ), $email_change_email['message'] );
+                       $email_change_email['message'] = str_replace( '###SITEURL###', get_option( 'siteurl' ), $email_change_email['message'] );
+
+                       wp_mail( $email_change_email['to'], sprintf( $email_change_email['subject'], $blog_name ), $email_change_email['message'], $email_change_email['headers'] );
+               }
+       }
 
        // Update the cookies if the password changed.
        $current_user = wp_get_current_user();
@@ -2147,7 +2339,7 @@ function wp_update_user($userdata) {
  * @param string $username The user's username.
  * @param string $password The user's password.
  * @param string $email    Optional. The user's email. Default empty.
- * @return int The new user's ID.
+ * @return int|WP_Error The new user's ID.
  */
 function wp_create_user($username, $password, $email = '') {
        $user_login = wp_slash( $username );
@@ -2221,7 +2413,7 @@ function _wp_get_user_contactmethods( $user = null ) {
  * @return string The password hint text.
  */
 function wp_get_password_hint() {
-       $hint = __( 'Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers, and symbols like ! " ? $ % ^ &amp; ).' );
+       $hint = __( 'Hint: The password should be at least twelve characters long. To make it stronger, use upper and lower case letters, numbers, and symbols like ! " ? $ % ^ &amp; ).' );
 
        /**
         * Filter the text describing the site's password complexity policy.
@@ -2241,6 +2433,8 @@ function wp_get_password_hint() {
  * hashing process. This field is now hashed; old values are no longer accepted
  * but have a different WP_Error code so good user feedback can be provided.
  *
+ * @since 3.1.0
+ *
  * @global wpdb         $wpdb      WordPress database object for queries.
  * @global PasswordHash $wp_hasher Portable PHP password hashing framework instance.
  *
@@ -2268,18 +2462,42 @@ function check_password_reset_key($key, $login) {
                $wp_hasher = new PasswordHash( 8, true );
        }
 
-       if ( $wp_hasher->CheckPassword( $key, $row->user_activation_key ) )
+       /**
+        * Filter the expiration time of password reset keys.
+        *
+        * @since 4.3.0
+        *
+        * @param int $expiration The expiration time in seconds.
+        */
+       $expiration_duration = apply_filters( 'password_reset_expiration', DAY_IN_SECONDS );
+
+       if ( false !== strpos( $row->user_activation_key, ':' ) ) {
+               list( $pass_request_time, $pass_key ) = explode( ':', $row->user_activation_key, 2 );
+               $expiration_time = $pass_request_time + $expiration_duration;
+       } else {
+               $pass_key = $row->user_activation_key;
+               $expiration_time = false;
+       }
+
+       $hash_is_correct = $wp_hasher->CheckPassword( $key, $pass_key );
+
+       if ( $hash_is_correct && $expiration_time && time() < $expiration_time ) {
                return get_userdata( $row->ID );
+       } elseif ( $hash_is_correct && $expiration_time ) {
+               // Key has an expiration time that's passed
+               return new WP_Error( 'expired_key', __( 'Invalid key' ) );
+       }
 
-       if ( $key === $row->user_activation_key ) {
+       if ( hash_equals( $row->user_activation_key, $key ) || ( $hash_is_correct && ! $expiration_time ) ) {
                $return = new WP_Error( 'expired_key', __( 'Invalid key' ) );
                $user_id = $row->ID;
 
                /**
                 * Filter the return value of check_password_reset_key() when an
-                * old-style key is used (plain-text key was stored in the database).
+                * old-style key is used.
                 *
-                * @since 3.7.0
+                * @since 3.7.0 Previously plain-text keys were stored in the database.
+                * @since 4.3.0 Previously key hashes were stored without an expiration time.
                 *
                 * @param WP_Error $return  A WP_Error object denoting an expired key.
                 *                          Return a WP_User object to validate the key.
@@ -2294,7 +2512,9 @@ function check_password_reset_key($key, $login) {
 /**
  * Handles resetting the user's password.
  *
- * @param object $user The user
+ * @since 2.5.0
+ *
+ * @param object $user     The user
  * @param string $new_pass New password for the user in plaintext
  */
 function reset_password( $user, $new_pass ) {
@@ -2317,6 +2537,8 @@ function reset_password( $user, $new_pass ) {
 /**
  * Handles registering a new user.
  *
+ * @since 2.5.0
+ *
  * @param string $user_login User's username for logging in
  * @param string $user_email User's email address to send password and add
  * @return int|WP_Error Either user's ID or error on failure.
@@ -2397,7 +2619,7 @@ function register_new_user( $user_login, $user_email ) {
 
        update_user_option( $user_id, 'default_password_nag', true, true ); //Set up the Password change nag.
 
-       wp_new_user_notification( $user_id, $user_pass );
+       wp_new_user_notification( $user_id, 'both' );
 
        return $user_id;
 }
index da29cb20f0cea59c5de0eab791bca6c9b69138f9..828fbbb4ab3c279737154d2f56246ea2144ad568 100644 (file)
@@ -118,13 +118,16 @@ $is_iis7 = $is_IIS && intval( substr( $_SERVER['SERVER_SOFTWARE'], strpos( $_SER
 /**
  * Test if the current browser runs on a mobile device (smart phone, tablet, etc.)
  *
- * @return bool true|false
+ * @staticvar bool $is_mobile
+ *
+ * @return bool
  */
 function wp_is_mobile() {
-       static $is_mobile;
+       static $is_mobile = null;
 
-       if ( isset($is_mobile) )
+       if ( isset( $is_mobile ) ) {
                return $is_mobile;
+       }
 
        if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
                $is_mobile = false;
index dda093a54a6e39006083378ce2746368cf20ff7c..9d156fa2417eac4067726764f4b848bc358fb62c 100644 (file)
@@ -4,21 +4,21 @@
  *
  * @global string $wp_version
  */
-$wp_version = '4.2.5';
+$wp_version = '4.3';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
  *
  * @global int $wp_db_version
  */
-$wp_db_version = 31536;
+$wp_db_version = 33055;
 
 /**
  * Holds the TinyMCE version
  *
  * @global string $tinymce_version
  */
-$tinymce_version = '4109-20150505';
+$tinymce_version = '4203-20150730';
 
 /**
  * Holds the required PHP version
index a488a90f60100b99c50e3eb9f87d90f347aedfe0..40de6c84a15f82fd747d4ff222d5504462a916ad 100644 (file)
@@ -173,6 +173,7 @@ class WP_Widget {
         * @param array  $control_options
         */
        public function WP_Widget( $id_base, $name, $widget_options = array(), $control_options = array() ) {
+               _deprecated_constructor( 'WP_Widget', '4.3.0' );
                WP_Widget::__construct( $id_base, $name, $widget_options, $control_options );
        }
 
@@ -214,20 +215,24 @@ class WP_Widget {
                $settings = $this->get_settings();
                $empty = true;
 
-               if ( is_array($settings) ) {
-                       foreach ( array_keys($settings) as $number ) {
-                               if ( is_numeric($number) ) {
-                                       $this->_set($number);
-                                       $this->_register_one($number);
+               // When $settings is an array-like object, get an intrinsic array for use with array_keys().
+               if ( $settings instanceof ArrayObject || $settings instanceof ArrayIterator ) {
+                       $settings = $settings->getArrayCopy();
+               }
+
+               if ( is_array( $settings ) ) {
+                       foreach ( array_keys( $settings ) as $number ) {
+                               if ( is_numeric( $number ) ) {
+                                       $this->_set( $number );
+                                       $this->_register_one( $number );
                                        $empty = false;
                                }
                        }
                }
 
                if ( $empty ) {
-                       // If there are none, we register the widget's existence with a
-                       // generic template
-                       $this->_set(1);
+                       // If there are none, we register the widget's existence with a generic template.
+                       $this->_set( 1 );
                        $this->_register_one();
                }
        }
@@ -246,14 +251,21 @@ class WP_Widget {
                $this->id = $this->id_base . '-' . $number;
        }
 
+       /**
+        * @return callback
+        */
        public function _get_display_callback() {
                return array($this, 'display_callback');
        }
-
+       /**
+        * @return callback
+        */
        public function _get_update_callback() {
                return array($this, 'update_callback');
        }
-
+       /**
+        * @return callback
+        */
        public function _get_form_callback() {
                return array($this, 'form_callback');
        }
@@ -269,6 +281,8 @@ class WP_Widget {
         * @since 3.9.0
         * @access public
         *
+        * @global WP_Customize_Manager $wp_customize
+        *
         * @return bool True if within the Customizer preview, false if not.
         */
        public function is_preview() {
@@ -294,15 +308,16 @@ class WP_Widget {
         * }
         */
        public function display_callback( $args, $widget_args = 1 ) {
-               if ( is_numeric($widget_args) )
+               if ( is_numeric( $widget_args ) ) {
                        $widget_args = array( 'number' => $widget_args );
+               }
 
                $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
                $this->_set( $widget_args['number'] );
-               $instance = $this->get_settings();
+               $instances = $this->get_settings();
 
-               if ( array_key_exists( $this->number, $instance ) ) {
-                       $instance = $instance[$this->number];
+               if ( isset( $instances[ $this->number ] ) ) {
+                       $instance = $instances[ $this->number ];
 
                        /**
                         * Filter the settings for a particular widget instance.
@@ -340,6 +355,8 @@ class WP_Widget {
         * @since 2.8.0
         * @access public
         *
+        * @global array $wp_registered_widgets
+        *
         * @param int $deprecated Not used.
         */
        public function update_callback( $deprecated = 1 ) {
@@ -424,6 +441,7 @@ class WP_Widget {
         * @access public
         *
         * @param int|array $widget_args Widget instance number or array of widget arguments.
+        * @return string|null
         */
        public function form_callback( $widget_args = 1 ) {
                if ( is_numeric($widget_args) )
@@ -516,20 +534,22 @@ class WP_Widget {
         */
        public function get_settings() {
 
-               $settings = get_option($this->option_name);
+               $settings = get_option( $this->option_name );
 
-               if ( false === $settings && isset($this->alt_option_name) )
-                       $settings = get_option($this->alt_option_name);
+               if ( false === $settings && isset( $this->alt_option_name ) ) {
+                       $settings = get_option( $this->alt_option_name );
+               }
 
-               if ( !is_array($settings) )
+               if ( ! is_array( $settings ) && ! ( $settings instanceof ArrayObject || $settings instanceof ArrayIterator ) ) {
                        $settings = array();
+               }
 
-               if ( !empty($settings) && !array_key_exists('_multiwidget', $settings) ) {
-                       // old format, convert if single widget
-                       $settings = wp_convert_widget_settings($this->id_base, $this->option_name, $settings);
+               if ( ! empty( $settings ) && ! isset( $settings['_multiwidget'] ) ) {
+                       // Old format, convert if single widget.
+                       $settings = wp_convert_widget_settings( $this->id_base, $this->option_name, $settings );
                }
 
-               unset($settings['_multiwidget'], $settings['__i__']);
+               unset( $settings['_multiwidget'], $settings['__i__'] );
                return $settings;
        }
 }
@@ -544,10 +564,21 @@ class WP_Widget {
 class WP_Widget_Factory {
        public $widgets = array();
 
-       public function WP_Widget_Factory() {
+       /**
+        * PHP5 constructor.
+        */
+       public function __construct() {
                add_action( 'widgets_init', array( $this, '_register_widgets' ), 100 );
        }
 
+       /**
+        * PHP4 constructor.
+        */
+       public function WP_Widget_Factory() {
+               _deprecated_constructor( 'WP_Widget_Factory', '4.2.0' );
+               self::__construct();
+       }
+
        /**
         * Register a widget subclass.
         *
@@ -569,8 +600,7 @@ class WP_Widget_Factory {
         * @param string $widget_class The name of a {@see WP_Widget} subclass.
         */
        public function unregister( $widget_class ) {
-               if ( isset($this->widgets[$widget_class]) )
-                       unset($this->widgets[$widget_class]);
+               unset( $this->widgets[ $widget_class ] );
        }
 
        /**
@@ -578,6 +608,8 @@ class WP_Widget_Factory {
         *
         * @since 2.8.0
         * @access public
+        *
+        * @global array $wp_registered_widgets
         */
        public function _register_widgets() {
                global $wp_registered_widgets;
@@ -625,15 +657,22 @@ $wp_registered_widgets = array();
  * @since 2.2.0
  */
 $wp_registered_widget_controls = array();
+/**
+ * @global array $wp_registered_widget_updates
+ */
 $wp_registered_widget_updates = array();
 
 /**
  * Private
+ *
+ * @global array $_wp_sidebars_widgets
  */
 $_wp_sidebars_widgets = array();
 
 /**
  * Private
+ *
+ * @global array $_wp_deprecated_widgets_callbacks
  */
 $GLOBALS['_wp_deprecated_widgets_callbacks'] = array(
        'wp_widget_pages',
@@ -670,8 +709,8 @@ $GLOBALS['_wp_deprecated_widgets_callbacks'] = array(
  * @since 2.8.0
  *
  * @see WP_Widget
- * @see WP_Widget_Factory
- * @uses WP_Widget_Factory
+ *
+ * @global WP_Widget_Factory $wp_widget_factory
  *
  * @param string $widget_class The name of a class that extends WP_Widget
  */
@@ -690,8 +729,8 @@ function register_widget($widget_class) {
  * @since 2.8.0
  *
  * @see WP_Widget
- * @see WP_Widget_Factory
- * @uses WP_Widget_Factory
+ *
+ * @global WP_Widget_Factory $wp_widget_factory
  *
  * @param string $widget_class The name of a class that extends WP_Widget
  */
@@ -712,6 +751,8 @@ function unregister_widget($widget_class) {
  *
  * @see register_sidebar() The second parameter is documented by register_sidebar() and is the same here.
  *
+ * @global array $wp_registered_sidebars
+ *
  * @param int          $number Optional. Number of sidebars to create. Default 1.
  * @param array|string $args {
  *     Optional. Array or string of arguments for building a sidebar.
@@ -844,15 +885,14 @@ function register_sidebar($args = array()) {
  *
  * @since 2.2.0
  *
- * @uses $wp_registered_sidebars Stores the new sidebar in this array by sidebar ID.
+ * @global array $wp_registered_sidebars Stores the new sidebar in this array by sidebar ID.
  *
  * @param string $name The ID of the sidebar when it was added.
  */
 function unregister_sidebar( $name ) {
        global $wp_registered_sidebars;
 
-       if ( isset( $wp_registered_sidebars[$name] ) )
-               unset( $wp_registered_sidebars[$name] );
+       unset( $wp_registered_sidebars[ $name ] );
 }
 
 /**
@@ -867,6 +907,8 @@ function unregister_sidebar( $name ) {
  *
  * @global array $wp_registered_widgets       Uses stored registered widgets.
  * @global array $wp_register_widget_defaults Retrieves widget defaults.
+ * @global array $wp_registered_widget_updates
+ * @global array $_wp_deprecated_widgets_callbacks
  *
  * @param int|string $id              Widget ID.
  * @param string     $name            Widget display title.
@@ -879,7 +921,6 @@ function unregister_sidebar( $name ) {
  *     @type string $description Widget description for display in the widget administration
  *                               panel and/or theme.
  * }
- * @return null Will return if `$output_callback` is empty after removing widget.
  */
 function wp_register_sidebar_widget( $id, $name, $output_callback, $options = array() ) {
        global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates, $_wp_deprecated_widgets_callbacks;
@@ -893,12 +934,8 @@ function wp_register_sidebar_widget( $id, $name, $output_callback, $options = ar
 
        $id_base = _get_widget_id_base($id);
        if ( in_array($output_callback, $_wp_deprecated_widgets_callbacks, true) && !is_callable($output_callback) ) {
-               if ( isset($wp_registered_widget_controls[$id]) )
-                       unset($wp_registered_widget_controls[$id]);
-
-               if ( isset($wp_registered_widget_updates[$id_base]) )
-                       unset($wp_registered_widget_updates[$id_base]);
-
+               unset( $wp_registered_widget_controls[ $id ] );
+               unset( $wp_registered_widget_updates[ $id_base ] );
                return;
        }
 
@@ -935,8 +972,10 @@ function wp_register_sidebar_widget( $id, $name, $output_callback, $options = ar
  *
  * @since 2.5.0
  *
+ * @global array $wp_registered_widgets
+ *
  * @param int|string $id Widget ID.
- * @return string Widget description, if available. Null on failure to retrieve description.
+ * @return string|void Widget description, if available.
  */
 function wp_widget_description( $id ) {
        if ( !is_scalar($id) )
@@ -956,8 +995,10 @@ function wp_widget_description( $id ) {
  *
  * @since 2.9.0
  *
+ * @global array $wp_registered_sidebars
+ *
  * @param string $id sidebar ID.
- * @return string Sidebar description, if available. Null on failure to retrieve description.
+ * @return string|void Sidebar description, if available.
  */
 function wp_sidebar_description( $id ) {
        if ( !is_scalar($id) )
@@ -1006,6 +1047,11 @@ function wp_unregister_sidebar_widget($id) {
  * @todo Document `$options` as a hash notation, re: WP_Widget::__construct() cross-reference.
  * @todo `$params` parameter?
  *
+ * @global array $wp_registered_widget_controls
+ * @global array $wp_registered_widget_updates
+ * @global array $wp_registered_widgets
+ * @global array $_wp_deprecated_widgets_callbacks
+ *
  * @param int|string   $id               Sidebar ID.
  * @param string       $name             Sidebar display name.
  * @param callback     $control_callback Run when sidebar is displayed.
@@ -1024,9 +1070,7 @@ function wp_register_widget_control( $id, $name, $control_callback, $options = a
        }
 
        if ( in_array($control_callback, $_wp_deprecated_widgets_callbacks, true) && !is_callable($control_callback) ) {
-               if ( isset($wp_registered_widgets[$id]) )
-                       unset($wp_registered_widgets[$id]);
-
+               unset( $wp_registered_widgets[ $id ] );
                return;
        }
 
@@ -1059,8 +1103,8 @@ function wp_register_widget_control( $id, $name, $control_callback, $options = a
 }
 
 /**
- *
  * @global array $wp_registered_widget_updates
+ *
  * @param string   $id_base
  * @param callable $update_callback
  * @param array    $options
@@ -1086,11 +1130,11 @@ function _register_widget_update_callback($id_base, $update_callback, $options =
 /**
  *
  * @global array $wp_registered_widget_controls
+ *
  * @param int|string $id
  * @param string     $name
  * @param callable   $form_callback
  * @param array      $options
- * @return null
  */
 function _register_widget_form_callback($id, $name, $form_callback, $options = array()) {
        global $wp_registered_widget_controls;
@@ -1129,7 +1173,7 @@ function _register_widget_form_callback($id, $name, $form_callback, $options = a
  * @param int|string $id Widget ID.
  */
 function wp_unregister_widget_control($id) {
-       return wp_register_widget_control($id, '', '');
+       wp_register_widget_control( $id, '', '' );
 }
 
 /**
@@ -1141,6 +1185,9 @@ function wp_unregister_widget_control($id) {
  *
  * @since 2.2.0
  *
+ * @global array $wp_registered_sidebars
+ * @global array $wp_registered_widgets
+ *
  * @param int|string $index Optional, default is 1. Index, name or ID of dynamic sidebar.
  * @return bool True, if widget sidebar was found and called. False if not found or not called.
  */
@@ -1300,10 +1347,7 @@ function dynamic_sidebar($index = 1) {
         *                            Default false.
         * @param int|string $index   Index, name, or ID of the dynamic sidebar.
         */
-
-       $did_one = apply_filters( 'dynamic_sidebar_has_widgets', $did_one, $index );
-
-       return $did_one;
+       return apply_filters( 'dynamic_sidebar_has_widgets', $did_one, $index );
 }
 
 /**
@@ -1321,11 +1365,13 @@ function dynamic_sidebar($index = 1) {
  *
  * @since 2.2.0
  *
- * @param string $callback Optional, Widget callback to check.
- * @param int $widget_id Optional, but needed for checking. Widget ID.
- * @param string $id_base Optional, the base ID of a widget created by extending WP_Widget.
- * @param bool $skip_inactive Optional, whether to check in 'wp_inactive_widgets'.
- * @return mixed false if widget is not active or id of sidebar in which the widget is active.
+ * @global array $wp_registered_widgets
+ *
+ * @param string $callback      Optional, Widget callback to check.
+ * @param int    $widget_id     Optional, but needed for checking. Widget ID.
+ * @param string $id_base       Optional, the base ID of a widget created by extending WP_Widget.
+ * @param bool   $skip_inactive Optional, whether to check in 'wp_inactive_widgets'.
+ * @return string|false False if widget is not active or id of sidebar in which the widget is active.
  */
 function is_active_widget($callback = false, $widget_id = false, $id_base = false, $skip_inactive = true) {
        global $wp_registered_widgets;
@@ -1356,6 +1402,9 @@ function is_active_widget($callback = false, $widget_id = false, $id_base = fals
  *
  * @since 2.2.0
  *
+ * @global array $wp_registered_widgets
+ * @global array $wp_registered_sidebars
+ *
  * @return bool True, if using widgets. False, if not using widgets.
  */
 function is_dynamic_sidebar() {
@@ -1407,6 +1456,9 @@ function is_active_sidebar( $index ) {
  * @since 2.2.0
  * @access private
  *
+ * @global array $_wp_sidebars_widgets
+ * @global array $sidebars_widgets
+ *
  * @param bool $deprecated Not used (argument deprecated).
  * @return array Upgraded list of widgets to version 3 array format when called from the admin.
  */
@@ -1437,8 +1489,7 @@ function wp_get_sidebars_widgets( $deprecated = true ) {
         *
         * @param array $sidebars_widgets An associative array of sidebars and their widgets.
         */
-       $sidebars_widgets = apply_filters( 'sidebars_widgets', $sidebars_widgets );
-       return $sidebars_widgets;
+       return apply_filters( 'sidebars_widgets', $sidebars_widgets );
 }
 
 /**
@@ -1461,6 +1512,8 @@ function wp_set_sidebars_widgets( $sidebars_widgets ) {
  * @since 2.2.0
  * @access private
  *
+ * @global array $wp_registered_sidebars
+ *
  * @return array
  */
 function wp_get_widget_defaults() {
@@ -1479,6 +1532,8 @@ function wp_get_widget_defaults() {
  *
  * @since 2.8.0
  *
+ * @global array $_wp_sidebars_widgets
+ *
  * @param string $base_name
  * @param string $option_name
  * @param array  $settings
@@ -1540,6 +1595,8 @@ function wp_convert_widget_settings($base_name, $option_name, $settings) {
  *
  * @since 2.8.0
  *
+ * @global WP_Widget_Factory $wp_widget_factory
+ *
  * @param string $widget   The widget's PHP class name (see default-widgets.php).
  * @param array  $instance Optional. The widget's instance settings. Default empty array.
  * @param array  $args {
@@ -1586,6 +1643,8 @@ function the_widget( $widget, $instance = array(), $args = array() ) {
 
 /**
  * Private
+ *
+ * @return string
  */
 function _get_widget_id_base($id) {
        return preg_replace( '/-[0-9]+$/', '', $id );
@@ -1596,6 +1655,8 @@ function _get_widget_id_base($id) {
  *
  * @access private
  * @since 3.3.0
+ *
+ * @global array $sidebars_widgets
  */
 function _wp_sidebars_changed() {
        global $sidebars_widgets;
@@ -1611,9 +1672,13 @@ function _wp_sidebars_changed() {
  *
  * @since 2.8.0
  *
+ * @global array $wp_registered_sidebars
+ * @global array $sidebars_widgets
+ * @global array $wp_registered_widgets
+ *
  * @param string|bool $theme_changed Whether the theme was changed as a boolean. A value
  *                                   of 'customize' defers updates for the Customizer.
- * @return array
+ * @return array|void
  */
 function retrieve_widgets( $theme_changed = false ) {
        global $wp_registered_sidebars, $sidebars_widgets, $wp_registered_widgets;
index 296a5d21d4aab2cf9628fa106619fbd18f386f92..9ce6519be1f15b370c78a43c611a29fae167d7f6 100644 (file)
@@ -84,19 +84,19 @@ class wpdb {
         * Amount of queries made
         *
         * @since 1.2.0
-        * @access private
+        * @access public
         * @var int
         */
-       var $num_queries = 0;
+       public $num_queries = 0;
 
        /**
         * Count of rows returned by previous query
         *
         * @since 0.71
-        * @access private
+        * @access public
         * @var int
         */
-       var $num_rows = 0;
+       public $num_rows = 0;
 
        /**
         * Count of affected rows by previous query
@@ -114,7 +114,7 @@ class wpdb {
         * @access public
         * @var int
         */
-       var $insert_id = 0;
+       public $insert_id = 0;
 
        /**
         * Last query made
@@ -176,7 +176,7 @@ class wpdb {
         * @since 4.2.0
         * @access private
         * @see wpdb::check_safe_collation()
-        * @var boolean
+        * @var bool
         */
        private $checking_collation = false;
 
@@ -216,10 +216,10 @@ class wpdb {
         * security precautions.
         *
         * @since 2.5.0
-        * @access private
+        * @access public
         * @var string
         */
-       var $prefix = '';
+       public $prefix = '';
 
        /**
         * WordPress base table prefix.
@@ -607,10 +607,12 @@ class wpdb {
         * @link https://core.trac.wordpress.org/ticket/3354
         * @since 2.0.8
         *
-        * @param string $dbuser MySQL database user
+        * @global string $wp_version
+        *
+        * @param string $dbuser     MySQL database user
         * @param string $dbpassword MySQL database password
-        * @param string $dbname MySQL database name
-        * @param string $dbhost MySQL database host
+        * @param string $dbname     MySQL database name
+        * @param string $dbhost     MySQL database host
         */
        public function __construct( $dbuser, $dbpassword, $dbname, $dbhost ) {
                register_shutdown_function( array( $this, '__destruct' ) );
@@ -652,7 +654,7 @@ class wpdb {
         *
         * @see wpdb::__construct()
         * @since 2.0.8
-        * @return bool true
+        * @return true
         */
        public function __destruct() {
                return true;
@@ -858,8 +860,8 @@ class wpdb {
         *
         * @since 2.5.0
         *
-        * @param string $prefix Alphanumeric name for the new prefix.
-        * @param bool $set_table_names Optional. Whether the table names, e.g. wpdb::$posts, should be updated or not.
+        * @param string $prefix          Alphanumeric name for the new prefix.
+        * @param bool   $set_table_names Optional. Whether the table names, e.g. wpdb::$posts, should be updated or not.
         * @return string|WP_Error Old prefix or WP_Error on error
         */
        public function set_prefix( $prefix, $set_table_names = true ) {
@@ -897,6 +899,7 @@ class wpdb {
         *
         * @since 3.0.0
         * @access public
+        *
         * @param int $blog_id
         * @param int $site_id Optional.
         * @return int previous blog id
@@ -961,10 +964,10 @@ class wpdb {
         * @uses wpdb::$global_tables
         * @uses wpdb::$ms_global_tables
         *
-        * @param string $scope Optional. Can be all, global, ms_global, blog, or old tables. Defaults to all.
-        * @param bool $prefix Optional. Whether to include table prefixes. Default true. If blog
-        *      prefix is requested, then the custom users and usermeta tables will be mapped.
-        * @param int $blog_id Optional. The blog_id to prefix. Defaults to wpdb::$blogid. Used only when prefix is requested.
+        * @param string $scope   Optional. Can be all, global, ms_global, blog, or old tables. Defaults to all.
+        * @param bool   $prefix  Optional. Whether to include table prefixes. Default true. If blog
+        *                        prefix is requested, then the custom users and usermeta tables will be mapped.
+        * @param int    $blog_id Optional. The blog_id to prefix. Defaults to wpdb::$blogid. Used only when prefix is requested.
         * @return array Table names. When a prefix is requested, the key is the unprefixed table name.
         */
        public function tables( $scope = 'all', $prefix = true, $blog_id = 0 ) {
@@ -1024,9 +1027,8 @@ class wpdb {
         *
         * @since 0.71
         *
-        * @param string $db MySQL database name
-        * @param resource $dbh Optional link identifier.
-        * @return null Always null.
+        * @param string        $db  MySQL database name
+        * @param resource|null $dbh Optional link identifier.
         */
        public function select( $db, $dbh = null ) {
                if ( is_null($dbh) )
@@ -1050,7 +1052,6 @@ class wpdb {
 </ul>
 <p>If you don\'t know how to set up a database you should <strong>contact your host</strong>. If all else fails you may find help at the <a href="https://wordpress.org/support/">WordPress Support Forums</a>.</p>' ), htmlspecialchars( $db, ENT_QUOTES ), htmlspecialchars( $this->dbuser, ENT_QUOTES ) ), 'db_select_fail' );
                        }
-                       return;
                }
        }
 
@@ -1162,9 +1163,10 @@ class wpdb {
         * Escapes content by reference for insertion into the database, for security
         *
         * @uses wpdb::_real_escape()
+        *
         * @since 2.3.0
+        *
         * @param string $string to escape
-        * @return void
         */
        public function escape_by_ref( &$string ) {
                if ( ! is_float( $string ) )
@@ -1197,14 +1199,13 @@ class wpdb {
         * @link http://php.net/sprintf Description of syntax.
         * @since 2.3.0
         *
-        * @param string $query Query statement with sprintf()-like placeholders
-        * @param array|mixed $args The array of variables to substitute into the query's placeholders if being called like
-        *      {@link http://php.net/vsprintf vsprintf()}, or the first variable to substitute into the query's placeholders if
-        *      being called like {@link http://php.net/sprintf sprintf()}.
-        * @param mixed $args,... further variables to substitute into the query's placeholders if being called like
-        *      {@link http://php.net/sprintf sprintf()}.
-        * @return null|false|string Sanitized query string, null if there is no query, false if there is an error and string
-        *      if there was something to prepare
+        * @param string      $query    Query statement with sprintf()-like placeholders
+        * @param array|mixed $args     The array of variables to substitute into the query's placeholders if being called like
+        *                              {@link http://php.net/vsprintf vsprintf()}, or the first variable to substitute into the query's placeholders if
+        *                              being called like {@link http://php.net/sprintf sprintf()}.
+        * @param mixed       $args,... further variables to substitute into the query's placeholders if being called like
+        *                              {@link http://php.net/sprintf sprintf()}.
+        * @return string|void Sanitized query string, if there is a query to prepare.
         */
        public function prepare( $query, $args ) {
                if ( is_null( $query ) )
@@ -1261,7 +1262,7 @@ class wpdb {
         * @global array $EZSQL_ERROR Stores error information of query and error string
         *
         * @param string $str The error to display
-        * @return false|null False if the showing of errors is disabled.
+        * @return false|void False if the showing of errors is disabled.
         */
        public function print_error( $str = '' ) {
                global $EZSQL_ERROR;
@@ -1293,19 +1294,29 @@ class wpdb {
 
                // If there is an error then take note of it
                if ( is_multisite() ) {
-                       $msg = "WordPress database error: [$str]\n{$this->last_query}\n";
-                       if ( defined( 'ERRORLOGFILE' ) )
+                       $msg = sprintf(
+                               "%s [%s]\n%s\n",
+                               __( 'WordPress database error:' ),
+                               $str,
+                               $this->last_query
+                       );
+
+                       if ( defined( 'ERRORLOGFILE' ) ) {
                                error_log( $msg, 3, ERRORLOGFILE );
-                       if ( defined( 'DIEONDBERROR' ) )
+                       }
+                       if ( defined( 'DIEONDBERROR' ) ) {
                                wp_die( $msg );
+                       }
                } else {
                        $str   = htmlspecialchars( $str, ENT_QUOTES );
                        $query = htmlspecialchars( $this->last_query, ENT_QUOTES );
 
-                       print "<div id='error'>
-                       <p class='wpdberror'><strong>WordPress database error:</strong> [$str]<br />
-                       <code>$query</code></p>
-                       </div>";
+                       printf(
+                               '<div id="error"><p class="wpdberror"><strong>%s</strong> [%s]<br /><code>%s</code></p></div>',
+                               __( 'WordPress database error:' ),
+                               $str,
+                               $query
+                       );
                }
        }
 
@@ -1366,7 +1377,6 @@ class wpdb {
         * Kill cached query results.
         *
         * @since 0.71
-        * @return void
         */
        public function flush() {
                $this->last_result = array();
@@ -1403,10 +1413,9 @@ class wpdb {
         * @since 3.9.0 $allow_bail parameter added.
         *
         * @param bool $allow_bail Optional. Allows the function to bail. Default true.
-        * @return null|bool True with a successful connection, false on failure.
+        * @return bool True with a successful connection, false on failure.
         */
        public function db_connect( $allow_bail = true ) {
-
                $this->is_mysql = true;
 
                /*
@@ -1528,7 +1537,7 @@ class wpdb {
         * @since 3.9.0
         *
         * @param bool $allow_bail Optional. Allows the function to bail. Default true.
-        * @return bool|null True if the connection is up.
+        * @return bool|void True if the connection is up.
         */
        public function check_connection( $allow_bail = true ) {
                if ( $this->use_mysqli ) {
@@ -1758,10 +1767,13 @@ class wpdb {
         * @see wpdb::$field_types
         * @see wp_set_wpdb_vars()
         *
-        * @param string $table table name
-        * @param array $data Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
-        * @param array|string $format Optional. An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data.
-        *      A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
+        * @param string       $table  Table name
+        * @param array        $data   Data to insert (in column => value pairs).
+        *                             Both $data columns and $data values should be "raw" (neither should be SQL escaped).
+        * @param array|string $format Optional. An array of formats to be mapped to each of the value in $data.
+        *                             If string, that format will be used for all of the values in $data.
+        *                             A format is one of '%d', '%f', '%s' (integer, float, string).
+        *                             If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
         * @return int|false The number of rows inserted, or false on error.
         */
        public function insert( $table, $data, $format = null ) {
@@ -1779,10 +1791,13 @@ class wpdb {
         * @see wpdb::$field_types
         * @see wp_set_wpdb_vars()
         *
-        * @param string $table table name
-        * @param array $data Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
-        * @param array|string $format Optional. An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data.
-        *      A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
+        * @param string       $table  Table name
+        * @param array        $data   Data to insert (in column => value pairs).
+        *                             Both $data columns and $data values should be "raw" (neither should be SQL escaped).
+        * @param array|string $format Optional. An array of formats to be mapped to each of the value in $data.
+        *                             If string, that format will be used for all of the values in $data.
+        *                             A format is one of '%d', '%f', '%s' (integer, float, string).
+        *                             If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
         * @return int|false The number of rows affected, or false on error.
         */
        public function replace( $table, $data, $format = null ) {
@@ -1800,11 +1815,14 @@ class wpdb {
         * @see wpdb::$field_types
         * @see wp_set_wpdb_vars()
         *
-        * @param string $table table name
-        * @param array $data Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
-        * @param array|string $format Optional. An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data.
-        *      A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
-        * @param string $type Optional. What type of operation is this? INSERT or REPLACE. Defaults to INSERT.
+        * @param string       $table  Table name
+        * @param array        $data   Data to insert (in column => value pairs).
+        *                             Both $data columns and $data values should be "raw" (neither should be SQL escaped).
+        * @param array|string $format Optional. An array of formats to be mapped to each of the value in $data.
+        *                             If string, that format will be used for all of the values in $data.
+        *                             A format is one of '%d', '%f', '%s' (integer, float, string).
+        *                             If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
+        * @param string $type         Optional. What type of operation is this? INSERT or REPLACE. Defaults to INSERT.
         * @return int|false The number of rows affected, or false on error.
         */
        function _insert_replace_helper( $table, $data, $format = null, $type = 'INSERT' ) {
@@ -1845,12 +1863,20 @@ class wpdb {
         * @see wpdb::$field_types
         * @see wp_set_wpdb_vars()
         *
-        * @param string $table table name
-        * @param array $data Data to update (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped).
-        * @param array $where A named array of WHERE clauses (in column => value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be "raw".
-        * @param array|string $format Optional. An array of formats to be mapped to each of the values in $data. If string, that format will be used for all of the values in $data.
-        *      A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
-        * @param array|string $where_format Optional. An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $where will be treated as strings.
+        * @param string       $table        Table name
+        * @param array        $data         Data to update (in column => value pairs).
+        *                                   Both $data columns and $data values should be "raw" (neither should be SQL escaped).
+        * @param array        $where        A named array of WHERE clauses (in column => value pairs).
+        *                                   Multiple clauses will be joined with ANDs.
+        *                                   Both $where columns and $where values should be "raw".
+        * @param array|string $format       Optional. An array of formats to be mapped to each of the values in $data.
+        *                                   If string, that format will be used for all of the values in $data.
+        *                                   A format is one of '%d', '%f', '%s' (integer, float, string).
+        *                                   If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
+        * @param array|string $where_format Optional. An array of formats to be mapped to each of the values in $where.
+        *                                   If string, that format will be used for all of the items in $where.
+        *                                   A format is one of '%d', '%f', '%s' (integer, float, string).
+        *                                   If omitted, all values in $where will be treated as strings.
         * @return int|false The number of rows updated, or false on error.
         */
        public function update( $table, $data, $where, $format = null, $where_format = null ) {
@@ -1897,9 +1923,14 @@ class wpdb {
         * @see wpdb::$field_types
         * @see wp_set_wpdb_vars()
         *
-        * @param string $table table name
-        * @param array $where A named array of WHERE clauses (in column => value pairs). Multiple clauses will be joined with ANDs. Both $where columns and $where values should be "raw".
-        * @param array|string $where_format Optional. An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $where will be treated as strings unless otherwise specified in wpdb::$field_types.
+        * @param string       $table        Table name
+        * @param array        $where        A named array of WHERE clauses (in column => value pairs).
+        *                                   Multiple clauses will be joined with ANDs.
+        *                                   Both $where columns and $where values should be "raw".
+        * @param array|string $where_format Optional. An array of formats to be mapped to each of the values in $where.
+        *                                   If string, that format will be used for all of the items in $where.
+        *                                   A format is one of '%d', '%f', '%s' (integer, float, string).
+        *                                   If omitted, all values in $where will be treated as strings unless otherwise specified in wpdb::$field_types.
         * @return int|false The number of rows updated, or false on error.
         */
        public function delete( $table, $where, $where_format = null ) {
@@ -1941,7 +1972,7 @@ class wpdb {
         * @param string $table  Table name.
         * @param array  $data   Field/value pair.
         * @param mixed  $format Format for each field.
-        * @return array|bool Returns an array of fields that contain paired values
+        * @return array|false Returns an array of fields that contain paired values
         *                    and formats. Returns false for invalid values.
         */
        protected function process_fields( $table, $data, $format ) {
@@ -2013,7 +2044,7 @@ class wpdb {
         *
         * @param array  $data  As it comes from the wpdb::process_field_formats() method.
         * @param string $table Table name.
-        * @return The same array as $data with additional 'charset' keys.
+        * @return array|false The same array as $data with additional 'charset' keys.
         */
        protected function process_field_charsets( $data, $table ) {
                foreach ( $data as $field => $value ) {
@@ -2042,7 +2073,7 @@ class wpdb {
         *
         * @param array  $data  As it comes from the wpdb::process_field_charsets() method.
         * @param string $table Table name.
-        * @return array|False The same array as $data with additional 'length' keys, or false if
+        * @return array|false The same array as $data with additional 'length' keys, or false if
         *                     any of the values were too long for their corresponding field.
         */
        protected function process_field_lengths( $data, $table ) {
@@ -2074,8 +2105,8 @@ class wpdb {
         * @since 0.71
         *
         * @param string|null $query Optional. SQL query. Defaults to null, use the result from the previous query.
-        * @param int $x Optional. Column of value to return. Indexed from 0.
-        * @param int $y Optional. Row of value to return. Indexed from 0.
+        * @param int         $x     Optional. Column of value to return. Indexed from 0.
+        * @param int         $y     Optional. Row of value to return. Indexed from 0.
         * @return string|null Database query result (as string), or null on failure
         */
        public function get_var( $query = null, $x = 0, $y = 0 ) {
@@ -2105,11 +2136,13 @@ class wpdb {
         *
         * @since 0.71
         *
-        * @param string|null $query SQL query.
-        * @param string $output Optional. one of ARRAY_A | ARRAY_N | OBJECT constants. Return an associative array (column => value, ...),
-        *      a numerically indexed array (0 => value, ...) or an object ( ->column = value ), respectively.
-        * @param int $y Optional. Row to return. Indexed from 0.
-        * @return mixed Database query result in format specified by $output or null on failure
+        * @param string|null $query  SQL query.
+        * @param string      $output Optional. one of ARRAY_A | ARRAY_N | OBJECT constants.
+        *                            Return an associative array (column => value, ...),
+        *                            a numerically indexed array (0 => value, ...) or
+        *                            an object ( ->column = value ), respectively.
+        * @param int         $y      Optional. Row to return. Indexed from 0.
+        * @return array|object|null|void Database query result in format specified by $output or null on failure
         */
        public function get_row( $query = null, $output = OBJECT, $y = 0 ) {
                $this->func_call = "\$db->get_row(\"$query\",$output,$y)";
@@ -2151,7 +2184,7 @@ class wpdb {
         * @since 0.71
         *
         * @param string|null $query Optional. SQL query. Defaults to previous query.
-        * @param int $x Optional. Column to return. Indexed from 0.
+        * @param int         $x     Optional. Column to return. Indexed from 0.
         * @return array Database query result. Array indexed from 0 by SQL result row number.
         */
        public function get_col( $query = null , $x = 0 ) {
@@ -2178,11 +2211,13 @@ class wpdb {
         *
         * @since 0.71
         *
-        * @param string $query SQL query.
-        * @param string $output Optional. Any of ARRAY_A | ARRAY_N | OBJECT | OBJECT_K constants. With one of the first three, return an array of rows indexed from 0 by SQL result row number.
-        *      Each row is an associative array (column => value, ...), a numerically indexed array (0 => value, ...), or an object. ( ->column = value ), respectively.
-        *      With OBJECT_K, return an associative array of row objects keyed by the value of each row's first column's value. Duplicate keys are discarded.
-        * @return mixed Database query results
+        * @param string $query  SQL query.
+        * @param string $output Optional. Any of ARRAY_A | ARRAY_N | OBJECT | OBJECT_K constants.
+        *                       With one of the first three, return an array of rows indexed from 0 by SQL result row number.
+        *                       Each row is an associative array (column => value, ...), a numerically indexed array (0 => value, ...), or an object. ( ->column = value ), respectively.
+        *                       With OBJECT_K, return an associative array of row objects keyed by the value of each row's first column's value.
+        *                       Duplicate keys are discarded.
+        * @return array|object|null Database query results
         */
        public function get_results( $query = null, $output = OBJECT ) {
                $this->func_call = "\$db->get_results(\"$query\", $output)";
@@ -2341,8 +2376,8 @@ class wpdb {
         *
         * @param string $table  Table name.
         * @param string $column Column name.
-        * @return mixed Column character set as a string. False if the column has no
-        *               character set. WP_Error object if there was an error.
+        * @return string|false|WP_Error Column character set as a string. False if the column has no
+        *                               character set. WP_Error object if there was an error.
         */
        public function get_col_charset( $table, $column ) {
                $tablekey = strtolower( $table );
@@ -2406,9 +2441,9 @@ class wpdb {
         *
         * @param string $table  Table name.
         * @param string $column Column name.
-        * @return mixed array( 'length' => (int), 'type' => 'byte' | 'char' )
-        *               false if the column has no length (for example, numeric column)
-        *               WP_Error object if there was an error.
+        * @return array|false|WP_Error array( 'length' => (int), 'type' => 'byte' | 'char' )
+        *                              false if the column has no length (for example, numeric column)
+        *                              WP_Error object if there was an error.
         */
        public function get_col_length( $table, $column ) {
                $tablekey = strtolower( $table );
@@ -2835,7 +2870,7 @@ class wpdb {
                                . '|REPLACE(?:\s+LOW_PRIORITY|\s+DELAYED)?(?:\s+INTO)?'
                                . '|UPDATE(?:\s+LOW_PRIORITY)?(?:\s+IGNORE)?'
                                . '|DELETE(?:\s+LOW_PRIORITY|\s+QUICK|\s+IGNORE)*(?:\s+FROM)?'
-                               . ')\s+((?:[0-9a-zA-Z$_.`-]|[\xC2-\xDF][\x80-\xBF])+)/is', $query, $maybe ) ) {
+                               . ')\s+((?:[0-9a-zA-Z$_.`]|[\xC2-\xDF][\x80-\xBF])+)/is', $query, $maybe ) ) {
                        return str_replace( '`', '', $maybe[1] );
                }
 
@@ -2843,7 +2878,7 @@ class wpdb {
                if ( preg_match( '/^\s*(?:'
                                . 'SHOW\s+TABLE\s+STATUS.+(?:LIKE\s+|WHERE\s+Name\s*=\s*)'
                                . '|SHOW\s+(?:FULL\s+)?TABLES.+(?:LIKE\s+|WHERE\s+Name\s*=\s*)'
-                               . ')\W((?:[0-9a-zA-Z$_.`-]|[\xC2-\xDF][\x80-\xBF])+)\W/is', $query, $maybe ) ) {
+                               . ')\W((?:[0-9a-zA-Z$_.`]|[\xC2-\xDF][\x80-\xBF])+)\W/is', $query, $maybe ) ) {
                        return str_replace( '`', '', $maybe[1] );
                }
 
@@ -2862,7 +2897,7 @@ class wpdb {
                                . '|LOAD\s+DATA.*INFILE.*INTO\s+TABLE'
                                . '|(?:GRANT|REVOKE).*ON\s+TABLE'
                                . '|SHOW\s+(?:.*FROM|.*TABLE)'
-                               . ')\s+\(*\s*((?:[0-9a-zA-Z$_.`-]|[\xC2-\xDF][\x80-\xBF])+)\s*\)*/is', $query, $maybe ) ) {
+                               . ')\s+\(*\s*((?:[0-9a-zA-Z$_.`]|[\xC2-\xDF][\x80-\xBF])+)\s*\)*/is', $query, $maybe ) ) {
                        return str_replace( '`', '', $maybe[1] );
                }
 
@@ -2881,11 +2916,13 @@ class wpdb {
                        return;
 
                if ( $this->use_mysqli ) {
-                       for ( $i = 0; $i < @mysqli_num_fields( $this->result ); $i++ ) {
+                       $num_fields = @mysqli_num_fields( $this->result );
+                       for ( $i = 0; $i < $num_fields; $i++ ) {
                                $this->col_info[ $i ] = @mysqli_fetch_field( $this->result );
                        }
                } else {
-                       for ( $i = 0; $i < @mysql_num_fields( $this->result ); $i++ ) {
+                       $num_fields = @mysql_num_fields( $this->result );
+                       for ( $i = 0; $i < $num_fields; $i++ ) {
                                $this->col_info[ $i ] = @mysql_fetch_field( $this->result, $i );
                        }
                }
@@ -2896,8 +2933,8 @@ class wpdb {
         *
         * @since 0.71
         *
-        * @param string $info_type Optional. Type one of name, table, def, max_length, not_null, primary_key, multiple_key, unique_key, numeric, blob, type, unsigned, zerofill
-        * @param int $col_offset Optional. 0: col name. 1: which table the col's in. 2: col's max length. 3: if the col is numeric. 4: col's type
+        * @param string $info_type  Optional. Type one of name, table, def, max_length, not_null, primary_key, multiple_key, unique_key, numeric, blob, type, unsigned, zerofill
+        * @param int    $col_offset Optional. 0: col name. 1: which table the col's in. 2: col's max length. 3: if the col is numeric. 4: col's type
         * @return mixed Column Results
         */
        public function get_col_info( $info_type = 'name', $col_offset = -1 ) {
@@ -2923,7 +2960,7 @@ class wpdb {
         *
         * @since 1.5.0
         *
-        * @return bool
+        * @return true
         */
        public function timer_start() {
                $this->time_start = microtime( true );
@@ -2948,7 +2985,7 @@ class wpdb {
         *
         * @since 1.5.0
         *
-        * @param string $message The Error message
+        * @param string $message    The Error message
         * @param string $error_code Optional. A Computer readable string to identify the error.
         * @return false|void
         */
@@ -2967,10 +3004,11 @@ class wpdb {
         * Whether MySQL database is at least the required minimum version.
         *
         * @since 2.5.0
-        * @uses $wp_version
-        * @uses $required_mysql_version
         *
-        * @return WP_Error
+        * @global string $wp_version
+        * @global string $required_mysql_version
+        *
+        * @return WP_Error|void
         */
        public function check_database_version() {
                global $wp_version, $required_mysql_version;
@@ -3024,7 +3062,7 @@ class wpdb {
         * @param string $db_cap The feature to check for. Accepts 'collation',
         *                       'group_concat', 'subqueries', 'set_charset',
         *                       or 'utf8mb4'.
-        * @return bool Whether the database feature is supported, false otherwise.
+        * @return int|false Whether the database feature is supported, false otherwise.
         */
        public function has_cap( $db_cap ) {
                $version = $this->db_version();
@@ -3069,7 +3107,7 @@ class wpdb {
         *
         * @since 2.5.0
         *
-        * @return string The name of the calling function
+        * @return string|array The name of the calling function
         */
        public function get_caller() {
                return wp_debug_backtrace_summary( __CLASS__ );
index d52ccb3a4ab27d1c7cae6578d56a2c06b2dd30c3..57b2a2ef17ceeff1851ae9ed9c7989dcfdd5deb1 100644 (file)
@@ -241,6 +241,9 @@ function login_footer($input_id = '') {
        <?php
 }
 
+/**
+ * @since 3.0.0
+ */
 function wp_shake_js() {
        if ( wp_is_mobile() )
                return;
@@ -255,6 +258,9 @@ addLoadEvent(function(){ var p=new Array(15,30,15,0,-15,-30,-15,0);p=p.concat(p.
 <?php
 }
 
+/**
+ * @since 3.7.0
+ */
 function wp_login_viewport_meta() {
        ?>
        <meta name="viewport" content="width=device-width" />
@@ -357,7 +363,7 @@ function retrieve_password() {
                require_once ABSPATH . WPINC . '/class-phpass.php';
                $wp_hasher = new PasswordHash( 8, true );
        }
-       $hashed = $wp_hasher->HashPassword( $key );
+       $hashed = time() . ':' . $wp_hasher->HashPassword( $key );
        $wpdb->update( $wpdb->users, array( 'user_activation_key' => $hashed ), array( 'user_login' => $user_login ) );
 
        $message = __('Someone requested that the password be reset for the following account:') . "\r\n\r\n";
@@ -522,10 +528,11 @@ case 'retrievepassword' :
        }
 
        if ( isset( $_GET['error'] ) ) {
-               if ( 'invalidkey' == $_GET['error'] )
-                       $errors->add( 'invalidkey', __( 'Sorry, that key does not appear to be valid.' ) );
-               elseif ( 'expiredkey' == $_GET['error'] )
-                       $errors->add( 'expiredkey', __( 'Sorry, that key has expired. Please try again.' ) );
+               if ( 'invalidkey' == $_GET['error'] ) {
+                       $errors->add( 'invalidkey', __( 'Your password reset link appears to be invalid. Please request a new link below.' ) );
+               } elseif ( 'expiredkey' == $_GET['error'] ) {
+                       $errors->add( 'expiredkey', __( 'Your password reset link has expired. Please request a new link below.' ) );
+               }
        }
 
        $lostpassword_redirect = ! empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
@@ -645,16 +652,20 @@ case 'rp' :
 <form name="resetpassform" id="resetpassform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=resetpass', 'login_post' ) ); ?>" method="post" autocomplete="off">
        <input type="hidden" id="user_login" value="<?php echo esc_attr( $rp_login ); ?>" autocomplete="off" />
 
-       <p>
-               <label for="pass1"><?php _e('New password') ?><br />
-               <input type="password" name="pass1" id="pass1" class="input" size="20" value="" autocomplete="off" /></label>
+       <p class="user-pass1-wrap">
+               <label for="pass1"><?php _e('New password') ?></label><br />
+               <div class="wp-pwd">
+                       <span class="password-input-wrapper">
+                               <input type="password" data-reveal="1" data-pw="<?php echo esc_attr( wp_generate_password( 16 ) ); ?>" name="pass1" id="pass1" class="input" size="20" value="" autocomplete="off" aria-describedby="pass-strength-result" />
+                       </span>
+                       <div id="pass-strength-result" class="hide-if-no-js" aria-live="polite"><?php _e( 'Strength indicator' ); ?></div>
+               </div>
        </p>
-       <p>
-               <label for="pass2"><?php _e('Confirm new password') ?><br />
-               <input type="password" name="pass2" id="pass2" class="input" size="20" value="" autocomplete="off" /></label>
+       <p class="user-pass2-wrap">
+               <label for="pass2"><?php _e('Confirm new password') ?></label><br />
+               <input type="password" name="pass2" id="pass2" class="input" size="20" value="" autocomplete="off" />
        </p>
 
-       <div id="pass-strength-result" class="hide-if-no-js"><?php _e('Strength indicator'); ?></div>
        <p class="description indicator-hint"><?php echo wp_get_password_hint(); ?></p>
        <br class="clear" />
 
@@ -748,7 +759,7 @@ case 'register' :
         */
        do_action( 'register_form' );
        ?>
-       <p id="reg_passmail"><?php _e('A password will be e-mailed to you.') ?></p>
+       <p id="reg_passmail"><?php _e( 'Registration confirmation will be e-mailed to you.' ); ?></p>
        <br class="clear" />
        <input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
        <p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Register'); ?>" /></p>
index f90ff11c10f66bc44deda6f7926043d7c536b97a..e8e114a0aee69380f7bc8132efce5ad0b0b5681d 100644 (file)
@@ -29,7 +29,7 @@ require( ABSPATH . WPINC . '/default-constants.php' );
 global $wp_version, $wp_db_version, $tinymce_version, $required_php_version, $required_mysql_version;
 require( ABSPATH . WPINC . '/version.php' );
 
-// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, WP_CONTENT_DIR and WP_CACHE.
+// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, SCRIPT_DEBUG, WP_CONTENT_DIR and WP_CACHE.
 wp_initial_constants();
 
 // Check for the required PHP version and for the MySQL extension or a database drop-in.
index a519bcc0d604d238494d2657b305a9415f3afacc..3373f8ecd86dea05790cd3b571a43c9b1210a54a 100644 (file)
@@ -7,7 +7,7 @@ add_action( 'wp_head', 'wp_no_robots' );
 
 require( dirname( __FILE__ ) . '/wp-blog-header.php' );
 
-if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) && in_array( $_GET[ 'new' ], get_site_option( 'illegal_names' ) ) == true ) {
+if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) && in_array( $_GET[ 'new' ], get_site_option( 'illegal_names' ) ) ) {
        wp_redirect( network_home_url() );
        die();
 }
@@ -299,8 +299,8 @@ function signup_another_blog( $blogname = '', $blog_title = '', $errors = '' ) {
  *
  * @since MU
  *
- * @return null|boolean True if blog signup was validated, false if error.
- *                      The function halts all execution if the user is not logged in.
+ * @return null|bool True if blog signup was validated, false if error.
+ *                   The function halts all execution if the user is not logged in.
  */
 function validate_another_blog_signup() {
        global $wpdb, $blogname, $blog_title, $errors, $domain, $path;
@@ -700,9 +700,9 @@ if ( $active_signup == 'none' ) {
                        do_action( 'preprocess_signup_form' );
                        if ( is_user_logged_in() && ( $active_signup == 'all' || $active_signup == 'blog' ) )
                                signup_another_blog($newblogname);
-                       elseif ( is_user_logged_in() == false && ( $active_signup == 'all' || $active_signup == 'user' ) )
+                       elseif ( ! is_user_logged_in() && ( $active_signup == 'all' || $active_signup == 'user' ) )
                                signup_user( $newblogname, $user_email );
-                       elseif ( is_user_logged_in() == false && ( $active_signup == 'blog' ) )
+                       elseif ( ! is_user_logged_in() && ( $active_signup == 'blog' ) )
                                _e( 'Sorry, new registrations are not allowed at this time.' );
                        else
                                _e( 'You are logged in already. No need to register again!' );
index 9c663820e08ca5bc59204fd791c13cf9b5358784..ad68921cdd6d2985f8f17de68bf14518d5618ed0 100644 (file)
@@ -26,7 +26,7 @@ if ( isset($HTTP_RAW_POST_DATA) )
        $HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA);
 
 /** Include the bootstrap for setting up WordPress environment */
-include('./wp-load.php');
+include( dirname( __FILE__ ) . '/wp-load.php' );
 
 if ( isset( $_GET['rsd'] ) ) { // http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html
 header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);